C语言第二章习题带答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
练习2-1答案
选择题
1.C语言中的简单数据类型包括( B )。
A.整型、实型、逻辑型B.整型、实型、字符型
C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型2.在C语言中,错误的short类型的常数是( A )。
A.32768 B.0 C.037 D.0Xaf 3.下列常数中不能作为C的常量的是( D )。
A.0x45 B.-2 C.3e2 D.0582 4.short类型的数据长度为2个字节,则unsigned short类型数据的取值范围是( B )。
A.0至255 B.0~65535 C.-32768~32767 D.-256~255 5.下面4个选项中,均是合法转义字符的选项是( A )。
A.'\'','\\','\n' B.'\','\017','\'
C.'\018','\f','xab' D.'\\0,'101','x1f 6.在C语言中,数字029是一个( D )。
A.八进制数B.十六进制数 C.十进制数D.非法数7.下列可以正确表示字符型常数的是( B )。
A."a" B.'\t' C."\n" D.297 8.以下( C )是错误的转义字符。
A.'\\' B.'\'' C.'\81' D.'\0' 9.C语言中short类型的变量a的值为-8,则a在内存中的存储形式是( A )。
A.1111 1111 1111 1000 B. 1000
C.000000000000 1000 D.1111 1111 1111 0111 10.将字符g赋给字符变量c,正确的表达式是( C )。
A.c="g" B.c=101 C.c='\147'
D.c='0147'
11.字符串"\\\22a,0\n"的长度是( C )。
A.8 B.7 C.6 D.5 12.为求出s=10!的值,则变量s的类型应当为( C )。
A.short B.unsigned short C.long D.以上三种类型均可
13.已知:unsigned short x=65535;,则执行以下语句输出是( D )。
printf("%d\n", x);
A.65535 B.1 C.无定值D.-1 14.下面4个选项中,均是合法整型常量的选项是( A )。
A.160,-0xffff,011 B.-0xcdf,01ª,0xe
C.-01,986,012,0668 D.-0x48a,2e5,0x 15.下面4个选项中,均是不合法的整型常量的选项是( D )。
A.--0f1,-0xffff,0011 B.-0Xcdf,01a,0xe
C.-018,999,5e2 D.-0x48eg,-068,03f
16.下面4个选项中,均是合法浮点数的选项是( B )。
A.+1e+1,,03e2 B.,12e-4,-8e5
C.123e,,+2e-1 D.-e3,.8e-4,
练习2-2答案
选择题
1.已知:char a; int b; float c; double d;,执行语句c=a+b+c+d;后,变量c的数据类型是( C )。
A.int B.char C.float
D.double
2.已知int j, i=1;,执行语句j=-i++;后,j的值是( C )。
A.1 B.2 C.-1 D.-2 3.已知int i, a;,执行语句i=(a=2*3, a*5), a+6;后,变量i的值是( C )。
A.6 B.12 C.30 D.36 4.已知int i=5;,执行语句i+=++i;,i的值是( C )。
A.10 B.11 C.12 D.A、B、C答案都不对5.已知:float x=1, y;,则表达式y=++x*++x的结果为( B )。
A.9 B.6 C.1 D.表达式是错误的
6.已知:int y; float x=-3;,执行语句:y=x%2;,则变量y的结果是( D )。
A. 1 B.-1 C.0 D.语句本身是
错误的
7.已知:char w; int x; float y; double z;,则表达式w*x+z-y结果的类型是( D )。
A.float B.char C.int
D.double
8.已知:int x=10, y=3, z;,则下列语句的输出结果是( D )。
printf("%d\n", z=(x%y, x/y));
A.1 B.0 C.4 D.3 9.已知:int i=6, j;,则执行语句j=(++i)+(i++);后的j的值是( B )。
A.4 B.14 C.13 D.15 10.已知:int x=1, y=-1;,则语句printf("%d\n", (x--&++y));的输出结果是( B )。
A.1 B.0 C.-1 D.2
11.设a=2,b=3,计算表达式c=b*=a-1后,变量c的值是( B )。
A.5 B.3 C.2 D.4 12.若定义了int x;,则将x强制转化成双精度类型应该写成( A )。
A.(double)x B.x(double) C.double(x) D.(x)double 13.下述程序的输出是( A )。
main()
{ int x=023;
printf("%f", +1*7%2/4); }
A.B.2.750000 C.D.
14.若有定义:int a=7; float x=, y=;,则表达式x+a%3*(int)(x+y)%2/4的值是( A )。