c语言选择结构试题带答案 下载本文

内容发布更新时间 : 2024/5/10 17:06:11星期一 下面是文章的全部内容请认真阅读。

一、 选择题

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(\}

该程序的输出结果是 A: 0 B: 1 C: 2 D: 3

5. 有以下程序 #include main() 1 / 18

{ int a,b,c=246; a=c/100%9; b=(-1)&&(-1);

printf(\}

输出结果是( )。 A: 2,1 B: 3,2 C: 4,3 D: 2,-1

6. 两次运行下面的程序,如果从键盘上分别输入6 和4,则输出结果是 main( ) { int x;

scanf(\

if(x + + >5) printf(\else printf(\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(\b=2a;

if(b>0) printf(\A: 1 B: 2 C: 3 D: 4

9. C 语言中,逻辑“真”等价于 A: 大于零的数 B: 大于零的整数 C: 非零的数 D: 非零的整数 2 / 18

10. C 语言的 switch 语句中,case 后 A: 只能为常量

B: 只能为常量或常量表达式

C: 可为常量及表达式或有确定值的变量及表达式 D: 可为任何量或表达式

11. 已知int i=10;表达式\的值是 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 3 / 18

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 4 / 18

B: 1 C: 2 D: 3

22. 设有int m=1,n=2;则++m==n 的结果是 A: 0 B: 1 C: 2 D: 3

23. 设有int n=2;则++n+1==4 的结果是 A: true B: false C: 1 D: 0

24. 设有int n=2;则++n+1==4,n 的结果是 A: 1 B: 2 C: 3 D: 4

25. 以下使i 的运算结果为4 的表达式是 A: int i=0,j=0; (i=3,(j++)+i); B: int i=1,j=0; j=i=((i=3)*2);

C: int i=0,j=1; (j==1)?(i=1):(i=3); D: int i=1,j=1; i+=j+=2;

26. 当a=5,b=2 时,表达式a= =b 的值为 A: 2 B: 1 C: 0 D: 5

27. 若执行以下程序时从键盘上输入9,_______则输出结果是 main() { int n;

scanf(\

if(n++<10) printf(\else printf(\} A: 11 B: 10 C: 9 5 / 18