收藏 分销(赏)

do-while及for练习.doc

上传人:仙人****88 文档编号:7210896 上传时间:2024-12-28 格式:DOC 页数:10 大小:52.54KB 下载积分:10 金币
下载 相关 举报
do-while及for练习.doc_第1页
第1页 / 共10页
do-while及for练习.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
14、C语言中while和do-while循环的主要区别是( ) (A) do-while的循环体至少无条件执行一次 (B) while的循环控制条件比do-while的循环控制条件严格 (C) do-while允许从外部转到循环体内 (D) do-while的循环体不能是复合语句 15、以下能正确计算1×2×3×...×10的程序段是( ) (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; do{s=s*i; i++; }while(i<=10); 16、以下程序段( ) x=-1; do{x=x*x;}while(!x); (A) 是死循环 (B) 循环执行二次 (C) 循环执行一次 (D) 有语法错误 18、若有如下语句 int x=3; do{printf("%d\n",x-=2);}while(!(--x)); 则上面程序段( ) (A) 输出的是1 (B) 输出的是1和-2 (C) 输出的是3和0 (D) 是死循环 19、下面程序的功能是计算正整数2345的各位数字平方和,请选择填空。①( )②( ) #include<stdio.h> void main() { int n,sum=0; n=2345; do{ sum=sum+ ① ; n= ② ; }while(n); printf("sum=%d",sum); } ① (A) n%10 (B) (n%10)*(n%10) (C) n/10 (D) (n/10)*(n/10) ② (A) n/1000 (B) n/100 (C) n/10 (D) n%10 20、下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环。请选择填空。①( )②( ) #include<stdio.h> void main() { long int num; scanf("%ld",&num); do{if( ① ) printf("%ld",num); scanf("%ld",&num); }while( ② ); } ① (A) num%100/10==3 (B) num/100%10==3 (C) num%10/10==3 (D) num/10%10==3 ② (A) !num (B) num>0==0 (C) !num==0 (D) !num!=0 21、等比数列的第一项a=1,公比q=2,下面程序的功能是求满足前n项和小于100的最大n,请选择填空。①( )②( ) #include<stdio.h> void main() { int a,q,n,sum; a=1; q=2; n=sum=0; do{ ① ; ++n; a*=q; }while(sum<100); ② ; printf("%d\n",n); } ① (A) sum++ (B) sum+=a (C) sum*=a (D) a+=sum ② (A) n=n-2 (B) n=n (C) n++ (D) n-=1 22、下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除。请选择填空。①( ) #include<stdio.h> void main() { int i=0,j,k; do{i++; k=316-13*i;} while( ① ); j=k/11; printf("316=13*%d+11*%d",i,j); } ① (A) k/11 (B) k%11 (C) k/11==0 (D) k%11==0 23、下面程序的运行结果是( ) #include<stdio.h> void main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); } (A) -1 (B) 1 (C) 8 (D) 0 24、若运行以下程序时,从键盘输入ADescriptor〈CR〉(〈CR〉表示回车),则下面程序的运行结果是( ) #include<stdio.h> void main() { char c; int v0=0,v1=0,v2=0; do{ switch(c=getchar()) { case 'a': case 'A': case 'e': case 'E': case 'i': case 'I': case 'o': case 'O': case 'u': case 'U': v1+=1; default: v0+=1; v2+=1; } }while(c!='\n'); printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2); } (A) v0=7,v1=4,v2=7 (B) v0=8,v1=4,v2=8 (C) v0=11,v1=4,v2=11 (D) v0=12,v1=4,v2=12 25、下面程序的运行结果是( ) #include<stdio.h> void main() { int a=1,b=10; do{ b-=a; a++; } while(b--<0); printf("a=%d,b=%d\n",a,b); } (A) a=3,b=11 (B) a=2,b=8 (C) a=1,b=-1 (D) a=4,b=9 26、下面有关for循环的正确描述是( ) (A) for循环只能用于循环次数已经确定的情况 (B) for循环是先执行循环体语句,后判断表达式 (C) 在for循环中,不能用break语句跳出循环体 (D) for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 27、对for(表达式1; ; 表达式3)可理解为( ) (A) for(表达式1; 0; 表达式3) (B) for(表达式1; 1; 表达式3) (C) for(表达式1; 表达式1; 表达式3) (D) for(表达式1; 表达式3; 表达式3) 28、若i为整型变量,则以下循环执行次数是( ) for(i=2;i==0;) printf("%d",i--); (A) 无限次 (B) 0次 (C) 1次 (D) 2次 29、以下for循环的执行次数是( ) for(x=0,y=0;(y=123)&&(x<4);x++); (A) 是无限循环 (B) 循环次数不定 (C) 执行4次 (D) 执行3次 30、以下不是无限循环的语句为( ) (A) for(y=0,x=1;x>++y;x=i++) i=x; (B) for( ; ; x++=i); (C) while(1){x++;} (D) for(i=10; ;i--) sum+=i; 31、下面程序段的运行结果是( ) for(y=1;y<10;) y=((x=3*y,x+1),x-1); printf("x=%d,y=%d",x,y); (A) x=27,y=27 (B) x=12,y=13 (C) x=15,y=14 (D) x=y=27 32、下面程序段的运行结果是( ) for(x=3;x<6;x++) printf((x%2)?("**%d"):("##%d\n"),x); (A) **3 ##4 **5 (B) ##3 **4 ##5 (C) ##3 **4##5 (D) **3##4 **5 33、下列程序段不是死循环的是( ) (A) int i=100; while(1) { i=i%100+1; if(i>100) break; } (B) for( ; ; ); (C) int k=0; do{++k;}while(k>=0); (D) int s=36; while(s); --s; 34、执行语句for(i=1;i++<4; ); 后变量i的值是( ) (A) 3 (B) 4 (C) 5 (D) 不定 35、有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。下面程序是求这堆零件总数,请选择填空。①( ) #include<stdio.h> void main() { int i; for(i=100;i<200;i++) if((i-2)%4==0) if(!((i-3)%7)) if( ① ) printf("%d",i); } (A) i%9=5 (B) i%9!=5 (C) (i-5)%9!=0 (D) i%9==5 36、下面程序的功能是计算1至50中是7的倍数的数值之和,请选择填空。①( ) #include<stdio.h> void main() { int i,sum=0; for(i=1;i<=50;i++) if( ① ) sum+=i; printf("%d",sum); } (A) (int)(i/7)==i/7 (B) (int)i/7==i/7 (C) i%7=0 (D) i%7==0 37、下面程序的功能是计算1至10之间的奇数之和及偶数之和。请选择填空。①( ) ②( ) #include<stdio.h> void main() { int a,b,c,i; a=c=0; for(i=0;i<=10;i+=2) { a+=i; ① ; c+=b; } printf("偶数之和=%d\n",a); printf("奇数之和=%d\n", ② ); } ① (A) b=i-- (B) b=i+1 (C) b=i++ (D) b=i-1 ② (A) c-10 (B) c (C) c-11 (D) c-b 38、下面程序的运行结果是( ) #include<stdio.h> void 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("&"); } } (A) #&&&* (B) #& & &* (C) # & & & * (D) #& * 39、下面程序的运行结果是( ) #include<stdio.h> void main() { int x,i; for(i=1;i<=100;i++) { x=i; if(++x%2==0) if(++x%3==0) if(++x%7==0) printf("%d ",x); } } (A) 39 81 (B) 42 84 (C) 26 68 (D) 28 70 40、下面程序段的功能是计算1000!的末尾含有多少个零。请选择填空。(提示:只要算出1000!中含有因数5的个数即可)①( ) for(k=0,i=5;i<=1000;i+=5) { m=i; while( ① ){k++; m=m/5;} } (A) m%5=0 (B) m=m%5==0 (C) m%5==0 (D) m%5!=0 41、下面程序的功能是求算式xyz+yzz=532中x,y,z的值(其中xyz和yzz分别表示一个三位数),请选择填空。①( )②( ) #include<stdio.h> void main() { int x,y,z,i,result=532; for(x=1; x<10; x++) for(y=1; y<10; y++) for( ① ; z<10; z++) { i=100*x+10*y+z+100*y+10*z+z; if( ② ) printf("x=%d,y=%d,z=%d\n",x,y,z); } } ① (A) z=x (B) z=1 (C) z=0 (D) z=y ② (A) i/result==1 (B) i=result (C) i!=result (D) i==result 42、下面程序是输出一个正整数等差数列的前十项,此数列前四项之和及之积分别是26和880,请选择填空。①( )②( ) #include<stdio.h> void main() { int a,d,i,s,f,x; /* a是第一项 */ for(a=1;a<30;a++) for(d=1; ① ;d++) { s=0; f=1; x=a; for(i=1;i<=4;i++) { s=s+x; f=f*x; x=x+d; } if(s==26&&f==880) for(i=0;i<10;i++) printf("%3d", ② ); } printf("\n"); } ① (A) d<=a (B) 空 (C) d<=5 (D) d<a ② (A) a+i*d (B) i*d (C) a+(i+1)*d (D) a+d 43、下面程序的运行结果是( ) #include<stdio.h> void main() { int i,b,k=0; for(i=1;i<=5;i++) { b=i%2; while(b-->=0) k++; } printf("%d,%d",k,b); } (A) 3,-1 (B) 8,-1 (C) 3,0 (D) 8,-2 44、以下正确的描述是( ) (A) continue语句的作用是结束整个循环的执行 (B) 只能在循环体内和switch语句体内使用break语句 (C) 在循环体内使用break语句或continue语句的作用相同 (D) 从多层循环嵌套中退出时,只能使用goto语句 45、下面程序段( ) for(t=1;t<=100;t++) { scanf("%d",&x); if(x<0) continue; printf("%3d",t); } (A) 当x<0时整个循环结束 (B) x>=0时什么也不输出 (C) printf函数永远也不执行 (D) 最多允许输出100个非负整数
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服