C语言第四章选择结构

2020-04-14 06:43

第四章 选择结构

一.选择题

1.if后面的逻辑表达式之值( )。 A.只能是0和1 B.只能是正整数或负整数 C.只能是整型或字符型数据 D.可以是任何类型数据 2.以下不正确的语句为( )。

A.if(x>y); B.if(x==y)&&(x!=0) x+=y ; C.if(x

C.if(x!=y)x++;else y++; D.if (x>y) && (x!=1) {x++;y++;} 4.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是( )。 if(x>y)

z=x;x=y;y=z;

A.x=10,y=20,z=30 B.x=20,y=30,z=30 C.x=20,y=30,z=10 D.x=20,y=30,z=20 5.以下程序的输出是( )。

main()

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

if(b<0) c=0;

printf(“%d\\n”,c); } A.0 B.1 C.2 D.3 6.以下程序的输出是( )。 main()

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

if(b<0) c=0; else c+=1;

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

7.以下程序的运行结果是( )。

main( ) {int m=5;

if(m++>5)printf(“%d\\n”,m); else printf(“%d\\n”,m--); }

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

8.若执行以下程序时从键盘上输入3和4,则输出结果是( )。 main()

{ int a,b,s;

scanf(“%d%d”,&a,&b); s=a;

if(a

s*=s;

printf(“%d\\n”,s)}

A.14 B.16 C.18 D.20 9.运行以下程序,输出( )。 main()

{ int k=-3;

if(k<=0)printf(“****\\n”); else printf(“&&&&\\n”);} A.**** B.&&&&

C.####&&&& D.有语法错误不能通过编译 10.下面的程序运行结果是( )。

main( )

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

if(x=y+z)printf(\

else printf(\

A. 有语法错误不能通过编译 B.输出* * * * C.可以通过编译,但是不能通过连接,因而不能运行 D.输出# # # # 11.下列条件语句中,输出结果与其他语句不同的是( )。 A.if(a)printf(\%d\\n\,x); else printf(\%d\\n\,y); B.if(a—0)printf(\%d\\n\,y); else printf(\%d\\n\,x); C.if(a!=0)printf(\%d\\n\,x); else printf(\%d\\n\,y); D.if(a=0)printf(\%d\\n\,x); else printf(\%d\\n\,y);

12.为了避免if_else语句的二义性,C语言规定else总是与( )组成配对关系。

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

C.在其之前最近的未配对的if D.同一行上的if 13.有以下程序

#include main()

{int a=1,b=0; if(-a) b++;

else if(a=0)b+=2: else b+=3:

printf(\%d\n\,b);

} 程序运行后的输出结果是( )。 A.0 B.1 C.2 D.3

14.以下程序的输出结果是( )。 main()

{ int x=2,y=-1,z=2; if(x

if(y<0) z=0; else z=z+1;

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

A.3 B.2 C.1 D.0 15.有如下嵌套的if语句 if(a

if(a

if(b

16.以下选项中与上述if语句等价的语句是( )。 A.k=(a

B.k=(a

17.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是( )。 if(a

if(a

if(a

if(b

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

18.若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句是( )。

A.a=a+b, b=a-b, a=a-b; B.t=a; a=b; b=t; C.a=t; t=b; b=a; D.t=b; b=a; a=t;

19.以下选项中与if(a==1) a=b;else a++;语句功能不同的switch语句是( )。

A.switch(a) B.switch(a==1)

{ case 1:a=b;break; { case 0 : a=b;break; default : a++; case 1 : a++; } }

C.switch(a) D.switch(a==1)

{ default : a++;break; { case 1:a=b;break; case 1:a=b; case 0: a++;

} }

20.若int i=0;执行下列程序后,变量i的正确结果是( )。 switch (i)

{ case 9: i+=1 ; case 10: i+=1 ; case 11: i+=1 ; default : i+=1 ;}

A.10 B.11 C.12 D.13 21.以下程序输出结果是( )。 main ( )

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

case 1:switch (y) {

case 0 : a++ ; break ; case 1 : b++ ; break ; }

case 2:a++; b++; break; case 3:a++; b++; }

printf(“a=%d,b=%d”,a,b); }

A.a=1,b=0 B.a=2,b=1 C.a=1,b=1 D.a=2,b=2

二.填空题

1.复合语句在语法上被认为是 。空语句的形式是 。 2. 请写出以下程序的输出结果 。 main()

{ int a = 100;

if( a > 100) printf(“%d\\n”, a > 100); else printf(“%d\\n”, a <= 100); }

3将上题中的双分支if语句改写成条件表达式语句: 。 4. 阅读下面程序,程序执行后的输出结果是 。 #include \main() {

int x,y,z;

x = 1; y = 2; z = 3; if(x>y)

if(x>z)printf(\); else printf(\); printf(\\n\); }

5.若从键盘输入58,则以下程序输出的结果是 。 main() {

int a;

scanf(\);

if(a>50)printf(\); if(a>40)printf(\); if(a>30)printf(\);

}

6.当a = 1、b = 2、c = 3时,以下if语句执行后,a、b、c中的值分别为: 、 、 。 if(a > c)

b = a; a = c; c = b; 7.设有程序片段: switch(grade)

{ case 'A':printf(\ case 'B':printf(\ case 'C':printf(\ case 'D':printf(\ default: printf(\ }

若grade的值为'C',则输出结果是______________________。 8.以下程序的执行结果是 。 main()

{ int k=8; switch(k) { case 9: k+=1; case 10: k+=1;

case 11: k+=1; break; default: k+=1; }

printf(\\n\); }

9.若变量已正确定义,以下语句段的输出结果是 。 x = 0; y = 2; z = 3; switch(x)

{ case 0: switch( y == 2)

{ case 1: printf(“*”); break; case 2: printf(“%”); break; }

case 1: switch( z )

{ case 1: printf(“$”);

case 2: printf(“*”); break; default : printf(“#”); } }

10.以下程序是计算某年某月有几天。判断闰年的条件是:能被4整除但不被100整除或能被400整除的年份为闰年。 int main( )

{ int yy,mm,len;

printf(“输入年份和月份:”);scanf(“%d%d”,&yy,&&mm); switch(mm)


C语言第四章选择结构.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:实验五 MATLAB在数值计算中的应用

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: