第5章循环控制结构作业._第1页
第5章循环控制结构作业._第2页
第5章循环控制结构作业._第3页
第5章循环控制结构作业._第4页
第5章循环控制结构作业._第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、第 5 章 循环控制结构一、单选题1、下列循环的输出结果是 ( B ) #include<stdio.h> int main( ) int n=10while (n>7) n-;printf("%dn",n);A. 10 9 8B. 9 8 7C. 10 9 8 7D. 9 8 7 62 、以下程序的输出结果是 ( A ) #include<stdio.h> int main( ) int n=4 ;while(n-)printf("%d ",-n);D. 2 1 0A. 2 0 B. 3 1 C. 3 2 13 、设有以下

2、程序段,则下面描述中正确的是( C) #include<stdio.h> int main( ) int k=10;B. 循环是无限循环D. 循环体语句执行一次while(k=0) k=k-1; A. while 循环执行 10 次 C. 循环体语句一次也不执行4 、有以下程序段, while 循环执行的次数是 ( C) #include<stdio.h> int main( ) int k=0;while(k=1) k+; A. 无限次 B. 有语法错,不能执行 C. 一次也不执行 D. 执行一次5、 设K为整形,则下面的while循环执行(B )次#include&

3、lt;stdio.h> int main( ) int k=2;while(k=0) printf("%d",k); k-; printf("n");A. 无限次 B. 0 次 C. 1 次 D. 2次6 、读程序,输出结果是( C ) #include<stdio.h> int main( ) int num=0;while (num<=2) num+; printf("%d",num); A. 1B. 2 2 C. 1 2 3 D. 1 2 3 47、下面程序段的运行结果是( A ) #include<

4、;stdio.h>int main( ) int a,b,c;a=1;b=2;c=2; 2 1 1 12while(a<b<c)t=a;a=b;b=t;c-;printf("%d,%d,%d",a,b,c);A. 1,2,0B. 2,1,0C. 1,2,1D. 2,1,18、假定a和b为int型变量,则执行以下语句后b的值为D #include<stdio.h>int main( ) int a=1,b=10;do b=b-a; a+; while (b->0);C. -1D. -4A. -3 B. -29 、以下程序段 C_#inclu

5、de<stdio.h>int main( ) int x=-1;do x=x*x;while(!x);A. 是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误10 、有如下程序,该程序的执行结果是( B ) #include<stdio.h> int main( ) int x=23;do printf("%d",x-);while(!x);A. 321 B. 23 C. 不输出任何内容 D. 陷入死循环11 、执行以下程序后,输出的结果是( D ) #include<stdio.h> int main( ) int y=

6、10 ;do y-;while ( -y ) ;printf ("%dn",y- );A. -1B. 1C. 8D. 012、 若输入字符串: abcde< 回车>, 则输出为( D ) #include<stdio.h> int main( ) char ch;printf("*");while(ch=getchar()='e')A.B.*C.D. 空13 、如果输入为 :ABCdef ,执行下面一段程序后 ,则输出为( B )#include<stdio.h>int main( ) char ch;

7、while(ch=getchar( )!='n') if(ch > ='A' && ch < ='Z')ch=ch+32;else if(ch>='a' && ch<'z')ch=ch-32;printf("%c" ,ch);printf("n");A. ABCdefB. abcDEFC. abcD. DEF14 、以下描述中正确的是( C )A. 由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体

8、内不能使用 复合语句B. do-while 循环由 do 开始,用 while 结束,在 while( 表达式 )后面不能写分号) 的操C. 在 do-while 循环体中,一定要有能使 while 后面表达式的值变为零 ( “假” 作D. do-while 循环中,根据情况可以省略 while15 、以下叙述正确的是( D )A. do-while 语句构成的循环不能用其它语句构成的循环来代替。B. do-while 语句构成的循环只能用 break 语句退出。C. 用 do-while 语句构成的循环 ,在 while 后的表达式为非零时结束循环。D. 用 do-while 语句构成的循环

9、 ,在 while 后的表达式为零时结束循环。91 816 、以下程序的输出结果是( D ) #include<stdio.h> int main( ) int x=10,y=10,i;for(i=0 ; x>8 ; y=+i) printf("%d %d ",x-,y) ;A. 10 1 9 2 B. 9 8 7 6 C. 10 9 9 0 D. 10 10 9 1 17、若 i 为整型变量,则以下循环执行次数是( B ) #include<stdio.h> int main( ) int i;for(i=2;i=0; )printf(&qu

10、ot;%d",i-);A. 无限次B. 0 次18 、以下循环体的执行次数是 #include<stdio.h> int main( ) int i,j;for(i=0,j=1;i<=j+1;i+=2,j-) printf("%d n",i);A. 3B. 2C. 1C. 1 次 D. 2 次C )0D. 019 、 设 i,j 为 int 型变量 ,则下面 for 循环语句的执行结果是( B ) #include<stdio.h> int main( ) int i;for(i=10,j=0;j<2;j+) if(i%3) i

11、-; -i;-i;printf("%d ",i) A. 6 3B. 7 4C. 6 2D. 7 320 、 下面程序的输出是( B )#include<stdio.h> int main( ) int y=9;for( ;y>0;y-)if(y%3=0)printf("%d",-y);continue;A. 741 B. 852C. 963D. 87542121 、有以下程序,其输出结果是( C ) #include<stdio.h> int main( ) int x,i;for(i=1;i<=50;i+) x=i;

12、if(x%2=0)if(x%3=0)if(x%7=0) printf("%d",i);A. 28B. 27C. 42D. 4122、执行下面的程序后 ,a 的值为( C ) #include<stdio.h> int main( ) int a,b;for (a=1,b=1;a<=100;a+) if(b>=20) break;if(b%3=1) b-=2; continue; b=4 7 10b+=5;printf( “ %d%d ”,a,b);A. 11 B. 15C. 12D. 13 23、执行下面的程序后,a的值为(B )#include&l

13、t;stdio.h> int 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; A. 7B. 8C. 9D. 1024、若x是int型变量,以下程序段的输出结果是()。#include<stdio.h>int main( ) int x;for(x=3;x<6;x+)printf(x % 2)?( ” * %d ” ) : (” #喘 d n ”),);A. * * 3 # # 4 * * 5B. # # 3 * * 4 # # 5

14、C. # # 3 * * 4 # # 5D. * * 3 # # 4 * * 5 25、以下程序的输出结果是( )#include<stdio.h> int main( ) int i ;for(i=1 ; i<6 ; i+)continue ; if(i%2) printf("#")printf("*") ;printf("n") ;A. #*#*# B. # C. * D. *#*#*26 、 下面程序段的运行结果是( )#include<stdio.h> int main( ) int x=3;do

15、 pfintf( “*_* ”); x- ;while(x);A. *_*B.C.D.27 、 以下程序的输出结果是( ) #include<stdio.h> int main( ) int a=0,i;for(i=1;i<5;i+) switch( i ) case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5; printf("%dn",a);A. 31B. 13 C. 10 D. 2028 、运行以下程序后,如果从键盘上输入 china#< 回车> ,则输出结果为( ) #includ

16、e<stdio.h> int main( ) int v1=0 , v2=0;char ch;while(ch=getchar( )!='#') switch(ch) case 'a':case 'h': default: v1+;case '0': v2+D. 2 ,5A. 2,0B. 5,0C. 5,5 29、若 i,j 已经定义为 int 类型,则以下程序段中内循环总的执行次数是( ) #include<stdio.h> int main( ) int i,j;for (i=5;i>0;i-)f

17、or (j=0;j<4;j+) .A. 20B. 24C. 25 D. 3030 、有以下程序,输出结果是( ) #include<stdio.h>int main( ) int i, j;for(j=10;j<11;j+) for(i=9;i<j; i+)if (!(j%i)break;if(i=j-1) printf("%d",j);A. 11 B. 10 C. 9 D. 10 11二、分析程序1 、输入 1 ,输出( )#include<stdio.h>int main( ) int sum=0, i ;scanf( &quo

18、t;%d",&i );while (i<=10) sum=sum+i;i+; printf("%d",sum);2 、以下程序的输出结果是( )#include<stdio.h> int main( ) int X=15 ;while(X>10& x<50) X+ ;if(x/3) X+ ; break ; else continue ;printf( ”沐 n ”,X);3 、以下程序的输出结果是( )#include<stdio.h>int main( ) int s,i;for(s=0,i=1;i&l

19、t;3;i+,s+=i)printf("%dn",s);4 、以下程序的输出结果是( )#include<stdio.h>int main( ) int x=2 ; while(x-) ; printf("%dn",x);5 、 下述程序的运行结果是( ) #include<stdio.h> int main( ) int s=0 , k;for(k=7 ; k>4 ; k-) switch(k) case 1 : case 4 : case 7 : S+ ; break ; case 2 : case 3 : case 6

20、 : break ; case 0 : case 5 : s+=2 ;break ;6、 设i,j,k均为int型变量,则执行完下面的for循环后,k的值为()#include<stdio.h> int main( ) int i,j;for(i=0,j=10;i<=j;i+,j-)k=i+j;7、程序运行后,如果从键盘上输入 1298 ;则输出结果为( ) #include<stdio.h>int main( ) int n1, n2;scan f("%d",&n 2);while( n2!=0) n仁n 2%10;n 2=n2/10

21、;prin tf("%d", n1);三、程序填空1、求输入100个数中正数的个数及其平均值#i nclude<stdio.h>int mai n( )int i,n;float sum,f;n=0;1;for(i=0;i <= 100,i+)pri nt f("e nter a real nu mber:"sca nf("%f", &f);if 2con ti nue;3;n+;print f("sum=%f",sum);print f("a rerage=%f",s

22、u m/n);2、下面程序的功能是:计算1到10之间奇数之和及偶数之和,请填空#include < stdio.h >#i nclude<stdio.h>int mai n( ) int a, b, c, i;a=c=0;for(i=0;i < 10;i+=2) a+=i;1;c+=b;printf("偶数之和=%dn",a);printf(” 奇数之和=%dn",c-11);3、读入一个1到9的数a,求s=a+aa+aaa+ - +aaa (共0项)。请对下述程 序填空,其中temp保存当前处理项aaa。(每个空分别以序号标注,如:

23、(1) ) #include < stdio.h >#i nclude<stdio.h>int mai n() int i;long a,s,temp;s=temp=0;prin tf("Please en ter a number(1-9)");sca nf(1);s=a;for (i=1;2;3)4、读以下程序说明和c程序填空程序说明:本程序判断m是否为素数。程序:#i nclude<stdio.h>int mai n() int m,i,k;scanf("%d", 1);k=2;for(i=2;i <= k

24、;i+)if(3) break;if( 4) printf("%d是素数 n",m);else printf("%d 不是素数 n",m); 5、下列程序的功能是:求100-200 之间的不能被 3 整除的数输出,请填空 :#include<stdio.h>int main( ) int n;1;if (n%3=0)continue;printf( "%d",n);四、程序设计( 挑简单的做,不会做得可以不做 ) 1 、输出 99 乘法表。2 、输入一个正整数,各输出 n 行的正(倒)三角形宝塔图案。3、打印出如下图案(菱

25、形)。提示:先把图形分成两部分来看待,前四行一个规律, 后三行一个规律,利用双重 for 循环,第一层控制行,第二层控制列。4 、输入 n 个整数,求这 n 个数中偶数的平均值并输出。5 、编程序求 155 的平方根的和并输出结果。(保留小数点两位)6 、编程序求 150 所有整数的平方和并输出结果。7、编程序求2+4+8+16+32+这样的数之和。如果累加数大于 5000时,则程序终止并输出结果。8 、求 1 到 20 的阶乘的和。9、编程序求出 1-4000 以内能被 3 或者 11 整除数的个数10、输出 1999 中能被 3 整除,而且至少有一位数字是 5 的所有数字。11 、一个整数等于该数所有因子之和,则称该数是一个完数。例如, 6和28 都是完数, 因为 6=1+2+3,28=1+2+4+7+14。 输出 1000 以内所有的完数。12 、本程序演示打印出所有的“水仙花数”, 所谓“水仙花数”是指一个三位数, 其各 位数字立方和等于该数本身。例如:153

温馨提示

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

评论

0/150

提交评论