c语言选择结构试题带答案教案资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c语言选择结构试题
带答案
一、选择题
1. 以下非法的赋值语句是
A: n=(i=2,++i); B: j++; C: ++(i+1); D: x=j>0;
2. 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2 的值是A: 6 B: 0 C: 2 D: 1
3. 阅读以下程序:
main()
{ int x;
scanf(“%d”,&x);
if(x--<5) printf(“%d”,x);
else printf(“%d”,x++);
}
程序运行后,如果从键盘上输人5,则输出结果是()。
A: 3 B: 4 C: 5 D: 6
4. 有如下程序
main0
{ int a=2,b=-1,c=2;
if(a
if(b<0) c=0;
else c++
printf("%d\n",c);
}
该程序的输出结果是
A: 0 B: 1 C: 2 D: 3
5. 有以下程序
#include
main()
{ int a,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
输出结果是( )。
A: 2,1 B: 3,2 C: 4,3 D: 2,-1
6.两次运行下面的程序,如果从键盘上分别输入6 和4,则输出结果是main( )
{ int x;
scanf("%d",&x);
if(x + + >5) printf("%d",x);
else printf("%d\n",x - -); }
A: 7 和5 B: 6 和3 C: 7 和4 D: 6 和4
7. 能表示x 为偶数的表达式是
A: x%2==0 B: x%2==1 C: x%2 D: x%2!=0
8. 下面的程序段中共出现了几处语法错误?
int a,b;
scanf("%d",a);
b=2a;
if(b>0) printf("%b",b);
A: 1 B: 2 C: 3 D: 4
9. C 语言中,逻辑“真”等价于
A: 大于零的数B: 大于零的整数C: 非零的数D: 非零的整数
10. C 语言的switch 语句中,case 后
A: 只能为常量
B: 只能为常量或常量表达式
C: 可为常量及表达式或有确定值的变量及表达式
D: 可为任何量或表达式
11. 已知int i=10;表达式"20-0<=i<=9"的值是
A: 0 B: 1 C: 19 D: 20
12. 设有int i, j, k; 则表达式i=1,j=2,k=3, i&&j&&k 的值为
A: 1 B: 2 C: 3 D: 0
13. 逻辑运算符两侧运算对象的数据类型
A: 只能是0 或1
B: 只能是0 或非0 正数
C: 只能是整型或字符型数据
D: 可以是任何类型的数据
14. 能正确表示“当x 的取值在[1,10]和[200,210]范围内为真,否则为
假”的表达式是()
A: (x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
B: (x>=1)||(x<=10)||(x>=200)||(x<=210)
C: (x>=1)&&(x<=10)||(x>=200)&&(x<=210)
D: (x>=1)||(x<=10)&&(x>=200)||(x<=210)
15. 已知x=43,ch=’a’,y=0;则表达式(x>=y&&ch<’b’&&!y)的值
是()
A: 0 B: 1 C: 语法错误D: 假
16. 执行下列语句后a 的值为
int a=5,b=6,w=1,x=2,y=3,z=4;
(a=w>x)&&(b=y>z);
A: 5 B: 0 C: 2 D: 1
17. 以下程序的输出结果是()
main()
{ int a=5,b=0,c=0;
if(a=b+c) printf(“***\n”);
else printf(“$$$\n”);
}
A: 有语法错误不能通过编译
B: 可以通过编译但不能通过连接
C: ***
D: $$$
18. 以下程序的输出结果是()
main()
{ int m=5;
if(m++>5) printf(“%d\n”,m);
else printf(“%d\n”,m--);
}
A: 4 B: 5 C: 6 D: 7
19. 若运行时给变量x 输入12,则以下程序的运行结果是()main()
{ int x,y;
scanf(“%d”,&x);
y=x>12?x+10:x-12;
printf(“%d\n”,y);
}
A: 0 B: 22 C: 12 D: 10
20. 若w=1,x=2,y=3,z=4,则表达式w 21. 设有int a=2,b;则执行b=a&&1;语句后,b 的结果是 A: 0 B: 1 C: 2 D: 3 22. 设有int m=1,n=2;则++m==n 的结果是 A: 0 B: 1 C: 2 D: 3