c语言程序设计习题集 下载本文

答案:L_

9.执行以下程序,运行结果为 Main() {

Char x=oxFF;

Printf(“%d\\n”,x--);} 答案:_-1_

10.执行以下程序,运行结果为 {Int y=3,x=3,z=1;

Printf(“%d%d\\n”,(++x,y++),z+2);} 答案: _3____3

1.1.4选择结构程序

一 单项选择题

1.若x为int类型,则下面与逻辑表达式!x等价的C语言关系表达式是_____。 A.x==1 B. x!=1 C. x==0 D. x!=0 答案是__________ 答案是:C

2.能正确表示逻辑关系:“a>=5或a<=—1”的C语言表达式是_____。 A.a>=5 or a<=—1 B. a>=5 | a<=—1 C.a>=5&&a<=—1 D. a>=5 || a<=—1 答案是:D

3.If语句的控制条件是______。

A. 只能用于关系表达式 B. 只能用于关系表达式或逻辑表达式 C. 只能用于逻辑表达式 D. 可以用任何表达式 答案是:D

4. 设int x=2, y=1;则表达式(!x || y--)的值是______。

A.0 B.1 C.2 D.-1 答案是:B

5.与y=( x>0 ? 1: x<0 ? -1 : 0 ); 的功能相同的if语句是_______ 。 A. if (x>0) y=1 ; B. if (x)

else if(x<0) y=-1; if (x>0) y=1;

else y==0; else if(x<0) y=-1; else y=0;

C. y=-1; D. y=0;

if(x) if(x>=0)

if(x>0) y=1; if(x>0) y=1; else if(x==0) y=0; else y=-1; else y=-1; 答案是:A

6. 假定w、x、y、z、m均为整形变量,且w=1,x=2,y=3,z=4则执行语句: (m=(w

A. 4 B. 4 C. 2 D. 1 答案是:D

7. 有如下程序段,执行该程序段后,x的值为______。 int a=14 , b =15, x ; char c=`A` ;

x=(a&&b)&&(c<`B`) ;

A. ture B. false C. 0 D. 1 答案是:D

8. 设均为型变量,则执行语句:x=y=2 ; t= ++ x || ++y; 后;y的值为 ________。 答案是:B

A. 不确定 B. 2 C. 3 D. 1 答案是:B

9. 若有定义:float w; int a, b; 则合法的switch语句是_________。 答案是:C

A. swith (w) B. switch (a);

{case 1.0: printf(“ * \\n”); {case 1 printf(“ *\\n”);

Case2.0: printf(“ * * \\n”);} case 2 printf(“ * *\\n”);} C. swith (b) D. swith (b)

{case 1: printf(“ * \\n”); {case 1: printf(“ * \\n”) default: printf(“ \\n ”); case 2 printf(“ * *\\n”) case1+2: printf(“** \\n”);} default: printf(“ \\n ”)} 答案是:C

10.若给定条件表达(m)? (a++): (a——) 则其中表达m和______等价。 A.m==0 B. m==1 C. m!=0 D. m!=1 答案是:C

11. 有如下程序,该程序胡输出结果是( ) main () {

int a=3,b=-1,c=1; If(a

printf(“%d\\n”,c); }

A. 0 B.1 C. 2 D.3 答案是:B

12. 若变量c为 char l类型,能正确判断出c为大写字母胡表达式是________ A ?A? <=C<=?Z? B (c>=‘A’)||(c<=’z’) c.(‘a’<=c) and (‘Z’>=C) D (c>=‘A’)&&(C<=‘Z’) 答案是:D

13. 在C语言中,逻辑值“真”用( )表示。 A ture B 正数 C非0整数 D 非0数

答案是:D

14.设a,b,c,d,m,n均为整型变量,且a=5,b=7,c=3,d=8,m=2,n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为( ) A 0 B 1 C 2 D 4 答案是:C

15.有如下程序,其输出胡结果是( C ) main()

{ float x=5.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.000000 B. 5.000000 C. 0.200000 D. 1.000000 答案是:C

`16.运行下面程序后,则输出结果是_________。 Main()

{int a=0,b=1,c=2,d; d!=a&&!(--b)||!c++;

printf(“%d\\n”,c);} A.3 B.2 C.1 D.0 答案是:B

17.运行下面程序后,若从键盘输入58↙,则蔬输出结果是__________。 Main() {int x,

;

Scanf(“%d”,&x); If(x>60)printf(“%d”,x); If(x>40)printf(“%d”,x); If(x>30)printf(“%d”,x);

A.585858 B.5858 C.58 D.58 答案B

18. 运行下面程序后,输出结果是________。 Main()

{int a=16,b=21,m=0; Switch(a%3) { case 0:m++;break; Case 1:m++; Switch(a%2) { default : m++; Case 0: m++;break;} }

Printf(“%d\\n”,a,b);}

A.1 B.2 C.3 D.4 答案是:C

19.下面程序输出的结果是__________。 Main()

{ int x=5,y=9,z=1,t; t=(x>y||x>z); printf(“%d\\n”,t)?} A.1 B.0 C.5 D.3 答案是:A

20.下面程序输出的结果是__________。 Main()

{ int x=1,a=0,b=0; Switch(x) {case 0: b++; Case 1: a++;

Case 2: a++,b++; }