循环控制Word文档格式.docx
- 文档编号:6194690
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:46
- 大小:36.24KB
循环控制Word文档格式.docx
《循环控制Word文档格式.docx》由会员分享,可在线阅读,更多相关《循环控制Word文档格式.docx(46页珍藏版)》请在冰点文库上搜索。
while(printf(“*”))
{
t++;
if(t<
3)break;
则下面描述正确的是 。
A)其中循环控制表达式与0等价B)其中循环控制表达式与‘0’等价
C)其中循环控制表达式是不合法的D)以上说法都不对
【题6.8】下面程序的功能是将从键盘输入的一对数,由小到大排序输出。
当输入一对相等数时结束循环,请选择填空。
#include<
stdio.h>
main()
inta,b,t;
scanf(“%d%d”,&
a,&
b);
while(【1】)
{
if(a>
b)
{t=a;
printf(“%d,%d”\n”,a,b);
scanf(“%d%d”,&
}
【1】A)!
a=bB)a!
=bC)a==bD)a=b
【题6.9】下面程序的功能是将从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空。
intm=0,n=0;
charc;
while((【1】)!
=‘\n’)
if(c>
=‘A’&
&
c<
=‘Z’)m++;
=‘a’&
=‘z’)n++;
printf(“%d\n”,m<
n?
【2】);
【1】A)c=getchar()B)getchar()C)scanf(“%c”,c)
【2】A)n:
mB)m:
nC)m:
mD)n:
n
【题6.10】下面程序的功能是将小写字母变成对应大写字母后的第二个字母。
其中y变成A,z变成B。
请选择填空。
charc;
while((c=getchar())!
{
if(c>
=‘z’)
{
【1】;
if(c>
‘Z’)
【2】;
}
printf(“%c”,c);
}
【1】A)c+=2B)c-=32C)c=c+32+2D)c-=30
【2】A)c=‘B’B)c=‘A’C)c-=26D)c=c+26
【题6.11】下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。
inta,max=0;
scanf(“%d”,&
a);
while(【1】)
if(max<
a)max=a;
scanf(“%d”,&
printf(“%d”,max);
【1】A)a==0B)aC)!
a==1D)!
a
【题6.12】下面程序的运行结果是 。
intnum=0;
while(num<
=2)
num++;
printf(“%d\n”,num);
A)1B)1C)1D)1
222
33
4
【题6.13】若运行以下程序时,从键盘输入2473<
回车>
,则下面程序的运行结果是 。
intc;
switch(c-‘2’)
case0:
case1:
putchar(c+4);
case2:
break;
case3:
putchar(c+3);
default:
putchar(c+2);
printf(“\n”);
A)668977B)668966C)66778777D)6688766
【题6.14】C语言中while和do-while循环的主要区别是 。
A)do-while的循环体至少无条件执行一次
B)while的循环控制条件比do-while的循环控制条件严格
C)do-while允许从外部转到循环体内
D)do-while的循环体不能是复合语句
【题6.15】以下能正确计算1×
2×
3×
…×
10的程序段是 。
A)do{i=1;
s=1;
B)do{i=1;
s=0;
s=s*i;
s=s*i;
i++;
i++;
}while(i<
=10);
C)i=1;
D)i=1;
do{s=s*i;
【题6.16】以下程序段 。
x=-1;
do
{x=x*x;
x);
A)是死循环B)循环执行二次
C)循环执行一次D)有语法错误
【题6.17】以下描述中正确的是 。
A)由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C)在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作
D)do-while循环中,根据情况可以省略while
【题6.18】若有如下语句
intx=3;
do{printf(“%d\n”),x-=2;
}while(!
(--x));
则上面程序段 。
A)输出的是1B)输出的是1和-2C)输出的是3和0D)是死循环
【题6.19】下面程序的功能是计算正整数2345的各位数字平方和,请选择填空。
intn,sum=0;
n=2345;
do{
sum=sum+【1】;
n=【2】;
}while(n);
printf(“sum=%d”,sum);
【1】A)n%10B)(n%10)*(n%10)C)n/10D)(n/10)*(n/10)
【2】A)n/1000B)n/100C)n/10D)n%10
【题6.20】下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环。
longintnum;
scanf(“%ld”,&
num);
if(【1】)printf(“%ld”,num);
scanf(“%ld”,&
while(【2】);
【1】A)num%100/10==3B)num/100%10==3
C)num%10/10==3D)num/10%10==3
【2】A)n=n-2B)n=nC)n++D)n-=1
【题6.21】等比数列的第一项a=1,公比q=2,下面程序的功能是求满足前n项和小于100的最大n,请选择填空。
inta,q,n,sum;
a=1;
q=2;
n=sum=0;
【1】;
++n;
a*=q;
}while(sum<
100);
【2】;
printf(“%d\n”,n);
【1】A)sum++B)sum+=aC)sum=a+aD)a+=sum
【题6.22】下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除。
inti=0,j,k;
do{i++;
k=316-13*i;
}while(【1】);
j=k/11;
printf(“316=13*%d+11*%d”,i,j);
【1】A)k/11B)k%11C)k/11==0D)k%11==0
【题6.23】下面程序的运行结果是 。
inty=10;
do{y--;
}while(--y);
printf(“%d\n”,y--);
A)-1B)1C)8D)0
【题6.24】若运行以下程序时,从键盘输入ADescriptor<
CR>
(<
表示回车),则下面程序的运行结果是 。
intv0=0,v1=0,v2=0;
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;
v0+=1;
v2+=1;
}while(c!
=‘\n’);
printf(“v0=%d,v1=%d,v2=%d\n”,v0,v1,v2);
A)v0=7,v1=4,v2=7B)v0=8,v1=4,v2=8
C)v0=11,v1=4,v2=11D)v0=12,v1=4,v2=12
【题6.25】下面程序的运行结果是 。
inta=1,b=10;
do{b-=a;
a++;
}while(b--<
0);
printf(“a=%d,b=%d\n”,a,b);
A)a=3,b=11B)a=2,b=8C)a=1,b=-1D)a=4,b=9
【题6.26】下面有关for循环的正确描述是 。
A)for循环只能用于循环次数已经确定的情况
B)for循环是先执行循环体语句,后判断表达式
C)在for循环中,不能用break语句跳出循环体
D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
【题6.27】对for(表达式1;
;
表达式3)可理解为 。
A)for(表达式1;
0;
表达式3)B)for(表达式1;
1;
表达式3)
C)for(表达式1;
表达式1;
D)for(表达式1;
表达式3;
【题6.28】若i为整型变量,则以下循环执行次数是 。
for(i=2;
i==0;
)printf(“%d”,i--);
A)无限次B)0次C)1次D)2次
【题6.29】以下for循环的执行次数是 。
for(x=0,y=0;
(y=123)&
(x<
4);
x++)
A)是无限循环B)循环次数不定C)执行4次D)执行3次
【题6.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;
【题6.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=27B)x=12,y=13C)x=15,y=14D)x=y=27
【题6.32】下面程序段的运行结果是 。
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
【题6.33】下列程序段不是死循环的是 。
A)inti=100;
while
(1)
{
i=i%100+1;
if(i>
100)break;
);
C)intk=0;
do{++k;
}while(k>
=0);
D)ints=36;
while(s);
--s;
【题6.34】执行语句for(i=1;
i++<
4;
后变量i的值是 。
A)3B)4C)5D)不定
【题6.35】有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;
若分成7个零件一组,则多3个零件;
若分成9个零件一组,则多5个零件。
下面程序是求这堆零件总数,请选择填空。
inti;
for(i=100;
i<
200;
i++)
if((i-2)%4==0)
if(!
((i-3)%7))
if(【1】)
printf(“%d”,i);
A)i%9=5B)i%9!
=5C)(i-5)%9!
=0D)i%9==5
【题6.36】下面程序的功能是计算1至50中是7的倍数的数值之和,请选择填空。
inti,sum=0;
for(i=1;
=50;
if(【1】)sum+=I;
printf(“%d”,sum);
A)(int)(i/7)==i/7B)(int)i/7==i/7C)i%7=0D)i%7==0
【题6.37】下面程序的功能是计算1至10之间的奇数之和及偶数之和。
inta,b,c,i;
a=c=0;
for(i=0;
=10;
i+=2)
a+=i;
c+=b;
printf(“偶数之和=%d\n”,a);
printf(“奇数之和=%d\n”,【2】);
【1】A)b=i--B)b=i+1C)b=i++D)b=i-1
【2】A)c-10B)cC)c-11D)c-b
【题6.38】下面程序的运行结果是 。
=5;
switch(i%5)
printf(“*”);
printf(“#”);
printf(“\n”);
printf(“&
”);
A)#&
*B)#&
C)#D)#&
&
&
*&
*
&
*
【题6.39】下面程序的运行结果是 。
intx,i;
=100;
x=i;
if(++x%2==0)
if(++x%3==0)
if(++x%7==0)
printf(“%d”,x);
【题6.40】下面程序段的功能是计算1000!
的末尾含有多少个零。
(提示:
只要算出1000!
中含有因数5的个数即可)
for(k=0,i=5;
=1000;
i+=5)
m=i;
while(【1】){k++;
m=m/5;
【1】A)m%5==0B)m=m%5==0C)m%5==0D)m%5!
=0
【题6.41】下面程序的功能是求算式xyz+yzz=532中x,y,z值(其中xyz和yzz分别表示一个三位数),请选择填空。
intx,y,z,i,result=532;
for(x=1;
for(y=1;
y++)
for(【1】;
z<
z++)
{
i=100*x+10*y+z+100*y+10*z+z;
if(【2】)
printf(“x=%d,y=%d,z=%d\n”,x,y,z);
【1】A)z=xB)z=1C)z=0D)z=y
【2】A)i/result==1B)i=resultC)i!
=resultD)i==result
【题6.42】下面程序是输出一个正整数等差数列的前十项,此数列前四项之和及之积分别是26和880,请选择填空。
inta,d,i,s,f,x;
/*a是第一项*/
for(a=1;
a<
30;
a++)
for(d=1;
【1】;
d++)
s=0;
f=1;
x=a;
for(i=1;
=4;
s=s+x;
f=f*x;
x=x+d;
}
if(s==26&
f==880)
for(i=0;
printf(“%3d”,【2】);
【1】A)d<
=aB)空C)d<
=5D)d<
【2】A)a+i*dB)i*dC)a+(i+1)*dD)a+d
【题6.43】下面程序的运行结果是 。
inti,b,k=0;
b=i%2;
while(b-->
=0)k++;
printf(“%d,%d”,k,b);
A)3,-1B)8,-1C)3,0D)8,-2
【题6.44】以下正确的描述是 。
A)continue语句的作用是结束整个循环的执行
B)只能在循环体内和switch语句体内使用break语句
C)在循环体内使用break语句或continue语句的作用相同
D)从多层循环嵌套中退出时,只能使用goto语句
【题6.45】下面程序段 。
for(t=1;
t<
t++)
if(x<
0)continue;
printf(“%3d”,t);
A)当x<
0时整个循环结束B)x>
=0时什么也不输出
C)printf函数永远也不执行D)最多允许输出100个非负整数
【题6.46】下面程序段 。
x=3;
do{
y=x--;
if(!
y){printf(“x”);
continue;
printf(“#”);
}while(1<
=x<
A)将输出##B)将输出##*
C)是死循环D)含有不合法的控制表达式
【题6.47】以下是死循环的程序段是 。
A)for(i=1;
)
if(++i%2==0)continue;
if(++i%3==0)break;
}
B)i=32767;
do{if(i<
0)break;
}while(++i);
C)for(i=1;
)if(++i<
10)continue;
D)i=1;
while(i--);
【题6.48】以下描述正确的是 。
A)goto语句只能用于退出多层循环
B)switch语句中不能出现continue语句
C)只能用continue语句来终止本次循环
D)在循环中break语句不能独立出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 控制