C语言 第四章 选择结构程序设计期末测试习题与答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
main()
{ int x;
scanf("%d",&x);
if(x<=3) ;
else if(x!=10) printf("%d\n",x);
}
程序运行时,输入的值在______范围才会有输出结果。
A.小于3的整数
B.大于3或等于10的整数
C.不等于10的整数
D.大于3且不等10的整数
参考答案:D
26、以下4个选项中,不能看作一条语句的是( )。
C.(k%2)!=0
D.k%2
参考答案:B
6、假定所有变量均已正确说明,以下程序段运行后的输出结果是( )。
int n=0,m=l,x=2; if(!n) x-=l; if(!m) x-=2; if(!x) x-=3; printf (" %d\n",x);
A.1
B.3
C.6
D.2
参考答案:A
7、假定所有变量均已正确说明,以下程序段运行后的输出结果是( )。
C.程序段有语法错
D.3,5,5
参考答案:A
29、有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是( )。
A.if (c<a) x=1;else if (b<a) x=2;else x=3;
B.if (a<3) x=3;if (a<2) x=2;if (a<1) x=1;
D.a=0
参考答案:B
24、下列各语句序列中,能够将变量a和b中的较大值赋值到变量t中的是( )。
A.t=b; if(a>b) else t=a;
B.t=a ; if(a>b) t=b;
C.t=b; if(a>b) t=a;
D.if(a>b) t=a ; t=b;
参考答案:C
25、有以下程序
#include <stdio.h>
default语句n;}
其中括号内表达式c的类型:( )。
A.只能为整型
B.可以为整型或实型
C.可以是任意类型
D.可以是整型或字符型
参考答案:D
21、若有以下定义:float x; int a,b;则正确的switch语句是( )。
A.switch(x)
{ case 1.0: printf("*\n");
B.if(a<2)x=3; else if(a<1)x=2; else x=1;
C.if(a<3)x=3; if(a<2)x=2; if(a<1)x=1;
D.if(a<2)x=b; if(b<3)x=c; if(c<1)x=a;
参考答案:C
10、下面选项if语句形式不正确的是( )。
A.if (x==y) x+=y,
C.if((a>b)||(b>c)) k=1;
else k=0;
D.if (a<=b) k=0;
else if (b<=c) k=1;
else if (b<c) k=1;
else k=0;
参考答案:B
23、若欲表示在if后a不等于0的关系,则能够正确表示这一关系的表达式为( )。
A.!a
B.a
C.a<>0
A.####
B.####&&&&
C.有语法错误,无输出结果
D.&Leabharlann Baidu&&
参考答案:A
15、以下程序的输出结果是( )。
#include <stdio.h>
main()
{ int x=0,a=0,b=0;
switch(x){
case 0: b++;
case 1: a++;
case 2: a++;b++;}
C.if (a<3) x=3;else if (b<a) x=2;else x=1;
D.if (a<b) x=b;if (b<c) x=c;if (c<a) x=a;
参考答案:B
30、当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为( )。
if(a<b) if(c<d) x=1; else if(a<c) if(b<d) x=2; elsex=3; elsex=6; elsex=7;
int a=3,b=5,c=7; if(a>b) a=b; c=a; if(c!=a) c=b; printf("%d,%d,%d\n",a,b,c);
A.3,5,5
B.3,5,7
C.程序段有语法错
D.3,5,3
参考答案:D
8、假定所有变量均已正确说明,执行以下程序段时,从键盘上输入1和2,则结果是( )。
A.if(a>0);
B.a=0,b=0,c=0;
C.if(b==0)m=1;n=2;
D.{;}
参考答案:C
27、有以下程序
#include <stdio.h>
main()
{ int a=0,b=4,c=0,d=10,x;
if(a) d=d-10;
else if(!b)
if(!c) x=15;
else x=25; printf("%d\n",d);
D.11
参考答案:B
3、下列叙述中正确的是( )。
A.在switch语句中,不一定使用break语句
B.在switch语句中必须使用default
C.break语句只能用于switch语句
D.break语句必须与switch语句中的case配对使用
参考答案:A
4、假定所有变量均已正确说明,以下程序段运行后的输出结果是( )。
D.if(a==0) printf("%d\n",x); else printf("%d\n",y);
参考答案:D
2、假定所有变量均已正确说明,下列程序段运行后x的值是( )。
a=b=c=0;x=12; if(!a)x--; else x=5; if(c) x=3; else x=4;
A.3
B.4
C.12
C.其之后最近的if
D.其之前最近的没有else配对的if
参考答案:D
12、在下面的条件语句中,只有一个在功能上与其它三个语句不等价,它是( )。
A.if (a)语句1 else语句2
B.if (a!=0)语句1 else语句2
C.if (a==0)语句2 else语句1
D.if (a==0)语句1 else语句2
}
程序运行后的输出结果是( )。
A.3
B.20
C.10
D.5
参考答案:C
28、若变量已正确定义,有以下程序段
int a=3,b=5,c=7; if(a>b)a=b; c=a; if(c!=a)c=b; printf("%d,%d,%d\n",a,b,c);
其输出结果是( )。
A.3,5,3
B.3,5,7
C语言 第四章 选择结构程序设计期末测试习题与答案
1、下列条件语句中,功能与其他语句不同的是( )。
A.if(a==0) prinff("%d\n",y); else printf("%d\n",x);
B.if(a) printf("%d\n",x); else prinf("%d\n",y);
C.if(a!=0) printf("%d\n",x); else printf("%d\n",y);
B.if(x<y) {x++;y++;}
C.if(x!=y) scanf("%d",&x); else scanf("%d",&y);
D.if (x>y&&x!=y);
参考答案:A
11、为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与配对。
A.缩排位置相同的if
B.同一行上的if
A.a=5 b=3 c=5
B.a=1 b=3 c=1
C.a=5 b=3 c=1
D.a=1 b=5 c=1
参考答案:B
17、有以下程序
#include <stdio.h>
main()
{
int a=5,b=4,c=3,d=2;
if(a>b>c) printf("%d\n",d);
else if((c-1>=d)==1) printf("%d\n",d+1);
printf(“a=%d,b=%d\n”,a,b);
}
A.a=2,b=1
B.a=2,b=2
C.a=1,b=0
D.a=1,b=1
参考答案:B
16、假定所有变量均已正确说明,以下程序段运行后的输出结果是( )。
int a=1,b=5,c=3;
if(a>b)
a=b;
b=c;
c=a;
printf("a=%d b=%d c=%d\n",a,b,c);
A.2
B.3
C.1
D.6
参考答案:A
if (++a>0 | | ++b>0)
++c;
printf(“%d,%d,%d”,a,b,c);
}
A.0,0,0
B.1,1,1
C.1,0,1
D.0,1,1
参考答案:C
20、在C语言中,多分支选择结构语句为:
switch(c)
{ case常量表达式1:语句1;
……
case常量表达式n-1:语句n-1;
D.switch(a+b);
{ case 1: printf("*\n");
case 2: printf("**\n");
}
参考答案:A
22、以下程序中与语句k=a>b? (b>c?1:0):0功能等价的是( )。
A.if(a>b) k=1;
B.if((a>b)&&(b>c)) k=1;
else k=0;
参考答案:D
13、在C语言语句中,用来决定分支流程的表达式是( )。
A.只能用逻辑表达式
B.只能用关系表达式
C.可用任意表达式
D.只能用逻辑表达式或关系表达式
参考答案:C
14、假定所有变量均已正确说明,以下程序段运行后的输出结果是( )。
int k; k=-3; if(k<=0) printf(“####”); else printf(“&&&&”);
int a,b,s; scanf("%d%d",&a,&b); s=a; if(a<b) s=b; s=s*s; printf("%d\n",s);
A.1
B.2
C.4
D.9
参考答案:C
9、有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不等于3的是( )。
A.if(c<3)x=1; else if(b<2)x=2; else x=3;
else x++;y++;
printf(“%d,%d”,x,y);
}
A.有语法错误,不能通过编译
B.若输入3和4,则输出4和5
C.若输入4和3,则输出4和5
D.若输入4和3,则输出3和4
参考答案:A
19、下述程序的输出结果是( )。
#include <stdio.h>
main ( )
{ int a=0,b=0,c=0;
int a=1,b=3,c=5; if(c=a+b) printf("yes\n"); else printf("no\n");
A.3
B.5
C.1
D.2
参考答案:A
5、当把以下4个表达式用作if语句的控制表达式时,有一个选项与其他3个选项含义不同,这个选项是( )。
A.k%2==1
B.!k%2==1
case 2.0: printf("**\n");
}
B.switch(x)
{ case 1,2: printf("*\n");
case 3: printf("**\n");
}
C.switch(a+b)
{ case 1: printf("*\n");
case 1+2: printf("**\n");
}
else printf("%d\n",d+2);
}
执行后输出结果是( )。
A.编译时有错,无结果
B.2
C.3
D.4
参考答案:C
18、对下述程序,是正确的判断。
#include <stdio.h>
main ( )
{ int x,y;
scanf(“%d,%d”,&x,&y);
if (x>y) x=y;y=x;
相关文档
最新文档