C语言循环结构程序设计模拟题_第1页
C语言循环结构程序设计模拟题_第2页
C语言循环结构程序设计模拟题_第3页
C语言循环结构程序设计模拟题_第4页
C语言循环结构程序设计模拟题_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、第五章 循环结构程序设计一、选择题1while循环语句中,while后一对圆括号中表达式的值决定了循环体是否进行,因此,进入while循环后,一定有能使此表达式的值变为 的操作,否则,循环将会无限制地进行下去。(0级)A)0 B)1 C)成立 D)22在do-while循环中,循环由do开始,用while结束;必须注意的是:在while表达式后面的 不能丢,它表示do-while语句的结束。(0级)A)0 B)1 C); D),3for语句中的表达式可以部分或全部省略,但两个 不可省略。但当三个表达式均省略后,因缺少条件判断,循环会无限制地执行下去,形成死循环。(0级)A)0 B)1 C);

2、D),4程序段如下int k=-20;while(k=0) k=k+1;则以下说法中正确的是 。(1级)A)while循环执行20次 B)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次5程序段如下int k=1;while(!k=0) k=k+1;printf("%dn",k);说法正确的是 。(1级)A)while循环执行2次 B)循环是无限循环C)循环体语句一次也不执行 D)循环体语句执行一次6以下for循环是 。(1级)for(a=0,b=0;(b!=123)&&(a<=4);a+)A)无限循环 B)循环次数不定 C)执行4次

3、 D)执行5次7在下列程序中,while循环的循环次数是 。(1级)main( ) int i=0; while(i<10) if(i<1) continue; if(i= =5) break; i+; .A)1 B)10 C)6 D)死循环、不能确定次数8程序段如下int k=0; while(k+<=2) printf("%dn",k);则执行结果是 。(1级)A)1 B)2 C)0 D)无结果 2 3 1 3 4 29程序段如下int k=0;while(k+<=2); printf("last=%dn",k);则执行结果是

4、last= 。(1级)A)2 B)3 C)4 D)无结果10执行下面的程序后,a的值为 。(1级)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)7 B)8 C)9 D)1011以下程序的输出结果 。(1级)main()int x=3;doprintf("%3d",x-=2);while(-x);A)1 B)30 3 C)1 -2 D)死循环12定义如下变量:int n=10;则下列循环的输出结果是 。(1级)while(n>7)n-;p

5、rintf("%dn",n);A)10 B)9 C)10 D)9 9 8 9 8 8 7 8 7 7 613以下程序的输出结果 。(1级)main()int n=0;while(n+<=1) printf("%dt",n);printf("%dn",n);A)1 2 3 B)0 1 2 C)1 1 2 D)1 2 214以下程序的输出结果是 。(1级)main()int i;for(i=1;i<=5;i+)if(i%2)printf("#");else continue;printf("*&q

6、uot;);printf("$n");A)*#*#*#$ B)#*#*#*$ C)*#*#$ D)#*#*$15以下程序的输出结果是 。(1级)main()int a=0,i;for(i=;i<5;i+)swich(i)case 0:case 3:a+=2;case 1:case2:a+=3;default:a+=5;printf("%dn",a);A)31 B)13 C)10 D)2016以下程序的输出结果是 。(1级)#include <stdio.h>main()int i=0,a=0;while(i<20)for(;) i

7、f(i%10)= =0) break;else i-;i+=11; a+=i;printf("%dn",a);A)21 B)32 C)33 D)1117当输入为"quert?"时,下面程序的执行结果是 。(1级)#include<stdio.h>main()char c;c=getchar();while(c=getchar()!='?') putchar(+c);A)Quert B)vfsu C)quert? D)rvfsu? 18当输入为"quert?"时,下面程序的执行结果是 。(1级)#includ

8、e <stdio.h>main()while(putchar(getchar()!='?');A)quert B)Rvfsu C)quert? D)rvfsu?19当输入为"quert?"时,下面程序的执行结果是 。(2级)#include<stdio.h>main()char c;c=getchar();while(c!='?')putchar(c);c=getchar();A)quert B)Rvfsu C)quert? D)rvfsu?20在C语言的循环语句for,while,do-while中,用于直接中断最内

9、层循环的语句是 。(0级)A)swich B)continue C)break D)if21若i,j已定义为int型,则以下程序段中循环体的总的执行次数是 。(1级)for(i=5;i;i-) for(j=0;j<4;j+) A)20 B)24 C)25 D)3022以下程序的功能是:按顺序读入10名学生的4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main()int n,k;float score,sum,ave;sum=0.0;for(n=1;n<=10;n+)for(k=1;k<=4;k+)scanf("%f",&score);s

10、um+=score;ave=sum/4.0;printf("NO%d:%fn",n,ave);上述程序有一条语句出现在程序的位置不正确。这条语句是 。(2级)A)sum=0.0; B)sum+=score;C)ave=sum/4.0; D)printf("NO%d:%fn",n,ave);23. 有如下程序段, 其执行结果为 。(0203第一学期试题) for ( n = 10; n > 7; n- ) printf ( “ %dn” , n ) ;A)10 B) 9 C)10 D)99 8 9 88 7 8 7 7 624. 循环语句中的for语

11、句,其一般形式如下:for(表达式1;表达式2;表达式3) 语句其中表示循环条件的是 。(0102第二学期试题)A)表达式1 B)表达式2 C)表达式3 D)语句25.定义如下变量:int n=10;则下列循环的输出结果是 。(0102第二学期试题) while (n>7) n-;printf(“%d”,n); A) 10 B) 9 C) 10 D) 99 8 9 88 7 8 7 7 626. 下面程序段的运行结果是: 。(03试题) x=y=0; while(x<15) y+, x+=+y; printf(“%d, %d”, y, x);A)20, 7 B)6, 12 C)20

12、, 8 D)8, 2027. 以下程序的运行结果是: 。(03试题)main( ) int a=2, i ; for(i=0;i<3;i+) printf(“%4d”,f(a) ) ; f( int a) int b=0,c=3;b+; c+; return(a+b+c); A)7 10 13 B)7 7 7C)7 9 11 D)7 8 928. 下面程序的运行结果是: 。(往届试题) main( ) int y=10; do y-; while(-y) ; printf(“%dn”,y-); A)-1 B)1 C)8 D)029. 下面有关for循环的正确描述是 。(0405第二学期试

13、题)A)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判断表达式C)在for循环中,不能用break语句跳出循环体D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来30. 以下能正确计算1×2×3××10的程序段是 。(0405第二学期试题)A)do i=1;s=1; s=s*i; i+; while(i<=10);B)do i=1;s=0; s=s*i; i+; while(i<=10);C)i=1;s=1; do s=s*i; i+; while(i<=10);D)i=1;s=0; d

14、o s=s*i; i+; while(i<=10);31. 以下程序段 。(0405第二学期试题)x=-1; do x=x * x; while(!x);A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误32. 下面程序的运行结果是: 。(往届试题)#include <stdio.h> main( ) int y=10; do y-; while(-y) ; printf(“%dn”,y-); A)-1 B)1 C)8 D)033. 定义如下变量和数组:int I;int x33=1,2,3,4,5,6,7,8,9;则下面执行语句的结果为: 。(往届试题)for

15、(I=0;I<3;I+)printf(“%3d”,xI2-I);A)1 5 9 B)1 4 7C)3 5 7 D)3 6 934. 以下程序的运行结果是: 。(往届试题)main( ) int n=4; while(n-)printf (“%2d”,-n);A)2 0 B)3 1C)3 2 1 D)2 1 035. 设有以下程序段,则执行该程序后为: 。(往届试题)int x = 0, s = 0 ;while ( !x != 0 ) s += + x ;printf ( “ %d ”, s ) ;A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的D)程序段执行

16、无限次36. 下面程序的运行结果是: 。(往届试题)#include <stdio.h>main( ) int I ; for ( I = 1; I <=5; I+) switch ( I%5 ) case 0: printf ( “ * ” ); break; case 1: printf ( “ # ” ); break; default : printf (“n”); case 2: printf ( “ &” ); break; A)#&&* B)#& C)# D)#&& &&* & * &

17、; *二、填空题1while语句的特点是 (1) ,do-while语句的特点是 (2) 。(0级)2将for(表达式1;表达式2;表达式3)语句改写为while语句是 。(0级)3break语句的功能是 。(0级)4break语句只能用于 (1) 语句和 (2) 语句中。(0级)5continue语句的作用是 ,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。(0级)6在循环中,continue语句与break语句的区别是:continue语句只是 (1) ,break语句是 (2) 。(0级)7循环的嵌套是指 。(0级)8要使以下程序段输出10个整数,请填入一个整数:f

18、or(i=0;i<= ;printf("%dn",i+=2);9.goto语句的用途是 和 。(0级)10.while语句的特点是 ,do_while语句的特点是 。(0级)11.把for(表达式1;表达式2;表达式3);改写为等价的while语句为 。(0级)12.语句标号由标识符表示,由 , 和 组成。第一个字符必须是字母或下划线。(0级)三、程序填空题1.以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。main()float x,amax,amin;scanf("%f",&x

19、);amax=x;amin=x;while (1) if(x>amax) amax=x;if (2) amin=x;scanf("%f",&x);printf("namax=%fnamin=%fn",amax,amin);2.下面程序可求出11000的自然数中所有的完数(因子和等于该数本身的数)请填空。(03试题)main( ) int m, n, s;for(m=2;m<1000;m+) _(1)_for(n=1;n<=m/2;n+)if(_(2)_) s+=n;if(_(3)_) printf(“%dn”, m); 3.以下

20、程序的功能是根据求e的近似值,精度要求为。请填空:(0405第二学期试题)main( )int i=1; double e,new;e=1.0; new=1.0; while( (1) )new/=(double) i; e+=new; (2) ; printf(“e=%en”,e);四、读程序写结果题1下面程序的输出结果是 。(1级)main()int n=0;while(n+<=1);printf("%d,",n);printf("%dn",n);2下面程序的输出结果是 。(1级) main()int s,i;for(s=0,i=1;i<

21、3;i+,s+=i);printf("%dn",s);3下面程序的输出结果是 。(1级)main()int i=10,j=0;doj=j+i;i-;while(i>2);printf("%dn",j);4设有以下程序main()int n1,n2;scanf("%d",&n2);while(n2!=0)n1=n2%10;n2=n2/10;printf("%d",n1);程序运行后,如果从键盘上输入1298,则输出结果为 。(1级)5下面程序的输出结果是 。(1级)main()int s=0,k;for

22、(k=5;k>=0;k-)swich(k)case 1: case 5:s+;break; case 3: case 4:break; case 0: case 2:s+=2;break;printf("s=%dn",s);6.下面程序运行结果是: 。(03试题)main( ) int x, i ; for( i=1,x=1; i<=50; i+ ) if(x>=10) break;if(x%2=1) x+=5;continue;x - = 3;printf(“%dn”, i ); 7.下面程序运行结果是: 。(0405第二学期试题)include<

23、stdio.h> main( ) int i,j;for(i=4;i>=1;i-) printf(“*”); for(j=1;j<=4-i;j+) printf(“*”); printf(“n”); 8.下面程序的运行结果是: 。(往届试题) main( ) int i; for(i=1;i<=5;i+) switch(i%5) case 0: printf(“*”) ; break; case 1: printf(“#”) ; break; default: printf(“n”); case 2: printf(“&”); 9.下面程序的运行结果是:_。(往

24、届试题)# include <stdio.h>main( ) int i, j ; for ( i = 0 ; i<= 3; i+ ) for ( j = 0; j<=5 ; j+ ) if ( i=0| j=0| i=3| j=5) printf(“*”); else printf( “ ” ) ; printf(“n”); 五、编程题1编写程序,求两个整数的最大公约数。(1级)2把输入的整数(最多不超过5位)按输入顺序的反方向输出,例如,输入数是12345,要求输出结果是54321,编程实现此功能。(1级)3中国古代数学家张丘建提出的“百鸡问题”:一只大公鸡值五个钱,一只母鸡值三个钱,三个小鸡值一个钱。现在有100个钱,要买100只鸡,是否可以?若可以,给出一个解,要求三种鸡都有。请写出求解该问题的程序。(1级)4求100200间的全部素数。

温馨提示

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

评论

0/150

提交评论