当前位置:文档之家› C语言第二章习题带答案

C语言第二章习题带答案

C语言第二章习题带答案
C语言第二章习题带答案

练习2-1 答案选择题

1. C语言中的简单数据类型包括(B ) o

A.整型、实型、逻辑型

B.整型、实型、字符型

C?整型、字符型、逻辑型 D.整型、实型、逻辑型、字符型

2. 在C语言中,错误的short类型的常数是(A )。

A. 32768

B. 0

C. 037

D. 0Xaf

3. 下列常数中不能作为C的常量的是(D ) o

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 ) o

A. '\'' ,'\\' ,'\n'

B. '\' ,'\017' ,'\'

C. '\018' ,'\f' ,'xab'

D. '\\0 ,'101' ,'x1f

6. 在C语言中,数字029是一个(D ) o

A.八进制数B?十六进制数C.十进制数 D.非法数

7.下列可以正确表示字符型常数的是( B ) o

A."a" B.'\t' C."\n" D.297

8. 以下(C)是错误的转义字符。

9. C语言中short类型的变量a的值为-8,则a在内存中的存储形式是(A )

10. 将字符g赋给字符变量c,正确的表达式是(C) o

A.c="g" B.c=101 C.c='\ 1 47'

11.字符串"\\\22a,0\n" 的长度是( C ) o

A.8 B.7 C.6

12.为求出s=10!的值,则变量s的类型应当为(C) o

A.short B.unsigned short C.long

13.已知:unsigned short x=65535; ,则执行以下语句输出是( D) o printf("%d\n", x) ;

A. 65535

B. 1

C.无定值

D. -1

14.下面4个选项中,均是合法整型常量的选项是( A ) o

A.160,-0xffff ,011 B.-0xcdf ,01a,0xe

C.-01 ,986,012,0668 D.-0x48a,2e5,0x

15.下面4个选项中,均是不合法的整型常量的选项是( D ) o

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 A.'\\' B.'\'' C.'\81' D.'\0' A.1111 1111 1111 1000 B.1000

C.000000000000 1000 D.1111 1111 1111 0111

D.c='0147'

D.5

D.以上三种类型均

C.123e,,+2e-

D.-e3 ,.8e-4 ,1

练习 2-2 答案

选择题 已知: char a; int b; float c; double d; 的数据类型是 ( C ) A .int 已知 int j, i=1; A .1 已知 int i, a; A .6 已知 int i=5; A .10 已知: A .9 已知: A. 1 已知: 1. 2. 3. 4. 5. 6. 7. 8. 9.

,执行语句 c=a+b+c+d;后,变量 c o

B . char ,执行语句 j=-i++; B . 2 ,执行语句 i=(a=2*3, a*5), a+6;

C .float 后, j 的值是 ( C) C .-1

D .double B . 12 C . 30 ,执行语句 i+=++i; , i 的值是 ( C ) 。 B . 11 C . 12 D . float x=1, y; ,则表达式 y=++x*++x 的结果为 ( B . 6 int y; float x=-3; B . -1 char w; int x; float B . O D .-2 后,变量 i 的值是( C) 。

D . 36 A 、 B ) D .

B 、

C 答案都不对

o 表达式是错误的 ,

执行语句:y=x%2;,则变量y 的结果是(D)。 C. 0 D.语句本身是错误的

y; double z; ,则表达式 w*x+z-y 结果的类型是 ( D) 。

char C .int D . dou ble ,则下列语句的输出结果是 ( D ) 。 C .1 A .float 已知: int x=10, y=3, z; printf("%d\n", z=(x%y, x/y)); A .1 B .0 C . 4 已知: int i=6, j; ,则执行语句 j=(++i)+(i++);

A .4

B .14

C . 13 10. 已知:int x=1, y=-1;,则语句 printf("%d\n",

A . 1

B .0

C .-1

11. 设a=2, b=3,计算表达式c=b*=a-1后,变量 A . 5 12. 若定义了 int x; A . (double)x

13. 下述程序的输出是 ( A ) main() { int x=023;

printf("%f", +1*7%2/4); } A . B . 14. 若有定义: ( A ) 。 A .

D .3 后的 j 的值是( B ) 。 D .15 (x--&++y)); 的输出结果是 ( B) 。

D .2

B )。

D .4

( A ) 。

D .(x)double

c 的值是 ( B .3 C .2

,则将 x 强制转化成双精度类型应该写成

B .x(double) 。

C .double(x)

2.750000 C . int a=7; float x=, y=;

B .2.750000

C .

D . 则表达式 x+a%3*(int)(x+y)%2/4 的值是 D . 15.设变量n 为float 类型,m 为int 类型,则以下能实现将n 中的数值保留小数点 后两位,第 3 位进行四舍五入运算的表达式是 ( B ) 。 A .n=(n*100+/ B .m=n*100+, n=m/ C .n=n*100+ D .n=(n/100+* 16.已知 ch 是字符型变量,下面不正确的赋值语句是 ( A ) 。

A.ch='a+b'; B.ch='\0'; C.ch='7'+'9'; D.ch=5+9;

相关主题
文本预览
相关文档 最新文档