习题五(选择结构)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1习题一、选择题1.在C语言中,紧跟在关键字if后一对圆括号里的表达式()。A.只能用逻辑表达式B.只能用关系表达式C.只能用逻辑表达式或关系表达式D.可以是任意表达式2.在嵌套使用if语句时,C语言规定else总是()。A.和之前与其具有相同缩进位置的if配对B.和之前与其最近的if配对C.和之前与其最近的且不带else的if配对D.和之前的第一个if配对3.若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是()。A.(exp==0)B.(exp!=0)C.(exp==1)D.(exp!=1)4.以下程序的输出是()。main(){intx=2,y=-1,z=2;if(xy)if(y0)z=0;elsez+=1;printf(“%d\n”,z);}A.3B.2C.1D.05.若有表达式(w)?(-x):(++y),其中与w等价的表达式是()。A.w==1B.w==0C.w!=1D.w!=06.C语言中的switch语句形式如下所示,关键字switch后一对圆括号中表达式exp的类型是()。switch(exp){case常量表达式1:语句1;…case常量表达式n:语句n;default:语句n+1;}A.只能是整型或字符型B.只能是int类型C.只能是字符型D.只能是整型或实型7.以下不正确的if语句形式是()。A.if(xy&&x!=y);B.if(x==y)x+=y;C.if(x!=y)scanf(“%d”,&x)elsescanf(“%d”,&y);D.if(xy){x++;y++;}8.执行以下程序后的输出是()。2inti=-1;if(i=0)printf(“****\n”)elseprintf(“%%%%\n”);A.****B.有语法错误,不能正确执行C.%%%%cD.%%%%9.下列叙述正确的是()。A.break语句只能用于switch语句B.在switch语句中必须使用defaultC.break语句必须与switch语句中的case配对D.在switch语句中,不一定使用break语句10.已知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=2011.已知a,b,c的值分别为1,2,3,则执行下列语句后a,b,c的值分别是()。if(a++b){c=a;a=b;b=c;}elsea=b=c=0;A.0,0,0B.1,2,3C.1,2,1D.2,2,212.若有定义”intx,y;”并已正确给变量赋值,则以下选项与表达式”(x-y)?(x++):(y++)”中的条件表达式”(x-y)”等价的是()。A.(x-y0)B.(x-y0)C.(x-y0||x-y0)D.(x-y==0)13.以下程序()。main(){inta=5,b=0,c=0;if(a=b+c)printf(“***\n”);elseprintf(“$$$\n”);}A.有语法错误不能通过编译B.可以通过编译但不能通过连接C.输出***D.输出$$$14.有以函数关系是:当x0,y=x-1;当x=0,y=x,当x0,y=x+1。以下能正确表示上面关系的程序段是()。A.y=x+1;B.y=x-1if(x=0)if(x!=0)if(x==0)y=x;if(x0)y=x+1;elsey=x-1;elsey=x;C.if(x=0)D.y=x;if(x0)y=x-1;if(x=0)elsey=x;if(x0)y=x-1;3elsey=x+1;elsey=x+1;15.若运行时为变量x输入12,则以下程序的运行结果是()。main(){intx,y;scanf(“%d”,&x);y=x12?x+10:x-12;printf(“%d\n”,y);}A.0B.22C.12D.1016.以下if语句中格式正确的是()。A.if(ab)b++elsea++;B.if(ab){b++;printf(“%d”,b);}else{a++;printf(“%d”,a);}C.if(ab){b++;printf(“%d”,b)}D.if(ab)b++;printf(“%d”,b);else{a++;printf(“%d”,a);}elseprintf(“%d”,a);17.以下语法正确的if语句是()。A.if(x0)B.if(x0)printf(“%f”,x){x=x+y;printf(“%f”,x);}elseprintf(“%f”,-x);elseprintf(“%f”,-x);C.if(x0)C.if(x0){x=x+y;printf(“%f”,x);}x=x+y;printf(“%f”,x);elserintf(“%f”,-x);elseprintf(“%f”,-x);18.有以下程序,从键盘上输入3和4,则程序输出是()。#includestdio.hmain(){inta,b,s;scanf(“%d%d”,&a,&b);s=a;if(ab)s=b;s=s*sprintf(“%d”,s);}A.14B.16C.18D.2019.有以下程序,从键盘上输入-1,则程序输出是()。#includestdio.hmain(){intx,y;printf(“Enteraninteger(x):”);4scanf(“%d”,&x);if(x++0)y=-1;elseif(x==0)y=0;elsey=1;printf(“%d”,y);}A.-1B.0C.1D.不确定的值20.以下程序的输出是()。main(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xy)if(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;printf(“%d\n”,a);}A.1B.0C.-1D.值不确定21.有以下程序,程序运行的结果是()。#includestdio.hmain(){intx=1,y=2,z=3;if(xy)if(yz)printf(“%d”,++z);elseprintf(“%d”,++y);printf(“%d\n”,x++);}A.331B.41C.2D.122.若变量已正确定义,有以下程序段:inta=3,b=5,c=7;if(ab)a=b;c=a;if(c!=a)c=b;printf(“%d,%d,%d\n”,a,b,c);其输出结果是()。A.程序段有语法错误B.3,5,3C.3,5,5D.3,5,723.以下程序的输出是()。5#include”stdio.h”main(){intx=1;if(x=2)printf(“OK”);elseif(x2)printf(“%d\n”,x):elseprintf(“Quit”);A.OKB.QuitC.1D.无输出结果24.有以下程序: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,0B.0,0,0,3C.1,1,2,0D.编译有错25.以下程序所表示的分段函数是()。#include”stdio.h”main(){intx,y;printf(“Enterx:”);scanf(“%d”,&x);y=x=0?2*x+1:0;printf(“x=%d:f(x)=%d”,x,y);}A.f(x)=0(x=0)B.f(x)=0(x=0)f(x)=2x+1)(x0)f(x)=2x+1(x0)C.f(x)=2x+1(x0)D.f(x)=0(x0)f(x)=0(x=0)f(x)=2x+1(x=0)26.若w=1,x=2,y=3,z=4,则条件表达式wx?w:yz?y:z的值是()。A.4B.3C.2D.127.若w,x,y,z,m均为int型变量,则执行下面语句后的m值是()。w=1;x=2;y=3;z=4;m=(wx)?w:x;m=(my)?m:y;6m=(mz)?m:z;A.1B.2C.3D.428.若执行下面的程序时从键盘上输入10,则输出的是()。main(){inta;scanf(“%d”,&a);if(a++10)printf(“%d\n”,++a);elseprintf(“%d\n”,a--);}A.12B.11C.10D.929.有以下程序,输出的是()。main(){intx=100,a=10,b=20,v1=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.1030.有以下程序,()是正确的判断。main(){intx,y;scanf(“%d,%d”,&x,&y);if(xy)x=y;y=x;elsex++;y++;printf(“%d,%d\n”,x,y);}A.有语法错误B.若输入3和4,则输出4和5C.若输入4和3,则输出3和4D.若输入4和3,则输出4和431.设变量x和y均已正确定义并赋值,以下的if语句中,在编译时将产生错误信息的是()。A.if(x++);B.if(xy&y!=0);C.if(xy)x--D.if(y0){;}elsey++;elsex++;732.若变量都已正确定义,则以下程序段的输出是()。a=10;b=50;c=30;if(ab)a=b,b=c;c=a;printf(“a=%db=%dc=%d\n”,a,b,c);A.a=10b=30c=10B.a=10b=50c=10C.a=50b=30c=10D.a=50b=30c=5033.当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.634.以下程序的输出是()。#include”stdio.h”main(){inta=5,b=8,c=3,max;max=a;if(cb)if(ca)max=c;elseif(ba)max=b;printf(“max=%d\n”,max);}A.max=8B.max=5C.max=3D.无输出结果35.以下程序的运行结果是()。main(){intk=4,a=3,b=2,c=1;printf(“\n%d\n”,ka?k:cb?c:a);}A.4B.3C.2D.136.以下程序运行后的输出结果是()。#includestdio.hmain()8{intx=2,y=3;printf(xy?***x=%d:###y=%d\n,x,y);}A.语法错误B.***x=2C.###y=2D.###y=337.有以下程序,运行后的输出结果是()。main(){inta=2,b=0,c=-1;if(a=b+c)if(a0)b=c=a;elseif(a==0)a=b=c=0;elsea=b=c=1;elsea=b=c=-1;printf(“%d,%d,%d”,a,b,c);}A.1,1,1B.0,0,0C.-1,-1,-1D.2,2,238.若u,w,x,y均为正整型变量,则以下正确的switch语句是()。A.switch(x+y)B.switchx{case10:u=x+y;break;{default:u=x+y;case11:w=x-y;break;case10:w=x-y;break;}case11:u=x*y;break;C.switch(x*x+y*y)D.switch(pow(x,2)+pow(y,2))(注:pow是求幂的数学函数){case3:{ca

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功