• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 12,  comments - 21,  trackbacks - 0

             

             

            C/C++測試題

            循環控制結構

            一、選擇題

            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("\n");

               }

            (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);                               

            5C語言中用于結構化程序設計的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\n",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\n",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++)

                       k++;

                    k-=j; // 外部循環語句,j=3

                    }

                    m=i+j; //i=2,j=3

                    cout<<"k="<<k<<"m="<<m;

                }

             (A)k=0,m=3  (B)k=0,m=5 (C)k=l,m=3  (D)k_l,m=:5

            13、以下程序的輸出結果為(   B )

                #include<stdio.h>

                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;

                      }

                      k++;

                      }while(c<'G');

                    printf("k=%d\n",k);

                }

             (A)k=3    (B)k=4    (C)k=2    (D)k=0

             14、以下程序的輸出結果為( C )

                #include <stdio.h>

                void main( )

                {

                    int i=0,j=0,a=6;

                    if((++i>0)||(++j>0))a++;

                    printf(“i=%d,j=%d,a=%d\n”,i,j,a);

                }

             (A)i=0,j=0,a=6    (B)i=l;j=1;a=7    (C)i=1,j=0,a=7    (D)i=0;j=1,a=7

             15、以下程序的輸出結果為( A )

                void main( )

                {

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

                    switch(x)

                    {

                      case 0:b++;

                      case 1:a++;

                      case 2:a++;b++;

                     }

                     cout<<"a="<<a<<"b="<<b;

                }

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

             16、以下程序的輸出結果為( C )

                void main( )

                {

                   int i=1,j=1,k=2;

                   if((j++||k++)&&i++)

                     cout<<i<<","<<j<<","<<k;

                }

             (A)1,l,2    (B)2,2,1    (C)2,2,2    (D)2,2,3

             三、讀程序回答問題

             17、下面程序的輸出是     -1  

                void main( )

                {

                    int x=2;

                    while(x--);

                   printf("%d\n",x);

             

                }

            18、下列程序運行后的輸出結果是   33     

                #include "stdio.h"

                void main( )

                {

                   int i,j,p,s;

                   s=0;

                   for(i=1;i<=4;i++)

                   {

                       p=1;

                       for(j=1;j<=i;j++)

                       p=p*j;

                       s=s+p;

                    }

                    printf("s=%d\n",s);

                }

            19、下列程序的運行結果是    4   

                #include "stdio.h"

                void main()

                {

                    int s=0,k;

                    for(k=7;k>=4;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;

                       }

                    }

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

                }

            20、下面程序的運行結果是__8__

                #include "stdio.h"

                void main()

                {

                    int i=1,s=3;

                    do{

                         s+=i;

                               i++

                         if(s%7==0)continue;

                         else ++i;

                       }while(s<15);

                     printf("i=%d\n",i);

                }

                四、程序填空

            21、下面程序的功能是:從鍵盤上輸入若干個學生的成績,統計并輸出最高成績和最低成績,當輸入負數時結束輸入。請在程序的空白處填空。

               #include <stdio.h>

                void main()

                {

                   float x,amax,amin;

                   scanf("%f",&x);

                   amax=x;

                   amin=x;

                   while (     x>=0   )

                   {

                      if(x>amax)amax=x;

                      if(     x<amin    )amin=x;

                      scanf("%f",&x);

                    }

                      }

                    printf ("\namax=%f\namin=%f\n",amax,amin);

                }

            22、下面程序用09之間不同的3個數構成一個3位數,統計出共有多少種方法。請

                填空。

                #include "stdio.h"

                void main()

                {

                     int i,j,k,count=0;

                     for(i=1;i<=9;i++)

                      { for(j=0;j<=9;j++)

                          {if(     j==i )continue;

                          else

                            for(k=0;k<=9;k++)

                             if(   k!=i && k!=j)count++;

                           }

                      }

                     printf("count %d",count);

                }

            23、本程序統計輸入字符串中的行數、字數和字符數。字不包括空格、制表及換行符的字符序列,輸入‘#’時結束統計。ncnlnw分別為字符、行、字計數器。請填空。

                #include "stdio.h"

                void main()

                {

                     int c,nc,nl,nw;

                     nc=nl=nw=0;

                     printf("Please Input String:");

                     while((c=getchar())!='#')

                     {

                     ++nc;

                     if(c==' '||c=='\n'||c=='\t')

                              nw=nc-1    ;

                     if(c=='\n')

                               ++nl    ;

                   }

                     printf("nc=%d\tnl=%d\tnw=%d\n",nc,nl,nw);

                   }

            五、編寫程序

            24、輸入年份year和月month,求該月有多少天。判斷是否為閏年,可用如下C/C++語言 表達式:year%4==0&&year%100!=0||year%400==0。若表達式成立(即表達式值為1),則 year為閏年;否則,表達式不成立(即值為0),year為平年。

             

            #include <cstdlib>

            #include <iostream>

             

            using namespace std;

             

            int main()

            {

                int year,month,k;

                cout<<"輸入年份和月份:";

                cin>>year>>month;

                //判斷是否為閏年

                if(year%4==0&&year%100!=0||year%400==0)

                k=1;

                else

                k=0;

                switch(month)

                {

                 case 1:

                 case 3:

                 case 5:

                 case 7:

                 case 8:

                 case 10:

                 case 12:cout<<"該月有31";break;

                 case 4:

                 case 6:

                 case 9:

                 case 11:cout<< "該月有30";break;

                 case 2:

                      {

                          if(k==1)

                          cout<< "該月有29";

                          else

                          cout<< "該月有28";

                       }break;

                   default:cout<<"error\n";

                  }

                system("PAUSE");

                return EXIT_SUCCESS;

            }


            25、編寫一個簡單計算器程序,輸入格式為:datal op data2。其中dataldata2是參 加運算的兩個數,op為運算符,其取值只能是+-*/

             

            #include <cstdlib>

            #include <iostream>

             

            using namespace std;

             

            int main()

            {

                double data1,data2;

                char op;

                cout<<"輸入數據和運算符:";

                cin>>data1>>op>>data2;

                switch(op)

                {

                          case '+':cout<<data1+data2<<'\n';break;

                          case '-':cout<<data1-data2<<'\n';break;

                          case '*':cout<<data1*data2<<'\n';break;

                          case '/':cout<<data1/data2<<'\n';break;

                          default:"error\n";

                }

               

                system("PAUSE");

                return EXIT_SUCCESS;

            }


            26、求解愛因斯坦數學題。有一條長階梯,若每步跨2階,則最后剩1階,若每步跨3階,則最后剩2階,若每步跨5階,則最后剩4階,若每步跨6階則最后剩5階,若每步跨7階,最后正好一階不剩。請問,這條階梯共有多少階?


            #include <cstdlib>

            #include <iostream>

             

            using namespace std;

             

            int main()

            {

             

            int i=7; //i為所設的階梯數

            while(!((i%2==1)&&(i%3==2)&&(i%5==4)&&(i%6==5)&&(i%7==0)))

            i++;

            cout<<i<<'\n';

             

             

                system("PAUSE");

                return EXIT_SUCCESS;

            }

             

            posted on 2011-05-31 22:02 DoubleW 閱讀(2152) 評論(0)  編輯 收藏 引用
            <2011年5月>
            24252627282930
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            常用鏈接

            留言簿(3)

            隨筆檔案(12)

            文章檔案(2)

            最新隨筆

            搜索

            •  

            積分與排名

            • 積分 - 28951
            • 排名 - 662

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            久久综合久久鬼色| 久久人人爽人爽人人爽av | 青青久久精品国产免费看| 久久久久99精品成人片| 久久久久综合国产欧美一区二区| 手机看片久久高清国产日韩| 2021国内精品久久久久久影院| 久久久久女人精品毛片| 91精品国产色综久久| 久久无码AV中文出轨人妻| 婷婷久久久亚洲欧洲日产国码AV | 久久精品中文无码资源站| 精品午夜久久福利大片| 一级女性全黄久久生活片免费 | 久久99国产精品久久99| 丰满少妇人妻久久久久久4| 香蕉久久夜色精品国产2020| 久久91精品久久91综合| 久久久久久国产a免费观看黄色大片| 国产精品久久久福利| 亚洲欧洲日产国码无码久久99| 久久久精品国产亚洲成人满18免费网站| 日产精品99久久久久久| 无码任你躁久久久久久| 999久久久免费国产精品播放| 久久亚洲春色中文字幕久久久| 日韩亚洲国产综合久久久| 久久综合久久综合九色| 欧美午夜精品久久久久免费视| 久久这里的只有是精品23| 狠狠久久综合伊人不卡| 久久―日本道色综合久久| 国内精品伊人久久久久AV影院| 蜜臀av性久久久久蜜臀aⅴ麻豆| 思思久久99热只有频精品66| 久久亚洲精品无码VA大香大香| 亚洲国产成人精品女人久久久 | 性欧美大战久久久久久久| 国产精品99久久久久久董美香| 香蕉久久夜色精品国产小说| 久久91亚洲人成电影网站|