• <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>
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            1-6章測試題

            Posted on 2006-04-06 00:40 我愛C 閱讀(3496) 評論(7)  編輯 收藏 引用 所屬分類: C語言章節習題

            C程序設計》16章測試題

            ??? ?


            請在下課前把答案以郵件形式(不要把答案放到附件里)發到下面的兩個郵箱中:

            c-program@hotmail.com, xteacher.he@gmail.com
            一、選擇題(每題
            1 分,共 40 分)

            1. 以下說法中正確的是

            A) C 語言程序總是從第一個的函數開始執行

            B) C 語言程序中 , 要調用的函數必須在 main() 函數中定義

            C) C 語言程序總是從 main() 函數開始執行

            D) C 語言程序中的 main() 函數必須放在程序的開始部分

            2. 下列關于C語言用戶標識符的敘述中正確的是

            A) 用戶標識符中可以出現在下劃線和中劃線(減號)

            B) 用戶標識符中不可以出現中劃線,但可以出現下劃線

            C) 用戶標識符中可以出現下劃線,但不可以放在用戶標識符的開頭

            D) 用戶標識符中可以出現在下劃線和數字,它們都可以放在用戶標識符的開頭

            3. 以下有4組用戶標識符,其中合法的一組是

            A) For??????? B) 4d????????? C) f2_G3????????? D) WORD

            ?? -sub????????? DO???????????? IF??????????????? void

            ?? Case????????? Size?????????? abc??? ???????????define

            ?

            4. 下面四個選項中,均是不正確的八進制數或十六進制數的選項是

            A) 016? 0x8f??? 018????????????????? B) 0abc? 017??? 0xa

            C) 010? -0x11?? 0x16???????????????? D) 0a12? 7ff??? -123

            5. 以下正確的敘述是

            A) 在C程序中,每行中只能寫一條語句

            B) 若a是實型變量,C程序中允許賦值a=10,因此實型變量中允許存放整型數

            C) 在C程序中,無論是整數還是實數,都能被準確無誤地表示

            D) 在C程序中,%是只能用于整數運算的運算符

            6. 下面四個選項中,均是合法的浮點數的選項是

            A) +1e+1?? 5e-9.4? 03e2????????????? B) -.60?? 12e-4?? -8e5

            C) 123e?? 1.2e-.4? +2e-1???????????? D) -e3?? .8e-4?? 5.e-0

            7 、已知各變量的類型說明如下:

            ?????? int k, a, b, w=5;? float x=1.42;

            ???? 則以下不符合C語言語法的表達式是

            ?? A) x%(-3)? ???????? ?? B) w+=-2?? ?

            C) k=(a=2, b=3, a+b)? D) a+=a-=(b=4)*(a=3)

            8. 以下不正確的敘述是

            A) 在C程序中,逗號運算符的優先級最低

            B) 在C程序中,APH和aph是兩個不同的變量

            C) 若a和b類型相同,在計算了賦值表達式a=b后b中的值將放入a中,而b中的值不變

            D) 當從鍵盤輸入數據時,對于整型變量只能輸入整型數值,對于實型變量只能輸入實型數值

            9. ?sizeof(double) 是 【

            ?A )一種函數調用 ???B )一個雙精度型表達式

            C )一個整型表達式 ? D )一個不合法的表達式

            10. 設有語句 char a='\72'; 則變量 a 】 。

            A )包含 1 個字符 B )包含 2 個字符 C )包含 3 個字符 D )說明不合法

            ?

            11. 執行下面程序中的輸出語句, a 的值是【

            A) 65? ?B) 20 ?C) 15 ?D) 10

            main()

            { int a;

            printf("%d\n",(a=3*5,a*4,a+5));}

            12. 設有語句 int a=3; 則執行了語句 a+=a-=a*a; 后,變量 a 的值是 【

            ?A 3 ?B 0 ?C 9 ?D -12

            13. 下列關于單目運算符++、--的敘述中正確的是

            A) 它們的運算對象可以是任何變量和常量

            B) 它們的運算對象可以是char型變量和int型變量,但不能是float型變量

            C) 它們的運算對象可以是int型變量,但不能是double型變量和float型變量

            D) 它們的運算對象可以是char型變量、int型變量和float型變量

            14. C 語言中,如果下面的變量都是 int 類型,則輸出的結果是

            sum=pad=5; pAd=sum + + ,pAd + + , + + pAd;

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

            ?A) 7 B) 6 C) 5 D) 4

            15. 以下程序的輸出結果是

            # include <stdio.h>

            main()

            { int i=010 , j = 10;

            printf("%d,%d\n",+ +i , j - -); }

            ?A) 11,10 B) 9,10 C) 010,9 D) 10,9

            16. 已知在 ASCII 代碼中,字母 A 的序號為 65 ,以下程序的輸出的結果是

            # include <stdio.h>

            main()

            { char c1='A', c2='Y';

            printf("%d,%d\n",c1,c2); }

            A) 因輸出格式不合法,輸出錯誤信息 B 65 90 ?C A Y ?D 65 89

            17. 以下程序的輸出結果是 【

            # include <stdio.h>

            # include <math..h>

            main()

            { int a=1,b=4,c=2;

            float x=10.5 , y=4.0 , z;

            z=(a+b)/c+sqrt((double)y)*1.2/c+x;

            pritnf("%f\n",z); }

            A) 14.000000 B) 015.400000 C) 13.700000 D) 14.900000

            18. 以下程序的輸出結果是 【

            # include <stdio.h>

            main()

            { int a=2,c=5;

            printf("a=%%d,b=%%d\n",a,c); }

            A) a=%2,b=%5 B) a=2,b=5 C) a=%%d,b=%%d D) a=%d,b=%d

            19. 以下程序的輸出結果是 【

            # include<stdio.h>

            main()

            { int a ,b,d=241;

            a=d/100%9;

            b=(-1)&&(-1);

            printf("%d,%d\n",a,b); }

            ?A) 6,1 B) 2,1 C) 6,0 D) 2,0

            20. 已知字母 A ASCII 碼為十進制的 65 ,下面程序的輸出是【

            A) 67,D B) B,C C) C,D D) 不確定的值

            main()

            { char ch1,ch2;

            ch1='A'+'5'-'3';

            ch2='A'+'6'-'3';

            printf("%d,%c\n",ch1,ch2);}

            21.printf 函數中用格式符 %5s 規定字符串的輸出格式。如果字符串長度大于5,則輸出按方式 ;如果字符串長度小于5,則輸出按方式

            ??? A) 從左起輸出該字符串,右補空??? B) 按原字符長從左向右全部輸出

            ??? C) 右對齊輸出該字符串,左補空??? D) 輸出錯誤信息

            22.對如下定義和輸入語句,若使a1, a2, c1, c2 的值分別為10, 20, A, B,正確的數據輸入方式是

            (注:Δ表示空格,<CR>表示回車,下同)。

            ??? int a1, a2;? char c1, c2;

            scanf (" %d%c%d%c ", &a1, &c1, &a2, &c2);

            ????? A)? 10A Δ 20B<CR>B)? 10 Δ A Δ 20 Δ B<CR>?????? C)? 10A20B??? D)? 10A20 Δ B

            23. 由給出的數據輸入和輸出形式,程序中輸入輸出語句的正確內容是

            ? ?? main( )

            ??? { int x;? float y;

            ??? ? printf (" enter x, y: ")

            ??? ? 輸入語句

            ??? ? 輸出語句 }

            ??? 輸入形式??? enter x, y: 2 3.4

            ??? 輸出形式??? x+y=5.40

            ??? A) scanf (" %d, %f ", &x, &y); ??????? B)? scanf (" %d%f ", &x, &y);

            ??? ?? printf (" \nx+y=%4.2f ", x+y);? ????? printf (" \nx+y=%4.2f ", x+y);

            ??? C) scanf (" %d%f ", &x, &y); ????????? ???D)? scanf (" %d%3.1f ", &x, &y);

            ??? ?? printf (" \nx+y=%6.1f ", x+y);????? ??? printf (" \nx+y=%4.2f ", x+y);

            24. 以下關于運算符優先順序的描述中正確的是

            A) 關系運算符<算術運算符<賦值運算符<邏輯運算符

            B) 邏輯運算符<關系運算符<算術運算符<賦值運算符

            C) 賦值運算符<邏輯運算符<關系運算符<算術運算符

            D) 算術運算符<關系運算符<賦值運算符<邏輯運算符

            25. 語句 while(!E); 中的條件 !E 等價于 【

            ?A E = = 0 B E =1 C E =0 D ~E

            26. y=(x>0?1:x<0?-1:0); 的功能相同的 if 語句是

            A) if (x>0) y=1;????????? B) if(x)

            ?? else if(x<0) y=-1;??????? if(x>0) y=1;

            ?? else y=0;???????????????? else if(x<0) y=-1;

            C) y=-1?????????????????? D) y=0;

            ?? if(x)???????????????????? if(x>=0)

            ?? if(x>0)y=1;?????????????? if(x>0)y=1;

            ?? else if(x==0) y=0;??????? else y=-1;

            ?? else y=-1;

            27.對下面三條語句(其中s1和s2為內嵌語句),正確的論斷是

            ?? 1if (a) s1else s2;? ????(2) if (a= =0) s2else s1;?

            ? 3if (a!=0) s1else s2

            ??? A) 三者相互等價 ????????? B) 1 2 等價 但與 3 不等價

            ??? C) 三者互不等價 ????????? D) 1 3 等價 但與 2 不等價

            28.若x,y,z的初值均為1,則執行表達式w =++x || ++ y && ++ z后,x,y,z的值分別為。

            A. x=1, y=1, z=2 ?????B. x=2, y=2, z=2????

            ?C. x=1, y=2, z=1????? D. x=2, y=1, z=1

            29 以下的 for 循環

            for(x=0,y=0; (y!=123)&&(x<4); x + + );

            A) 是無限循環 B )循環次數不定 C )執行 4 D )執行 3

            ?

            ?30. ?C 語言中 【

            ?A 不能使用 do-while 語句構成的循環

            B do-while 語句構成的循環必須用 break 語句才能退出

            C do-while 語句構成的循環,當 while 語句中的表達式值為非零時結束循環

            D do-while 語句構成的循環,當 while 語句中的表達式值為零時結束循環

            ?31. 以下程序的輸出結果是 【

            # include <stdio.h>

            main()

            { int i;

            for ( i=1;i<=5;i + + ) {if ( i%2 ) printf("*");

            else continue; printf("#");}

            printf("$\n"); }

            A) *#*#*#$ B) #*#*#*$ C) *#*#$ D) #*#*$

            ?

            32. 下面的程序【

            A) 輸出的是 1 B) 輸出的是 1 -2 C ) 輸出的是 3 0 D) 是死循環

            main()

            { int x=3;

            do {

            printf("%d\n",x-=2);

            }while(!(--x));}

            33. 若執行下面的程序時從鍵盤上輸入 5 ,則輸出是【

            A) 7 ?B) 6 ?C) 5 ?D) 4

            main()

            { int x;

            scanf("%d",&x);

            if(x++>5) printf("%d\n",x);

            else printf("%d\n",x--);}

            34. 下面程序的輸出是【

            A) -1 B) 0 C) 1 D) 不確定的值

            main()

            { int x=100, a=10, b=20, ok1=5, ok2=0;

            if(a<b)

            if(b!=15)

            if(! ok1)

            x=1;

            else

            if(ok2)x=10;

            x=-1;

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

            35. 為表示關系 x y z, 應使用 C 語言表達式【

            A) (x>=y)&&(y>=z) ?????B) (x>=y)AND(y>=z)

            C) (x>=y>=z) ??????????D) (x>=y)&(y>=z)

            36. 假定有以下變量定義 :

            int k=7 ,x=12;

            則能使值為 3 的表達式是

            A ) x%=(K%=5)??? ?B) ?x%=(k-k%5)

            C ) x%=k-k%5???? ?D) ?(x%=k)-(k%=5)

            37. 以下敘述中正確的是

            A ) 輸入項可以是一個實型常量 , : scanf("%f",3.5);

            B) 只有格式控制 , 沒有輸入項 , 也能正確輸入數據到內存 , 例如 : scanf("a=%d ,b=%d")'

            C) 當輸入一個實型數據時 , 格式控制部分可以規定小數點后的位數 , 例如 : scanf("%4.2f",&d);

            D) 當輸入數據時 , 必須指明變量地址 , 例如 : scanf("%f",&f);

            38. 在下列選項中 , 沒有構成死循環的程序是

            A)

            int i =100;

            while(1)

            { i=i%100+1;

            if (i>100)break;

            }

            B)

            ?for (;;);

            C)

            ?int k=1000;

            do {--k;} while(k>=1000);

            D)

            ?int s=36;

            while (s);--s;

            39. 執行語句 : for (i=1;i++<4;); , 變量 i 的值是 C

            A) 3 ?B) 4 ?C) 5 ?D) 不定

            40. 能正確表示 a b 同時為正或同時為負的邏輯表達式是

            A) (a>=0 b>=0)&&(a<0 b<0)

            B) (a>0&&b>0)||(a<0&&b<0)

            C) (a+b>0)&&(a+b<=0)

            D) a*b>0

            二、填空題(每空 2 分,共 16 分)

            1. 一個 C 源程序中至少應包括一個 _____________

            2. 結構化程序設計所規定的三種基本控制結構是 __________________________

            3. 以下程序的功能是 : 人鍵盤上輸入若干個學生的成績 , 統計并輸出最高成績和最低成績,當輸入負數時結束輸入,請填空。

            main()

            { int x, max, min;

            scanf("%d",&x);

            max=x; min=x;

            while( _____________ )

            { if(x>max) max=x;

            if( _____________ ) min=x;

            scanf("%d",&x); }

            printf("\nmax=%f\nmin=%f\n",max, min); }

            4. i,j,k 均為 int 型變量 , 則執行完下面的 for 循環后 ,k 的值為 _____________

            for(i=0,j=10;i<=j;i++,j--)

            k=i+j;

            5. 下面程序的功能是 : 計算 1 10 之間奇數之和及偶數之和 , 請填空。

            #include <stdio.h>

            main()

            { int a, b, c, i;

            a=c=0;

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

            { a+=i;

            _____________ ;

            c+=b;

            }

            printf(" 偶數之和 =%d\n",a);

            printf(" 奇數之和 =%d\n",c-11);

            }

            6. 下面程序的功能是 : 輸出 100 以內能被 3 整除且個位數為 6 的所有整數 , 請填空。

            #include <stdio.h>

            main()

            { int i, j;

            for(i=0; _____________ ; i++)

            { j=i*10+6;

            if( _____________ ) continue;

            printf("%d",j);

            }

            }

            ?

            ?

            ?

            三、閱讀下面的程序,寫出每個程序的運行結果(第 1 4 分,第 2,3 題各 5 分,共 14 分)

            1.

            main()

            { int i=10, j=0;

            do

            { j=j+i; i--;}

            while(i>2);

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

            }

            2. 有以下程序:

            # include<stdio.h>

            main()

            { int c;

            while((c=getchar())!='\n')

            { switch(c-'2')

            { case 0:

            case 1: putchar(c+4);

            case 2: putchar(c+4);break;

            case 3: putchar(c+3);

            case 4: putchar(c+2);break; } }

            printf("\n"); }

            輸入以下數據, <CR> 代表一個回車符。

            2743<CR>

            寫出程序的輸出結果。

            ?

            3.

            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; }

            printf("a=%d\n",a)?;?

            }

            ?

            四、程序設計題(每題 15 分,共 30 分)

            1. 判斷 100-200 之間有多少個素數,并輸出所有素數。

            2. 求分數序列: 1/2,2/3,3/5,5/8,8/13/13/21/ ……的前 20 項之和。

            ?

            ?

            Feedback

            # re: 1-6章測試題  回復  更多評論   

            2006-04-09 20:22 by 董琳
            1111111111

            # 趕緊看  回復  更多評論   

            2006-04-10 14:03 by FindLOVE天使
            嘿嘿!我知道大家對第三題第二個覺得很難!嘿嘿!我來給大家講講!
            看好啊!
            輸入2473 <CR>:
            因為程序中接受鍵盤輸入用了 getchar(),所以2473實際上是按照'2'、'4'、'7'、'3'來輸入的。
            當輸入'2'時:c-'2'=0,執行case 0、case 1、case 2后面的語句:putchar(c+4),putchar(c+4),c+4='6',輸出:'6'、'6'。遇到break,循環結束。
            當輸入'4'時:c-'2'=2,執行case 2:putchar(c+4),c+4='8',輸出'8'。
            當輸入'7'時:c-'2'=5,執行default:putchar(c+2),c+2='9',輸出'9'。
            當輸入'3'時:c-'2'=1,執行case 1:putchar(c+4);case 2:putchar(c+4);c+4='7',輸出'7'、'7'。

            記住啊!小子們好好做啊!我覺得很難的做了好久才出來的啊!
            還不謝謝我,謝謝我們2班!

            # 好  回復  更多評論   

            2006-04-10 17:18 by
            頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂██████████頂頂頂頂
            頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂████████████████頂頂頂頂
            頂頂頂頂頂頂頂頂頂頂████頂頂██████████頂頂頂頂頂頂頂頂頂
            頂頂頂頂頂頂████████頂頂██頂頂頂████頂頂頂頂頂頂頂頂頂頂
            頂█████████████頂頂頂頂頂頂頂███頂頂頂頂頂頂頂頂頂頂頂
            頂███████████頂頂頂頂頂頂頂頂█████████頂頂頂頂頂頂
            頂頂█████████頂頂頂頂頂頂頂頂████████████頂頂頂頂
            頂頂頂█頂頂頂████頂頂頂頂頂頂████頂頂頂頂頂█████頂頂頂頂
            頂頂頂頂頂頂頂頂███頂頂頂頂頂頂██頂頂頂█頂頂頂頂███頂頂頂頂頂
            頂頂頂頂頂頂頂頂███頂頂頂頂頂███頂頂頂██頂頂頂███頂頂頂頂頂
            頂頂頂頂頂頂頂頂███頂頂頂頂頂███頂頂頂██頂頂頂███頂頂頂頂頂
            頂頂頂頂頂頂頂頂███頂頂頂頂頂███頂頂███頂頂頂███頂頂頂頂頂
            頂頂頂頂頂頂頂頂███頂頂頂頂頂███頂頂███頂頂頂███頂頂頂頂頂
            頂頂頂頂頂頂頂頂███頂頂頂頂頂███頂頂███頂頂頂███頂頂頂頂頂
            頂頂頂頂頂頂頂頂███頂頂頂頂頂███頂頂███頂頂頂███頂頂頂頂頂
            頂頂頂頂頂頂頂頂███頂頂頂頂頂██頂頂頂██頂頂頂頂███頂頂頂頂頂
            頂頂頂頂頂頂頂頂███頂頂頂頂頂██頂頂頂██頂頂頂頂███頂頂頂頂頂
            頂頂頂████████頂頂頂頂頂頂█頂頂██頂頂頂頂████頂頂頂頂頂
            頂頂頂頂███████頂頂頂頂頂頂頂頂頂██頂頂█頂頂頂██頂頂頂頂頂
            頂頂頂頂頂頂█████頂頂頂頂頂頂頂頂███頂頂████頂頂頂頂頂頂頂
            頂頂頂頂頂頂頂頂███頂頂頂頂頂頂頂████頂頂頂██████頂頂頂頂
            頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂█████頂頂頂頂頂██████頂頂頂
            頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂████頂頂頂頂頂頂頂頂█████頂頂頂
            頂頂頂頂頂頂頂頂頂頂頂頂頂█████頂頂頂頂頂頂頂頂頂頂████頂頂頂
            頂頂頂頂頂頂頂頂頂頂頂頂██頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂██頂頂頂頂
            頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂

            我們也鄙視那些人!那些笨蛋!

            # re: 1-6章測試題  回復  更多評論   

            2006-04-11 10:47 by 神也愁啊。。。。。。。。
            有點暈

            # re: 1-6章測試題  回復  更多評論   

            2006-04-11 11:55 by FN
            @FindLOVE天使
            當輸入'7'時:c-'2'=5,執行default:putchar(c+2),c+2='9',輸出'9'



            c=7時不是沒定義嗎?/
            為什么還執行呀??

            # re: 1-6章測試題  回復  更多評論   

            2006-06-12 15:53 by 南吉卓瑪
            這是上帝給我的第一次機會讓我去體驗大自然的美,就在那時我才知道世界上

            # re: 1-6章測試題  回復  更多評論   

            2007-06-12 16:11 by NB
            沒有答案.我頂????????????????????????????????????????????
            国产精品亚洲综合专区片高清久久久| 久久精品中文无码资源站| 亚洲国产香蕉人人爽成AV片久久| 久久精品国产亚洲av高清漫画| 久久天天躁夜夜躁狠狠| 亚洲欧洲中文日韩久久AV乱码| 国产亚洲色婷婷久久99精品91| 国产成人精品久久亚洲| 99久久婷婷国产综合精品草原| 亚洲午夜久久影院| 国产精自产拍久久久久久蜜| 国产精品欧美亚洲韩国日本久久| 国产成人久久精品麻豆一区 | 久久毛片免费看一区二区三区| 99久久亚洲综合精品成人| 久久中文字幕一区二区| 青青青国产成人久久111网站| 91精品免费久久久久久久久| 欧美与黑人午夜性猛交久久久| 欧美伊人久久大香线蕉综合69| 久久精品国产色蜜蜜麻豆| 久久综合香蕉国产蜜臀AV| 91精品国产91久久久久福利| 国产L精品国产亚洲区久久 | 久久精品亚洲中文字幕无码麻豆 | 亚洲午夜无码AV毛片久久| 成人午夜精品无码区久久| 国产麻豆精品久久一二三| 国产精品美女久久久久AV福利 | 无码人妻久久一区二区三区免费丨| 久久中文字幕人妻熟av女| 精品国产一区二区三区久久久狼| 丁香五月综合久久激情| 久久精品免费全国观看国产| 国产精品9999久久久久| 思思久久99热免费精品6| 麻豆AV一区二区三区久久 | 久久久久人妻一区二区三区vr| 2020最新久久久视精品爱| 久久久久久久精品成人热色戒| 热久久国产精品|