第五单元选择结构程序设计1.有如下程序,该程序的输出结果是()voidmain(){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=22.若有如下程序,该程序的输出结果是()voidmain(0{floatx=2.0,y;if(x0.0)y=0.0;elseif(x10.0)y=1.0/x;elsey=1.0;printf(“%f\n”,y);}A.0.000000B.0.250000C.0.500000D.1.0000003.设有:inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=ab)&&(n=cb)后n的值是()A.1B.2C.3D.44.对if语句中表达式的类型,下面正确的描述是()A.必须是关系表达式B.必须是关系表达式或逻辑表达式C.必须是关系表达式或算术表达式D.可以是任意表达式5.多重if_else语句嵌套使用时,寻找与else配对的if方法是()A.缩排位置相同的ifB.其上最近的ifC.下面最近的ifD.其上最近未配对的if6.以下错误的if语句是()A.if(xy)z=x;B.if(x==y)z=0;C.if(x!=y)printf(“%d”,x)elseprintf(“%d”,y);D.if(xy){x++;y--;}7.以下程序的输出为()voidmain(){inta=20,b=30,c=40;if(ab)a=b;b=c;c=a;printf(“a=%d,b=%d,c=%d”,a,b,c);}A.a=20,b=30,c=20B.a=20,b=40,c=20C.a=30,b=40,c=20D.a=30,b=40,c=308.对于条件表达式(k)?(i++):(i--)来说,其中的表达式k等价于()A.k==0B.k==1C.k!=0D.k!=19.下面程序运行结果为()voidmain(){charc=’a’;if(‘a’c=’z’)printf(“LOW”);elseprintf(“UP”);}A.LOWB.UPC.LOWUPD.程序语法错误10.对下述程序,正确的判断是()voidmain(){inta,b;scanf(“%d,%d”,&a,&b);if(ab)a=b;b=a;elsea++;b++;printf(“%d,%d”,a,b);}A.有语法错误不能通过编译B.若输入4,5,则输出5,6C.若输入5,4,则输出4,5D.若输入5,4,则输出5,511.逻辑运算符两侧运算对象的数据类型()A.只能是0或1B.只能是0或非0正数C.只能是整型或字符型数据D.可以是任何类型的数据12.以下关于运算符优先顺序的描述中正确的是()A.关系运算符算术运算符赋值运算符逻辑运算符B.逻辑运算符关系运算符算术运算符赋值运算符C.赋值运算符逻辑运算符关系运算符算术运算符D.算术运算符关系运算符赋值运算符逻辑运算符13.下列运算符中优先级最高的是()A.B.+C.&&D.!=14.若希望当A的值为奇数时,表达式的值为”真”,A的值为偶数时,表达式的值为”假”,则以下不能满足要求的表达式是()A.A%2==1B.!(A%2==0)C.!(A%2)D.A%215.判断char型变量c1是否为小写字母的正确表达式是()A.’a’=c1=’z’B.(c1=a)&&(c1=z)C.(’a’=c1)||(‘z’=c1)D.(c1=’a’)||(c1=‘z’)16.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是()if(xy)z=x;x=y;y=z;A.x=10,y=20,z=30B.x=20,y=30,z=30C.x=20,y=30,z=10D.x=20,y=30,z=2017请阅读以下程序:main(){inta=5,b=0,c=0;if(a=b+c)printf(“***\n”);elseprintf(“$$$\n”);}A.有语法错不能通过编译B.可以通过编译但不能通过连接C.输出***D.输出$$$18.请阅读以下程序,其运行结果是()voidmain(0{charc=’A’;if(‘0’=c=’9’)printf(“YES”);elseprintf(“NO”);}A.YESB.NOC.YESNOD.语句错误E.19.以下错误的if语句是______。A.if(xy)z=x;B.if(x==y)z=0;C.if(x!=y)printf(%d,x)elseprintf(%d,y);D.if(xy){x++;y--;}20.下列switch语句的描述中,正确的是_______。A.switch语句中default子句可以没有,也可以有一个B.switch语句中的每个语句序列中必须有break语句C.switch语句中的case子句后面的表达式可以是整型表达式D.switch语句中default子句只能放在最后21.若k=10;则执行下列程序后,变量k的正确结果是______。switch(k){case9:k++;case10:k+=1;case11:k+=1;break;default:k+4}A.12B.13C.14D.1122.若有定义:floatw;inta,b;则合法的switch语句是______。A.switch(w){case1.0:printf(*\n);case2.0:printf(**\n);}B.switch(a){case1printf(*\n);case2printf(**\n);}C.switch(b){case1:printf(*\n);default:printf(\n);casea:printf(**\n);}D.switch(a+b){case1:printf(*\n);case2:printf(**\n);default:printf(\n);}23.执行a=3,b=2,c=1;之后,表达式f=abc的值是____。A.编译出错B.1C.0D.324.设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=ab)&&(n=cd)后n的值为____。A.1B.2C.3D.525.表达式(12)?2:((34)?5:6)的值为____。A.2B.5C.6D.126.请阅读以下程序:main(){inta=0,b=0,c=0;if(a=b+c)printf(###\n);elseprintf(***\n);}以上程序____。A.有语法错,不能通过编译B.可以通过编译但不能通过连接C.输出***D.输出###27.当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值是___。if(ab)if(cd)x=1;elseif(ac)if(bd)x=2;elsex=3;elsex=3;elsex=6;A.1B.2C.3D.61.若要求在if后一对圆括号中表示a不等于0的关系,能正确表示这一关系表达式的是()A)a0B)!aC)a==0D)a2.下面程序的正确结果是()#includestdio.hmain(){inta=2,b=-1,c=2;if(ab)if(b0)c=1;elsec++;printf(“%d\n”,c);}A)0B)1C)2D)33.当a=1,b=3,c=5,d=4,执行下面程序段后,x的值是()if(ab)if(cd)x=1;elseif(ac)if(bd)x=2;elsex=3;elsex=6;elsex=7;A)1B)2C)3D)64.对以下程序的判断,正确的是()#includestdio.hvoidmain(){intx,y;scanf(“%d,%d”,&x,&y);if(xy)x=y;y=x;elsex++;y++;printf(“%d,%d”,x,y);}A)语法错误,不能通过编译B)若输入数据3和4,则输出4和5C)若输入数据4和3,则输出3和4D)若输入数据4和3,则输出4和45.对下面程序的判断,正确的是()#includestdio.hvoidmain(){intx=0,y=0,z=0;if(x=y+z)printf(“*******”);elseprintf(“######”);}A)语法错误,不能通过编译B)输出******C)可以编译,但不能通过连接,因而不能通过连接,不能运行D)输出######6.若有下面程序:#includestdio.hmain(){intx=100,a=10,b=20;intv1=5,v2=0;if(ab)if(b!=15)if(!v1)x=1;elseif(v2)x=10;x=-1;printf(“%d\n”,x);}则程序的运行结果是()A)100B)-1C)1D)107.若有以下定义:floatx;inta,b;则正解的switch语句是()A)B)switch(x)switch(x){case1.0:printf(“*\n”);{case1,2:printf(“*\n”)’}case3:printf(“**\n”)}C)D)switch(a+b)switch(a+b){case1:printf(“*\n”);case1+2:printf(“**\n”);{case1:printf(“*\n”)’}case2:printf(“**\n”)}8.下面程序的运行结果是()#includestdio.hmain(){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=1C)a=1,b=1D)a=2,b=29.下面程序的运行结果是(0#includestdio.hmain(){intk=1;switch(k){case1:printf(“%d”,k++);case2:printf(“%d”,k++);case3:printf(“%d”,k++);case4:printf(“%d”,k++);break;default:printf(“Full!\n”);}}A)1B)2C)1234D)2345