1. c语言的一个问题
正确答案为C
合法的标识符只能包括字母、数字、下划线,且数字不能打头!同时关键字和保留字不能作为用户自定义标识符。
选项C中,b-a不合法因为减号不行,它可不是下划线,goto和int都是关键字,所以都不合法,所以答案选C。
选项A中A和P_0都合法,所以不选A;
选项B中_A合法,la0也合法,这个首字母是L的小写,不是一的数字。当然即使是一的数字1,也因为_A合法,所以不选B;
选项D中_123和temp都合法,所以不选D。
2. 下面四个选项中,均是不合法的用户标识符的选项是( )
选c , a中都A,P_0合法,b中la0,_A合法 ,d中_123,temp合法。标识符必须是字母,数字和下划线组成,且必须是字母或者下划线开头;c中b-a用的是中线,不是下划线。
3. 下面4个选项中,均是不合法的转义字符的选项是
答案是C,A都合法,其它两个有合法的与不合法的,可能教材搞反了
4. c语言:下面四个选项( )是不合法的标识符.
C,开头不能是数字。
5. 下面四个选项中,均是不合法的转义字符的选项是()
'1011'不合法,八进制格式的转义字符不超过3位。
“”不合法,转义字符以“”开头,后面必须有其它具有意义的字符,不能单独使用。
'xyz'不合法,yz不是十六进制数。
所以选B。
所有的ASCII码都可以用“”加数字来表示。而C中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如 , , 等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
(5)c语言下四个选项合法吗扩展阅读:
转义字符是很多程序语言、数据格式和通信协议的形式文法的一部分。对于一个给定的字母表,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义。因此转义字符开头的字符序列被叫做转义序列。
转义序列通常有两种功能:
第一个是编码一个句法上的实体,如设备命令或者无法被字母表直接表示的特殊数据。
第二种功能,也叫字符引用,用于表示无法在当前上下文中被键盘录入的字符(如字符串中的回车符),或者在当前上下文中会有不期望的含义的字符(如C语言字符串中的双引号字符",不能直接出现,必须用转义序列表示)。
在后面那种情况,转义序列是一种由转义字符自身和一个被引用的字符组成的一个二合字母(digraph)情形。
6. C语言题目:下面四个选项中,均是合法整型常量的选项是( A )。请看图。
严格来说都不对!
-0xffff 16进制数表示不应该在前面带有负号,16进制数本身是没有符号概念的
B 01a 0开头的是8进制,n进制中的数均小于n ,在0到 n-1中!!
C 8进制问题
D 2e5是浮点数的科学计数法表示方法,不是整数
7. c语言 四个选项都解释一下吧
答案选A
A 语句a=&x 只适用于a是指针变量的情况,不能用于a是数组的情况,所以是非法的(虽然a也相当于一个指针,但a不能被修改,所以不是指针变量)
B 表达式a+1 等同于&a[1],是合法的
C 三个表达式a[1], *(a+1), *&a[1]都是同一个意思,因为a是数组,所以a也相当于一个指针,所以三种写法都是一个意思
D 表达式*&a[1]是合法的,虽然没加括号,但根据运算符优先级中[]级别最高、*与&同级且为右结合性,所以运算的时候等同于*(&(a[1]))的运算顺序
8. c语言,下面四个选项中,均是合法整形常量的是
A 合法,三个分别是 十进制 十六进制 八进制
B 不合法,第二个八进制中出现一个十六进制数A
C 不合法,第二个数中有逗号
D 不合法,0x不正确
其他数字都是对的
0开头是8进制,0x开头是十六进制!
9. c语言下面四个选项中,均是合法整型常量的选项是________ A、160 -0xffff 01
选择A
解释如下:
B中的01a是八进制数值,出现a是不允许的
C中0668,同样是八进制数值出现8是不允许的
D中的2e5是十进制数值,出现e是不允许的
顺便说一下,八进制、十进制、十六进制的判断,八进制以0开始,如05等,其中的数字只能为0~7;
十进制是默认的,如123等,其中的数字只能为0~9;
十六进制是以0x开始,如0x1a等,其中的数字为0~9,字母为a~f,或A~F;
10. c语言,下面四个选项,均是非法常量的选项是
A项是全错的,所以是正确选项。
'as'——'
'中只能有一个字符;
-0ffff
——0打头的是八进制,但八进制中没有f;
'\0xa'——这是字符的ASCII码转义字符八进制表示法,八进制中没有a,更没有x;而十六进制表示法是\后紧跟x的。