c语言练习题+答案分享

时间:2023-02-22 14:44:05

 

一、单项选择题(总分 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 分)下列表达式中能表示a 0 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++;

}

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

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<=90 ch>='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>=y x-y>0 x>y

) ux;

else uy;

if( u-z>0 u>z u>=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 )c语言特点序的运行结果是:

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 )编程判断输入的正整数是否既是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 考查点:逻辑运算和判断选取控制