33.若有以下定义语句:char a; int b; float c; double d;则表达式a*b+d-c值的类型为( D )。
A.float B.int C.char· D.double
34.关于运算时的数据类型转换,下列说法中错误的是( C )。 A.表达式计算中,数据要转换成数据长度最长的数据类型再运算 B.赋值时,右边表达式的运算结果转换成左边变量的数据类型再赋值
C.赋值时,左边变量的数据类型转换成右边表达式的运算结果类型再赋值 D.(noat)(n+m)是先计算n+m,然后将结果转换成单精度实型
二、填空题
1.C语言中的常量有四种类型:整型、实型、 字符 型和 字符串 型。 2.用十进制表示整型常量-017为 -15 ,表示整型常量-0xf为 -15 。
3.无符号短整型数据的范围是 0 至 65535 。 4.在内存中存储”A”要占用 2 个字节,存储?A?要占用 1 字节。
5.在内存中存放字符串,其最后一个字符称为“空字符”,对应的转义字符是 \\0 ,其值为 0 。
6.符号常量的定义方法是 #define 。
7.设有宏定义#define x 3-2;则2*x的宏替换结果是 2*3-2 。 8.定义变量的语句格式是 数据类型符 变量 。 9.无符号基本整型的数据类型符为 int ,双精度实型数据类型符为 double ,字符型数据类型符为 char 。
10.定义整型有名常量nn的初值为199,正确的定义语句是 const int nn=199 ;。 11.设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为 1 。 12.请写出数学式
a的c语言表达式 a/(b*c) bc。
13.设a=3,b=2,c=1,则a>b的值为 1 ,a>b>c的值为 0 。
14.C语言中作为运算对象时的逻辑值“真”是用 非0 表示的,逻辑值“假”是用 0 表示的。逻辑表达式值为“真”是用 1 表示的,逻辑表达式值为“假”是用 0 表示的。
15.若已知a=10,b=20,则表达式!a
16.能表述“2020&&x<30)||x<-100 。 17.设变量x、y、z均为实型,表示其中至少有一个负数的表达式应为 x<0||y<0||z<0。 18.表达式“?a?>?A?>=1<=0==1!=0”的值等于 0 。
19.设二进制数A是00101101,若想通过按位加运算A^B使A的高4位取反,低4位不变,则二进制数B应是 11110000 。 20.设整型变量x,y,z均为5: A.执行“x-=y-z”后x= 5 , B.执行“x%=y+z”后x= 5 ,
c.执行“x=(y>z)?x+2:x-2,3,2”后x= 3 。 21.设有下列运算符:.<<、+、++、&&、<=,其中优先级最高的是 . ,优先级最低的是 && 。
22.C语言中运算结果可以当成逻辑值使用的表达式有 关系 表达式、 逻辑 表达式、 算术 表达式、 位 表达式、 赋值 表达式和 逗号 表达式。
第4章
一、单项选择题(题中的口代表一个空格符)
1.设a=3,b=4,执行语句“printf(\%d,%d\,(a,b),(b,a));\的输出是( B )。 A.3,4 B.4,3 C.3,3 D.4,4 2.使用语句“scanf(\%f,y=%f\,&x,&y);”使x,y均为1.25,正确的输入是( C )。
A.1.25,1.25 B.1.25口1.25 C.x=1.25,y=1.25 D.x=1.25口y=1.25
3.设有int i=010,j=10;则printf(\%d,%d\\n\,++i,j--);的输出是( B )。 A.11,10 B.9,10 C.010,9 D.10,9 4.设a、b为字符型变量,执行语句“scanf(”a=%c,b=%c”,&a,&b);”后使a为?A’,b为?B'。从键盘上的正确输入是( D )。
A. ?A?B? B. ?A?,?B? C. A=A,B=B D. a=A,b=B
5.设x,y,z,t均为int型变量,则执行以下语句串后,t的值为( C )。 x=y=z=1;t=++x||++y&&++z; A.不定值 B.2 C.1 D. 0
6.设x,y,z,t均为int型变量,则执行下列语句串后,变量t的值为( C )。 x=y=z=0:
if(x=y)t=z;else t=!z;
A.不定值 B.2 C.1 D.0
7.假定所有变量均已正确定义,下列程序段运行后x的值是( A )。 a=b=c=0;x=35;
if(!a)x--;else if(b);if(c)x=3;else x=4; A.34 B.4 C.35 D.3
8.下面的程序段所表示的数学函数关系是( C )。 y=-1;
if(x!=0)if(x>0)y=1;else y=0;
(x?0)(x?0)?1 ??1 ??(x?0) (x?0) B. y=?-1 A. y=?0 ? 0 ?1 (x?0)(x?0)??(x?0)?0 ??1 (x?0)??(x?0) D. y=?1 (x?0) C. y=?-1 ?0 ?1 (x?0)(x?0)??
9.设整型变量m1值为3、m2值为2、m3值为1,执行下列语句后,整型变量m4值是( A )。
switch(m1=m2==m3+1) {case 1:m4=1;break; case 3:m4=3;break; case 2:m4=2;break; default:m4=4;