• <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++測(cè)試題

            循環(huán)控制結(jié)構(gòu)

            一、選擇題

            1、若給定條件表達(dá)式(M)?(a++):(a--),則其中表達(dá)式M( C )

            (A)(M==0)等價(jià)     (B)(M==1)等價(jià)

            (C)(M!=0)等價(jià)      (D)(M!=1)等價(jià)

            2、在C/C+語(yǔ)言中,結(jié)束while語(yǔ)句循環(huán)的條件為( A   )

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

            C/C++語(yǔ)言中,結(jié)束do-while語(yǔ)句循環(huán)的條件為( A )

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

            3、若k為整型,以下while循環(huán)體中的語(yǔ)句執(zhí)行( B )

             k=2;

             while(k=0)

             {

                 printf("%d",k);

                 k--;printf("\n");

               }

            (A)無(wú)限次    (B)0    (C)1    (D)2

            4以下語(yǔ)句段中,不是無(wú)限循環(huán)的程序段是( 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語(yǔ)言中用于結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是(  A )

            (A)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)      (B) if,switch,break

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

            6、對(duì)于下面的程序段

                int t=0;

                while (t=l)

                {...}   

            以下敘述正確的是( B   )

            (A)循環(huán)控制表達(dá)式的值為0    (B)循環(huán)控制表達(dá)式的值為1

            (C)循環(huán)控制表達(dá)式不合法      (D)以上說(shuō)法都不對(duì)


            7、在下列選項(xiàng)中,會(huì)構(gòu)成死循環(huán)的是( 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個(gè)語(yǔ)句段中,能夠正確表示以下的函數(shù)關(guān)系的是( 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;

            二、讀程序分析程序的運(yùn)行結(jié)果

            9、設(shè)int a=5, b=6, 表達(dá)式(++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;

                        } //后面沒(méi)有break,所以繼續(xù)執(zhí)行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; // 外部循環(huán)語(yǔ)句,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、以下程序的輸出結(jié)果為(   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、以下程序的輸出結(jié)果為( 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、以下程序的輸出結(jié)果為( 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、以下程序的輸出結(jié)果為( 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

             三、讀程序回答問(wèn)題

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

                void main( )

                {

                    int x=2;

                    while(x--);

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

             

                }

            18、下列程序運(yùn)行后的輸出結(jié)果是   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、下列程序的運(yùn)行結(jié)果是    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、下面程序的運(yùn)行結(jié)果是__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、下面程序的功能是:從鍵盤(pán)上輸入若干個(gè)學(xué)生的成績(jī),統(tǒng)計(jì)并輸出最高成績(jī)和最低成績(jī),當(dāng)輸入負(fù)數(shù)時(shí)結(jié)束輸入。請(qǐng)?jiān)诔绦虻目瞻滋幪羁铡?/span>

               #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個(gè)數(shù)構(gòu)成一個(gè)3位數(shù),統(tǒng)計(jì)出共有多少種方法。請(qǐng)

                填空。

                #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、本程序統(tǒng)計(jì)輸入字符串中的行數(shù)、字?jǐn)?shù)和字符數(shù)。字不包括空格、制表及換行符的字符序列,輸入‘#’時(shí)結(jié)束統(tǒng)計(jì)。ncnlnw分別為字符、行、字計(jì)數(shù)器。請(qǐng)?zhí)羁铡?/span>

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

                   }

            五、編寫(xiě)程序

            24、輸入年份year和月month,求該月有多少天。判斷是否為閏年,可用如下C/C++語(yǔ)言 表達(dá)式:year%4==0&&year%100!=0||year%400==0。若表達(dá)式成立(即表達(dá)式值為1),則 year為閏年;否則,表達(dá)式不成立(即值為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、編寫(xiě)一個(gè)簡(jiǎn)單計(jì)算器程序,輸入格式為:datal op data2。其中dataldata2是參 加運(yùn)算的兩個(gè)數(shù),op為運(yùn)算符,其取值只能是+-*/

             

            #include <cstdlib>

            #include <iostream>

             

            using namespace std;

             

            int main()

            {

                double data1,data2;

                char op;

                cout<<"輸入數(shù)據(jù)和運(yùn)算符:";

                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、求解愛(ài)因斯坦數(shù)學(xué)題。有一條長(zhǎng)階梯,若每步跨2階,則最后剩1階,若每步跨3階,則最后剩2階,若每步跨5階,則最后剩4階,若每步跨6階則最后剩5階,若每步跨7階,最后正好一階不剩。請(qǐng)問(wèn),這條階梯共有多少階?


            #include <cstdlib>

            #include <iostream>

             

            using namespace std;

             

            int main()

            {

             

            int i=7; //i為所設(shè)的階梯數(shù)

            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 閱讀(2151) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            <2011年5月>
            24252627282930
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            常用鏈接

            留言簿(3)

            隨筆檔案(12)

            文章檔案(2)

            最新隨筆

            搜索

            •  

            積分與排名

            • 積分 - 28947
            • 排名 - 662

            最新隨筆

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久无码人妻一区二区三区午夜 | 性色欲网站人妻丰满中文久久不卡| 久久久久久久97| 久久99精品国产麻豆宅宅| 综合久久一区二区三区 | 97久久综合精品久久久综合| 91性高湖久久久久| 亚洲中文字幕无码久久综合网| 国产精品久久久久久| 亚洲天堂久久久| 国产AV影片久久久久久| 99精品久久精品一区二区| 久久91这里精品国产2020| 久久久久久无码Av成人影院| 久久久综合香蕉尹人综合网| 狠狠色丁香久久综合五月| 无码国内精品久久综合88| 久久er国产精品免费观看8| AV色综合久久天堂AV色综合在| 久久只有这精品99| 欧美日韩精品久久久免费观看| 国产V亚洲V天堂无码久久久| 久久久久亚洲精品日久生情 | 亚洲国产成人精品女人久久久 | 久久99国产一区二区三区| 国产综合久久久久| 77777亚洲午夜久久多人| 久久久久久噜噜精品免费直播| 久久国产精品-久久精品| 无码伊人66久久大杳蕉网站谷歌| 色诱久久av| 亚洲另类欧美综合久久图片区| 久久精品国产一区二区三区不卡 | 久久亚洲sm情趣捆绑调教| 久久精品亚洲乱码伦伦中文| 91精品国产高清久久久久久91| 99久久99这里只有免费费精品| 久久亚洲日韩精品一区二区三区| 亚洲αv久久久噜噜噜噜噜| 18岁日韩内射颜射午夜久久成人| 久久精品国产久精国产果冻传媒 |