循环练习题
第一次作业:
1.设有程序段 int k=10; while (k=0) k=k-1; 则下面描述中正确的是 ( )
A. while循环执行10次 B.循环是无限循环
A. while循环执行10次 B.循环是无限循环
C. 循环体语句一次也不执行 D.循环体语句执行一次
2.设有以下程序段 int x=0,s=0; while(!x!=0)s+=++x;cout<<s;则( )
A. 运行程序段后输出0 B. 运行程序段后输出1
C. 程序段中的控制表达式是非法的 D. 程序段执行无限次
3、下面程序段的运行结果是( )
int x=0,y=0;
while(x<15) y++,x+=++y;
cout<<y<<x;
A、20,7 B、6,12 C、20,8 D 8,20
4、下面程序段的运行结果是( )
int n=0;
while (n++<=2); cout<<n;
A,2 B、3 C、4 D 有语法错误
5、下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等的数时结束循环,请选择填空。
void main()
{ int a,b,t;
cin>>a>>b;
while( )
{if(a>b) {t=a;a=b;b=t;}
cout<<a<<b;}
cout<<a<<b;
}
A、!a=b B、a!=b C、a==b D、a=b
6、下面程序的运行结果是( )
void main( )
{int num=0;
while(num<=2)
{num++; cout<<num<<endl;}}
A.1 B.1<CR>2
C.1<CR>2<CR>3 D.1<CR>2<CR>3<CR>4
7、C++语言中while和do-while循环的主要区别是( )
A.do-while的循环体至少无条件执行一次
B.while的循环控制条件比do–while的循环控制条件严格
C.do-while允许从外部转到循环体内 D.do-while的循环体不能是复合语句
8、以下程序段( )
x=-1;
do{x=x*x;}
while(!x);
A.是死循环 B.循环执行二次
C.循环执行一次 D.有语法错误
9、以下描述中正确的是( )
A.由于do -while循环中循环语句中只能是一条可执行语句,所以循环体内不能使用复合语句。
B.do-while循环由do开始,且while结束,在while(表达式)后面不能写分号。
C.在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作。
D.do-while循环中,根据情况可以省略while
10、下面有关for循环的正确描述是( )
A.for循环只能有于循环次数已经确定的情况
B.for 循环是先执行循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须花括号括起来
11、对for(表达式1;; 表达式3)可理解为( )
A.for(表达式1;0; 表达式3) B.for(表达式1;1;表达式3)
C.for(表达式1;表达式1;表达式3) D.for(表达式1;表达式3;表达式3)
12、若i为整型变量,则以下循环执行的次数是( )
for(i=2;i=0;) printf(“%d”,i--);
A.无限次 B.0次 C.1次 D.2次
13、执行语句for(I=1;I++<4;);后变量I的值是( )
A.3 B.4 C.5 D.不定
14、下面程序的功能是计算1到50中是7的倍数的数值之和,请选择填空。
void main()
{int I,sum=0;
for(I=1;I<=50;I++)
if(______)sun+=I;
cout<<sum;}
A.(int)(i/7)=i/7 B.(int)i/7=i/7 C.i%7+0 D.i%7==0
15、下面程序的运行结果是( )
void main()
{int I,b,k=0;
for(I=1;I<=5;I++)
{b=I%2;
while(b-->=0) k++;}
cout<<k<<while语句的执行流程”,”<<b;}
A.3,-1 B.8,-1 C.3,0 D.8,-2
第二次作业
16、以下正确的描述是( )
A. continue语句的作用是结束整个循环的执行
B. 只能在循环体内和switch语句体内使用break语句
C. 在循环体内使用break或continue语句
D. 从多层循环嵌套中退出时,只能使用goto语句
17、下面程序段( )
x=3;
do{y=x--;
if(!y) { cout<< “x”; continue;}
cout<< “#”;}
while(1<=x<=2);
A.将输出## B.将输出##* C.是死循环 D.含有不合法的控制表达式
18、下面程序的运行结果是( )
void main()
{int k=0; char c=’A’;
do {switch(c++)
{case’A’:k++;break;
case’B’:k--;
case’C’:k+=2;break;
case’D’:k=k%2;continue;
case’E’:k=k*10;break;
default:k=k/3;}}
while(c<’G’);
cout<< “k=%d\n”<<k;}
A.k=3 B.k=4 C.k=2 D.k=0
19、下面程序的运行结果是( )
void main()
{int a,b;
for(a=1,b=1;a<=100;a++)
{if(b>=20)break;
if(b%3==1) {b+=3;continue;}
b=-5;}
cout<< a<<endl;}
A.7 B.8 C.9 D.10
20、下面程序的运行结果是( )
void main()
{int I;
for(I=1;I<=5;I++)
{if(I%2) cout<< “*”;
else continue;
cout<< “#”;}
cout<< “$\n”;}
A.*#*#*#$ B.#*#*#*$ C.*#*#$ D.#*#*$
21、下面程序的运行结果是:
void main( )
{int a;
for(a=1;a<=5;a++)
switch(a%5)
{case 0:cout<<“*”;break;
case 1: cout<< “#”;break;
default: cout<< “\n”;
case 2: cout<<“&”;}}
结果:
22、下面程序的运行结果是:
void main()
{int I,j,a=0;
for(I=0;I<2;I++)
{for(j=0;j<4;j++)
if(j%2) break;
a++;}
a++;
cout<<a;}
结果:
23、鸡兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,请填空。 for(x=1;x<=29;x++)
{y=30-x;
if(_______________)cout<<x <<”+”<<y;}
24、下面程序的运行结果是:_________
void main()
{int I=1;
while(I<=15)
if(++I%3!=2) continue;
else cout<<I ;
cout<<endl;}
25、下面程序的输出结果是: __________
void main()
{int I,j,k=19;
while(I=k-1)
{k-=3;
if(k%5==0) {I++;continue;}
else if(k<5) break;
I++;}
cout<<“I=”<< I <<“,k=”<<k;}
26、下面程序的运行结果是:_________
void main()
{int a,y;
a=10;y=0;
do{a+=2;y+=a;
if(y>50)break;
}while(a=14);
cout<<“a=”<< a <<“ y=”<<y;}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论