第5章 选择.docx
- 文档编号:23081980
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:24
- 大小:25.53KB
第5章 选择.docx
《第5章 选择.docx》由会员分享,可在线阅读,更多相关《第5章 选择.docx(24页珍藏版)》请在冰豆网上搜索。
第5章选择
第5章.选择程序设计
一、单选题
1.下列错误的语句是:
( )
A.if(a>b)printf(“%d”,a);B.if(&&);a=m;
C.if
(1)a=m;elsea=n;D.if(a>0);{elsea=n;}
(知识点:
if语句的3种形式; 难度系数:
1; 答案:
B)
2.为表示关系:
x≥y≥z,应使用的C语言表达式是:
( )
A.(x>=y)&&(y>=z)B.(x>=y)AND(y>=z)
C.(x>=y>=z)D.(x>=y)&(y>=z)
(知识点:
if语句的3种形式; 难度系数:
1; 答案:
A)
3.能正确表示a≥10或a≤0的关系表达式是:
( )
A.a>=10ora<=0B.a>=10|a<=0
C.a>=10&&a<=0D.a>=10||a<=0
(知识点:
if语句的3种形式; 难度系数:
1; 答案:
D)
5.为了避免在嵌套的条件语句if…else中产生二义性,C语言规定:
else字句总是与()配对。
:
( )
A.缩排位置相同的ifB.其之前最近的if
C.其之后最近的ifD.同一行上的if
(知识点:
if语句的3种形式; 难度系数:
1; 答案:
B)
6.下列叙述错误的是:
( )
A.if语句允许用户选择是否执行某个操作
B.ifelse语句允许用户选择执行两个操作中的某个操作
C.switch语句允许用户选择执行多个操作中的某个操作
D.if语句不能实现多分支选择结构
(知识点:
if语句的3种形式; 难度系数:
1; 答案:
D)
7.以下关于if语句的错误描述是:
( )
A.条件表达式可以是任意的表达式
B.条件表达式只能是关系表达式或逻辑表达式
C.条件表达式的括号不可以省略
D.与else配对的if语句是其之前最近的未配对的if语句
(知识点:
if语句的3种形式; 难度系数:
1; 答案:
B)
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);
(知识点:
if语句的3种形式; 难度系数:
1; 答案:
D)
9.下列错误的语句是:
( )
A.if(a>b)printf(“%d”,a);B.if(&&);a=m;
C.if
(1)a=m;elsea=n;D.if(a>0);{elsea=n;}
(知识点:
if语句的3种形式; 难度系数:
1; 答案:
B)
10.以下4个选项中,不能看作一条语句的是:
( )
A.{;}
B.a=0,b=0,c=0;
C.if(a>0);
D.if(b==0)m=1;n=2;
(知识点:
if语句的3种形式; 难度系数:
1; 答案:
D)
11.if 语句的语法格式可描述为
格式1:
if(<条件>)<语句>
或
格式2:
if(<条件>)<语句1>else<语句2>
关于上面的语法格式,下列表述中错误的是
A)、<条件>部分可以是一个if 语句,例如if(if(a =0)?
)?
B)、<条件>部分可以是一个if 语句,例如if(?
)if(?
)?
C)、如果在<条件>前加上逻辑非运算符!
并交换<语句1>和<语句2>的位置,语句功能不变
D)、<语句>部分可以是一个循环语句,例如if(?
)while(?
)?
(知识点:
if语句的3种形式; 难度系数:
1; 答案:
D)
12.设变量x、y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是:
()
A.if(x++);B.if(x>y&&y!
=0);
C.if(x>y)x--D.if(y<0){;}
elsey++;elsex++;
(知识点:
if语句的3种形式; 难度系数:
1; 答案:
C)
16.为了避免在嵌套的条件语句if…else中产生二义性,C语言规定:
else字句总是与()配对:
( )
A.缩排位置相同的ifB.其之前最近的if
C.其之后最近的ifD.同一行上的if
(知识点:
if语句的嵌套; 难度系数:
1; 答案:
B)
17.运行以下程度段后变量x的值是:
( )
a=b=c=0;x=35;
if(!
a)x--;
elseif(b);
if(c)x=3;
elsex=4;
A.34B.4C.35D.3
(知识点:
if语句的嵌套; 难度系数:
1; 答案:
B)
26.假定w、x、y、z、m均为int型变量,有如下程序段:
w=1;x=2;y=3;z=4;
m=(w w: x;m=(m m: y;m=(m m: z; 则该程序运行后,m的值是: ( ) A.4B.3C.2D.1 (知识点: 条件运算符和条件表达式; 难度系数: 1; 答案: D) 27.在TC中,设a=1,b=2,c=3,d=4,则表达式: a a: C的值是: ( ) A.4 B.3 C.2 D.1 (知识点: 条件运算符和条件表达式; 难度系数: 1; 答案: D) 28.以下程序段中与语句k=a>b? (b>c? 1: 0): 0;功能等价的是: ( ) A.if((a>B)&&(b>C))k=1; B.if((a>B)||(b>C))k=1elsek=0; C.if(a<=B)k=0; D.if(a>B)k=1;elseif(b<=C)k=1;elseif(b>C)k=1;elsek=0; (知识点: 条件运算符和条件表达式; 难度系数: 1; 答案: A) 29.下列关于switch语句和break语句的结论中,正确的是: ( ) A.break语句是switch语句中的一部分 B.在switch语句中可以根据需要使用或不使用break语句 C.在switch语句中必须使用break语句 D.break语句只能用于switch语句中 (知识点: switch语句; 难度系数: 1; 答案: B) 30.设有说明语句“inta=1,b=0;”,则执行以下语句后,输出为: ( ) switch(a) {case1: switch(b) {case0: printf(“**0**”);break; case1: printf(“**1**”);break; } case2: printf(“**2**”);break; } A.**0**B.**0****2** C.**0****1****2**D.有语法错误 (知识点: switch语句; 难度系数: 1; 答案: B) 31.若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是 A.swich(a+b); {case1: y=a+b;break; case0: y=a-b;break; }case3: y=b-a,break; B.switch(a*a+b*b) {case3: case1: y=a+b;break; } C.switcha {casec1: y=a-b;break casec2: x=a*d;break default: x=a+b;} D.switch(a-b) {default: y=a*b;break case3: case4: x=a+b;break case10: case11: y=a-b;break; } (知识点: switch语句; 难度系数: 1; 答案: D) 32.以下程序的运行结果是: () main() {intk=5,n=0; switch(k) {case1: case3: n+=1;break; default: n=0; case2: case4: n+=2;break; } printf("%d",n); } A.2B.3C.4D.5 (知识点: switch语句; 难度系数: 1; 答案: A) 33. (知识点: switch语句; 难度系数: 1; 答案: D) 二、多选题(圆括号要求同上) 1.关于if语句,下列叙述正确的是: ( ) A.if语句中,条件表达式只能是关系表达式或逻辑表达式 B.if语句中,条件表达式的括号不可以省略 C.else子句不能作为语句单独使用,必须是if语句的一部分。 D.if和else后面可以包含多个操作语句,此时要用“{}”把几个语句括起来成为一个复合语句。 E.if语句中,条件表达式可以是任何表达式 (知识点: if语句的3种形式; 难度系数: 1; 答案: BCDE) 2.以下4条语句,没有语法错误的是: ( ) A.if(a>b)m=a; B.if(a); C.if((a=b)>=0)m=a; D.if((a=b;)>=0)m=a; E.if(6)m=a; (知识点: if语句的3种形式; 难度系数: 1; 答案: ABCE) 3.如果不加花括号表示else与if的配对关系,则else与if的匹配方法,不正确的是: ( ) A.else与它上面最远的if配对 B.else与它上面最近的if配对 C.else与离它最近的if配对 D.else与它上面最近的且没有和其他else配对的if配对 E.else可独立成子句,不需要和if匹配 (知识点: if语句的嵌套; 难度系数: 1; 答案: ABC) 5.关于条件运算符的叙述正确的是: ( ) A.条件运算符的优先级别比关系运算符和算术运算符都低 B.条件运算符是C语言中惟一的一个三目运算符 C.条件运算符的结合方向是“自右至左” D.条件运算符不能替代任何if语句 E.if(a>b)max=a;elsemax=b;可用该为: max=(a>b)? a: b (知识点: 条件运算符; 难度系数: 1; 答案: ABCE) 6.下列叙述正确的是: ( ) A.表达式“a>b? a: c>d? c: d”等价于“a>b? a: (c>d? c: d)” B.表达式a>b? a: b+1等价于a>b? a: (b+1) C.表达式a>b? a: b+1等价于(a>b? a: b)+1 D.条件运算符的结合方向是“自左至右” E.条件运算符可以替代任何if语句 (知识点: 条件运算符; 难度系数: 1; 答案: AB) 7.关于switch语句叙述正确的是: ( ) A.switch语句中,case的冒号后面允许没有语句。 B.switch语句中,每一个case的冒号后面都允许跟有多条语句。 C.在与switch语句配套的case语句中所使用的表达式可以是变量或常量 D.switch语句中,可以没有default语句。 E.switch后面括号中的“表达式”可以是任何表达式 (知识点: switch语句; 难度系数: 1; 答案: ABDE) 8. 在switch语句中必须使用break语句。 (知识点: switch语句; 难度系数: 1; 答案: ABD) 三、判断题(圆括号要求同上,加在编号与题干之间) 1.( )关于if语句中,条件表达式只能是关系表达式或逻辑表达式 (知识点: if语句的3种形式; 难度系数: 1; 答案: F) 2.( )关于if语句中,条件表达式的括号不可以省略 (知识点: if语句的3种形式; 难度系数: 1; 答案: T) 3.( ) (知识点: if语句的3种形式; 难度系数: 1; 答案: T) 4.( )if和else后面只可能含一个内嵌的操作语句 (知识点: if语句的3种形式; 难度系数: 1; 答案: F) 5.( )if和else后面可以包含多个操作语句,此时要用“{}”把几个语句括起来成为一个复合语句。 (知识点: if语句的3种形式; 难度系数: 1; 答案: T) 6.( )关于if语句中,条件表达式的括号可以省略 (知识点: if语句的3种形式; 难度系数: 1; 答案: F) 7.语句if(x==0)…等价于if(! x)… (知识点: if语句的3种形式; 难度系数: 1; 答案: F) 8.语句if(a)s1;elses2;等价于if(! a)s2;elses1; (知识点: if语句的3种形式; 难度系数: 1; 答案: F) 9. (知识点: if语句的3种形式; 难度系数: 1; 答案: F) 10. (知识点: if语句的3种形式; 难度系数: 1; 答案: F) 11. (知识点: if语句的3种形式; 难度系数: 1; 答案: F) 12. (知识点: if语句的3种形式; 难度系数: 1; 答案: F) 13. (知识点: if语句的3种形式; 难度系数: 1; 答案: F) 14.( )为了避免在嵌套的条件语句if…else中产生二义性,C语言规定: else字句总是与缩排位置相同的if配对。 (知识点: if语句的嵌套; 难度系数: 1; 答案: F) 15.( )在if语句的嵌套中,if与else的数目不一致时,可以加“{}”来确定配对关系 (知识点: if语句的嵌套; 难度系数: 1; 答案: T) 16.( )在if语句的嵌套中,else总是与它上面的最近的if配对 (知识点: if语句的嵌套; 难度系数: 1; 答案: F) 17.( )在if语句的嵌套中,else总是与它上面的最近的且未配对的if配对 (知识点: if语句的嵌套; 难度系数: 1; 答案: T) 18.( )在if语句中又包含一个或多个if语句称为if语句的嵌套 (知识点: if语句的嵌套; 难度系数: 1; 答案: T) 19.( ) (知识点: if语句的嵌套; 难度系数: 1; 答案: F) 20.( ) (知识点: if语句的嵌套; 难度系数: 1; 答案: F) 21.( )条件运算符的优先级别比关系运算符和算术运算符都低 (知识点: 条件运算符; 难度系数: 1; 答案: T) 22.( )条件运算符是C语言中惟一的一个三目运算符 (知识点: 条件运算符; 难度系数: 1; 答案: T) 23.( )表达式“a>b? a: c>d? c: d”等价于“a>b? a: (c>d? c: d)” (知识点: 条件运算符; 难度系数: 1; 答案: T) 24.( )若有inti=20;switch(i/10){case2: printf("A");case1: printf("B");}的输出结果为A。 (知识点: switch语句; 难度系数: 1; 答案: F) 25.( )在switch语句中使用continue语句与使用break语句作用相同。 (知识点: switch语句; 难度系数: 1; 答案: F) 26.( )switch语句中,case的冒号后面允许没有语句。 (知识点: switch语句; 难度系数: 1; 答案: T) 27.( )switch语句中,每一个case的冒号后面都允许跟有多条语句。 (知识点: switch语句; 难度系数: 1; 答案: T) 28.( )switch语句中,可以没有default语句。 (知识点: switch语句; 难度系数: 1; 答案: T) 四、填空题 1.执行下面程序时,若从键盘上输入正数和0,则输出该数本身,若输入负数,则输出其相反数,请填空。 main() {intx,y; scanf("%d",&x); if( ) {y=x; printf("%d",y); } else {y=②; printf("%d",y); }} A.x>=0B.-xC.xD.x<0 ②A.x>=0B.-xC.xD.x<0 (知识点: if语句的3种形式; 难度系数: 1; 答案: 、A②、B) 2.输入两个整数,按照由大到小的顺序输出这两个数,请填空。 main() { intx,y,t; scanf("%d%d",&x&y); if( ) { t=x;②;③ } printf("%d%d",x,y); } A.x ②A.x ③A.x (知识点: if语句的3种形式; 难度系数: 1; 答案: 、A②、B③、C 、) 3.请填空,完成函数(输入分段函数)的功能 main() {inta,b; scanf("%d",&a); if( ) y=-1; else if(②)y=0; else③; printf("x=%d,y=%d\n",x,y); } (知识点: if语句的嵌套; 难度系数: 2; 答案: 、x<0②、x==0③、y=1) 4.请填空,完成函数(输入分段函数)的功能 main() {inta,b; scanf("%d",&a); if( ) if(②)y=1; elsey=0; else③; printf("x=%d,y=%d\n",x,y); } (知识点: if语句的嵌套; 难度系数: 2; 答案: 、x>=0②、x>0③、y=-1) 5.“表达式1? 表达式2: 表达式3”的执行顺序是先求解 ,若为非0则求解②,否则求解表达式3。 (知识点: 条件运算符; 难度系数: 1; 答案: 、表达式1②、表达式2) 6.若inta=100,x=10,y=9;执行a=(--x==y++)? --x: ++y;变量a的值是 (知识点: 条件运算符; 难度系数: 1; 答案: 、8) 7.switch后面括号中的“表达式”可以是 A.关系表达式B.算术表达式C.逻辑表达式D.以上表达式都可以 (知识点: switch语句; 难度系数: 1; 答案: 、D) 8.若有charch=’B’,则执行以下程序后变量x= ;去掉程序中所有的break后,执行程序后变量x=② {switch(ch) {case'A': x=95;break; case'B': x=85;break; case'C': x=75;break; case'D': x=60;break; default: x=0;break; } A.85B.75C.60D.0 (知识点: switch语句; 难度系数: 1; 答案: 、A②、D) 五、阅读程序,选择结果(圆括号要求同上) 1.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是: ( ) main() { intx; scanf("%d",&x); if(x++>5)printf("%d",x) elseprintf("%d\n",x--); } A.7和5B.6和3C.7和4D.6和4 (知识点: if语句的3种形式; 难度系数: 1; 答案: A) 2.若执行下面的程序从键盘输入3和4,则输出是: ( ) main() {inta,b,s; scanf("%d%d",&a,&b); s=a; if(a s=s*s; printf("%d\n",s); } A.14B.16 C.18D.20 (知识点: if语句的3种形式; 难度系数: 1; 答案: B) 3.以下程序段的输出结果是() inta=10,b=50,c=30; if(a>b) a=b; b=c; c=a; printf(“a=%db=%dc=%d\n”,a,b,c); A、a=10b=50c=10B、a=10b=30c=10 C、a=50b=30c=10D、a=50b=30c=5 (知识点: if语句的3种形式; 难度系数: 1; 答案: B) 4.若执行以下程序时从键盘上输入9,则输出结果是: ( ) main() {intn; scanf("%d",&n); if(n++<10)printf("%d\n",n); elseprintf("%d\n",n--); } A、11B、10C、9D、8 (知识点: if语句; 难度系数: 1; 答案: B) 5.阅读以下程序: main() {intx; scanf("%d",&x); if(x--<5) printf("%d",x); else printf("%d",x++);} 程序运行后,如果从键盘上输人5,则输出结果是: ( ) A、3B、4C、5D、6 (知识点: if语句; 难度系数: 1; 答案: B) 6.main() {floatx=2.0,y; if(x<0.0) y=0.0; elseif(x<10.0) y=1.0/x; else y=1.0; printf("%f\n",y);} 该程序的输出结果是: ( ) A、0.000000B、0.250000C、0.500000D、1.000000 (知识点: if语句的嵌套; 难度系数: 2; 答案: C) 7.有以下程序 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.2B.3C.4D.编译时有错,无结果 (知识点: IF嵌套语句; 难度系数: 2; 答案: B) 8.有如下程序 main() {floatx=2.0,y; if(x<0.0) y=0.0; elseif(x<10.0) y=1.0/x; else y=1.0; printf("%f\n",y);} 该程序的输出结果是: ( ) A、0.000000B、0.250000C、0.500000D、1.000000 (知识点: IF嵌套语句; 难度系数: 2; 答案: C)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章 选择