C 循环结构.docx
- 文档编号:24603435
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:22
- 大小:21.20KB
C 循环结构.docx
《C 循环结构.docx》由会员分享,可在线阅读,更多相关《C 循环结构.docx(22页珍藏版)》请在冰豆网上搜索。
C循环结构
第五部分:
循环结构
一、选择题
(1)有以下程序段
intn,t=1,s=0;
scanf("%d",&n);
do{s=s+t;t=t-2;}while(t!
=n);
为使此程序段不陷入死循环,从键盘输入的数据应该是
A)任意正奇数
B)任意负偶数
C)任意正偶数
D)任意负奇数
(2)设变量已正确定义,则以下能正确计算f=n!
的程序段是
A)f=0; B)f=1;
for(i=1;i<=n;i++)f*=i; for(i=1;i C)f=1; D)f=1; for(i=n;i>1;i++)f*=i; for(i=n;i>=2;i--)f*=i; (3)有以下程序 main() {intk=5,n=0; while(k>0) {switch(k) {default: break; case1: n+=k; case2: case3: n+=k; } k--; } printf("%d\n",n); } 程序运行后的输出结果是 A)0 B)4 C)6 D)7 (4)有以下程序 main() { inta=1,b; for(b=1;b<=10;b++) { if(a>=8)break; if(a%2==1){a+=5;continue;} a-=3; } printf("%d\n",b); } 程序运行后的输出结果是 A)3 B)4 C)5 D)6 (5)有以下程序 main() {ints=0,a=1,n; scanf("%d",&n); do {s+=1;a=a-2;} while(a! =n); printf("%d\n",s); } 若要使程序的输出值为2,则应该从键盘给n输入的值是 A)-1 B)-3 C)-5 D)0 (6)若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0) s=a; for(b=1;b<=c;b++)s=s+1; 则与上述程序段功能等价的赋值语句是 A)s=a+b; B)s=a+c; C)s=s+c; D)s=b+c; (7)有以下程序 main() {intk=4,n=4; for(;n {n++; if(n%3! =0)continue; k--;} printf("%d,%d\n",k,n); } 程序运行后的输出结果是 A)1,1 B)2,2 C)3,3 D)4,4 (8)要求以下程序的功能是计算: main() {intn;floats; s=1.0; for(n=10;n>1;n--) s=s+1/n; print("%6.4f\n",s); } 程序运行后输出结果错误,导致错误结果的程序行是 A)s=1.0; B)for(n=10;n>1;n--) C)s=s+1/n; D)printf("%6.4f/n",s); (9)有以下程序 main() {inti; for(i=0;i<3;i++) switch(i) {case1: printf("%d",i); case2: printf("%d",i); default: printf("%d",i); } } 执行后输出结果是 A)011122 B)012 C)012020 D)120 (10)有以下程序 main() {inti=0,s=0; do{ if(i%2){i++;continue;} i++; s+=i; }while(i<7); printf("%d\n",s); } 执行后输出结果是 A)16 B)12 C)28 D)21 (11)以下程序的功能是: 按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下: main() {intn,k; floatscore,sum,ave; sum=0.0; for(n=1;n<=10;n++) {for(k=1;k<=4;k++) {scanf(“%f”,&score);sum+=score;} ave=sum/4.0; printf(“NO%d: %f\n”,n,ave); } } 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。 这条语句是 A)sum=0.0; B)sum+=score; C)ave=sun/4.0; D)printf(“NO%d: %f\n”,n,ave); (12)有以下程序段 intn=0,p; do{scanf(“%d”,&p);n++;}while(p! =12345&&n<3); 此处do—while循环的结束条件是 A)P的值不等于12345并且n的值小于3 B)P的值等于12345并且n的值大于等于3 C)P的值不等于12345或者n的值小于3 D)P的值等于12345或者n的值大于等于3 (13)以下程序中,while循环的循环次数是 main() {inti=0; while(i<10) {if(i<1)continue; if(I==5)break; i++; } ...... } A)1 B)10 C)6 D)死循环,不能确定次数 (14)以下程序的输出结果是 main() {inta=0,i; for(i=;i<5;i++) {switch(i) {case0: case3: a+=2; case1: case2: a+=3; default: a+=5; } } printf("%d\n",a); } A)31 B)13 C)10 D)20 (15)以下程序的输出结果是 #include main() {inti=0,a=0; while(i<20) {for(;;) {if((i%10)==0)break; elsei--; } i+=11;a+=i; } printh("%d\n",a); } A)21 B)32 C)33 D)11 (16)t为int类型,进人下面的循环之前,t的值为0 while(t=l) {……} 则以下叙述中正确的是 A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对 (17)以下程序的输出结果是 main() {intnum=0; while(num<=2) {num++;printf(“%d\n”,num); } A)1B)1C)1D)l 222 33 4 (18)以下程序的输出结果是 main() {inta,b; for(a=1,b=1;a<=100;a++) {if(b>=10)break; if(b%3==1) {b+=3;continue;} } printf(“%d\n”,a); } A)101 B)6 C)5 D)4 (19)有以下程序段 intk=0 while(k=1)k++; while循环执行的次数是 A)无限次 B)有语法错,不能执行 C)一次也不执行 D)执行1次 (20)以下程序执行后sum的值是 A)15 B)14 C)不确定 D)0 min() {inti,sum; for(i=1;i<6;i++)sum+=i; printf(“%d\n”,sum); } (21)有以下程序段 intx=3 do {printf(“%d”,x-=2);} while(! (--x)); 其输出结果是 A)中1 B)30 C)1-2 D)死循环 (22)有如下程序 main0 {inti,sum; for(i=1;i<=3;sum++)sum+=i; printf(“%d\n”,sum); } 该程序的执行结果是 A)6 B)3 C)死循环 D)0 (23)有如下程序 main0 {intx=23; do {printf(“%d”,x--);} while(! x); } 该程序的执行结果是 A)321 B)23 C)不输出任何内容 D)陷入死循环 (24)有如下程序 main0 {intn=9; while(n>6){n--;printf(“%d”,n);} } 该程序段的输出结果是 A)987 B)876 C)8765 D)9876 (25)以下循环体的执行次数是 A)3B)2C)1D)0 main() {inti,j; for(i=0,j=1;i<=j+1;i+=2,j--)printf("%d\n",i); } (26)以下叙述正确的是 A)do-while语句构成的循环不能用其它语句构成的循环来代替。 B)do-while语句构成的循环只能用break语句退出。 C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。 D)用do-while语句构成的循环,在while后的表达式为零时结束循环。 (27)以下程序段的执行结果是 A)a=12y=12B)a=12y=12 a=14y=16 a=16y=28 a=16y=20 a=18y=24 C)a=12y=12D)a=12y=12 a=14y=26 a=14y=44 inta,y; a=10;y=0; do {a+=2;y+=a; printf("a=%dy=%d\n",a,y); if(y>20)break; {while(a=14); (28)以下程序的输出结果是 A)10192 B)9876 C)10990 D)101091 main() {intx=10,y=10,I; for(i=0;x>8;y=++i) printf("%d,%d",x--,y); } (29)以下程序的输出结果是 A)20 B)31 C)321 D)210 main() {intn=4; while(n--)printf("%d",--n); } (30)以下程序的输出结果是 A)#*#*# B)##### C)***** D)*#*#* main() {inti; for(i=1;i<6;i++) {if(i%2){printf("#");continue;} printf("*"); } printf("\n"); } (31)执行以下程序段时 A)循环体将执行一次 B)循环体将执行两次 C)循环体将执行无限次 D)系统将提示有语法错误 X=-1; do{x=x*x;}while(! x); (32)执行以下程序后,输出的结果是 A)-1B)1C)8D)0 main() {inty=10; do{y--;}while(--y); printf("%d\n",y--); } (33)在下列选项中,没有构成死循环的程序段是 A)inti=100 B)for(;;); while (1) {i=i%100+1; if(i>100)break; } C)intk=1000; D)ints=36; do{++k;}while(k>=10000);while(s);--s; (34)执行语句: for(i=l: i++<4: );后,变量i的值是 A)3 B)4 C)5 D)不定 (35)以下程序的输出结果是 A)x=4B)x=8C)x=6D)x=12 main() {inti,j,x=0; for(i=0;i<2;i++) {x++; for(j=0;j<=3;j++) {if(j%2)continue; x++; } x++; } printf("x=%d\n",x); } (36)运行以下程序后,如果从键盘上输入6514<回车>,则输出结果为: A)m=3B)m=2C)m=1 D)m=1 main() {intm,n; printf("Enterm,n;");scanf("%d%d",&m,&n): while(m! =n) {while(m>n)m-=n; while(n>m)n-=m; } printf("m=%d\n",m); } (37)设x和y均为int型变量,则执行下的循环后,y值为 for(y=1,x=1;y<=50;y++) {if(x>=10))break; if(x%2==1) {x+=5;continue;} x-=3; } A)2 B)4 C)6 D)8 (38)假定a和b为int型变量,则执行以下语句后b的值为 a=1;b=10; do {b-=a;a++;} while(b--<0); A)9B)-2C)-1D)8 (39)设j为int型变量,则下面for循环语句的执行结果是 for(j=10;j>3;j--) {if(j%3)j--; --j;--j; printf("%d",j); } A)63 B)74 C)62 D)73 (40)若ij已定义为int类型,则以下程序段中内循环体的总的执行次数是 for(i=5;i;i--) for(j=0;j<4;j++){...} A)20 B)25 C)24 D)30 (41)执行下面的程序后,a的值为 main() {inta,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)10 (42)以下程序段的输出结果是 intx=3; do{printf("%3d",x-=2);}while(! (--x)); A)1 B)30 C)1-2 D)死循环 (43)定义如下变量: intn=10;则下列循环的输出结果是 while(n>7) {n--; printf("%d\n",n);} A)10B)9C)10D)9 9898 8787 76 (44)下面的程序 A)输出的是1 B)输出的是1和-2 C)输出的是3和0 D)是死循环 main() {intx=3; do{ printf("%d\n",X-=2); }while(! (--x));} (45)下面程序的输出是 A)741 B)852 C)963 D)875421 main() {inty=9; for(;y>0;y--) {if(y%3==0) {printf("%d",--y);continue;} }. } (46)若x是int型变量,且有下面的程序片段: for(x=3;x<6;x++)printf((x%2)? ("**%d"): ("##%d\n"),x); 上面程序片段的输出结果是 A)**3B)##3C)##3D)**3##4 ##4**4**4##5**5 **5##5 (47)请读程序片段: #include main() {inta,b; for(a=1;b=1;a<=100;a++) {if(b>=20)break; if(b%3==1) {b+=3; continue; } b-=5; } printf("%d\n",a); } 上面程序的输出结果是 A)7 B)8 C)9 D)10 (48)请读程序: #include main() {intmun=0; while(num<=2) {num++;printf("%d\n",num);} } 上面程序的输出结果是 A)1 B)1 C)1 D)1 2 2 2 3 3 4 (49)请读程序: #include #include main() {floatx,y,z; scan("%f%f",&x,&y); z=x/y; while (1) {if(fabs(z)>1.0) {x=y;y=z;z=x/y; } elsebreak } printf("%f\n",y); } 若运行时从键盘上输入3.62.4 A)1.500000 B)1.600000 C)2.000000 D)2.400000 (50)执行下面程序片段的结果是 intx=23; do {printf("%2d",x--);} while(! x); A)打印出321 B)打印出23 C)不打印任何内容 D)陷入死循环 (51)语句while(! E);中的条件! E等价于 。 A)E==0 B)E! =1 C)E! =0 D)~E (52)C语言中 。 A)不能使用do-while语句构成的循环 B)do-while语句构成的循环必须用break语句才能退出 C)do-while语句构成的循环,当while语句中的表达式值为非零时结束循环 D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环 (53)以下程序的输出结果是 。 #include main() {inti; for(i=1;i<=5;i++){if(i%2)printf("*"); elsecontinue;printf("#");} printf("$\n");} A)*#*#*#$ B)#*#*#*$ C)*#*#$ D)#*#*$ 二、填空题: (1)以下程序的功能是计算: s=1+12+123+1234+12345。 请填空。 main() {intt=0,s=0,i; for(i=1;i<=5;i++) {t=i+【1】;s=s+t;} printf("s=%d\n",s); } (2)以下程序的功能是输出如下形式的方阵: 13141516 9101112 5678 1234 请填空。 main() {inti,j,x; for(j=4;j【2】;j--) {for(i=1;i<=4;i++) {x=(j-1)*4+【3】; printf("%4d",x); } printf("\n"); } } (3)以下程序运行后的输出结果是【4】。 main() {inti,m=0,n=0,k=0; for(i=9;i<=11;i++) switch(i/10) {case0: m++;n++;break; case10: n++;break; default: k++;n++; } printf("%d%d%d\n",m,n,k); } (4)以下程序运行后的输出结果是[5]。 main() {intx=15; while(x>10&&x<50) {x++; if(x/3){x++;break;} elsecontinue; } printf(“%d\n”,x); } (5)以下函数的功能是计算s=1+++……+,请填空。 doublefun(intn) {doubles=0.0,fac=1.0;inti; for(i=1,i<=n;i++) {fac=fac[6]; s=s+fac; } returns; } (6)以下程序的输出结果是【7】。 main() {ints,i; for(s=0,i=1;i<3;i++,s+=i); printf("%d\n",s); } (7)以下程序运行后的输出结果是【8】。 main() {inti=10,j=0; do {j=j+i;i-; while(i>2); printf(“%d\n”,j); } (8)设有以下程序: main() {intn1,n2; scanf(“%d”,&n2); while(n2! =0) {n1=n2%10; n2=n2/10; printf(“%d”,n1); } } 程序运行后,如果从键盘上输入1298;则输出结果为【9】。 (9)下面程序的功能是: 计算1到10之间奇数之和及偶数之和,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环结构 循环 结构