循环练习题
第一次作业:
1.设有程序段 int k=10; while (k=0) k=k-1; 则下面描述中正确的是 (  )
    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
7C++语言中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、下面程序的功能是计算150中是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小时内删除。