C语言选择结构考试试题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C 语言选择结构考试试题

一、选择题(每题2分,共30分)

1. 有如下程序: main ()

{ int x=1,a=0,b=0; switch (x )

{ case 0: b++; case 1: a++; case 2: a++;b++; }

printf ("a=%d,b=%d \n",a,b );} 该程序的输出结果是 A )a=2,b=1 B )a=1,b=1 C )a=1,b=0 D )a=2,b=2

2. 有以下程序 main () { int i=1,j=1,k=2; if ((j++||k++)&&i++)printf ("%d,%d,%d \n",i,j,k );} 执行后输出结果是 A )1,1,2 B )2,2,1 C )2,2,2 D )2,2,3

3. 有如下程序 main () { float x=2.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 )0.250000 C )0.500000 D )1.000000 4. 设int x=1,y=1;表达式(!x||y--)的值是 A )0 B )1 C )2

D )-1

5. 若运行时给变量x 输入12,则以下程序的运行结果是 main (){ int x,y;

scanf ("%d",&x ); y=x>12?x+10:x-12;

printf ("%d \n",y );} A )0 B )22 C )12

D )10

6. 在C 程序中,判逻辑值时,用“非0”表示逻辑值“真”,又用“0”表

示逻辑值“假”。

在求逻辑值时,用()表示逻辑表达式值为“真”,又用()表示逻辑表达式值为“假”。

A )1 0

B )0 1

C )非0 非0

D )1 1

7. 若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a<=25&&b--<=2&&c?printf ("***a=%d,b=%d,c=%d \n",a,b,c ):printf ("###a=%d,b=%d,c=%d \n",a,b,c );程序输出的结果是

A )***a=25,b=13,c=19

B )***a=26,b=14,c=19

C )### a=25,b=13,c=19

D )### a=25,b=14,c=19 8. 有如下程序 main ()

{ float x=2.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 )0.250000 C )0.500000 D )1.000000

9. 以下4个选项中,不能看做一条语句的是

A );

B )a=5,b=2.5,c=3.6;

C )if (a<5);

D )if (b!=5)x=2;y=6; 10. 能正确表示逻辑关系:“a ≥10或a ≤0”的C 语言表达式是 A )a>=10 or a<=0 B )a>=0|a<=10 C )a>=10 &&a<=0 D )a>=10‖a<=0 11. 有如下程序 main ()

{ int a=2,b=-1,c=2; if (a

printf ("%d \n",c );} 该程序的输出结果是 A )0 B )1 C )2 D )3

12. 设x ,y 和z 都是int 型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是

A )x&&y

B )x<=y

C )x||++y&&y-z

D )!(x

13. 若有条件表达式(exp )?a++:b--,则以下表达式中能完全等价于表达式(exp )

的是 A )(exp==0) B )(exp!=0) C )(exp==1)

D )(exp!=1)

14. 以下程序的输出结果是

main ()

{ int a=4,b=5,c=0,d; d=!a&&!b||!c;

利川职校201___级_____________班姓名___________ 考号____________________

…………………………装……………………………………………订…………………………………………线…………………………printf("%d\n",d);}

A)1 B)0 C)非0的数D)-1

15.设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值是

A)1 B)2 C)3 D)4

16.设x,y,t均为int型变量,执行语句:

x=y=3;

t=++x||++y;

完成后,y的值为

A)不确定B)4 C)3 D)1

17.请阅读以下程序:

main()

{ int a=5,b=0,c=0;

if(a=b+c)printf("***\n");

else printf("$$$\n");} 以上程序

A)有语法错不能通过编译

B)可以通过编译但不能通过连接

C)输出***

D)输出$$$

18.当k的值不为0时,在下列选项中能够将k的值赋给变量m,n的