
第四章选择结构程序设计 1.能正确表示E辑关系:”a≥10或a0的C语言表达式是 A)a>=10ara=0a=l0kka=10ln(-0 2.为表示关系x≥y≥z,应使用C语言表达式 A)(x>)(y>=z)B (x>y)AND (y>=z) C)(x)y>=x)D)(x)y)&(y>x) 3,表示条件:10h)M(nc)d)后n的值为 A)0B)1C)2D)7 6.下面程序的输出是 A)003B)012C)103D)112 main ( [inta=-1.b=4.k: k=(a+(0)k接(!(—(=0) printf("%d八n',k,a,b:】 7.设intA3,=4,C=5:,则下列表达式中,值为0的表达式是 A)A最E蹈)A(B C)A I B+CAABD)((AKB)C 1) 8.有以下程序 main ( [inta,b.c=246: a-c/100%9:b=(-1)&(-1): printf("sdMn°,aeb} 输出结果是 A)2:1B)3:2C)4:30)2:-1 9.设ntx=l,y=l:表达式(!x川y一)的值是 A)0B》1C)2D)-1
第四章 选择结构程序设计 1.能正确表示逻辑关系:"a≥10 或 a≤0"的 C 语言表达式是 A)a>=10ora=0|a=10&&a=10‖a=y)&&(y>=z)B(x>=y)AND(y>=z) C)(x>=y>=z)D)(x>=y)&(y>=z) 3.表示条件:1020 或 xb)&&(n=c>d)后 n 的值为 A)0B)1C)2D)7 6.下面程序的输出是 A)003B)012C)103D)112 main() {inta=-1,b=4,k; k=(a++<=0)&&(!(b--<=0)); printf("%d%d%d\n",k,a,b);} 7.设 intA=3,B=4,C=5;,则下列表达式中,值为 0 的表达式是 A)A&&BB)A<=B C)A││B+C&&BD)!((A<B)&&!C││1) 8.有以下程序 main() {inta,b,c=246; a=c/100%9;b=(-1)&&(-1); printf("%d;%d\n",a,b);} 输出结果是 A)2;1B)3;2C)4;3D)2;-1 9.设 intx=1,y=1;表达式(!x||y--)的值是 A)0B)1C)2D)-1

10.有如下程序度 inta=14,b=15,x: chare='A' =(n成b)&级(c('B): 执行该程序段后。x的值为 A)tureB)falsec)0D)1 1山.表示“整数x的绝对值大于5”时值为“真”的C语言表达式是【】 12.逻網运算符两侧运算对象的数据类型 A)只隆是0或者1 B)只能是0或非0正数 C)贝陵是整型或字符型数据 D)可以是任何类型的数据 13.以下关于运算符优先顺序的描述中正确的是 A)关系运算符(算术运算符《赋值运算符<逻辑运算符 B)逻相运算符(关系诏算符<算术运算符<赋值运算符 C)赋值运算符<逻辑运算符<关系运算符<算术运算符 D)算术运算符<关系运算符<赋值运算符<逻辑运算符 14.若intK=3:,且有下面的程序片段: if (K<=0)printf elseprintf("A&M°: 上面程序片段的输出结果是 A)时B)&线A送 C)#=AD》有语法错说,无输出结果 I5.设char团:,其值为A,且有下而的表达式: H(CD-'A'AACHK'Z (CH+32):CH 侧表达式的值是 A)AB)aC)2D)z 16.有如下程序 main ( {inta=2,b=-1,c=2
10.有如下程序段 inta=14,b=15,x; charc='A'; x=(a&&b)&&(c='A'&&CH<='Z')?(CH+32):CH 则表达式的值是 A)AB)aC)ZD)z 16.有如下程序 main() {inta=2,b=-1,c=2;

if(ah) if(b0)c=0: elsectt: printf(sd\n",c片} 该程序的输出结果是 A)0B)1C)2D)3 17.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 main ( [intx: scanf("d,r)方 if(x+>5)rintf("°,x) elseprintf("d\n”,一h:} A)7和5B)6和3C)7和D)6和4 18.假定所有变量均己正确说明,下列程序段运行后X的值是 a-b=c=0:x=35: if (!a)x: elseif (b): if(c)=3: elsex"4: A)34B)4C)30)3 19.与y”(x)0?1:x0?-1:0):的功能相同的f语句是 A)1f(0)y=1:B)if(x) elseif (x(0)y=-1:if (x)0)y=1: elsey=0:elseif (x0)y=11if(x>0)y=11 elseif (x==0)y=0:elsey=-1: elsey=-1:
if(a5)printf("%d",x); elseprintf("%d\n",x--);} A)7 和 5B)6 和 3C)7 和 4D)6 和 4 18.假定所有变量均已正确说明,下列程序段运行后 x 的值是 a=b=c=0;x=35; if(!a)x--; elseif(b); if(c)x=3; elsex=4; A)34B)4C)35D)3 19.与 y=(x>0?1:x0)y=1;B)if(x) elseif(x0)y=1; elsey=0;elseif(x=0) if(x>0)y=1;if(x>0)y=1; elseif(x==0)y=0;elsey=-1; elsey=-1;

21,若要求在1f后一对括号中表示a不等于0的关系,则能正确表示这一关系的表 达式为 A)a<>08)1aC)4=0D)a 2,以下程序的输出结果是 A)-11B)01C)100)00 main ( [inta=-1.b=1: if (+a)printf ("sdsd\n",a.b); elseprintr("nd八n”.b,aA 23.有如下程序 min ( {f1oatx=之.0,y1 if(x0.0)y=00: elseif (x(10.0)y=1.0/x: elsey=1.0n printf(“sfn",yh} 该程序的输出结果是 A)0.000000B)0.250000C)0.5000000)1.000000 24.请读程序: main ( [floatx,y: scanf ("sf",x): if(x<0.0)y=00 elseif(x<5.0)&(x-2.0)y=l.0/(x*2.0: elseif (x(10.0)y=1.0/x: els0y=10.01 printf("sfn",y片I 若运行时从键盘上输入2.0《表示日车),则上面程序的输出结果是 A)0.000000B)0.250000C)0.5000000)1.000000 25.若有以下定义:
21.若要求在 if 后一对圆括号中表示 a 不等于 0 的关系,则能正确表示这一关系的表 达式为 A)a<>0B)!aC)a=0D)a 22.以下程序的输出结果是 A)-11B)01C)10D)00 main() {inta=-1,b=1; if(++a)printf("%d%d\n",a,b); elseprintf("%d%d\n",b,a);} 23.有如下程序 main() {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.500000D)1.000000 24.请读程序: main() {floatx,y; scanf("%f",&x); if(x<0.0)y=0.0; elseif((x<5.0)&&(x!=2.0))y=1.0/(x+2.0); elseif(x<10.0)y=1.0/x; elsey=10.0; printf("%f\n",y);} 若运行时从键盘上输入 2.0(表示回车),则上面程序的输出结果是 A)0.000000B)0.250000C)0.500000D)1.000000 25.若有以下定义:

floatx: inta,b: 则正确的switch语句是 switch (x) [casel.0:printf ("e\n"); case2.0 printf (n") svitch (x) (casel,2:printf ("\n"); case3:printf("n):】 C)switch (a+b) (casel:printf ("\n"): casel-+2:printf(”球\n”)方1 D)switch (a+b): (casel:printf (n): case2:printf (n"): 26.有如下程序 main ( intx=1,a=0.b=0: svitch (x) [case0:b++: casel:a++: case2:att:btt: printf(”ad,btda”.,b):】 该程序的输出结果是 A)a-2,b1B)a-1,b=1C)a-1.b-00)a-2,b-2 27.假定■、x、y、2,■均为nt型变量,有如下程序段: =1:x=2:=3:2=4: m=(w<x)?v:x:m(m(y)?m:y:m(m(z)?m:z: 则该程序运行后,■的值是 )4 )3 01 02
floatx; inta,b; 则正确的 switch 语句是 switch(x) {case1.0:printf("*\n"); case2.0:printf("**\n");} switch(x) {case1,2:printf("*\n"); case3:printf("**\n");} C)switch(a+b) {case1:printf("\n"); case1+2:printf("**\n");} D)switch(a+b); {case1:printf("*\n"); case2:printf("**\n");} 26.有如下程序 main() {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=1C)a=1,b=0D)a=2,b=2 27.假定 w、x、y、z、m 均为 int 型变量,有如下程序段: w=1;x=2;y=3;z=4; m=(w<x)?w;x;m=(m<y)?m;y;m=(m<z)?m;z; 则该程序运行后,m 的值是 A)4 B)3 C)1 D)2

28.以下程序的输出结果是 min() [inta-5,b-4,c-6,d: printf("sd\n".d=a>b?(a>c?a:c):(b)): 1 A)5 卧4C)6D)不确定 29以下程序的输出结果是 main( [inta-4,b-5,c-0,d: d=!aka!bll!c: printf("sd\n",d): A)1)0C非0的数D)-1 30,若从键盘输入58则以下程序输出的结果是【】 nain( [inta: scanf ("sd",&a): if(a>5o)orintf(sd°,a: if(a>4o)printf(%d°,a; if(a>3o)orintf("sd°,a: 31,有以下程序 main( {inta=l5,b=21,0: switch (at3) [case0:m++:break: casel:mtt: svitch (b2) [default:m++: case0:;break:
28.以下程序的输出结果是 main() {inta=5,b=4,c=6,d; printf("%d\n",d=a>b?(a>c?a:c):(b)); } A)5 B)4 C)6 D)不确定 29.以下程序的输出结果是 main() {inta=4,b=5,c=0,d; d=!a&&!b||!c; printf("%d\n",d); } A)1 B)0C)非 0 的数 D)-1 30.若从键盘输入 58,则以下程序输出的结果是【】。 main() {inta; scanf("%d",&a); if(a>50)printf("%d",a); if(a>40)printf("%d",a); if(a>30)printf("%d",a); } 31.有以下程序 main() {inta=15,b=21,m=0; switch(a%3) {case0:m++;break; case1:m++; switch(b%2) {default:m++; case0:m++;break;

printf(“sdn",d: 1 程序运行后的输出结果是 A1 B盼2 03 的4 32.以下程序运行后的输出结果是。 main( {intx=10,y=20t=0: if(x=y)t=x:xy:y-t: printf(“sd,n”,无,y):
} } printf(“%d\n”,m); } 程序运行后的输出结果是 A)1 B)2 C)3 D)4 32.以下程序运行后的输出结果是。 main() {intx=10,y=20,t=0; if(x==y)t=x;x=y;y=t; printf(“%d,%d\n”,x,y); }

第四章 1.D2.A3.x10lx04.x20l|x5)12.D13C14.B15.B16.C17.A18.B19.A21.D 22.C23.C24.C25.C28.A27.C(改为1)28.C29.A30.58583831.A 32.20.0
第四章 1.D 2.A 3.x>10||x20||x5) 12.D 13.C 14.B 15.B 16.C 17.A 18.B 19.A 21.D 22.C 23.C 24.C 25.C 26.A 27.C(改为 1) 28.C 29.A 30.585858 31.A 32.20,0