C语言课堂练习习题集(3)

2019-04-10 09:15

&&x0!=0___) i=1;

else__i=0__;

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;

11 / 45

for (i=1;;i++); printf(“%d”,i++);

A)1 B)2 C)3 D)陷入死循环,无输出结果 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 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 5.请读程序

#include main()

{int num=0;

while(num++<=2)

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

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

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

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

A)打印出321 B)打印出23 7.下面的程序,描述正确的是 main()

{int x=3; do

12 / 45

D)875421 D)10 D)1 3 C)打印不确定结果D)陷入死循环 {printf(“%d\\n”,x-=2);} while(!(--x));}

A)输出的是1 B)输出的是1和-2 C)输出的是3和0 D)是死循环 8.下列循环中哪一个不是无限循环

A) for(i=1;;i++) B) i=1;while(i--)

printf(“%d”,i); {printf(“%d”,i++);} C) i=1 D) for(i=0;i;i++) do printf(“%d”,i);

{printf(“%d”,i); i++;}while(--i);

9.有以下程序段:

int i,j;

for(i=0;i<5;++i) for(j=i;j<5;++j) printf(“*”);

则执行以上的程序片段后,输出‘*’个数是 A)15 B)10 C)25 D)20 10.有以下程序段:

int i,j; i=0;j=0;

while(i++<5) {j=0; do

{printf(“*”);} while(++j<4);}

则执行以上的程序片段后,输出‘*’的个数为

A)15 B)10 C)25 D)20 11.下面的程序段不能实现求阶乘8!(8!=1*2*3*4*5*6*7*8,结果存放在p中)的是 A)p=1; B)p=2;

for(i=1;i<9;i++) for(i=8;i>3;i--) p=p*i; p=p*i; C)p=1;i=1; D)p=1;i=8; while(i<9) do

p=p*i++ ; {p=p*i--;} while(i>1);

12.有下列程序段: char ch; int s=0;

for(ch=’A’;ch<’Z’;++ch) if(ch%2= =0)s++;

printf(“%d”,s);

则执行上述片段后,程序的输出结果是 A)13 B)12 C)26 D)25 13.有下面的程序:

main() {int i,n,k;

13 / 45

n=15496;k=2; for(i=1;i

printf(“%d”,n);} 则执行后的输出结果是 A)9 B)6 C)2 D)1 14.有以下程序:

main()

{int a[10]={4,3,3,4,3,8,4,2,8,3}; int i,j,b[10]; for(i=0;i<10;++i) {b[i]=0;

for(j=0;j<10;++j)

if(a[j]= =a[i])b[i]=b[i]+1;} j=0;

for(i=1;j<10;++i) if(b[i]>b[j])j+I; printf(“%d”,a[j]);}

执行程序后的输出结果是 A)8 B)4 C)3 D)2 15.语句while(!e= =0);是什么时候将会陷入死循环

A) e==0 B) e!=0 C) e!=1 D)e!= -1 16.以下程序的输出结果是 #include main()

{int i;

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

{if(i%2) printf(“*”);

else continue;printf(“#”);}printf(“$”);} A)*#*#*#$ B)#*#*#*$ C)*#*#$ D)#*#*$ 17.有以下程序片段 int k=5;

while(k=1)k--;

执行此程序片段,则描述正确的是 A)while循环执行4次 B)循环体执行一次 C)循环体一次也不执行 D)死循环 18.下面程序的运行结果是 #include main() {int i=1;

do{i--;}while(i++); printf(“%d”,i--);}

A) -1 B) 0 C) 1 D)陷入死循环 19.以下说法中正确的是

A)continue语句的作用是结束整个循环的执行 B)break语句应出现在switch语句和循环语句中

14 / 45

C)利用goto语句可以使程序的执行从一个函数跳到另一个函数 D)循环语句中break语句不能单独出现 填空题:

1.执行下属程序片段后的输出结果为____. int a=6;

while(a--)

printf(“%d”,a--);

2.有以下程序,其功能是将从键盘上输入的小写字母转换成大写字母输出,当输入为‘#’时,结束转换,请在下划线处填上合适的语句。 #include main()

{char c; scanf(“%c”,&c); while(__c!=‘#’____) {if((c>=’a’)&&(c<=’z’)) printf(“%c”,___c-32___); scanf(“%c”,&c);} }

3.为输出入下图形,请在程序中的下划线处填入合适的内容 *

** *** * * * * * * * * * * main() {int i,j;

for(i=0;i<4;++i)

{for(j=0;j<______;j++)

print(“ ”);

for(j=0;j<______;j++) printf(“*”); printf(”\\n”);}

for(i=0;i<3;++i)

{for(j=0;j

printf(“ “); for(j=0;j<3-i;j++) printf(“*”);

printf(“\\n”);} }

4.现有已知长度为n的整型数组a,其前n-1个元素中已有数据,并且数据按从小到大的顺序排列,函数insert要完成的功能是:把任意整数i填入数组a中,并使插入数据后的数组依然保持从小到大的顺序(函数参数的意义分别是:i为需插入的数据,n为数组a的长度,a为数组名)。

insert(int i,int n,int a[ ]) { int k; k=n-1;

while((k>0)&&(______))

15 / 45


C语言课堂练习习题集(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:常平东部污水处理厂工艺设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: