习题 2
2.1 单选题
1.下列叙述中正确的是( )。
A.C语言中既有逻辑类型也有集合类型
B.C语言中没有逻辑类型但有集合类型
C.C语言中有逻辑类型但没有集合类型
D.C语言中既没有逻辑类型也没有集合类型
2.下列关于C语言用户标识符的叙述中正确的是( )。
A.用户标识符中可以出现下划线和中划线(减号)
B.用户标识符中不可以出现中划线,但可以出现下划线
C.用户标识符中可以出现下划线,但不能放在用户标识符的开头
D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头
3.下列4个选项中,( )是合法的用户自定义标识符。
A.b-b
B.float
C.2a
D._isw
4.以下选项中不正确的整型常量是( )。
A.12L
B.-10
C.190 0
D.123U
5.以下选项中,( )是不正确的字符常量。
A."a"
B.'1'
C.'\n'
D.'\101'
6.下列关于自增运算符++和自减运算符--的叙述中正确的是( )。
A.它们的运算对象可以是任何类型的变量和常量
B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D.它们的运算对象可以是char型变量、int型变量、float型变量和double型变量
7.下列表达式中值为0的是( )。
A.3%5
B.3/5.0
C.3/5
D.3.0/5
8.设变量已正确定义并赋值,表达式( )不符合C语言语法。
A.int(3.14)
B.++a
C.a=b=5
D.a=4,3
9.若变量已正确定义并赋值,下面符合C语言语法的表达式是( )。
A.a:=b+1
B.a=b=c+2
C.int 18.5%3 D.a=a+7=c+b
10.若变量已正确定义并赋值,表达式( )不符合C语言语法。
A.a*b/c;
B.3%2
C.2, b
D.a/b/c
11.下列选项中,( )可以将x、y定义成double类型变量,并赋同一初值3.14。
A.double x, y=3.14;
B.double x, y=2*3.14;
C.double x=3.14, y=3.14;
D.double x=y=3.14;
12.若变量已正确定义,表达式“j=3, j++”的值是( )。
A.3
B.4
C.5
D.0
2.2 填空题
1.若x是浮点型变量,则表达式“x=10/4”的值是__________。
2.下列程序段的运行结果为:__________。
double x1, x2; x1=3/2; x2=x1/2; printf("%d,%.1f", (int)x1, x2) ;
3.执行下列程序段后变量i和j的值为:__________。
int i=10, j=1; (i--,++j);
4.表达式sizeof("hello")的值为__________。
5.表达式“'c'+1”的值为__________,对应的英文字符为__________。
6.设有语句“int a=10;”,请分别填写下列各表达式的值。
(1)a+=a的值为__________。
(2)a+=a-=a*=a的值为__________。
(3)a*=2+4的值为__________。
7.写出下列各程序段执行后相应变量的值。
(1) int a,b,c; a=b=c=5; a=++b+(--c);
变量a,b,c的值为__________。
(2) int a=4,b=5,c; c=(a=6)+(b=9);
变量a,b,c的值为__________。
(3) int a,b,c; c=(a=5,b=a*4); a=2+6,a*2,a*5; c+=(a=b=3,b=a*c,a+b);
变量a,b,c的值为__________。
8.表达式“'H'-'A'+'0'”的值为__________。