C语言程序设计:循环结构程序设计单元测试与答案_第1页
C语言程序设计:循环结构程序设计单元测试与答案_第2页
C语言程序设计:循环结构程序设计单元测试与答案_第3页
C语言程序设计:循环结构程序设计单元测试与答案_第4页
C语言程序设计:循环结构程序设计单元测试与答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、单项选择题1、下面这个程序段的输出结果是:int y=10;while(y-);printf( y二%dn”,y);y=ly=0y=-lD.死循环正确答案:C解析:while(y- -); while后的分号表示空语句,表示当条件成立时,什么都不做,一直到尸0,结束循环,y的值是2、以下程序段执行后的输出结果是:int x=0, y=0;while(x20) x+=3, y+;printf ( %d, %dn”,y, x);B. 8, 24C. 1, 21A. 7,21D. 21, 7正确答案:C解析:wh析e(x20)条件满足时,程序执行while(x20) x+=3, y+;for (

2、n=l;n10;n+)sum=l;ave=sum/4. 0;正确答案:D解析:D、score是整型,整数除整数,结果是整数,而ave是浮 点型,所以需要把4改成4.0,或者使用第二章介绍的强制类型转换。 14、一个三位数,其各位数字的立方和等于读数本身,此数称为“水 仙花数”,如:153是一个“水仙花数”,因为153=1-3+5-3+3-3。下 列程序为打印出所有水仙花数的程序,其中有一处错误,请选择正确 的语句:#include int main () (int i, j, k, m;for(i=l; i=9; i+)for(j=0;j=9 ;j+)for(k=0; k=9; k+)(m=1

3、00*k + 10*j + i;if(m=i*i*i+ j*j*j+ k*k*k) printf ( %d”,m);return 0;for(i=0; i=9; i+)m=100*i+10*j+kfor(i=l; i10; i+)m=100*k + 10*i + j;正确答案:B解析:B、i表示百位数,j表示十位数,k表示个位数。15、下面程序的输出结果是:#includeint main ()(int x=9;for( ; x0;)(if(x%3=0)(printf( “%d” ,-x); continue;)return 0;963852963852正确答案:B所以有020 x=3, y=

4、l;320 x=6, y=2;620 x=9, y=318 printf ( d, %dn”,y, x); 输出的顺序是先y后x,你掉坑里了吗二八3、假定a和b为int型变量,那么执行以下语句后b的值为:a=l; b=10;do b-=a; a+;while(b0);A. -2B.-1C. 8D.9正确答案:C解析:b的初值是10, a的初值是1, b=10-l=9, a=l;90不成立,循环结束,b的值是8.4、以下程序段的输出结果是:int i;for(i= A ; i while和do-while循环中的循环体均可以由空语句构成while循环是先判断表达式,后执行循环体语句C.使用whi

5、le和do-while循环时,循环变量初始化的操作应在循环 语句之前完成D. do-while和for循环均是先执行循环体语句,后判断表达式 正确答案:D解析:for循环是先判断表达式,后执行循环体语句;do-while是先执行循环体语句,后判断表达式.6、以下程序段执行后的输出结果是:int i;for(i=0; i10; i+);printf (,i);A.01234567890正确答案:C解析:此题考查空语句。i10成立时什么都不做,继续循环,一直 到i=10结束循环。7、以下程序是求1100的累加和,以下哪个程序段能正确完成累加 和:A.s=0; i=0;while(i100)s+=i

6、+;B.s=0; i=0;while(i=100)s+=i+;C.s=0; i=l;while(i+100)s+=i;D.s=0; i=l;while(+i=100)s十二 i;正确答案:B解析: A、相当于1+2+3+99+=4950i100 改为 i=100, s=5050 C、相当于:2+3+4+99+100=5049i=l 改为 i=0, s=5050 D、相当于:2+3+4+99+100=5049i=l 改为 i=0, s=50508、执行下述程序的输出结果是:#include int main()int i=0, j;for(j=9;ij;i+)(for(i=9; i=j-Dpri

7、ntf( dn,j);return 0;)1012C.9D. 11正确答案:C解析:外循环:j=9内循环:i=9, i二j-l成立,输出j值9i=10, ij不成立,外循环结束,程序结束。9、在C语言中,当do-while语句中的条件为()时,结束该循环。A. trueB.非。10正确答案:D解析:在C语言中,当do-while语句中的条件为0时,结束该循环。10、下面while循环共执行()次。int k=2;while(k!=0) printf (,z%d/z, k),02C.无限次D. 1正确答案:B解析:第一次:k=2;2!=0,输出2,k一, k=l第二次:1!=0,输出1;k, k

8、=0,结束循环。11、以下程序段的输出结果是:int a=l, b;for (b=l;b=8) break;if(a%2=l)a+=5;continue;a-=3;printf (%dn, b);3465正确答案:B解析:L b=l, l=8不成立,继续判断1%2=1成立,执行a=1+5=6, continue提前结束当前循环,直接进入下一次循环;b=2, 2=8不成立,继续判断6%2=1不成立,执行a=6-3=3, 进入下一次循环;b=3, 3=8不成立,继续判断3%2=1成立,执行 a=3+5=8, continue提前结束当前循环,直接进入下一次循环;b=4,4G0,a=8,a=8成立,break结束整个循环,输出b的值是4.12 int k = 0;while (k = 1) k +;while循环执行的次数为A.无限次B.执行两次C.执行一次D.有错误,不能执行正确答案:A解析:while (k = 1)相当于 while (1)13、按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出。程序如下所示,有一处有误,请选择正确的语句:#includeint main ()(int n, k, score, sum;float ave;for (n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论