当前位置:编程学习 > C/C++ >>

C++ 基础学习笔记(4)---循环控制结构(测试题)

一、选择题

1、若给定条件表达式(M)?(a++):(a--),则其中表达式M( C )。

(A)和(M==0)等价     (B)和(M==1)等价

(C)和(M!=0)等价      (D)和(M!=1)等价

2、在C/C+语言中,结束while语句循环的条件为( A   )。

(A)0    (B)1    (C) true    (D)非0

在C/C++语言中,结束do-while语句循环的条件为( A )。

(A)0    (B)1    (C) true   (D)非0

3、若k为整型,以下while循环体中的语句执行( B )。

 k=2;

 while(k=0)

 {

     printf("%d",k);

     k--;printf(" ");

   }

(A)无限次    (B)0次    (C)1次    (D)2次

4、以下语句段中,不是无限循环的程序段是( D )。C

(A) i=100;                              (B)for(;;);

    while (1)

    {

       i=i%100;i++;

       if(i>100)break;

       }

(C) k=32764;                            (D) s=32764;

     do{                                while((s++%2)||(s%2))s++;

         k++;k++;

       } while(k>0);                               

5、C语言中用于结构化程序设计的3种基本结构是(  A )。

(A)顺序结构、选择结构、循环结构      (B) if,switch,break

(C) for,while,do-while                   (D) if,for,continue

6、对于下面的程序段

    int t=0;

    while (t=l)

    {...}   

以下叙述正确的是( B   )。

(A)循环控制表达式的值为0    (B)循环控制表达式的值为1

(C)循环控制表达式不合法      (D)以上说法都不对

 

7、在下列选项中,会构成死循环的是( B )。

 (A) int i=100;          (B)for(;;);    (C) int k=10000;                  (D) int s=36;

    while(1)                          do {k++;}while(k>10000);           while(s)--s;

    {

       i=i%100+1;

       if(i==100)break;

    }

8、在下面给出的4个语句段中,能够正确表示以下的函数关系的是( A )。

         -1    (x<0)

    y=   0     (x=0)

         1     (x>0)

 (A)if(x!=0)       (B)y=0;          (C)if(x<0)y=-l;        (D)y=-1;

      if(x>0)y=l;       if(x>=0)         if(x!=0)y=1;         if(x!=0)

      else y=-l;          if(x)y=l;        else y=0;              if(x>0) y=l;

    else y=0;              else y=-l;                           else y=0;

二、读程序分析程序的运行结果

9、设int a=5, b=6, 表达式(++a==b--)?++a:--b的值是   7   。

10、以下程序的输出为( B   )。

    #include<stdio.h>

    void main( )

    {

      int i,j,x=0;

      for(i=0;i<2;i++)

      {

        x++;

        for(j=0;j<=3;j++)

        {

          if(j%2) continue;

          x++;

         }

        x++;

      }

      printf("x=%d ",x);

    }

    (A)x=4        (B)x=8          (C) x=6        (D) x=12

 11、以下程序的输出为( B )。

    #include <stdio.h>

    void main( )

    {

       int x=1,y=0,a=0,b=0;

       switch(x)

       {

          case 1:

             switch(y)

           {

               case 0:a++;break;

               case 1:b++;break;

            } //后面没有break,所以继续执行case 2

        case 2:

            a++;b++;break;

        case 3:

            a++;b++;

       }

       printf("a=%d,b=%d ",a,b);

    }

 (A)a=l,b=0    (B)a=2,b=1    (c)a=1,b=l    (D)a=2,b=2

 12、以下程序的输出为( B )

    #include <iostream.h>

    void main( )

    {

       int i,j,k=0,m=0;

       for(i=0;i<2;i++)

       {

           for(j=0;j<3;j++)

          

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,