第4章选择程序习题110403.docx

上传人:b****4 文档编号:3908674 上传时间:2022-11-26 格式:DOCX 页数:26 大小:41.23KB
下载 相关 举报
第4章选择程序习题110403.docx_第1页
第1页 / 共26页
第4章选择程序习题110403.docx_第2页
第2页 / 共26页
第4章选择程序习题110403.docx_第3页
第3页 / 共26页
第4章选择程序习题110403.docx_第4页
第4页 / 共26页
第4章选择程序习题110403.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

第4章选择程序习题110403.docx

《第4章选择程序习题110403.docx》由会员分享,可在线阅读,更多相关《第4章选择程序习题110403.docx(26页珍藏版)》请在冰豆网上搜索。

第4章选择程序习题110403.docx

第4章选择程序习题110403

第4章选择结构程序设计

4.1选择题

1.以下关于if语句的错误描述是_______。

B

A)条件表达式可以是任意的表达式

B)条件表达式只能是关系表达式或逻辑表达式

C)条件表达式的括号不可以省略

D)与else配对的if语句是其之前最近的未配对的if语句

2.在C语言中,错误的语句是_______。

A?

A)a=b=c;B);C)break;D)b=3*5,a*=4;

3.执行了以下程序段后,x,w的值为_______。

C

intx=0,y=1,z=2,w;

if(x++)w=x;

elseif(x++&&y>=1)w=y;

elseif(x++&&z>1)w=z;

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

4.若执行以下程序时从键盘上输入9,则输出结果是_______。

B

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

main()

{intn;

scanf("%d",&n);

if(n++<10)printf("%d\n",n);

elseprintf("%d\n",n--);

}

5.有以下程序,程序运行后的输出结果是_______。

A

  main()

  {

inta=15,b=21,m=0;

  switch(a%3)

  {case0:

m++;break;

  case1:

m++;switch(b%2)

  {default:

m++;

  case0:

m++;break;

}

  }

  printf("%d\n",m); 

}  

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

6.若有以下程序,执行后输出结果是_______。

A

  main()

  {

intp,a=5;

if(p=a!

=0)

  printf("%d\n",p);

else printf("%d\n",p+2);

}

A)1 B)2C)5D)7

7.若k是int型变量,且有下面的程序段,,其执行后的输出结果是_______。

D?

k=-3;

if(k<=0)printf("####");

elseprintf("&&&&");

A)####B)&&&&

C)####&&&&D)有语法错误,无输出结果

8.以下程序输出结果是_______。

B

main()

{

intm=5;

if(m++>5)printf("%d\n",m);

elseprintf("%d\n",m--);

}

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

9.若执行下面的程序时从键盘上输入3和4,则输出是_______。

B

A)14B)16C)18D)20

main()

{

inta,b,s;

scanf("%d%d",&a,&b);

s=a;

if(a

s=s*s;

printf("%d\n",s);

}

10.假定所有变量均已正确定义,下列程序段运行后x的值是_______。

  B 

a=b=c=0;x=35;

if(!

a)x--;elseif(b);if(c)x=3;elsex=4;

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

11.已有定义:

charc;,程序前面已在命令行中包含ctype.h文件。

不能用于判断c中的字符是否为大写字母的表达式是_______。

[G07Q1-23答案:

B]

A)isupper(c)B)'A'<=c<='Z'

C)'A'<=c&&c<='Z'D)c<=('z'-32)&&('a'-32)<=c

12.若有定义语句:

inta=1,b=2,c=3,d=4,e;则执行下述语句后,e的值为_______。

C 

e=a>b?

a:

c

c:

d;

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

13.执行下述程序的输出结果是_______。

 A 

 #include

 main()

 {   

intx=100,a=10,b=20,ok1=5,ok2=0;

   if(a

     if(b!

=15)

       if(!

ok1)         x=1;

       else   if(ok2) x=10;

          x=-1;

          printf("%d\n",x);

}

A)-1   B)0    C)1    D)不确定的值

14.与语句y=(x>0?

1:

x<0?

-1:

0);的功能相同的if语句是_______。

A  

  A)if(x>0)y=1;             B)if(x)

    elseif(x0)y=-1;             if(x>0)y=1;

elsey=0;                      elseif(x<0)y=-1;

                                    elsey=0;

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

    if(x)                        if(x>=0)

      if(x>0)y=1;                 if(x>0)y=1;

    elseif(x==0)y=0;           elsey=-1;

    elsey=-1;

15.两次运行下述程序,如果从键盘上分别输入6和4,则输出结果是_______。

  A

 #include

 main()

intx;

scanf("%d",&x);

if(x++>5)    printf("%d\n",x);

else      printf("%d\n",x--);   

}

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

16.执行下述程序的输出结果是_______。

 #include

 main()

 {  

inta=-1,b=1,k;

  if((++a<0)&&(!

b--<=0))   printf("%d%d\n",a,b);

  else    printf("%d%d\n",b,a);

}

A)-11  B)01   C)1 0   D)00

17.假定所有变量均已正确说明,执行下述程序段后x的值是_______。

 A 

a=b=c=0;  x=35;

if(!

a)x--;

elseif(b)if(c)x=3;

elsex=4;

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

18.若设n是个整型变量且已有值,则与给定条件表达式(!

n)?

n+10:

n-10等价的条件表达式是_______。

 C  

  A)(n!

=0)?

n+10:

n-10     B)(n!

=1)?

n+10:

n-10

  C)(n==0)?

n+10:

n-10     D)(n==1)?

n+10:

n-10

19.设有程序如下:

则以下叙述正确的是_______。

 A 

  #include

  main()

  { 

intx=3,y=0,z=0;

     if(x=y+z) ;     printf("****\n");

     else      printf("####\n");

}

A)程序有语法错误,不能通过编译

B)程序可执行,输出结果是****

C)程序可以通过编译,但是不能通过连接,因而不能运行

D)程序可执行,输出结果是####

20.与语句if(a>b)if(c>d)x=1;elsex=2;等价的是_______。

A

A)if(a>b){if(c>d)x=1;elsex=2;}

B)if(a>b){if(c>d)x=1;}elsex=2;

C)if((a>b)&&(c>d))x=1;elsex=2;

D)if(a<=b)x=2;elseif(c>d)x=1;

21.设有以下程序段, 则执行以下程序段的输出结果为_______。

  int a=1,b=0;

   switch (a)

   {    case1:

switch (b)          

           {case0:

printf("**0**");break;

case1:

printf("**1**");break;}

case2:

printf("**2**");break;

}

printf("\n");

A)**0**   B)**0****2**   

C)**0****1****2**  D)有语法错误

22.执行下列程序段后输出的结果是_______。

  C 

 inta=8,b=7,c=6;

 if(ac){a=c;c=b;}

 printf("%d,%d,%d\n",a,b,c);

  A)6,7,7              B)6,7,8 C)8,7,6              D)8,7,8

23.若变量已正确定义,有以下程序段,其输出结果是_______。

  B 

 inta=3,b=5,c=7;

 if(a>b)a=b;c=a;

if(c!

=a)c=b;

 printf("%d,%d,%d\n",a,b,c);

  A)程序段有语法错      B)3,5,3 C)3,5,5              D)3,5,7

24.有以下程序,程序的运行结果是_______。

D

#include

main()

{

intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:

a++;break;

case1:

b++;break;}

case2:

a++;b++;break;

case3:

a++;b++;}

printf("a=%d,b=%d\n",a,b);

}

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

25.有以下计算公式,若程序前面已在命令行中包含math.h文件,不能够正确计算上述公式的程序段是_______。

B

 

A)if(x>=0)y=sqrt(x);B)y=sqrt(x);

elsey=sqrt(-x);if(x<0)y=sqrt(-x);

C)if(x>=0)y=sqrt(x);D)y=sqrt(x>=0?

x:

-x);

If(x<0)y=sqrt(-x);

26.设变量x和y均已正确定义并赋值。

以下if语句中,在编译时将产生错误信息的是_______。

C

A)if(x++);B)if(x>y&&y!

=0);

C)if(x>0)x--D)if(y<0){;}

elsey++;elsex++;

27.在嵌套使用if语句时,C语言规定else总是_______。

C

A)和之前与其具有相同缩进位置的if配对

B)和之前与其最近的if配对

C)和之前与其最近的且不带else的if配对

D)和之前的第一个if配对

28.下列叙述中正确的是_______。

D

A)break语句只能用于switch语句

B)在switch语句中必须使用default

C)break语句必须与switch语句中的case配对使用

D)在switch语句中,不一定使用break语句

29.若有定义:

floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是_______。

C

A)switch(x)B)switch((int)x);

{case1.0:

printf("*\n");{case1:

printf("*\n");

case2.0:

printf("**\n");}case2:

printf("**\n");}

C)switch(a+b)D)switch(a+b)

{case1:

printf("*\n");{case1:

printf("*\n");

case2+1:

printf("**\n");}casec:

printf("**\n");}

30.有以下程序,程序输出结果是_______。

D

main()

{

inta=0,b=0,c=0,d=0;

if(a=1)b=1;c=2;

elsed=3;

printf("%d,%d,%d,%d\n",a,b,c,d);

}

A)0,1,2,0  B)0,0,0,3  C)1,1,2,0  D)编译有错

31.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是_______。

D

A)k%2 B)k%2==1  C)(k%2)!

=0  D)!

k%2==1

32.设变量a、b、c、d和y都已正确定义并赋值。

若有以下if语句,该语句所表示的含义是_______。

C

if(a

elsey=1;

A) B)

 

C) D)

33.以下程序的输出结果是_______。

D

main()

{

inti=1,j=2,k=3;

if(i++==1&&(++j==3||k++==3))

printf("%d%d%d\n",i,j,k);

}

A)123  B)234  C)223  D)233

34.若整型变量a、b、c、d中的值依次为:

1、4、3、2。

则条件表达式a

a:

c

c:

d的值是_______。

A

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

35.下列程序段中,能将变量x、y中值较大的数保存到变量a,值较小的数保存到变量b的程序段是_______。

C

A)if(x>y)a=x;b=y;elsea=y;b=x;

B)if(x>y){a=x;b=y;}elsea=y;b=x;

C)if(x>y){a=x;b=y;}else{a=y;b=x;}

D)if(x>y){a=x;b=y;}else(x

36.有以下程序,执行后输出的结果是_______。

C

main()

{

inti=1,j=1,k=2;

if((j++||k++)&&i++)

printf("%d,%d,%d\n",i,j,k);

}

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

37.有以下程序,执行后输出的结果是_______。

B

main()

{

inta=5,b=4,c=3,d=2;

if(a>b>c)

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

elseif((c-1>=d)==1)

printf("%d\n",d+1);

elseprintf("%d\n",d+2);

}

A)2B)3C)4D)编译时有错,无结果

38.对下述程序,_______是正确的判断。

A

#include

main()

{

intx,y;

scanf("%d,%d",&x,&y);

if(x>y)

x=y;y=x;

elsex++;y++;

printf("%d,%d\n",x,y);

}

A)有语法错误,不能通过编译B)若输入数据3和4,则输出4和5

C)若输入数据4和3,则输出3和4D)若输入数据4和3,则输出4和4

39.若有表达式(w)?

(--x):

(++y),则其中与w等价的表达式是_______。

D

A)w==1B)w==0C)w!

=1D)w!

=0

40.执行以下程序段后,w的值为_______。

C

intw='A',x=14,y=15;

w=((x||y)&&(w<'a'));

A)-1B)NULLC)1D)0

41.有以下程序段,程序的输出结果是_______。

A   

 inta,b,c;

a=10;b=50;c=30;

 if(a>b)a=b,b=c;c=a;

printf("a=%db=%dc=%d\n",a,b,c);

A)a=10b=50c=10      B)a=10b=50c=30

C)a=10b=30c=10              D)a=50b=30c=50

42.有以下程序,程序的运行结果是_______。

D

#include

main()

{

intx=1,y=2,z=3;

if(x>y)

if(y

elseprintf("%d",++y);

printf("%d\n",x++);

}

A)331B)41C)2D)1

43.下面_______表达式满足x为奇数时为真,x为偶数时为假。

C

A)x%2==0B)(x/2*2-x)==0C)x%2D)!

(x%2!

=0)

44.C语言中对于嵌套if语句规定else总是与_______配对。

D

A)第一个ifB)其之前最近的if

C)缩进位值相同的ifD)其之前最近的不带else的if语句

45.已有声明“inta=3,b=3,c=2;”,以下选项中值为0的表达式是________。

A

A)!

a&&!

b&&cB)!

a||!

b||cC)a==b&&b>=cD)a>=b&&b>c

46.有以下程序

#include

main()

{

intx;

scanf("%d",&x);

if(x<=3);

elseif(x!

=10)

printf("%d\n",x);}

程序运行时,输入输入的值在哪个范围才会有输出结果________。

B

A)不等于10的整数B)大于3且不等于10的整数

C)大于3或等于10的整数D)小于3的整数

47.有以下程序

#include

main()

{

inta=1,b=2,c=3,d=0;

if(a==1&&b++==2)

if(b!

=2||c--!

=3)

printf("%d,%d,%d\n",a,b,c);

elseprintf("%d,%d,%d\n",a,b,c);

elseprintf("%d,%d,%d\n",a,b,c);}

程序运行后的输出结果是________。

C

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

48.当c的值不为0时,在下列选项中不能正确将c的值赋给变量a和b的是_______。

A)c=b=a;B)(a=c)||(b=c)A/B/D

C)(a=c)&&(b=c) D)a=c=b;

49.以下可以判断字符变量ch中为数字字符的有_______。

A/B/C

A)isdigit(ch)B)ch>='0'&&ch<='9'

C)ch>=48&&ch<=57D)ch>=0&&ch<=9

50.语句while(!

E);中的!

E条件与下列关系式等价的有_______。

A/B

A)E!

=1B)E==0C)E!

=0D)E==1

51.以下叙述正确的是________。

C

A)"或"运算时,两个变量都为"1"时,结果为"0"

B)"非"运算是二元运算符

C)所有逻辑运算都是按位操作的

D)16H和16D的"与"运算结果为32D

52.若给定条件表达式(M)?

(a++):

(a--)则其中表达式M和________等价。

C

A)(M==0)B)(M==1)C)(M!

=0)D)(M=0)

53.为表示关系x≥y≥z,应使用的C语言表达式是________。

A

A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)

C)(x>=y>=z)D)(x>=y)&(y>=z)

54.以下程序的输出结果是________。

C

main()

{

inta=2,b=-1,c=2;

if(a

if(b<0)c=0;

elsec+=1;

printf("%d\n",c);

}

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

55.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1