C语言预赛练习之循环结构.docx
- 文档编号:30037087
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:46
- 大小:24.78KB
C语言预赛练习之循环结构.docx
《C语言预赛练习之循环结构.docx》由会员分享,可在线阅读,更多相关《C语言预赛练习之循环结构.docx(46页珍藏版)》请在冰豆网上搜索。
C语言预赛练习之循环结构
C语言预赛练习之-循环结构
1、在C语言中,下列说明正确的是
A)不能使用do-while构成的循环
B)do-while构成的循环必须用break才能退出
C)do-while构成的循环,当while中的表达式值为非零时结束循环
D)do-while构成的循环,当while中的表达式值为零时结束循环
D
2、以下叙述正确的是
A)do-while语句构成的循环不能用其它语句构成的循环来代替
B)do-while语句构成的循环只能用break语句退出
C)用do-while语句构成的循环,在while后的表达式为非零时结束循环
D)用do-while语句构成的循环,在while后的表达式为零时结束循环
D
3、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是
for(i=5;i;i--)
for(j=0;j<4;j++){...}
A)20B)25
C)24D)30
A
4、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为
for(i=0,j=10;i<=j;i++,j--)k=i+j;
A)12B)10
C)11D)9
B
5、当执行以下程序段时
x=-1;
do{x=x*x;}while(!
x);
A)循环体将执行一次
B)循环体将执行两次
C)循环体将执行无限次
D)系统将提示有语法错误
A
6、执行语句:
for(i=1;i++<4;);后变量i的值是
A)3B)4
C)5D)不定
C
7、要使以下程序段输出10个整数,请填入一个整数。
for(i=0;i<=___;printf("%d\n",i+=2));
A)17B)18
C)20D)21
B
8、若输入字符串:
abcde<回车>,则以下while循环体将执行多少次。
while((ch=getchar())=='e')printf("*");
A)5B)4
C)6D)1
B
9、t为int型,进入下面的循环之前,t的值为0
while(t=1){……}
则以下叙述中正确的是
A)循环控制表达式的值为0B)循环控制表达式的值为1
C)循环控制表达式不合法D)以上说法都不对
B
10、有以下程序段
intk=0;
while(k=1)k++;
while循环执行的次数是
A)无限次B)有语法错,不能执行
C)一次也不执行D)执行一次
A
11、C语言用()表示逻辑"真"值。
A)trueB)t或y
C)1D)0
C
12、语句while(!
e);中的条件!
e等价于()。
A)e==0B)e!
=1
C)e!
=0D)~e
A
13、以下for循环是()。
for(x=0,y=0;(y!
=123)&&(x<4);x++)
A)无限循环B)循环次数不定
C)执行4次D)执行3次
C
14、对于for(表达式1;;表达式3)可理解为()。
A)for(表达式1;0;表达式3)
B)for(表达式1;1;表达式3)
C)for(表达式1;表达式1;表达式3)
D)for(表达式1;表达式3;表达式3)
B
15、C语言中while和do-while循环的主要区别是()。
A)do-while的循环体至少无条件执行一次
B)while的循环控制条件比do-while的循环控制条件严格
C)do-while允许从外部转到循环体内
D)do-while的循环体不能是复合语句
A
16、下面关于for循环的正确描述是()。
A)for循环只能用于循环次数已经确定的情况
B)for循环的循环体可以是一个复合语句
C)在for循环中,不能用break语句跳出循环体
D)for循环的循环体不能是一个空语句
B
17、若i为整型变量,则以下循环语句的循环次数是()。
for(i=2;i==0;)
printf("%d",i--);
A)无限次B)0次
C)1次D)2次
B
18、以下叙述正确的是()。
A)continue语句的作用是结束整个循环的执行
B)只能在循环体内和switch语句体内使用break语句
C)在循环体内使用break语句或continue语句的作用相同
D)从多层循环嵌套中退出时,只能使用goto语句
B
19、对下面程序段,描述正确的是()。
for(t=1;t<=100;t++)
{scanf("%d",&x);
if(x<0)continue;
printf("%d\n",t);
}
A)当x<0时,整个循环结束
B)当x>=0时,什么也不输出
C)printf函数永远也不执行
D)最多允许输出100个非负整数
D
20、对下面程序段叙述的正确的是()。
intk=0;
while(k=0)k=k-1;
A)while循环执行10次B)无限循环
C)循环体一次也不被执行D)循环体被执行一次
C
21、若i,j已定义成int型,则以下程序段中内循环体的总
执行次数是()。
for(i=3;i;i--)
for(j=0;j<2;j++)
for(k=0;k<=2;k++)
{......}
A)18B)27
C)36D)30
A
22、下面程序段中,循环体的执行次数是()。
inta=10,b=0;
do{b+=2;a-=2+b;}while(a>=0);
A)4B)5
C)3D)2
C
23、在下列选项中,没有构成死循环的程序段是
A)inti=100;
while
(1)
{i=i%100+1;
if(i>100)break;
}
B)for(;;);
C)intk=1000;
do{++k;}while(k>=1000);
D)ints=36;
while(s)--s;
D
24、请读程序:
#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)7B)8
C)9D)10
B
25、以下程序的输出结果是
main()
{inta,b;
for(a=1,b=1;a<=100;a++)
{if(b>=10)break;
if(b%5==1){b+=5;continue;}}
printf("%d\n",a);}
A)101B)6
C)4D)3
D
26、若x是int型变量,且有下面的程序片段:
for(x=3;x<6;x++)
printf((x%2)?
("**%d"):
("##%d\n"),x);
上面程序片段的输出结果是
A)**3B)##3
##4**4
**5##5
C)##3D)**3##4
**4##5**5
D
27、以下程序的输出结果是()。
#include
main()
{
inti;
for(i=1;i<=5;i++)
if(i%2)
printf("*");
elsecontinue;
printf("#");
printf("$\n");
}
A)***#$B)#*#*#*$
C)*#*#*#$D)**#*$
A
28、下面程序的输出结果是()。
main()
{inti;
for(i=1;i<=5;i++)
{if(i%2)printf("*");
elsecontinue;
printf("#");
}
printf("$\n");
}
A)*#*#*#$B)#*#*#*$
C)#*#*$D)*#*#$
A
29、以下程序段的输出结果是()。
intk,j,s;
for(k=2;k<6;k++,k++)
{s=1;
for(j=k;j<6;j++)
s+=j;}
printf("%d\n",s);
A)1B)9
C)11D)10
D
定义如下变量:
intn=10;
则下列循环的输出结果是()。
while(n>7)
{n--;printf("%d\n",n);}
A)10B)9C)10D)9
9898
8787
76
B
31、下面程序的输出结果是()。
main()
{intx=3;
do{
printf("%d",x-=2);
}while(!
(--x));
}
A)1B)1-2
C)30D)是死循环
B
32、下面程序的输出结果是()。
main()
{inty=9;
for(;y>0;y--)
{if(y%3==0)
{printf("%d",--y);
continue;}
}
}
A)741B)852
C)963D)875421
B
33、以下程序段的输出结果是()。
intk,n,m;
n=10;m=1;k=1;
while(k<=n){m*=2;k+=4;}
printf("%d\n",m);
A)4B)16
C)8D)32
C
34、若有以下程序段,w和k都是整型变量:
w=k;
LB:
if(w==0)gotoLE;
w--;printf("*");
gotoLB;
LE:
则不能与上面程序段等价的循环语句是
A)for(w=k;w!
=0;w--)B)w=k;while(w--!
=0)
printf("*");printf("*");w++;
C)w=k;do{w--;D)for(w=k;w;--w)
printf("*");}while(w!
=0)printf("*");
C
35、设有如下程序段:
inti=0,sum=1;
do
{sum+=i++;}
while(i<6);
printf("%d\n",sum);
上述程序段的输出结果是()。
A)11B)16
C)22D)15
B
36、执行下面程序后sum的值是()。
main()
{inti,sum=0;
for(i=1;i<6;i++)
sum+=i;
printf("%d\n",sum);
}
A)15B)14
C)不确定D)0
A
37、以下程序的输出结果是()。
#include
main()
{intcount,i=0;
for(count=1;count<=4;count++)
{i+=2;printf("%d",i);}
}
A)20B)246
C)2468D)2222
C
38、下面程序的输出结果是()。
main()
{unsignedintnum,k;
num=26;k=1;
do{
k*=num%10;
num/=10;
}while(num);
printf("%d\n",k);
}
A)2B)12
C)60D)18
B
39、下面函数的功能是根据以下的公式,返回满足精度∈要求的π值,请填空。
π 1121231234
—=1+—+——+———+————+……
23353573579
main()
{doubleesp,s=0.0,t=1.0;
intn;
scanf("%f",&esp);
for(_________;t>esp;n++)
{__________;
t=n*t/(2*n+1);}
s=2*s;
printf("s=%f\n",s);
}
A)n=1B)t=1
s+=ts=s/t
C)t=1D)n=1.0
s=s+tt+=s
A
40、运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()。
main()
{inti,x;
for(i=0;i<2;i++)
{scanf("%d",&x);
if(x++>5)printf("%d",x);
elseprintf("%d\n",x--);
}
}
A)7和5B)6和3
C)7和4D)6和4
A
41、阅读以下程序:
main()
{intx;
for(x=5;x>0;x--)
if(x--<5)printf("%d,",x);
elseprintf("%d,",x++);}
程序运行后的输出结果是()。
A)4,3,1B)4,3,1,
C)5,4,2D)5,3,1,
B
42、以下程序的功能是:
从键盘上输入若干个学生的成绩,统计并输出
最高成绩和最低成绩,当输入负数时结束输入。
请填空。
main()
{floatx,amax,amin;
scanf("%f",&x);
amax=x;
amin=x;
while(________)
{if(x>amax)amax=x;
if(______)amin=x;
scanf("%f",&x);
}
printf("\namax=%f\namin=%f\n",amax,amin);
}
A)x<=0B)x>0
x>aminx<=amin
C)x>0D)x>=0
x>aminx D 43、下面程序是计算n个数的平均值,请填空。 main() {inti,n; floatx,avg=0.0; scanf("%d",&n); for(i=0;i {scanf("%f",&x); avg=avg+______;} avg=________; printf("avg=%f\n",avg); } A)iB)x avg/iavg/n C)xD)i avg/xavg/n B 44、下面程序的输出结果是()。 main() { inti,k=0,a=0,b=0; for(i=1;i<=4;i++) {k++; if(k%2==0){a=a+k;continue;} b=b+k; a=a+k; } printf("k=%da=%db=%d\n",k,a,b); } A)k=5a=10b=4B)k=3a=6b=4 C)k=4a=10b=3D)k=4a=10b=4 D 45、以下程序段的执行结果是()。 inti,j,m=0; for(i=1;i<=15;i+=4) for(j=3;j<=19;j+=4) m++; printf("%d\n",m); A)12B)15 C)20D)25 C 46、下面程序的输出结果是()。 main() {intx,i; for(i=1;i<=50;i++) {x=i; if(++x%2==0) if(x%3==0) if(x%7==0) printf("%d",i); } } A)28B)27 C)42D)41 D 47、在执行以下程序时,如果从键盘上输入: ABCdef<回车>, 则输出为 #include main() {charch; while((ch=getchar())! ='\n') {if(ch>='A'&&ch<='Z')ch=ch+32; elseif(ch>='a'&&ch<'z')ch=ch-32; printf("%c",ch); } printf("\n"); } A)ABCdefB)abcDEF C)abcD)DEF B 48、执行以下程序后,输出的结果是()。 main() {inty=10; do{y--;} while(--y); printf("%d\n",y--); } A)-1B)1 C)8 D)0 D 49、运行以下程序后,如果从键盘上输入: 6514<回车>, 则输出结果为 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); } A)m=3B)m=2 C)m=1D)m=0 C 50、下面程序的输出结果是()。 main() {intx=10,y=10,i; for(i=0;x>8;y=++i) printf("%d%d",x--,y); } A)10192B)9876 C)10990D)101091 D 51、下面程序的输出结果是()。 main() {intn=4; while(n--)printf("%d",n--); } A)20B)31 C)321D)210 A 52、下面程序的输出结果是()。 main() {inti; for(i=1;i<6;i++) {if(i%2){printf("#");continue;} printf("*"); } printf("\n"); } A)#*#*#B)##### C)*****D)*#*#* A 53、以下循环体的执行次数是 main() {inti,j; for(i=0,j=1;i<=j+1;i+=2,j--) printf("%d\n",i); } A)3B)2 C)1D)0 C 54、以下程序段的执行结果是 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); . . . A)a=12y=12B)a=12y=12C)a=12y=12D)a=12y=12 a=14y=16a=16y=28a=14y=26 a=16y=20a=14y=44 a=18y=24 B 55、有如下程序 main() {inti,sum=0; for(i=1;i<=3;sum++)sum+=i; printf("%d\n",sum); } 该程序的执行结果是 A)6B)3 C)死循环D)0 C 56、有如下程序 main() {intx=23; do {printf("%d",x--);} while(! x); } 该程序的执行结果是 A)321B)23 C)不输出任何内容D)陷入死循环 B 57、有如下程序 main() {intn=9; while(n>6){n--;printf("%d",n);} } 该程序段的输出结果是 A)987B)876 C)8765D)9876 B 58、函数pi的功能是根据以下近似公式求π值: (π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n) 请填空,完成求π的功能。 #include main() {doubles=0.0;longinti,n; scanf("%ld",&n); for(i=1;i<=n;i++) s=s+_______; s=(sqrt(6*s)); printf("s=%e",s); } A)1/i*iB)1.0/i*i C)1.0/(i*i)D)1.0/(n*n) C 59、以下程序运行后的输出结果是()。 main() {inti=10,j=0; do {j=j+1;i--;} while(i>2); printf("%d\n",j); } A)50B)52 C)51D)8 D 60、设有以下程序 main() {intn1,n2; scanf("%d",&n2); while(n2! =0) {n1=n2%10; n2=n2/10; printf("%d",n1); } } 程序运行后,如果从键盘上输入1298,则输出结果为()。 A)892B)8921 C)89D)921 B 61、以下函数的功能是: 求x的y次方,请填空。 main() {inti,x,y; doublez; scanf("%d%d",&x,&y); for(i=1,z=x;i z=z*______; printf("x^y=%e\n",z); } A)i++B)x++ C)xD)i C 62、下面程序的运行结果是()。 main() {inti; for(i=1;i<=100;i++) if((i*i>=150)&&(i*i<=200)) break; printf("%d\n",i*i); } A)144B)255 C)169D)121 C 63、下面程序的运行结果是()。 main() {inta,b; a=-1; b=0; do{ ++a; ++a; b+=a; }while(a<9); printf("%d\n",b); } A)34B)24 C)26D)25 D 64、执行下面程序段后
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 预赛 练习 循环 结构