一、C语言合法关键字:Char、double、enum、float、int、long、short、signed、struct、union、unsigned、void、default
标识符只能由字母,数字和下划线组成。。
二、合法的字符常量格式:字符常量是用单引号括起来的一个字符。
有两种表示方法标识符不能以数字开头:
一种是用该字符的图形符号,如'b' ,'y','*'。
另外还可以用字符的ASCII码表示,即用反斜符(\)开头,后跟字符的ASCII码
在 C 语言中,合法的字符常量是( B)。
(A)'\084' (B)'\x43' (C)'ab' (D)"\0"
解析:C选项字符常量只能有一个字符--错
三、若已定义 x 和 y 为 double 类型,且 x=1,则表达式:y=x+3/2 的值是( )。
(A)1 (B)2 (C)2.0 (D)2.5
因为3和2都是整数类型的,所以认为3/2的结果也是整数类型的,舍弃后面的尾数,仅留下整数位的1。
而x和y为double类型,是双精度浮点型。双精度浮点型和整数类型做加法,精度取双精度浮点型,
所以,y=x+3/2=1.0+1=2.0。
四、下列不正确的转义字符是( C)。
(A)'\\' (B)'\" (C)'074' (D)'\0'
解析:C是错在‘\abc’(其中abc为0~7的任意数)表示的是转为八进制,而八进制中最大的数是7,
就像十六进制的转义字符‘\xab’(其中x必须要,而ab为0~9在加上a~f构成)
注释:\"表示双引号,\\表示单斜杠,\n表示换行等,一般是以一个斜杠开头
八进制是由反斜杠'\'和随后的1~3个八进制数字构成的字符序列。
十六进制是由反斜杠'\'和字母x(或X)及随后的1~2个十六进制数字构成的字符序列。
例如,'\x30'、'\x41'、'\X61'分别表示字符'0'、'A'和'a'
五、若有以下定义:
char a; int b;float c; double d;
则表达式 a*b+d-c 值的类型为( D)。
(A) float (B) int (C) char (D) double
两个通用的指导原则如下:
1、为防止精度损失,如果必要的话,类型总是被提升为较宽的类型。
2、所有含有小于整形的有序类型的算术表达式在计算之前其类型都会被转换成整形。
字符型—→整型—→长整型—→浮点型—→单精度型→双精度型
六、以下选项中可作为 C 语言合法整数的是(C )。
(A)10110B (B)0386 (C)0xffa (D)x2a2
以0X开头是十六进制数
以0开头的数是八进制并且前面必须加0以示区分且只能含有0~7
七、 已定义 ch 为字符型变量,以下赋值语句中错误的是( A)。
(A)ch='\'; (B)ch=62+3; (C)ch=80; (D)ch='\xaa';
一个反斜杠代表不了任何字符,是非法的。
例:char=97或char=‘a’或char=NULL或char=62+3或char=‘\xaa’
八、以下符合 C 语言语法的实型常量(C )。
(A) 1.2E0.5 (B) 3.14.159E (C)1.5E-3 (D) E15
A错误,指数必须是整数,不符合C语言语法的实型常量。
B错误,指数不能省略,不符合C语言语法的实型常量。
C正确,符合C语言语法的实型常量。
D错误,底数不能省略,不符合C语言语法的实型常量。
e与E,表示以10为底数的幂数,且e与E后面必须跟整数,若是小数,也是错误的
,例如3.2e1.5 ,这里1.5是小数,所以错的。