第四章选择结构习题集.docx

上传人:b****6 文档编号:6611207 上传时间:2023-01-08 格式:DOCX 页数:12 大小:21.70KB
下载 相关 举报
第四章选择结构习题集.docx_第1页
第1页 / 共12页
第四章选择结构习题集.docx_第2页
第2页 / 共12页
第四章选择结构习题集.docx_第3页
第3页 / 共12页
第四章选择结构习题集.docx_第4页
第4页 / 共12页
第四章选择结构习题集.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

第四章选择结构习题集.docx

《第四章选择结构习题集.docx》由会员分享,可在线阅读,更多相关《第四章选择结构习题集.docx(12页珍藏版)》请在冰豆网上搜索。

第四章选择结构习题集.docx

第四章选择结构习题集

第五章选择结构练习题集

一、选择题

1、若k是int型变量,且有下面的程序片段:

k=-3

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

elseprintf("&&&&");

上面程序片段的输出结果是()。

A.####  B.&&&&  C.####&&&&  D.有语法错误,无输出结果

2、设有定义:

intk=1,m=2;floatf=7;,则以下选项中错误的表达式是()。

  A.k=k>=k

  B.-k++

  C.k%int(f)

  D.k>=f>=m

3、设有定义:

inta=2,b=3,c=4;,则以下选项中值为0的表达式是()。

  A.(!

a==1)&&(!

b==0)

  B.(a>b)||(a

C.a&&b

 D.a||(b+b)&&(c-a)

4、有以下程序

main()

{

inta,b,d=25;

a=d/10%9;

b=a&&(-1);

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

}

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

A.6,1  B.2,1  C.6,0  D.2,0

5、有以下程序

main()

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

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

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

}

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

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

6、若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是()。

A.abs(x-y)<10  B.x-y>-10&&x-y<10  

C.(x-y)<-10||!

(y-x)>10  D.(x-y)*(x-y)<100&&(x-y)*(x-y)>-100

7、有以下程序

main()

{

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

if(a>b)

if(b>c)

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

else

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

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

}

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

A.2B.3C.43D.44

8、下列条件语句中,功能与其他语句不同的是()。

A.if(a)printf("%d\n",x);elseprintf("%d\n",y);

B.if(a==0)printf("%d\n",y);elseprintf("%d\n",x);

C.if(a!

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

D.if(a==0)printf("%d\n",x);elseprintf("%d\n",y);

9、以下4个选项中,不能看作一条语句的是()。

  A.{;}

  B.a=0,b=0,c=0;

  C.if(a>0);

  D.if(b==0)m=1;n=2;

10、以下程序段中与语句k=a>b?

(b>c?

1:

0):

0;功能等价的是()。

  A.if((a>b)&&(b>c))k=1;B.if((a>b)||(b>c))k=1;

elsek=0;elsek=0;

C.if(a<=b)k=0;  D.if(a>b)k=1;

  elseif(b<=c)k=1;  elseif(b>c)k=1;

11、有以下程序

main()

{inta=1,b=2,m=0,n=0,k;

k=(n=b>a)||(m=a)printf("%d,%d\n",k,m);

}

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

A.0,0  B.0,1  C.1,0  D.1,1

12、有以下程序

main()

{inti=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

13、有以下程序

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);

else

printf("%d\n",d+2)

}

执行后输出结果是()。

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

14、已有定义:

intx=3,y=4,z=5;,则表达式!

(x+y)+z-1&&y+z/2的值是()。

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

15、有一函数,,以下程序段中不能根据x值正确计算出y值的是()。

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

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

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

  C.y=0;    D.if(x>=0)

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

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

   elsey=-1;     elsey=-1;

16、有以下程序

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

17、以下程序的输出结果是()。

main()

{inta=5,b=4,c=6,d;

printf("%d\n",d=a>b?

(a>c?

a:

c):

(b));

}

A.5B.4C.6D.不确定

18、以下程序的输出结果是()。

main()

{inta=4,b=5,c=0,d;

d=!

a&&!

b||!

c;

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

}

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

19、设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值位为()。

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

20、阅读以下程序:

main()

{intx;

scanf(“%d”,&x);

if(x--<5)printf(“%d”’x);

elseprintf(“%d”’x++);

}

程序运行后,如果从键盘上输人5,则输出结果是()。

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

21、假定w、x、y、z、m均为int型变量,有如下程序段:

w=1;x=2;y=3;z=4;

m=(w则该程序运行后,m的值是()。

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

22、设x、y、t均为int型变量,则执行语句:

x=y=3;t=++x||++y;后,y的值为()。

  A.不定值 B.4  C.3  D.1

23、若执行以下程序时从键盘上输入9,则输出结果是()。

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

main0

{intn;

scanf(“%d”,&n);

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

elseprintf(“%d\n”,n--);

}

24、若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是()。

  A.swich(a+b);     B.switch(a*a+b*b)

  {case1:

y=a+b;break;{case3:

  case0:

y=a-b;break;case1:

y=a+b;break;

  }    case3:

y=b-a,break;

               }

  C.switcha    D.switch(a-b)

  {casec1:

y=a-b;break{default:

y=a*b;break

  casec2:

x=a*d;breakcase3:

case4:

x=a+b;break

  default:

x=a+b;  case10:

case11:

y=a-b;break;

   }   }

25、能正确表示逻辑关系:

“a≥=10或a≤0”的C语言表达式是()。

  A.a>=10ora<=0  B.a>=0|a<=10

  C.a>=10&&a<=0  D.a>=10‖a<=0

26、有如下程序

main0

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

switch(x){

case0:

b++;

case1:

a++;

case2:

a++;b++;

}

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

}

该程序的输出结果是()。

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

27、有如下程序

main0

{floatx=2.0,y;

if(x<0.0)y=0.0;

elseif(x<10.0)y=1.0/x;

elsey=1.0;

printf(“%f\n”,y);

}

该程序的输出结果是()。

A.0.000000B.0.250000C.0.500000  D.1.000000

28、有如下程序

main0

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

if(aif(b<0)c=0;

elsec++

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

}

该程序的输出结果是()。

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

29、设intx=1,y=1;表达式(!

x||y--)的值是()。

A.0 B.1C.2D.-1

30、与y=(x>0?

1:

x<0?

-1:

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

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

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

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

  elsey=0;

C.y=-1D.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;

31、语句:

printf("%d",(a=2)&&(b=-2);的输出结果是()。

  A.无输出B.结果不确定  C.-1  D.1

32、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是()。

  A.c=b=a  B.(a=c)‖(b=c)  C.(a=c)&&(b=c)  D.a=c=b

33、能正确表示a和b同时为正或同时为负的逻辑表达式是()。

  A.(a>=0‖b>=0)&&(a<0‖b<0)

  B.(a>=0&&b>=0)&&(a<0&&b<0)

  C.(a+b>0)&&(a+b<=0)

  D.a*b>0

34、以下程序的输出结果是

  A.-11  B.01  C.10D.00

main()

{inta=-1,b=1,k;

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

(b--<=0))

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

else

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

}

35、以下程序输出结果是()。

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

main()

{intm=5;

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

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

}

36、当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为()。

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

if(a>b)x=1;

elseif(c>d)a=a+b;

elseif(a>b)x=2;

elsex=3;

37、表示关系x<=y<=z的c语言表达式为()。

  A.(X<=Y)&&(Y<=Z)

  B.(X<=Y)AND(Y<=Z)

  C.(X<=Y<=Z)

  D.(X<=Y)&(Y<=Z)

38、有以下程序

#include

main()

{inta,b,c=246;

a=c/100%9;

b=(-1)&&(-1);

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

}

输出结果是()。

A.2,1  B.3,2  C.4,3  D.2,-1

39、若有以下定义:

floatx;inta,b;

则正确的switch语句是()。

A.switch(x)   B.switch(x)

{case1.0:

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

printf("*\n");

case2.0:

printf("**\n");case3:

printf("**\n");

}   }

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

{case1:

printf("\n"); {case1:

printf(."*\n");

case1+2:

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

printf("**\n");

}   }

40、假定所有变量均已正确说明,下列程序段运行后x的值是()。

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

if(!

a)x--;

elseif(b);

if(c)x=3;

elsex=4;

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

41、在以下一组运算符中,优先级最高的运算符是()。

  A.<= B.= C.%D.&&

42、表达式:

10!

=9的值是()。

  A.trueB.非零值C.0D.1

43、在下列选项中,不正确的赋值语句是()。

  A.++t;B.n1=(n2=(n3=0));

  C.k=i==j;  D.a=b+c=1;

44、能正确表示a≥10或a≤0的关系表达式是()。

  A.a>=10ora<=0  B.a>=10│a<=0

  C.a>=10││a<=0  D.a>=10││a<=0

45、为表示关系x≥y≥z,应使用C语言表达式()。

  A.(x>=y)&&(y>=z)

  B.(x>=y)AND(y>=z)

  C.(x>=y>=z)

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

46、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()。

main()

{intx;

scanf("%d",&x);

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

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

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

47、有以下程序

#include

main()

{inta,b,c=246;

a=c/100%9;

b=(-1)&&(-1);

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

}

输出结果是()。

A.2,1  B.3,2  C.4,3  D.2,-1

48、以下程序的输出结果是()。

main()

{inta=-1,b=4,k;

k=(++a〈0)&&!

(b--〈=0);

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

A.104B.103  C.003  D.004

49、下面的程序()。

  A.有语法错误不能通过编译  B.输出****

  C.可以通过编译,但是不能通过连接,因而不能运行  D.输出####。

main()

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

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

elseprintf("####");}

50、若执行下面的程序时从键盘上输入5,则输出是()。

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

main()

{intx;

scanf("%d",&x);

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

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

二、程序分析

1、以下程序运行后的输出结果是【1】。

main()

{inta=1,b=2,c=3;

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

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

}

2、以下程序运行后的输出结果是【2】。

main()

{

inta=3,b=4,c=5,t=99;

if(bif(aprintf("%d%d%d\n",a,b,c);

}

3、以下程序运行后的输出结果是【3】。

main()

{

inta,b,c

a=10;b=20;c=(a%b<1)||(a/b>1);

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

}

4、以下程序运行后的输出结果是【4】。

main()

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

switch(x)

{case1:

switch(y)

{case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

}

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

}

5、有以下程序执行后输出结果是【5】。

main()

{intn=0,m=1,x=2;

if(!

n)x-=1;

if(m)x-=2;

if(x)x-=3;

printf(“%d\n”,x);

}

6、以下程序运行后的输出结果是【6】。

main()

{intp=30;

printf(“%d\n”,(p/3>0?

p/10:

p%3));

}

7、以下程序运行后的输出结果是【7】。

main()

{inta=1,b=3,c=5;

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

elseprintf("no\n");

}

8、若有以下程序执行后输出结果是 【8】 。

main()

{intp,a=5;

if(p=a!

=0)

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

else

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

}

9、若有以下程序执行后输出结果是【9】。

main()

{inta=4,b=3,c=5,t=0;

if(aif(aprintf("%d%d%d\n",a,b,c);

}

10、以下程序运行后的输出结果是【10】。

main()

{intx=10,y=20,t=0;

if(x==y)t=x;x=y;y=t;

printf(“%d,%d\n”,x,y);

}

11、若从键盘输入58,则以下程序输出的结果是【11】。

main()

{inta;

scanf("%d",&a);

if(a>50)printf("%d",a);

if(a>40)printf("%d",a);

if(a>30)printf("%d",a);

}

12、以下程序输出的结果是【12】。

main()

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

d=(a>b>c);

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

}

 

三、编程题

1.编写程序,输入x的值,输出y的值。

2*x+5x>5;

y=x*(x+2)2

2*x-1

2税务部门征收所得税,规定如下:

1)收入在2000以内的免征;

2)收入在2000-4000之间的超过2000部分纳税3%;

3)收入超过4000元的,超过4000部分纳税4%;

4)收入达到或者超过5000元的,超过5000的部分纳税5%;

编写一个程序,计算应缴税费,将结果输出。

3、输入某年某月某日,判断这一天是这一年的第几天。

(例:

2012-3-4是2012年的第几天)

 

答案:

一、选择题

1-10:

DCABDCADDD

11-20:

ACBDCACACB

21-30:

DCBDDACCBA

31-40:

DCDCBBAACB

41-50:

CDDDAADDBC

二、填空题

(1)1

(2)4599(3)10200(4)21(5)-4(6)3(7)yes(8)1(9)503(10)20,0(11)585858(12)0

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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