C语言章节习题集(全) 下载本文

执行程序后的输出结果是 A)8B)4 C)3D)2

15.语句while(!e==0);是什么时候将会陷入死循环 A)e==0B)e!=0 C)e!=1D)e!=-1 16.以下程序的输出结果是 #include main() {inti; for(i=1;i<=5;++i) {if(i%2)printf(“*”); elsecontinue;printf(“#”);}printf(“$”);} A)*#*#*#$B)#*#*#*$C)*#*#$D)#*#*$ 17.有以下程序片段 intk=5; while(k=1)k--; 执行此程序片段,则描述正确的是 A)while循环执行4次B)循环体执行一次 C)循环体一次也不执行D)死循环 18.下面程序的运行结果是 #include main() {inti=1;

do{i--;}while(i++);

29

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

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

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

C)利用goto语句可以使程序的执行从一个函数跳到另一个函数 D)循环语句中break语句不能单独出现 填空题: 1.执行下属程序片段后的输出结果为____. inta=6; while(a--) 30

printf(“%d”,a--); 2.有以下程序,其功能是将从键盘上输入的小写字母转换成大写字母输出,当输入为‘#’时,结束转换,请在下划线处填上合适的语句。 #include main() {charc;scanf(“%c”,&c); while(__c!=‘#’____)

{if((c>=’a’)&&(c<=’z’)) printf(“%c”,___c-32___); scanf(“%c”,&c);}}

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

*

** *** **** *** ** * main() {inti,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

4.现有已知长度为n的整型数组a,其前n-1个元素中已有数据,并且数据按从小到大的顺序排列,函数insert要完成的功能是:

31

把任意整数i填入数组a中,并使插入数据后的数组依然保持从小到大的顺序(函数参数的意义分别是:i为需插入的数据,n为数组a的长度,a为数组名)。 insert(inti,intn,inta[]) {intk; k=n-1; while((k>0)&&(______)) {a[k]=a[k-1]; k=k-l;} a[k]=______;} 5.已知e=l+1+1+1+…+1,试用此公式求e的近似值,要求累加1!2!3!n!32

所有不小于1e-6的项值,请在程序中下划线处填上合适内容,完成程序功能。 #include main() {inti; floate,n; e=1.0;i=1; n=1.0; while(______)

{n=1.0/tun(i);i++;

e+=n;}} fun(inti)