C语言课堂练习习题集

发布时间 : 星期三 文章C语言课堂练习习题集更新完毕开始阅读

printf(“%d”,i++) case 4:

printf(“%d”,i++) break; default:

printf(“END”)} }

输入数据1,执行以上程序,则输出结果是____ 2.执行下面程序后输出的结果为____。 main()

{ int i=0,j; for(j=0;j<4;j++)

switch(j)

{ case 1: i=i+1; case 2: i=i+2; case 3: i=i+3; } printf(“%d\\n”,i);} 3.设有以下程序: #include main()

{ char ch1, ch2;

scanf(\%c%c\,&ch1,&ch2); if(ch1!='B')

{ switch(ch2) { case 'B': switch(ch1)

{ case'A':printf(\; case'B':printf(\;} break; case'A':

switch(ch1)

{case'A':printf(\; case'B':printf(\; } } } else printf(\; }

若执行此程序段时输入的数据是AB,则程序的输出是____。4.有以下程序:

#include main()

{ int c;

while((c=getchar())!='\\n') { switch(c-'2') { case 0:

case l:putchar(c+4);

case 2:putchar(c+4);break; case 3:putchar(c+3);

default:putchar(c+2);break;

9

} }}

若执行时从键盘上输入2473(代表回车),则程序的输出结果是____。

5.若x是int型变量,请写出\是偶数则为真\的表达式____。 6.x,y,z均为整型变量,请写出描述\或y等于z\的表达式____。

7.已知a=3,b=03,c='0',则表达式a>b&&a>c||b>c&&a>c的值为____。

8.以下程序的功能是:输入圆的半径,和运算标志,按照运算标志进行运算,输出运算后的结果。请在下划线处填入合适内容。

标志 指定运算 'a'或'A' 求面积 'b'或'B' 求周长

其他值 求周长,面积 #include #define P 3.14 main()

{ char c;

float r,area,length;

seanf(\%c,%f\,&c,&r); switch(____) {case 'a':

case 'A':area=P*r*r;printf(\%f\,area);break; case 'b':

case 'B':length=2*P*r;

printf(\%f\,length); 10

——;

default:area=P*r*r; length=2*P*r;

printf(\%d,length=%f\,area,length);

9.以下程序的功能是:从键盘上接受三个十进制整型数据,对这三个数据进行从小到大的排序,输出排序后的数据。请完成该程序。

#include main()

{int x,y,z,i;

scanf(\%d,%d,%d\,&x,&y,&z); if(____){i=x;x=y;y=i;} if(____){i=y;y=z;z=i;} if(____){i=x;x=z;z=i;}

printf(\%d,%d,%d\\n\,x,y,z);}

10.以下程序的功能是:从键盘输入一年份数据,判断此年份是否为闰年。其中判断闰年的条件是:能被4整除但不能被100整除,或能被400整除。请填空完成该程序。

#include main()

{int x,i;

seanf(\%d\,&x); if(x%400= =0) i=1; else if(____) i=1; else____;

if(i= =1) printf(\;

if(i= =0) printf(\;}

11.现要根据学生的成绩,将学生划分为A,B,C,D,E五个等级,其对应的关系已用if语句写出如下(其中整型变量result存放学生成绩,字符型变量grade存放学生等级):

if(result<60) grade='E';

else if(result<70) grade='D'; else if(result<80) grade='C'; else if(result<90) grade='B';

else if(result<=100) grade='A';

现要将上述关系写成switch语句如下,请在下划线处填入正确内容.

switch( )

{case 6:grade='D’;break; case 7:grade='C';break; case 8:grade='B';break; case 9:

case 10:grade='A';break; ____:grade='E';}

12.假设公民交纳个人所得税的税率如下(a代表个人收入,r代表税率):

r= 0 (a<1000) r=5% (1000<=a<2000) r=10% ( 2000<=a<3000) r=15% (3000<=a<4000) r=20% (a>=4000)

以下程序要求从键盘上输入个人收入,根据以上的税率计算出应付的税金并输出。请 完成该程序。

#include main()

{float a,b; . int i;

scanf(\%f\,a); if(a>=4000)i=4; else i=____; switch(i)

{case 0:b=a*0.0;break; case 1:b=a*0.05;break; case 2:b=a*0.10;break; case 3:b=a*0.15;break; case 4:b=a*0.20;break;} printf(\%f\,b);} 第六章 循环控制 单项选择题

1.有以下程序片段,请问执行后的输出结果是 int i;

for (i=1;;i++);

printf(“%d”,i++);

A)1 B)2 C)3 D)陷入死循环,无输出结果

11 2.下面有关for语句的说法中,正确的是

A)任何情况下,for语句的三个表达式一个都不能少 B)for语句中的循环体至少会被执行一次

C)for语句只能用于循环次数已经确定的情况下 D)for语句中的循环体可以是复合语句 3.下面程序的输出是 main()

{int y=9;

for(;y>0;y--) if(y%3= =0)

{printf(“%d”,--y);continue;}} A)741 B)852 C)963 D)875421 4.请读程序:

#include main()

{int a,b;

for(a=1,b=1;a<=100;a++)

{if(b>=20) break;

if(b%3= =1){b+=3;continue;} b=-5;}

printf(“%d\\n”,a);} 上面程序的输出结果是

A)7 B)8 C)9 D)10 12

5.请读程序

#include main()

{int num=0;

while(num++<=2)

{printf(“%d\\n”,num);}} 上面程序的输出结果是

A) 1 B) 1 C) 1 D)1 2 2 2 3 3 4

6.执行下面程序片段的结果是 int x=0; do

{printf(“-”,x--);} while(x);

A)打印出321 B)打印出23 C)打印不确定结果 D)陷入死循环 7.下面的程序,描述正确的是 main()

{int x=3; do

{printf(“%d\\n”,x-=2);} while(!(--x));}

A)输出的是1 B)输出的是1和-2 C)输出的是3和0 D)是死循环

联系合同范文客服:xxxxx#qq.com(#替换为@)