第四章选择结构习题集Word下载.docx
《第四章选择结构习题集Word下载.docx》由会员分享,可在线阅读,更多相关《第四章选择结构习题集Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
(++j==3||k++==3))
%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、有以下程序
inta=3,b=4,c=5,d=2;
if(a>
b)
if(b>
c)
%d"
d+++1);
else
++d+1);
%d\n"
d);
A.2B.3C.43D.44
8、下列条件语句中,功能与其他语句不同的是()。
A.if(a)printf("
x);
elseprintf("
y);
B.if(a==0)printf("
C.if(a!
D.if(a==0)printf("
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)&
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、有以下程序
{inta=1,b=2,m=0,n=0,k;
k=(n=b>
a)||(m=a)printf("
k,m);
A.0,0 B.0,1 C.1,0 D.1,1
12、有以下程序
{inti=1,j=1,k=2;
if((j++‖k++)&
i++)printf("
%d,%d,%d\n"
}
执行后输出结果是()。
A.1,1,2 B.2,2,1 C.2,2,2 D.2,2,3
13、有以下程序
{inta=5,b=4,c=3,d=2;
b>
elseif((c-1>
=d)==1)
d+1);
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>
elsey=-1;
elseif(x<
0)y=-1;
C.y=0;
D.if(x>
=0)
if(x>
=0);
if(x>
0)y=1;
elsey=0;
elsey=-1;
16、有以下程序
main()
{inta=15,b=21,m=0;
switch(a%3)
{case0:
m++;
break;
case1:
switch(b%2)
{default:
case0:
printf(“%d\n”,m);
A.1 B.2 C.3 D.4
17、以下程序的输出结果是()。
{inta=5,b=4,c=6,d;
d=a>
(a>
a:
c):
(b));
A.5B.4C.6D.不确定
18、以下程序的输出结果是()。
{inta=4,b=5,c=0,d;
d=!
a&
!
b||!
c;
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、阅读以下程序:
{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;
} case3:
y=b-a,break;
}
C.switcha D.switch(a-b)
{casec1:
break{default:
y=a*b;
break
casec2:
x=a*d;
breakcase3:
case4:
x=a+b;
default:
case10:
case11:
} }
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:
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、有如下程序
{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、有如下程序
{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?
x<
-1:
的功能相同的if语句是()。
A.if(x>
B.if(x)
0)y=-1;
if(x>
0)y=1;
elsey=0;
elseif(x<
elsey=0;
C.y=-1D.y=0;
if(x) if(x>
if(x>
elseif(x==0)y=0;
elsey=-1;
elsey=-1;
31、语句:
,(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)
=0&
0&
b<
C.(a+b>
0)&
(a+b<
D.a*b>
0
34、以下程序的输出结果是
A.-11 B.01 C.10D.00
main()
{inta=-1,b=1,k;
if((++a<
!
(b--<
=0))
printf("
%d%d\n"
,a,b);
else
,b,a);
35、以下程序输出结果是()。
A.7 B.6C.5D.4
main()
{intm=5;
if(m++>
5)printf("
m);
esleprintf("
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<
C.(X<
=Y<
D.(X<
=Z)
38、有以下程序
#include<
stdio.h>
{inta,b,c=246;
a=c/100%9;
b=(-1)&
输出结果是()。
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:
*\n"
{case1,2:
case2.0:
**\n"
case3:
} }
C.switch(a+b) D.switch(a+b);
{case1:
\n"
{case1:
printf(."
case1+2:
case2:
} }
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的关系表达式是()。
=0 B.a>
=10│a<
=10││a<
=0 D.a>
=10││a<
45、为表示关系x≥y≥z,应使用C语言表达式()。
A.(x>
=y)&
(y>
=z)
B.(x>
=y)AND(y>
C.(x>
=y>
D.(x>
46、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()。
main()
scanf("
&
if(x++>
x--);
}
A.7和5 B.6和3 C.7和4 D.6和4
47、有以下程序
#include
输出结果是()。
A.2,1 B.3,2 C.4,3 D.2,-1
48、以下程序的输出结果是()。
{inta=-1,b=4,k;
k=(++a〈0)&
(b--〈=0);
%d%d%d\n"
k,a,b);
A.104B.103 C.003 D.004
49、下面的程序()。
A.有语法错误不能通过编译 B.输出****
C.可以通过编译,但是不能通过连接,因而不能运行 D.输出####。
{intx=3,y=0,z=0;
if(x=y+z)printf("
****"
####"
50、若执行下面的程序时从键盘上输入5,则输出是()。
A.7B.6C.5D.4
{intx;
scanf("
if(x++>
x--);
二、程序分析
1、以下程序运行后的输出结果是【1】。
{inta=1,b=2,c=3;
if(c=a)printf("
c);
b);
2、以下程序运行后的输出结果是【2】。
inta=3,b=4,c=5,t=99;
if(bif(aprintf("
a,b,c);
3、以下程序运行后的输出结果是【3】。
inta,b,c
a=10;
b=20;
c=(a%b<
1)||(a/b>
1);
4、以下程序运行后的输出结果是【4】。
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;
b++;
5、有以下程序执行后输出结果是【5】。
{intn=0,m=1,x=2;
n)x-=1;
if(m)x-=2;
if(x)x-=3;
printf(“%d\n”,x);
6、以下程序运行后的输出结果是【6】。
{intp=30;
printf(“%d\n”,(p/3>
0?
p/10:
p%3));
7、以下程序运行后的输出结果是【7】。
{inta=1,b=3,c=5;
if(c=a+b)printf("
yes\n"
no\n"
8、若有以下程序执行后输出结果是 【8】 。
{intp,a=5;
if(p=a!
p);
p+2);
9、若有以下程序执行后输出结果是【9】。
{inta=4,b=3,c=5,t=0;
if(aif(aprintf("
10、以下程序运行后的输出结果是【10】。
{intx=10,y=20,t=0;
if(x==y)t=x;
x=y;
y=t;
printf(“%d,%d\n”,x,y);
11、若从键盘输入58,则以下程序输出的结果是【11】。
{inta;
a);
50)printf("
a);
40)printf("
30)printf("
12、以下程序输出的结果是【12】。
{inta=5,b=4,c=3,d;
d=(a>
c);
三、编程题
1.编写程序,输入x的值,输出y的值。
2*x+5x>
5;
y=x*(x+2)2<
=5;
2*x-1<
=2;
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