C语言选择结构练习题精选,附答案、难易程度以及考察点

来源:互联网 发布:软件开发风险评估 编辑:程序博客网 时间:2024/06/05 11:14

选择结构在c语言中可以说是一个非常基础的部分,变成过程中必不可少的部分,而是与非的逻辑在高等数学中也已接触过,所以相对来说应该比较好理解。

一、单项选择题(总分20

1. (分值:2.0 C语言中,逻辑“真”等价于

A: 大于零的数

B: 大于零的整数

C: 非零的数

D: 非零的整数

序号:25难度:1 考查点:逻辑运算和判断选取控制

2. (分值:2.0 分)当a=5,b=2,表达式a= =b的值为

A: 2

B: 1

C: 0

D: 5

序号:428难度:1 考查点:逻辑运算和判断选取控制

3. (分值:2.0 分)对如下程序,若用户输入为A,则输出结果为( )

main()

{

char ch;

scanf(“%c”,&ch);

ch=(ch>=‘A’&&ch<=‘Z’)?(ch+32):ch;

printf(“%c\n”,ch);

}

A: A

B: 32

C: a

D: 空格

序号:581难度:1 考查点:逻辑运算和判断选取控制

4. (分值:2.0 分)下列表达式中能表示a0 100之间的是

A: a>0&a<100

B: !(a<0||a>100)

C: 0<a<100

D: !a>0&&a<100

序号:583难度:1 考查点:逻辑运算和判断选取控制

5. (分值:2.0 分)输

main()

{ int a=5,b=4,c=6,d;

printf("%d\n",d=a>b?(a>c?a:c):(b));

}

A: 4

B: 5

C: 6

D: 不确定

序号:612难度:2 考查点:逻辑运算和判断选取控制

6. (分值:2.0 分)设有定义:int a=3,b=4,c=5;则语句printf(%d\n,a+b>c&&b==c);的输

出结果是

A: 1

B: 0

C: -1

D: 2

序号:431难度:2 考查点:逻辑运算和判断选取控制

7. (分值:2.0 分)有如下程序

main0

{ int a=2,b=-1,c=2;

if(a<b)

if(b<0) c=0;

else c++

printf("%d\n",c);

}

该程序的输出结果是

A: 0

B: 1

C: 2

D: 3

序号:444难度:2 考查点:逻辑运算和判断选取控制

8. (分值:2.0 分)有如下程序段:

int x =1, y=1 ;

int m , n;

m=n=1;

switch (m)

{ case 0 : x=x*2;

case 1: {

switch (n)

{ case 1 : x=x*2;

case 2 : y=y*2;break;

case 3 : x++;

}

}

case 2 : x++;y++;

case 3 : x*=2;y*=2;break;

default:x++;y++;

}

执行完成后,xy 的值分别为( )

A: x=6 y=6

B: x=2 y=1

C: x=2 y=2

D: x=7 y=7

序号:32难度:3 考查点:逻辑运算和判断选取控制

9. (分值:2.0 分)C语言的 switch 语句中,case

A: 只能为常量

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

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

D: 可为任何量或表达式

序号:26难度:1 考查点:逻辑运算和判断选取控制

10. (分值:2.0 分)若执行以下程序时从键盘上输入9,则输出结果是

main()

{ int n;

scanf("%d",&n);

if(n++<10) printf("%d\n",n);

else printf("%d\n",n--);

}

A: 11

B: 10

C: 9

D: 8

序号:473难度:1 考查点:逻辑运算和判断选取控制

二、填空题(总分 20

1.(分值:4.0) 输入一个字符,如果它是一个大写字母,则把它变成小写字母,如果它是

小写字母,则把它变成一个大写字母,其他字符不变。请填空。

main()

{ char ch;

scanf(“%c”,&ch);

if(ch>=65&&ch<=90ch>='A'&&ch<='Z'

) chch+32;

else if(ch>=’a&&ch<=’z)

ch=ch-32

;

printf(“%c”,ch);

}

序号:545难度:3 考查点:逻辑运算和判断选取控制

2.(分值:4.0) 以下程序对输入的一个小写字母,将字母循环后移5 个位置后输出,如’

a’变成’f,w’变成’b’,请在空格处填空。

#include “stdio.h”

main()

{ char c;

cgetchar();

if(c>=’a&&c<=’u)

c+=5 c=c+5

;

else if(c>=’_______v&&c<=’z)

c=c-21 c-=21

;

putchar(c);

}

序号:544难度:3 考查点:逻辑运算和判断选取控制

3.(分值:6.0) 以下程序实现输出x,y,z 三个数中的最大者。请在空格处填空。

main()

{ int x4,y6,z7;

int v,u u,v

;

if(x>=yx-y>0 x>y

) ux;

else uy;

if( u-z>0 u>zu>=z

) vu;

else vz;

printf(v%d,v);

}

序号:543难度:3 考查点:逻辑运算和判断选取控制

4.(分值:6.0) 以下程序实现:输入三个整数,按从大到小的顺序进行输出。请填空。

main()

{ int xy,z,c;

scanf(“%d%d%d”,&x,&y,&z);

if(z>y

)

{cy;yz;zc;}

if(z>x

)

{cx;xz;zc;}

if(y>x

)

{cx;xy;yc;}

printf(“%d,%d,%d”,x,y,z);

}

序号:542难度:3 考查点:逻辑运算和判断选取控制

三、问答题(总分 20

1.(分值:4.0)下列程序的运行结果是:

main( )

{ int ch1=0, ch2=5;

if(ch1!=3)printf(“ch1:%d”,ch1);

else printf(“ch2:%d”,ch2);

}

参考答案:

ch1:0

序号:13难度:1 考查点:逻辑运算和判断选取控制

2.(分值:4.0)以下程序的执行结果是_________

main()

{ int a,b,d241;

ad/100%9;

b(1)&&(1);

printf(%d,%d\n,a,b;

}

参考答案:

2,1

序号:76难度:2 考查点:逻辑运算和判断选取控制

3.(分值:4.0)main()

{ int a=1,b=0

switch(a)

{ case 1: switch (b)

{ case 0: printf("**0**")break

case 1: printf("**1**")break

}

case 2: printf("**2**")break

}

}

参考答案:

**0****2**

序号:20难度:3 考查点:逻辑运算和判断选取控制

4.(分值:4.0)以下程序的执行结果是_________

main()

{ float f1,f2,f3,f4;

int m1,m2;

f1f2f3f42;

m1m21;

printf(%d\n,(m1f1>f2)&&(m2f3<f4)); }

参考答案:

0

序号:71难度:2 考查点:逻辑运算和判断选取控制

5.(分值:4.0)执行下列语句后,abc的值分别是__________________

int x10y9

int abc

a=(--x==y++)?--x++ybx++cy

参考答案:

8 8 10

序号:79难度:2 考查点:逻辑运算和判断选取控制

四、编程题(总分 40

1.(分值:20.0)编写一程序,对于给定的一个百分制成绩,输出相应的五分制成绩。设:

90 分以上为A80~89分为B70~79分为C60~69分为D60分以下为E

参考答案:

#include"stdio.h"

main(){

int a,b;

printf("Please input the score:");

scanf("%d",&a);

b=a/10;

switch(b){

case 10:

case 9:

printf("A!\n");

break;

case 8:

printf("B!\n");

break;

case 7:

printf("C!\n");

break;

case 6:

printf("D!\n");

break;

default:

printf("E!\n");

break;

}

}

序号:8难度:2 考查点:逻辑运算和判断选取控制

2.(分值:20.0)c语言学习编程判断输入的正整数是否既是5又是7 的整倍数。若是,输出yes,否则

输出no

参考答案:

#include "stdio.h"

main()

{

int goal;

printf("Please input a number:");

scanf("%d",&goal);

if(goal<=0)

printf("error\n");

else if(goal%5==0&&goal%7==0)

printf("Yes!\n");

else

printf("No!\n");

}

序号:6难度:2 考查点:逻辑运算和判断选取控制

原创粉丝点击