1、南昌大学C+第六章第6章 循环控制1、设变量已正确定义,则以下能正确计算f = n!的程序段是A) f=0; B) f=1; for(i=1;i=n;i+) f*=i; for(i=1;i1;i+) f*=i; for(i=n;i=2;i-) f*=i; D 教师批改:D2、有以下程序main() int k=5,n=0; while(k0) switch(k) default : break; case 1 : n+=k; case 2 : case 3 : n+=k; k-; printf(%dn,n);程序运行后的输出结果是A)0B)4C)6D)7D 教师批改:D3、有以下程序main(
2、) int a=1,b; for(b=1;b=8) break; if(a%2=1) a+=5; continue; a-=3; printf(%dn,b);程序运行后的输出结果是A)3B)4C)5D)6B 教师批改:B4、有以下程序main () int s=0,a=1,n;scanf(%d,&n);do s+=1; a=a-2; while(a!=n);printf(%dn,s);若要使程序的输出值为2,则应该从键盘给n输入的值是A) -1B) -3C) -5D) 0B 教师批改:B5、若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)s=a;for(b=1
3、;b=c;b+) s=s+1;则与上述程序段功能等价的赋值语句是A) s=a+b;B) s=a+c;C) s=s+c;D) s=b+c;B 教师批改:B6、有以下程序main() int k=4,n=4;for( ; n1;n-)s=s+1/n;print(%6.4fn,s);程序运行后输出结果错误,导致错误结果的程序行是A) s=1.0;B) for(n=10;n1;n-)C) s=s+1/n;D) printf(%6.4f/n,s);C 教师批改:C8、有以下程序main() int i;for(i=0;i3;i+) switch(i) case 1: printf(%d,i); case
4、 2: printf(%d,i); default: printf(%d,i); 执行后输出结果是A) 011122B) 012C) 012020D) 120A 教师批改:A9、有以下程序main() int i=0,s=0;doif(i%2)i+;continue;i+;s +=i;while(i7);printf(%dn,s);执行后输出结果是A) 16B) 12C) 28D) 21A 教师批改:A10、以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main() int n,k;float score ,sum,ave;sum=0.0;for
5、(n=1;n=10;n+) for(k=1;k=4;k+) scanf(“%f”,&score); sum+=score;ave=sum/4.0;printf(“NO%d:%fn”,n,ave); 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是A) sum=0.0;B) sum+=score;C) ave=sun/4.0;D) printf(“NO%d:%fn”,n,ave);A 教师批改:A11、有以下程序段int n=0,p;doscanf(“%d”,&p);n+;while(p!=12345 &n3);此处dowhile循环的结束条件是A) P的值不等
6、于12345并且n的值小于3B) P的值等于12345并且n的值大于等于3C) P的值不等于12345或者n的值小于3D) P的值等于12345或者n的值大于等于3D 教师批改:D12、以下程序中,while循环的循环次数是main() int i=0;while(i10) if(i1) continue;if(I=5) break; i+;.A) 1B) 10C) 6D) 死循环,不能确定次数D 教师批改:D13、以下程序的输出结果是main() int a=0,i;for(i=;i5;i+) switch(i) case 0:case 3:a+=2;case 1:case 2:a+=3;d
7、efault:a+=5;printf(%dn,a);A) 31B) 13C) 10D) 20A 教师批改:A14、以下程序的输出结果是#include main() int i=0,a=0;while(i20) for(;) if(i%10)=0) break;else i-;i+=11; a+=i;printh(%dn,a);A) 21B) 32C) 33D) 11B 教师批改:B15、t为int类型,进人下面的循环之前,t的值为0while( t=l ) 则以下叙述中正确的是A) 循环控制表达式的值为0B) 循环控制表达式的值为1C) 循环控制表达式不合法D) 以上说法都不对D 教师批改:
8、B16、以下程序的输出结果是main() int num= 0;while(num=2) num+; printf(“%dn”,num);A) 1 2 3 4 B) 1 2 3C) 1 2 D) 1B 教师批改:B17、以下程序的输出结果是main() int a, b;for(a=1, b=1; a=10) break;if (b%3= =1) b+=3; continue; printf(“%dn”,a);A) 101B) 6C) 5D) 4D 教师批改:D18、有以下程序段int k=0while(k=1)k+;while 循环执行的次数是A) 无限次B) 有语法错,不能执行C) 一次也
9、不执行D) 执行1次A 教师批改:A19、以下程序执行后sum的值是min() int i , sum; for(i=1;i6;i+) sum+=i; printf(“%dn”,sum);A)15B)14C) 不确定D)0C 教师批改:C20、有以下程序段int x=3do printf(“%d”,x-=2); while (!(-x);其输出结果是A)中 1B) 3 0C) 1 -2D) 死循环C 教师批改:C21、有如下程序main0 int i,sum;for(i=1;i6) n-;printf(“%d”,n);该程序段的输出结果是 A) 987 B) 876C) 8765 D) 987
10、6B 教师批改:B24、以下循环体的执行次数是 main() int i,j; for(i=0,j=1; i20) break; while(a=14); A) a=12 y=12 a=14 y=16 a=16 y=20 a=18 y=24 B) a=12 y=12 a=16 y=28C) a=12 y=12 D) a=12 y=12 a=14 y=26 a=14 y=44B 教师批改:B27、以下程序的输出结果是 main( ) int x=10,y=10,I; for(i=0;x8;y=+i) printf(%d,%d ,x-,y); A) 10 1 9 2 B) 9 8 7 6C) 10
11、 9 9 0 D) 10 10 9 1D 教师批改:D28、以下程序的输出结果是 main( ) int n=4; while(n-)printf(%d ,-n); A) 2 0 B) 3 1C) 3 2 1 D) 2 1 0A 教师批改:A29、以下程序的输出结果是 main( ) int i; for(i=1;i100)break; B) for( ; ;);C) int k=1000; do+k; while(k=10000); D) int s=36; while(s);-s;C 教师批改:C33、执行语句: for(i=l:i+4:);后,变量i的值是A) 3B) 4C) 5D) 不
12、定C 教师批改:C34、以下程序的输出结果是 main() int i,j,x=0; for(i=0;i2;i+) x+; for(j=0;j=3;j+) if(j%2)continue; x+; x+; printf(x=%dn,x); A) x=4B) x=8C) x=6D) x=12B 教师批改:B35、运行以下程序后,如果从键盘上输入65 14,则输出结果为: main() int m, n; printf(Enter m,n;); scanf(%d%d, &m,&n): while (m!=n) while (mn)m-=n; while (nm)n-=m; printf(m=%dn
13、,m); A) m=3B) m=2C) m=1D) m=1C 教师批改:C36、设x和y均为int型变量,则执行下的循环后,y值为 for(y=1,x=1;y=10)break; if (x%2=1) x+=5; continue; x-=3; A) 2B) 4C) 6D) 8C 教师批改:C37、假定a和b为int型变量,则执行以下语句后b的值为 a=1; b=10; do b-=a; a+; while (b-3;j-) if(j%3)j-; -j; -j; printf(%d ,j); A) 6 3B) 7 4C) 6 2D) 7 3B 教师批改:B39、若ij已定义为int类型,则以下
14、程序段中内循环体的总的执行次数是 for (i=5;i;i-) for(j=0;j4;j+).A)20B)25C)24D)30A 教师批改:A40、执行下面的程序后,a的值为main() int a,b; for (a=1,b=1;a=20) break; if(b%3=1) b+=3; continue; b-=5; A) 7B) 8C) 9D) 10B 教师批改:B41、以下程序段的输出结果是int x=3;do printf(%3d,x-=2); while(!(-x); A) 1 B) 3 0C) 1-2 D) 死循环C 教师批改:C42、下面的程序main() int x=3; do
15、 printf(%dn,X-=2); while(!(-x); A) 输出的是1 B) 输出的是1和-2C) 输出的是3和0 D) 是死循环B 教师批改:B43、下面程序的输出是main() int y=9; for( ; y0; y-) if(y%3=0) printf(%d, -y);continue; A) 741 B) 852C) 963 D) 875421B 教师批改:B44、若x是int型变量,且有下面的程序片段:for(x=3; x6; x+) printf(x%2)?(*%d):(#%dn),x);上面程序片段的输出结果是 A) *3 #4 *5 B) #3 *4 #5C) #
16、3 *4#5 D) *3#4 *5D 教师批改:D45、请读程序片段:#includemain() int a, b; for(a=1;b=1;a=20) break; if(b%3=1) b+=3; continue; b-=5; printf(%dn,a);上面程序的输出结果是 A) 7 B) 8C) 9 D) 10B 教师批改:B46、请读程序:#includemain() int mun=0; while(num=2) num+; printf(%dn,num);上面程序的输出结果是 A) 1 2 3 4 B) 1 2 3C) 1 2 D) 1C 教师批改:C47、请读程序:#incl
17、ude#includemain() float x,y,z; scan(%f%f,&x,&y); z=x/y; while(1) if(fabs(z)1.0) x=y; y=z; z=x/y; else break printf(%fn,y);若运行时从键盘上输入3.6 2.4(表示回车),则输出的结果是 A) 1.500000 B) 1.600000C) 2.000000 D) 2.400000B 教师批改:B48、执行下面程序片段的结果是( )int x=23;do printf(%2d,x-);while(!x); A) 打印出321 B) 打印出23C) 不打印任何内容 D) 陷入死循
18、环B 教师批改:B49、语句while(!E);中的条件!E等价于( )。 A)E = = 0 B)E!=1C)E!=0 D)EA 教师批改:A50、C语言中( )。 A)不能使用do-while语句构成的循环 B)do-while语句构成的循环必须用break语句才能退出C)do-while语句构成的循环,当while语句中的表达式值为非零时结束循环 D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环D 教师批改:D51、以下程序的输出结果是( )。 # include main() int i; for ( i=1;i=5;i + + ) if ( i%2 ) printf(*); else continue; printf(#);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1