第5章 循环结构程序设计
练习题
1. 单项选择题
(1)语句while (!e);中的条件!e等价于 A 。
A. e==0 B. e!=1 C. e!=0 D. ~e
(2)下面有关for循环的正确描述是 D 。
A. for循环只能用于循环次数已经确定的情况
B. for循环是先执行循环体语句,后判定表达式
C. 在for循环中,不能用break语句跳出循环体
D. for循环体语句中,可以包含多条语句,但要用花括号括起来
(3)C语言中 D 。
A. 不能使用do-while语句构成的循环
B. do-while语句构成的循环必须用break语句才能退出
C. do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
D. do-while语句构成的循环,当while语句中的表达式值为零时结束循环
(4)C语言中while和do-while循环的主要区别是 A 。
A. do-while的循环体至少无条件执行一次
B. while的循环控制条件比do-while的循环控制条件严格
C. do-while允许从外部转到循环体内
D. do-while的循环体不能是复合语句
(5)以下程序段 C 。
int x=-1;
do
{
x=x*x;
}
while (!x);
A. 是死循环 B. 循环执行二次
C. 循环执行一次 D. 有语法错误
(6)下列语句段中不是死循环的是__C__。
A. i=100;
while (1)
{
i=i%100+1;
if (i==20) break;
}
B. for (i=1;;i++)
sum=sum+1;
C. k=0;
do
{
++k;
} while (k<=0);
D. s=3379;
while (s++%2+3%2)
s++;
(7)与以下程序段等价的是__A__。
while (a)
{
if (b) continue;
c;
}
A. while (a) B. while (c)
{ if (!b) c; } { if (!b) break; c; }
C. while (c) D. while (a)
{ if (b) c; } { if (b) break; c; }
(8)以下程序的输出结果是_B___。
#include <stdio.h>
main()
{
int i;
for (i=4;i<=10;i++)
{
if (i%3==0) continue;
COUT<<i;
}
}
A. 45 B. 457810 C. 69 D. 678910
(9)以下程序的输出结果是__C__。
#include <stdio.h>
main()
{
int num=0;
while (num<=2)
{
num++;
cout<<num<<endl;
}
}
A. 1 B. 1 C. 1 D. 1
2 2 2
3 3
4
2. 填空题
(1)以下程序的运行结果是__S=7__。
#include <stdio.h>
main()
{
int s=0,k;
for (k=7;k>=0;k--)
{
switch(k)
{
case 1:
case 4:
case 7: s++; break;
case 2:
case 3:
case 6: break;
case 0:
case 5: s+=2; break;
}
}
cout<<s;
}
(2)以下程序的运行结果是 i=8 。
#include <stdio.h>
main()
{
int i=1,s=3;
do
{
s+=i++;
if (s%7==0)
continue;
else
++i;
do while语句怎么用 } while (s<15);
Cout<<i;
}
(3)以下程序的运行结果是____。
#include <stdio.h>
main()
{
int i,j;
for (i=4;i>=1;i--)
{
cout<<"*";
for (j=1;j<=4-i;j++)
cout<<"*";
cout<<"\n";
}
}
输出结果:
*
**
***
****
(4)以下程序的运行结果是____。
#include <stdio.h>
main()
{
int i,j,k;
for (i=1;i<=6;i++)
{
for (j=1;j<=20-2*i;j++)
cout<<" ";
for (k=1;k<=i;k++)
cout<<i;
cout<<endl;
}
}
输出结果:
1
22
333
4444
55555
666666
(5)以下程序的运行结果是____。
#include <stdio.h>
main()
{
int i,j,k;
for (i=1;i<=6;i++)
{
for (j=1;j<=20-3*i;j++)
cout<<" ";
for (k=1;k<=i;k++)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论