c语言备考习题及部分答案

更新时间:2023-12-06 23:49:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、判断题

1. 在if...else语句中,else总是和它上面最近且未曾配对的if配对。(√ )

2. 在if(<表达式>)<语句序列1> else<语句序列2>中的语句序列1和语句序列2可以为复合语句。( √ ) 3. C语言在判断一个量是否为真时,以非0值代表“真”,以0值代表“假”。( √ ) 4. 与下列程序段等价的赋值语句是 y=x>0?1:x<0?-1:0 (× ) if(x>0)y=1; else if(x<0) y=-1; else y=0; 二、单选题 1. 有如下程序 main( B) { float x=4.0,y; if(x<0.0) y=0.0; else if(x<10.0) y=1.0/x; else y=1.0; printf(“%f\\n”,y); }

该程序的输出结果是 ( )

A) 0.0 B) 0.25 C) 0.5 D) 1.0 2. 为了避免嵌套的if-else语句的二义性,C语言规定else总是与(C)组成配对关系。

(A)缩排位置相同的if (B)在其之前未配对的if

(C)在其之前未配对的最近的if (D)同一行上的if

3. 为了避免嵌套的if-else语句的二义性,C语言规定else总是与(C )组成配对关系。 (A)缩进位置相同的if (B)在其之前未配对的if

(C)在其之前最近的未配对的if (D)同一行上的if

4. 设int a=0,b=5,c=2;选择可执行x++的语句是(B )。

(A)if(a) x++ (B)if(a=b) x++; (C)if(a=

A)3 B)4 C)34 D)35

6. 若要求在if后一对圆括号中表示a不等于0的

关系,则能正确表示这一关系的表达式为D

A)a<>0 B)!a C)a=0 D)a

7. 假定所有变量均已正确定义, ok1=1; ok2=2; ok3=3; x=15; if(!ok1) x--;

else if (ok2) if (ok3) x=3; else x=4;

上面程序段运行后x的值是:( D ) A)14 B)4 C)15 D)3

8. 在C语言的if语句中,用作判断的表达式为( D ).

A)关系表达式 B)逻辑表达式 C)算术表达式 D)任意表达式

A.

B.

C.

D.

9. 以下程序的运行情况是( D ) . #inlcude void main( )

{int x=3,y=0,z=0;

if (x=y+z) printf(\ else printf(\

A)有语法错

0

不能通过编译 B)输出****

C)可以通过编译, 不能通过连接, 不能运行 D)输出####

10. 若要求在if后一对圆括号中表示count等于0的关系, 则能正确表示这一关系的表达式为(B ) A) count B) ! count C) count=0 D) count!=0 11. 以下程序的输出结果是( C)。 #include main()

{ int a=1,b=4,c=2; float y=4.0,z;

z=(a+b)/c+sqrt((double)y)*1.2/c; printf(%f\\n\ } D)4.400000

12. 若有定义int x,y;下面选项中合法的if语句(A )

(A)if(a==b)x++; (B)if(a=b)x++; (Cif(a=>b)x++;

13. 下面程序的输出是( B )。 #include main( )

{int x=100,a=10,b=20; int v1=5,v2=0; if (a

if (v2) x=10; x=-1; printf(\ }

(A)100 (B)-1 (C)1 (D)10 14. 有一C语言源程序如下: main()

{ int a,b=-1;scanf(\ if(a) if(a>0) b=1; else b=0; }

该程序所表示的数学函数关系是( C)

屏幕上的内容是(A )。 main () {

scanf (\ &j, &k); if (i>50) printf(\ else if (i>40) printf(\ else if (i>30) printf(\ else printf(\}

A)53 B)48 C)32 D)Error 16. 若有int i = 10,j=0; 并执行下列程序段: switch ( i ) {

case 9: i += 1; break; case 10:

case 11: i -= 2; break; default: j+= 3; break; }

则变量i的正确结果是( D )。

A)13 B)10 C)11 D)8

17. 若 int i = 10,执行下列程序: switch ( i )

{ case 9: i += 1; case 10:

case 11: i -= 1; default: i += 1; }

则变量i的正确结果是(A )。 (A)10 (B)11 (C)12 (D)9 18. 若给定条件表达式(m)?(a++): (a--),则其中表达式m( C )。

A)和(m==0)等价 B)和(m==1)等价 C)和(m!=0)等价 D)和(m!=1)等价

A.

B.

C.

D.

A)3.500000 B)3.700000 C)3.200000 int i,j,k;

19. 以下程序段的运行结果是( A )。 int a=7,b=8,c=9; if(a>b) a=b,b=c;c=a;

15. 运行下列程序并用键盘输入53,48,32 后,在

D)7,8,9

printf(\ B)7,9,7

C)8,9,7

A)7,8,7

20. 要判断字符变量ch中的值是否为数字字符,则正确的表达式是( C )。 C)ch>='0'&&ch<='9' D)ch≥'0'ch≥'9'

21. 两次运行以下程序,若从键盘上分别输入6和4,则输出结果是(B )。 main( ) {int x;

scanf(\

if(x++>5) printf(\ A)7和5 B)7 C)7和4 D)6和4

22. 下面程序的输出是( B )。 main( ) {int y=9; for(;y>0;y--) if(y%3==0)

{printf(“%d”,- -y);continue;} }

A)741 B)852 C)963 D)875421 23. 假定所有变量均已正确说明,下列程序段运行后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 24. 下面程序的运行结果是( C )。 {int k=3;

if (k++>3) printf(\ else printf(\ } A)5 B) 4 C)3 D)2 25. 下面程序的输出结果为( A) 。 main( )

{int x=0,a=10,b=20,c=15; if (a>b) if(b

printf(\ }

A)0 B)1 C)2 D)不确定 26. 下列程序的输出结果是( B ) #include main( ) {int a,b,c; a=1;b=2;c=3;

a=(c=a>b)&&(b=c

A)1,2,3 B)0,2,0 C)1,2,0 D)1,0,0

A)ch≥0&&ch≥9 B)ch>=0&&ch<=9 main( )

1. 如果t<>0,则把变量a的值赋给变量c,否则把变量b的值赋给变量c,能实现此功能的语句有(ACE )。 (A)c=t?a:b; (B)c=!t?a:b; (C)if(t)c=a;else c=b; (D)if(!t)c=a;else c=b; (E)c=t!=0?a:b; 2. 以下正确叙述的有(BCD)

A)if ((x=12;)!=0)…… B) if ((x=12)!=0)……

C) 赋值语句与赋值表达式是不同的 D)在if 语句中的表达式不能有赋值语句 E)在if 语句中不能有赋值表达式

3. 若int a,b,sum; 则计算a+|b|的值的方法( BD ) 。

A)

sum=a>0?a+b:a-b;

B)

sum=b>0?a+b:a-b; C) if (a>0) sum=a+b; else sum=a-b; D) if (b>0) sum=a+b; else sum=a-b; E) if (b>0) sum=a-b; else sum=a+b;

4. 已定义int a,b,x,下列语句中合法的条件语句是(CE )。 A)if(a=b) ++x; C)if(a!=b) ++x; D)if(a<>b) ++x; E)if(a>=b) ++x;

5. 若变量c定义为char型,则能正确判断c为大写字母的有( CD )

A)''A''<=c<=''Z'' B)''Z''>=c>=''A'' C)c>=''A''&& ''Z''>=c D)c>=''A''&&c<=''Z'' E)c>=''A''||c<=''Z'' 四、填空题

1. 下面程序的功能是输入的一批正数,求出最大者。请填空。 main( ) {int a,max=0; scanf(\

while (___A>0__________) {if (max

2. 若n的值为9,则执行语句 if(n++<10) printf(\ else printf(\后, 则n的值为( 10 )。

3. 与语句if (a>b) max=a; else max=b;功能等价的赋值语句是MAX=A>B?A:B;

一、判断题

1. 在if...else语句中,else总是和它上面最近且未曾配对的if配对。(√ )

2. 在if(<表达式>)<语句序列1> else<语句序列2>中的语句序列1和语句序列2可以为复合语句。( √ ) 3. C语言在判断一个量是否为真时,以非0值代表“真”,以0值代表“假”。( √ ) 4. 与下列程序段等价的赋值语句是 y=x>0?1:x<0?-1:0 (× ) if(x>0)y=1; else if(x<0) y=-1; else y=0; 二、单选题 1. 有如下程序 main( B) { float x=4.0,y; if(x<0.0) y=0.0; else if(x<10.0) y=1.0/x; else y=1.0; printf(“%f\\n”,y); }

该程序的输出结果是 ( )

A) 0.0 B) 0.25 C) 0.5 D) 1.0 2. 为了避免嵌套的if-else语句的二义性,C语言规定else总是与(C)组成配对关系。

(A)缩排位置相同的if (B)在其之前未配对的if

(C)在其之前未配对的最近的if (D)同一行上的if

3. 为了避免嵌套的if-else语句的二义性,C语言

规定else总是与(C )组成配对关系。 (A)缩进位置相同的if (B)在其之前未配对的if

(C)在其之前最近的未配对的if (D)同一行上的if

4. 设int a=0,b=5,c=2;选择可执行x++的语句是(B )。

(A)if(a) x++ (B)if(a=b) x++; (C)if(a=

A)3 B)4 C)34 D)35

6. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为D (B)if(a=b)x++;

A)a<>0 B)!a C)a=0 (C if(a=>b)x++;

D)a

7. 假定所有变量均已正确定义, ok1=1; ok2=2; ok3=3; x=15; if(!ok1) x--;

else if (ok2) if (ok3) x=3; else x=4;

上面程序段运行后x的值是:( D ) A)14 B)4 C)15 D)3

8. 在C语言的if语句中,用作判断的表达式为( D ).

A)关系表达式 B)逻辑表达式 C)算术表达式 D)任意表达式

A.

B.

C.

D.

9. 以下程序的运行情况是( D ) . #inlcude void main( )

{int x=3,y=0,z=0;

if (x=y+z) printf(\ else printf(\

A)有语法错

0

不能通过编译 B)输出**** C)可以通过编译, 不能通过连接, 不能运行 D)输出####

10. 若要求在if后一对圆括号中表示count等于0的关系, 则能正确表示这一关系的表达式为(B ) A) count B) ! count C) count=0 D) count!=0 11. 以下程序的输出结果是( C)。 #include main()

{ int a=1,b=4,c=2; float y=4.0,z;

z=(a+b)/c+sqrt((double)y)*1.2/c; printf(%f\\n\ } A)3.500000 B)3.700000 C)3.200000 D)4.400000

12. 若有定义int x,y;下面选项中合法的if语句(A )

(A)if(a==b)x++;

13. 下面程序的输出是( B )。 #include main( )

{int x=100,a=10,b=20; int v1=5,v2=0; if (a

else

if (v2) x=10; x=-1; printf(\ }

(A)100 (B)-1 (C)1 (D)10 14. 有一C语言源程序如下: main()

{ int a,b=-1;scanf(\ if(a) if(a>0) b=1; else b=0; }

该程序所表示的数学函数关系是( C)

15. 运行下列程序并用键盘输入53,48,32 后,在屏幕上的内容是(A )。 main () {

int i,j,k;

scanf (\ &j, &k); if (i>50) printf(\ else if (i>40) printf(\ else if (i>30) printf(\

本文来源:https://www.bwwdw.com/article/51gt.html

Top