C语言1-5章复习题及参考答案 下载本文

内容发布更新时间 : 2024/5/18 7:10:57星期一 下面是文章的全部内容请认真阅读。

一.选择题

1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是(???)。 A .-3 B.9 C.-12 D.6

2、若有定义:int?a=8,?b=5,?c;?执行语句?c=a/b+0.4;?后,c的值为(???)。 A .1.4 B.1 C.2.0 D.2 3、有如下程序: void?main() {

?int?i,sum;

?for(i=1;i<=3;sum++) ??sum+=i;

?printf(\}

该程序的执行结果是(???)。 A .6 B.3 C.死循环 D.0

4、下列关于表达式的描述中,错误的是(?)。

A . 常量和变量都是表达式。 B. 运算符类型对应表达式的类型。 C. 每一个表达式都有自己的值。 D. 表达式必须以分号结尾。 5、C语言中,合法的长整型常数是(???)。 A . '\\t' B.” A” C.65 D.a 6、若已定义?x?和?y为double?类型,则表达式?x=1;y=(x+3)/2?的值是()。 A .1 B.2 7、表达式:10!=9的值是(???)。 A . true B. 非零值 C.0 D.1 8、以下程序的输出结果是(???)。 #include void?main() {

?printf(\}

A . 不确定的 B.0 C.-1 D.1 9、请选出合法的C语言赋值语句。( ? )

A . a=b=58 B.i++; C. a=58,b=58 D. k=int(a+b);

10、假设?int?b=2;?表达式(b>>2)/(b>>1)的值是(???)。 A .0 B.2 C.4 D.8

11、关于语句printf(“hello?world\\n”);,下列描述中错误的是()。 A . printf()是格式化输出函数,用于输出信息。 B. printf()括号中的内容为函数的参数。

C. printf()括号中的内容会全部输出到控制台上。 D. \\n表示换行操作。

12、下列选项中,哪一项不是C语言中的位运算符()。 A .& B.|| C.~ D.^

13、以下程序的输出结果是(???)。 void?main()

{

?char?c='z';

?printf(\}

A .a B.Z C.z-25 D.y

14、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为(???)。

A . a<>0 B. !a C. a=0 D. a 15、以下循环体的执行次数是(???)。 void?main() {

?int?i,j;

?for?(i=0,j=1;?i<=j+1;?i+=2,j--) ??printf(\}

A .3 B.2 C.1 D.0

16、下列运算符中优先级最高的是(???)。 A .|| B.&& C.+ D.=

17、若有以下定义和语句:char?c1='b',c2='e';?printf(\那么输出结果是(???)。

A .2,M B.3,E C.2,E D. 输出项与对应的格式控制不一致,输出结果不确定

18、若有以下程序段:int?c1=1,c2=2,c3;?c3=1.0/c2*c1;?那么执行后,c3中的值是(???)。 A .0 B.0.5 C.1 D.2

19、若变量a是int类型,并执行了语句:a='A'+1.6;?则下列描述中,正确的是(???)。 A . a的值是字符’C' B. a的值是浮点型

C. 不允许字符型和浮点型相加 D. a的值是字符’A’的ASCII值加上1 20、若有定义:int?x?,i;则下列for循环语句: for(i?=?0,x?=?0;?i<=?9?&&?x!=876;i++) scanf(“%d”,&x);

下列选项中,描述正确的是(??)

A . 最多执行10次 B. 最多执行9次 C. 是无限循环 D. 循环体一次也不执行 21、假定有以下变量定义:int?k=7,x=12;?那么能使值为3的表达式是(???)。 A . x%=(k%=5) B. x%=(k-k%5) C. x%=k-k%5 D. (x%=k)-(k%=5)

22、两次运行下面的程序,如果从键盘上分别输入6和4,那么输出结果是(???)。 void?main() {

?int?x;

?scanf(\?if?(x++?>?5) ??printf(\?else

??printf(\}

A . 7和5 B. 6和3 C. 7和4 D. 6和4

23、若已定义x和y为double类型,则表达式:x=1,?y=x+3/2?的值是(???)。 A . 1 B. 2 C. 2.0 D. 2.5

24、执行下面程序片段的结果是(???)。 int?x=23; do {

?printf(\}?while?(!x);

A . 打印出321 B. 打印出23 C. 不打印任何内容 D. 陷入死循环 25、以下选项中合法的字符常量是(???)。 A . \ B. '\\010' C. 68 D. D

26、将二进制数00001011进行>>位运算,将其结果转换为十进制是()。 A . 101 B. 1 C. 11 D. 5

27、下列说法中正确的是(???)。

A . 在switch语句中一定要使用break语句 B. 在switch语句中不一定要使用break语句 C. break语句是switch语句的一部分 D. break只能用于switch语句中

28、假设有如下的变量定义:int?i=8,k,a,b;?unsigned?long?w=5;?double?x=1.42,y=5.2;?则以下符合C语言语法的表达式是(???)。 A . a+=a-=(b=4)*(a=3) B. x%(-3) C. a=a*3=2 D. y=float(i) 29、若a为int型变量,则下列C语言表达中,不能表达数学关系式10

B. a==11||a==12||a==13||a==14 C. a>10&&a<15 D. !(a<=10)&&!(a>=15) 30、表示关系x<=y<=z的C语言表达式为(???)。 A . (X<=Y)&&(Y<=Z) B. (X<=Y)AND(Y<=Z) C. (X<=Y<=Z) D. (X<=Y)&(Y<=Z)

二.判断题

1、C语言属于机器语言。( ×)

2、C语言中的逻辑值“真”是用1表示的,逻辑值“假”是用0表示的。( √) 3、在C语言中转义字符有特殊的含义,它以反斜杠\\开头,后面接特定的字符。( √) 4、机器语言是由二进制数0和1组成的一串指令。( √) 5、continue只能用于循环语句。( ×)

6、C语言中的逻辑值“真”是用1表示的,逻辑值“假”是用0表示的。( √) 7、将浮点型数据转换为整型数据时,小数点后的数会进行四舍五入。( × )

8、字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的双引号( )引起来。(× )

9、通常将不可改变的数值称为常量。( √)

10、变量虽有不同的数据类型,但它们所占内存的大小是一样的。( × )