C语言-第5章 循环结构程序设计.doc_第1页
C语言-第5章 循环结构程序设计.doc_第2页
C语言-第5章 循环结构程序设计.doc_第3页
C语言-第5章 循环结构程序设计.doc_第4页
C语言-第5章 循环结构程序设计.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

第5章 循环结构程序设计一、单项选择题1在C语言中,下列说法中正确的是()。 A) do-while语句构成的循环不能用其它语句构成的循环来代替。 B) do-while语句构成的循环只能用break语句退出。 C) do-while语句构成的循环在while后的表达式非零时结束循环。 D) do-while语句构成的循环,在while后的表达式为零时结束循环。2. break语句不能出现在 语句中()A) switch B)for C) while D) ifelse3对于break语句和continue语句的说法错误的是( )A) break语句不能用于循环语句和switch语句之外的任何其他语句中。B) break和continue也可以用于if语句中C) continue语句只结束本次循环,而不是终止整个循环的执行。D) break语句是结束整个循环过程,不再判断执行循环的条件是否成立。4. 语句while(!y);中的表达式 !y等价于 A)y=0 B)y=1 C)y=!0 D) y=15. 若有“int a=1,x=1;”,则循环语句“while(a10) x+; a+;”的循环执行()。A)无限次 B)不确定次C)10次D)9次6. 有以下程序段int k=0while(k) k+;则while循环体执行的次数是 A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次7. 下列循环语句中有语法错误的是( ) A while(x=y) 5; B while(0) ;C do 2;while(x= =b); D do x+ while(x= =10);8. 当运行时输入:abcd$abcde, 下面程序的运行结果是 。#includemain()char c;while(putchar(getchar()!=$);printf(end);A) abcd$abcde B)abcd$end C)abcdend D) abcd$abcdeend9. 以下程序段 ( )x=-1;do x=x*x; while(x0);A) 是死循环 B) 循环执行一次 C) 循环执行二次 D) 有语法错误10. 下面程序段执行后的结果为: ( ) int sum=0, n=10; do sum=sum+n; n+; while(n0;i+);”的循环执行( )。A)无限次B)不确定次 C)10次D)9次13. 执行语句for(j=0;j=3;j+) a=1;后变量j的值是 . A)0 B) 3 C)4 D) 114. 有如下程序main() int i,sum=2;for(i=1;i=3;i+=2) sum+=i;printf(“%dn”,sum); 该程序的执行结果是 A) 6 B) 3 C) 死循环 D) 415、执行语句”for ( i=0; i+3 ; ) ;”后,变量i的值为( )。 A、2 B、3 C、4 D、516. 设x和y均为int型变量,则执行以下的循环后,y的值为()。for(y=1,x=1;y=0) break; if(x%2=1) x+=5;continue; x-=3; A)1 B)50 C)51 D)5二、阅读程序,写出运行结果1.#include main( ) int x , y , z; x=20, y=40, z=60; while(xy) x+=4, y-=4; z/=2; printf(“%d,%d,%d”,x,y,z);运行结果为:32,28,302. #include main() int num=0;while(num=2) num+;printf(%dn,num);运行结果为:1233.#include main() int n=9;while(n6) n-;printf(“%d,”,n);运行结果为:8,7,6,4#include main( ) int sum=10,n=1;while(n3)sum=sum-n; n+; printf(“%d,%d”,n,sum); 运行结果为:3,75.#include main() int num,c; scanf(%d,&num); doc=num%10; printf(%d,c);while(num/=10)0);printf(n); 从键盘输入23,则运行结果为:326#include main() int s=0,a=5,n;scanf(%d,&n);do s+=1; a=a-2; while(a!=n);printf(%d,%dn,s,a); 若输入的值1,运行结果为:2,17.#include main() int n1,n2;scanf(“%d”,&n2);while(n2!=0) n1=n2%10;n2=n2/10;printf(“%d”,n1);若在运行时输入1298,运行结果为:89218.#include main() int i;for (i=0;i6;i+) printf (“%d”,+i); printf (“%d”,i+);运行结果为:13569#include stdio.h main() char c; c=getchar(); while(c!=?) putchar(c); c=getchar(); 如果从键盘输入abcde?fgh(回车)运行结果为:abcde10#include main() char c; while(c=getchar()!=$) if(A=c&c=Z) putchar(c); else if(a=c&c=z) putchar(c-32); 当输入为ab*AB%cd#CD$时,运行结果为:ABABCDCD11. #include main() inti=0,s=0;do if(i%2) i+; continue; i+; s +=i;while(i7);printf(%dn,s);运行结果为:1612.#include main() int x=1, y =0;while(x=10) break; x+; printf(“%d %d”,y,x);运行结果为:14 313. #include main() int x, y =0;for(x=1;x=10) break; y=y+x; printf(“%d %d”,y,x);运行结果为:10 514.#include main( ) int n=0; while(n=3) switch(n) case 0 : ; case 1 : printf(“%d,”,n); case 2 : printf(“%d,”,n);n=n+3; break; default: printf(“*”);n=n+1; 运行结果为:0,0,*15 #include main() int x=1,y=0,a=0,b=0;switch(x) case 1: switch(y) case 0: a+;break; case 1: b+;break; case 2: a+;b+;break;printf(“a=%d, b=%d”,a,b);运行结果为:a=2,b=116. #include main() char grade=C; switch(grade) case A: printf(“90-100n”); case B: printf(“80-90n”);case C: printf(“70-80n”);case D: printf(“60-70n”); break;case E: printf(“60n”); default : printf(“error!n”); 运行结果为:70-8060-7017#include main() int k=0;char c=A;do switch(c+) case A: k+;break;case B: k-;case C: k+=2;break;case D: k=k%2;continue;case E: k=k+10;break;default: k=k/3;k+;while(cC) ;printf(k=%dn,k);运行结果为:k=418.#include main() int i=10; switch ( i ) case 9: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; printf(“i=%dn”,i);运行结果为:i=1319#include main( ) int sum=0;i=0; while(i=100) sum=sum+i; printf(“i=%dn”,i);printf(“sum=%dn”,sum); 运行结果为:死循环,无结果20. #include main() int i,sum=0;i=1;dosum=sum+i;i+;while(i=10);printf(“%d”,sum);运行结果为: 5521.#include main ( ) int i=0, sum=1 ;do sum+=i+ ; while ( i6 );printf ( “%dn”, sum );运行结果为:1622.#include main() int i;printf(n);for(i=0;i6;i+) printf(%d,i);if (i%2=0)printf(n);运行结果为:01234523.#include main( ) int i; for(i=0;i8;i+) printf(%d,+i); printf(%d, i+);printf(%d, i); 运行结果为:1,3,5,7,8,924.#includemain( ) int i=0, j=0;while( i10) i+;while(j+10) ;printf(“%d,%d”, i, j);运行结果为:10,1125.#includemain( )char i, j; for(i=0, j=9; ij ; i+, j-) printf(“%c%c”, i, j);运行结果为:091827364526. #include main() int i, n, sum = 0, counter = 0;printf(Input 4 Numbers:n);for (i = 0; i = 0) sum += n; counter+; printf(sum=%d,counter=%dn, sum,counter);若键入3 -5 7 -9运行结果为:sum=10,counter=227. #include main() int i=5; do switch (i%2) case 4: i- -; break;case 6: i- -; continue; i- -; i- -; printf(“i=%dn”,i); while(i0);运行结果为:i=3i=1i=-128.#include main() int y=9; for(;y0;y- -)if(y%3=0) printf(%d”,- -y); continue;运行结果为:852*29.#include #define N 4main() int i; int x1=1,x2=2;for(i=1;i=N;i+) printf(%4d%4d,x1,x2);if(i%2=0) printf(n);x1=x1+x2;x2=x2+x1;运行结果为:1 2 3 513 21 3430.#include main() int i, j; for(i=0;i5;i+) printf(n); for (j=i+;j6;j+)printf(“* “);运行结果为:* * * * * * * * * *31#include main( ) int x, y; for(x=30,y=0;x=10,y10; x-,y+) x/=2, y+=2; printf(“x=%d,y=%dn”,x,y);运行结果为:x=0,y=12*32. #include #define N 4main( ) int i,j; for(i=1;i=N;i+) for(j=1;ji;j+) printf( ); printf(*); printf(n); 运行结果为:* * * *三、编程题1、编程序实现求1-20之间的所有数的乘积并输出。#include main( ) int i, fact=1; for(i=1; i20; i=i+1) fact=fact*i; printf(“fact=%d”,fact);2、编程序实现求1-1000之间的所有奇数的和并输出。 #include main( ) int i, sum=0; for(i=1; i1000; i=i+2) if(i%2!=0)sum=sum+i; printf(“the sum of odd is :%d”,sum);3、用 公式求 的近似值,直到发现某一项的绝对值小于10-6 为止(该项不累计加)。#include #include int main() int sign=1; double pi=0,n=1,term=1; while(fabs(term)=1e-6) pi=pi+term; n=n+2; sign=-sign; term=sign/n; pi=pi*4; printf(pi=%10.8fn,pi); return 0; 4.有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13编程求这个序列的前20项之和。#includeint main() int i; float fenzi=2,fenmu=1,t,s=0;for(i=1;i=20;i+)s=s+fenzi/fenmu;t=fenzi;fenzi=fenzi+fenmu;fenmu=t; printf(s=%9.6fn,s); return 0;5. 从键盘输入10个整数,统计其中正数、负数和零的个数,并在屏幕上输出。#includemain( ) int a10, i,p=0,n=0,z=0; printf(“please input number”); for(i=0;i0) p+;else if (ai0) n+;else z+ printf(“正数:%5d, 负数:%5d,零:%5dn”,p,n,z);6.输入若干个学生的体重,以负数或零结束,分别求最重和最轻的体重,并计算平均体重。 #include int main() int n=0; fl

温馨提示

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

评论

0/150

提交评论