二級(jí)C語(yǔ)言程序設(shè)計(jì)練習(xí)試題(共105頁(yè))_第1頁(yè)
二級(jí)C語(yǔ)言程序設(shè)計(jì)練習(xí)試題(共105頁(yè))_第2頁(yè)
二級(jí)C語(yǔ)言程序設(shè)計(jì)練習(xí)試題(共105頁(yè))_第3頁(yè)
二級(jí)C語(yǔ)言程序設(shè)計(jì)練習(xí)試題(共105頁(yè))_第4頁(yè)
二級(jí)C語(yǔ)言程序設(shè)計(jì)練習(xí)試題(共105頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩115頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、重要說(shuō)明:本習(xí)題所有(suyu)題目均假設(shè)上機(jī)環(huán)境為T(mén)C2.0,而2008年版最新大綱規(guī)定等級(jí)(dngj)考試上機(jī)用VC6.0,這主要對(duì)筆試的影響(yngxing)在于int類(lèi)型所占用的字節(jié),原來(lái)TC2.0中int類(lèi)型為2個(gè)字節(jié),而最新VC6.0中int類(lèi)型占用4個(gè)字節(jié),所以以下所有題目涉及int數(shù)據(jù)類(lèi)型占用字節(jié)數(shù)的地方請(qǐng)大家把題目和參考答案按新大綱做相應(yīng)調(diào)整即可,用到int類(lèi)型數(shù)據(jù)但不涉及int占字節(jié)數(shù)的所有地方不必調(diào)整。(其實(shí)需要調(diào)整的地方很少的,請(qǐng)大家自己識(shí)別)C語(yǔ)言程序設(shè)計(jì)習(xí)題(全國(guó)計(jì)算機(jī)等級(jí)考試)第一章 程序設(shè)計(jì)基本概念 1.1 在TURBO C環(huán)境中用RUN命令運(yùn)行一個(gè)C程序時(shí),所

2、運(yùn)行的程序的后綴是_。 1.2 C語(yǔ)言源程序文件的后綴是 _, 經(jīng)過(guò)編譯后, 生成文件的后綴是 _,經(jīng)過(guò)連接后,生成文件的后綴是 _。 1.3 結(jié)構(gòu)化程序由 _、 _、 _三種基本結(jié)構(gòu)組成。 第二章 C程序設(shè)計(jì)的初步知識(shí) 一 、 選 擇題 2.1 以下選項(xiàng)中正確的整型常量是 A) 12 B)-20 C)1,000 D)4 5 62.2 以下選項(xiàng)中正確的實(shí)型常量是 A) 0 B)3.1415 C)0.329*102 D).8712.3 以下選項(xiàng)中不正確的實(shí)型常量是A)2.607E-1 B)0.8103e 2 C)-77.77 D)456e-22.4 以下選項(xiàng)中不合法的用戶(hù)標(biāo)識(shí)符是A)abc.c

3、B)file C)Main D)PRINTF2.5 以下選項(xiàng)中不合法的用戶(hù)標(biāo)識(shí)符是A)_123 B)printf C)A$ D)Dim2.6 C語(yǔ)言中運(yùn)算對(duì)象必需是整型的運(yùn)算符是A)% B)/ C)! D)* *2.7 可在C程序中用作用戶(hù)標(biāo)識(shí)符的一組標(biāo)識(shí)符是A)void B)as_b3 C)For D)2c define _123 -abc DO WORD If case SIG2.8 若變量已正確定義并賦值,符合C語(yǔ)言語(yǔ)法的表達(dá)式是A)a=a+7; B)a=7+b+c,a+ C)int(12.3%4) D)a=a+7=c+b2.9 以下敘述中正確的是A) a是實(shí)型變量,C允許進(jìn)行以下賦值a

4、=10,因此可以這樣說(shuō):實(shí)型變量允許賦值整型值。B) 在賦值表達(dá)式中,賦值號(hào)左邊既可以是變量也可以是任意表達(dá)式。C) 執(zhí)行(zhxng)表達(dá)式a=b后,在內(nèi)存(ni cn)中a 和 b存儲(chǔ)單元(cn ch dn yun)中的原有值都將被改變,a的值已由原值改變?yōu)閎 的值, b 的值由原值變?yōu)?。D) 已有a=3,b=5。當(dāng)執(zhí)行了表達(dá)式 a=b ,b=a 之后,已使a 中的值為5,b 中的值為3。2.10 以下敘述中正確的是 在C程序中無(wú)論整數(shù)還是實(shí)數(shù),只要在允許的范圍內(nèi)都能準(zhǔn)確無(wú)誤的表示。 C程序由主函數(shù)組成。 C程序由函數(shù)組成。 C程序由函數(shù)和過(guò)程組成。2.11 TURBO C中int 類(lèi)型

5、變量所占字節(jié)數(shù)是A)1 B)2 C)3 D)4 2.12 不合法的八進(jìn)制數(shù)是A)0 B)028 C)077 D)012.13 不合法的十六進(jìn)制數(shù)是A)oxff B)0Xabc C)0 x11 D)0 x19二、填空題2.14 若k為int整型變量且賦值11。請(qǐng)寫(xiě)出運(yùn)算k+后表達(dá)式的值A(chǔ))_和變量的值B)_。2.15 若x為double型變量,請(qǐng)寫(xiě)出運(yùn)算x=3.2,+x后表達(dá)式的值A(chǔ))_和變量的值B)_。2.16 函數(shù)體由符號(hào)_開(kāi)始,用符號(hào)_結(jié)束。函數(shù)體的前面是_部分,其后是_部分。2.17 C語(yǔ)言中的標(biāo)識(shí)符可分為_(kāi)、_、和預(yù)定義標(biāo)識(shí)符三類(lèi)。2.18 在C語(yǔ)言程序中,用關(guān)鍵字_定義基本整型變量,

6、用關(guān)鍵字_定義單精度實(shí)型變量,用關(guān)鍵字_定義雙精度實(shí)型變量。2.19 把a(bǔ)1、a2定義成單精度實(shí)型變量,并賦初值1的定義語(yǔ)句是_。2.20 C程序中定義的變量,代表內(nèi)存中的一個(gè)_。2.21 表達(dá)式3.5+1/2的計(jì)算結(jié)果是_。2.22 對(duì)以下數(shù)學(xué)式,寫(xiě)出三個(gè)等價(jià)的C語(yǔ)言表達(dá)式_、_、_。 aib c2.23 表達(dá)式s=10應(yīng)當(dāng)讀做“_”。2.24 計(jì)算機(jī)中內(nèi)存儲(chǔ)器的最小存儲(chǔ)單位稱(chēng)_,其中能容納的數(shù)是_。2.25 通常一個(gè)字節(jié)包含_個(gè)二進(jìn)制位。在一個(gè)字節(jié)中能存放的最大(十進(jìn)制)整數(shù)是_,它的二進(jìn)制數(shù)的形式是_;最小(十進(jìn)制)整數(shù)是_,它的二進(jìn)制數(shù)的形式是_。2.26 當(dāng)計(jì)算機(jī)用兩個(gè)(lin )字

7、節(jié)存放一個(gè)整數(shù)時(shí),其中能存放的最大(十進(jìn)制)整數(shù)(zhngsh)是_、最小(十進(jìn)制)整數(shù)(zhngsh)是_,它的二進(jìn)制數(shù)的形式是_。2.27 在C語(yǔ)言中整數(shù)可用_進(jìn)制數(shù)、_進(jìn)制數(shù)和_進(jìn)制數(shù)三種數(shù)制表示。三、上機(jī)改錯(cuò)題(讀者最好在TURBO C環(huán)境下上機(jī)試一試,以便熟悉出錯(cuò)信息)。2.28 請(qǐng)指出以下C程序的錯(cuò)誤所在#include stdio.h;main(); /* main function */ float r,s; /*/*r is radius*/,/*s is area of circular*/*/ r=5.0; s=3.14159*r*r; printf(“ %fn”,s)2

8、.29 請(qǐng)指出以下C程序的錯(cuò)誤所在#include stdio.h main /*main function*/ float a,b,c,v; /*a,b,c are sides, v is volume of cube*/ a=2.0;b=3.0;c=4.0 v=a*b*c; printf(“ %fn” ,v) 第三章 順序結(jié)構(gòu)選擇題 3.1 若a、b、c、d、都是int類(lèi)型變量且初值為0,以下選項(xiàng)中不正確的賦值語(yǔ)句是A)a=b=c=d=100; B)d+; C)c+b; D)d=(c=22)-(b+);3.2 以下選項(xiàng)中不是C語(yǔ)句的是A)int i; i+; printf(“%dn”,i)

9、; B); C)a=5,c=10 D) ; 3.3 以下合法的C語(yǔ)言賦值語(yǔ)句是A)a=b=58 B)k=int(a+b); C)a=58,b=58 D)-i;3.4 以下程序的輸出結(jié)果是A)0 B)1 C)3 D)不確定的值 main( ) int x=10, y=3; printf(“%dn”,y=x/y); 3.5 若變量已正確說(shuō)明為int類(lèi)型,要給a、b、c輸入數(shù)據(jù),以下正確的輸入語(yǔ)句是A)read(a,b,c); B)scanf(“ %d%d%d” ,a,b,c);C)scanf(“ %D%D%D” ,&a,%b,%c); D)scanf(“ %d%d%d”,&a,&b,&c);3.6

10、 若變量(binling)已正確說(shuō)明為float類(lèi)型,要通過(guò)(tnggu)以下賦值語(yǔ)句給a賦予(fy)10、b賦予22、c賦予33,以下不正確的輸入形式是A)10 22 33 B)10.0,22.0,33.0 C)10.0 22.0 33.0 D)10 22 33scanf(“ %f %f %f” ,&a,&b,&c);3.7 若變量已正確定義,要將a和b中的數(shù)進(jìn)行交換,下面不正確的語(yǔ)句組是A)a=a+b,b=a-b,a=a-b; B)t=a,a=b,b=t; C)a=t;t=b;b=a; D)t=b;b=a;a=t;3.8 若變量已正確定義,以下程序段的輸出結(jié)果是A) 輸出格式說(shuō)明與輸出項(xiàng)不

11、區(qū)配,輸出無(wú)定值 B)5.17C)5.168 D)5.169X=5.16894;Printf(“ %fn”,(int)(x*1000+0.5)/(float)1000);3.9 若有以下程序段,c3中的值是A)0 B)1/2 C)0.5 D)1int c1=1,c2=2,c3;c3=c1/c2;3.10 若有以下程序段,其輸出結(jié)果是A)3,0,-10 B)0,0,5 C)-10,3,-10 D)3,0,3int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3); printf(“ %d,%d,%dn”,a,b,c);3.11 當(dāng)運(yùn)行以下程序時(shí),在鍵盤(pán)上從第一列開(kāi)始輸入98765

12、43210(此處代表Enter),則程序的輸出結(jié)果是A)a=98,b=765,c=4321 B)a=10,b=432,c=8765C)a=98,b=765.000000,c=4321.000000 D)a=98,b=765.0,c=4321.0main() int a; float b,c; scanf(“ %2d%3f%4f”,&a,&b,&c); printf(“ na=%d,b=%f,c=%fn”,a,b,c);3.12 以下程序的輸出結(jié)果是A)a=%2,b=%5 B)a=2,b=5C)a=%d,b=%d D)a=%d,b=%dmain( )int a=2,b=5;printf(“a=%

13、d,b=%dn”,a,b); 3.13 若int類(lèi)型占兩個(gè)字節(jié),則以下程序段的輸出是A)-1,-1 B)-1,32767 C)-1,32768 D)-1,65535int a=-1; printf(“ %d,%un”,a,a);3.14 以下程序段的輸出是A)*496 * B)* 496* C)*000496* D)輸出格式符不合法 int x=496; Printf(“ *%06d*n”,x);3.15 以下(yxi)程序段的輸出是A)|3.1415| B)| 3.0| C)| 3| D)| 3.| float a=3.1415; Printf(“ |%6.0f|n”,a);3.16 以下(

14、yxi)程序段的輸出是A)|2345.67800| B)|12345.6780| C)|12345.67800| D)|12345.678|printf(“ |%10.5f|n”,12345.678);3.17 以下(yxi)程序段的輸出是A)*0000057.66* B)* 57.66* C)*0000057.67* D)* 57.67*float a=57.666;pirntf(“ %010.2fn”,a);318若從終端輸入以下數(shù)據(jù),要給變量c賦以283.19,則正確的輸入語(yǔ)句是A)scanf(“ %f”,c); B)scanf(“ %8.4f”,&c);B) scafn(“ %6.2f

15、”,&c); D)scanf(“ %8”,&c);283.19003.19 若變量已正確說(shuō)明,要求用以下語(yǔ)句給a賦予3.12、給b賦予9.0,則正確的輸入形式是(代表空格)A)3.129.0 B)a=3.12b=9C)a=3.12,b=9 D)a=3.12,b=9scanf(“ a=%f,b=%f”,&a,&b);3.20 以下程序的輸出結(jié)果是A)9 8 B)8 9 C)6 6 D)以上三個(gè)都不對(duì)#include “ math.h”main() double a=-3.0,b=2; printf(“ %3.0f %3.0fn”,pow(b,fabs(a),pow(fabs(a),b); 填空題

16、3.21 若有以下定義,請(qǐng)寫(xiě)出以下程序段中輸出語(yǔ)句執(zhí)行后的輸出結(jié)果。(1)_ (2)_(3)_int i=-200,j=2500;printf(“ (1) %d %d”,i,j);printf(“ (2) i=%d,j=%dn” ,i,j);printf(“ (3) i=%dn j=%dn”,i,j);3.22 變量(binling)i、j、k已定義(dngy)為int類(lèi)型(lixng)并有初值0,用以下語(yǔ)句進(jìn)行輸入時(shí)scanf(“ %d”,&I); scanf(“ %d”,&j); scanf(“ %d” ,&k);當(dāng)執(zhí)行第一個(gè)輸入語(yǔ)句,從鍵盤(pán)輸入: 12.3 表示Enter鍵則變量i、j、

17、k的值分別是_、_、_。3.23 復(fù)合語(yǔ)句在語(yǔ)法上被認(rèn)為是_??照Z(yǔ)句的形式是_。3.24 C語(yǔ)句的最后用_結(jié)束。3.25 以下程序段,要求通過(guò)scanf語(yǔ)句給變量賦值,然后輸出變量的值。寫(xiě)出運(yùn)行時(shí)給k輸入100,給a輸入25.81,給x輸入1.89234 時(shí)的三種可能的輸入形式_、_、_。int k; float a; double x; scanf(“ %d%f%lf”,&k,&a,&x);pirntf(“ k=%d,a=%f,x=%fn”,k,a,x);3.26 以下程序段的輸出結(jié)果是_。int x=0177;printf(“ x=%3d,x=%6d,x=%6o,x=%6x,x=%6un”

18、,x,x,x,x,x);3.27 以下程序段的輸出結(jié)果是_。int x=0177;printf(“ x=%-3d, x=%-6d,x=$%-06d, x=$%06d,x=%06dn”,x,x,x,x,x); 3.28 以下(yxi)程序段的輸出結(jié)果是_。double a=5.13.789215;printf(“ a=%8.6f,a=%8.2f,a=%14.8f,a=%14.8lfn”,a,a,a,a); 編程題和改錯(cuò)題3.29 以下程序多處有錯(cuò)。要按下面指定的形式輸入數(shù)據(jù)(shj)和輸出數(shù)據(jù)時(shí),請(qǐng)對(duì)該程序做相應(yīng)的修改。maindouble a,b,c,s,v;printf(input a,b,

19、c:n);scanf(“%d%d%d”,a,b,c);s=a*b; /*計(jì)算(j sun)長(zhǎng)方形面積*/v=a*b*c; /*計(jì)算長(zhǎng)方體體積*/printf(“%d %d %d”,a,b,c);printf(“s=%fn”,s,”v=%dn”,v);當(dāng)程序執(zhí)行時(shí),屏幕的顯示和要求輸入形式如下: input a,b,c:2.0 2.0 3.0 此處的2.0 2.0 3.0是用戶(hù)輸入的數(shù)據(jù) a=2.000000,b=2.000000,c=3.000000 此處是要求的輸出形式 s=4.000000,v=12.0000003.30 編寫(xiě)程序,把560分鐘換算成用小時(shí)和分鐘表示,然后進(jìn)行輸出。3.31

20、 編寫(xiě)程序,輸入兩個(gè)(lin )整數(shù):1500和350,求出它們的商數(shù)和余數(shù)并進(jìn)行(jnxng)輸出。3.32 編寫(xiě)程序,讀入三個(gè)雙精度(jn d)數(shù),求它們的平均值并保留此平均值小數(shù)后一位數(shù),對(duì)小數(shù)點(diǎn)后第二位數(shù)進(jìn)行四舍五入,最后輸出結(jié)果。3.33 編寫(xiě)程序,讀入三個(gè)整數(shù)給a、b、c,然后交換它們中的數(shù),把a(bǔ)中原來(lái)的值給b,把b中原來(lái)的值給c, 把c中原來(lái)的值給 a。 第四章 選擇結(jié)構(gòu) 一、選擇題4.1 下列運(yùn)算符中優(yōu)先級(jí)最高的運(yùn)算符是A)! B)% C)-= D)&4.2 下列運(yùn)算符中優(yōu)先級(jí)最低的運(yùn)算符是 A)| B)!= C) =y=z, 應(yīng)使用的C語(yǔ)言表達(dá)式是A) (x=y)&(y=z)

21、 B) (x=y)AND (y=z)C) (x=y=z) D) (x=y)&(y=z)4.4 設(shè) a、b 和c 都是int 型變量,且a =3,b=4, c=5;則以下的表達(dá)式中,值為0的表達(dá)式是A) a&b B)a=b C)a|b+c&b-c D)!(ab)&!c|1)4.5 以下程序的輸出結(jié)果是:A) 0 B)1 C)2 D)3main() int a=2,b=-1,c=2; if (ab) if (b0) c=0; else c+=1; printf(“%dn”,c);4.6 以下程序(chngx)的輸出結(jié)果是:A) 1 B) 2 C) 3 D) 4main() int w=4,x=3,

22、y=2,z=1; printf(“%dn”,(wx?w:zy?z:x);4.7 若執(zhí)行以下程序時(shí)從鍵盤(pán)(jinpn)上輸入3和4,則輸出(shch)結(jié)果是 A)14 B)16 C)18 D)20 main() int a, b,s; scanf(“%d%d”,&a,&b); s=a; if (ab) s=b; s*=s; printf(“%dn”,s);4.8 下面的程序片段所表示的數(shù)學(xué)(shxu)函數(shù)關(guān)系是A) -1(x0)B) 1(x0)C) 0(x0)D) -1(x0)y=-1; if (x!=0) if (x0) y=1; else y=0;4.9 運(yùn)行(ynxng)以下程序后,輸出

23、A)# B)&C)#& D)有語(yǔ)法錯(cuò)誤不能通過(guò)(tnggu)編譯 main() int k=-3;if (k=0) printf(“*n”); else printf(“&n”); 4.10 若a和b均是正整數(shù)型變量(binling),以下正確的switch語(yǔ)句(yj)是A) switch ( pow(a,2)+pow(b,2) (注:調(diào)用(dioyng)求冪的數(shù)學(xué)函數(shù)) case 1: case 3: y=a+b; break ; case 0: case 5: y=a-b; B) switch (a*a+b*b); case 3: case 1: y=a+b; break ; case 0

24、: y=b-a; break; C) switch a default : x=a+b; case 10 : y=a-b;break; case 11 : y=a*d; break; D) switch(a+b) case10: x=a+b; break; case11: y=a-b; break; 二、 填空題4.11 C語(yǔ)言(yyn)中用_表示(biosh)邏輯值“真”,用_表示(biosh)邏輯值“假”。4.12 C語(yǔ)言中的關(guān)系運(yùn)算符按優(yōu)先級(jí)別是_ 、_.4.13 C語(yǔ)言中的邏輯運(yùn)算符按優(yōu)先級(jí)別是_、 _ 、_.4.14 C語(yǔ)言中的關(guān)系運(yùn)算符和邏輯運(yùn)算符的優(yōu)先級(jí)別是 _、_、_、_、_。

25、4.15 C語(yǔ)言中邏輯運(yùn)算符_的優(yōu)先級(jí)高于算術(shù)運(yùn)算符。4.16 將下列數(shù)學(xué)式改寫(xiě)成C語(yǔ)言的關(guān)系表達(dá)式或邏輯表達(dá)式A)_和 B)_A) a=b 或 a44.17 請(qǐng)寫(xiě)出以下程序的輸出結(jié)果_。 main() int a=100; if (a100) printf(“%dn”,a100); else printf(“%dn”,a0) B) !04.19 當(dāng)a=1,b=2,c=3時(shí),以下if 語(yǔ)句執(zhí)行后,a 、b 、c 中的值分別為_(kāi)、 _、 _. if (ac) b=a;a=c; c=b;4.20 若變量巳正確定義,以下語(yǔ)句段的輸出(shch)結(jié)果是_。 x=0,y=2,z=3; switch(x)

26、 case 0: switch (y=2) case 1: printf(“*”); break; case 2: printf(“%”); break; case 1: switch(z) case 1: printf(“$”); case 2: printf(“*”);break; default: printf(“#”); 三、 編程題4.21 請(qǐng)將以下(yxi)語(yǔ)句改寫(xiě)成switch語(yǔ)句(yj)。 if ( a30) m=1; else if (a40) m=2; else if (a50) m=3;else if (a60) m=4;else m=5;4.22 編寫(xiě)程序,輸入(shr

27、)一位學(xué)生的生日(年:y0、月:m0、日:d0); 并輸入(shr)當(dāng)前的日期(年: y1、月:m1、日:d1); 輸出(shch)該生的實(shí)足年齡。4.23 編寫(xiě)程序,輸入一個(gè)整數(shù),打印出它是奇數(shù)還是偶數(shù)。4.24 編寫(xiě)程序,輸入 a、b 、c 三個(gè)數(shù),打印出最大者。 4.25 有一函數(shù): x (-5x0) y= x-1 (x=0) x+1 (0 x10)編寫(xiě)一程序,要求輸入x 的值,輸出y 的值。分別用 (1)不嵌套的if 語(yǔ)句(2)嵌套的if 語(yǔ)句 (3)if-else語(yǔ)句 (4)switch 語(yǔ)句 第五章 循環(huán)結(jié)構(gòu) 一.選擇題5.1 以下程序段的輸出結(jié)果是A) 9 B) 1 C) 11

28、D) 10 int k,j,s; for (k=2;k6;k+,k+) s=1; for (j=k;j6;j+) s+=j; printf(“%dn”,s);5.2 以下(yxi)程序段的輸出結(jié)果是A)12 B)15 C)20 D)25int i,j,m=0;for (I=1;I=5;I+=4)for (j=3;j7) n-; printf(“%dn”,n);5.4 以下(yxi)程序段的輸出結(jié)果是A) 1 B)3 0 C) 1 2 D)死循環(huán)int x=3; do printf(“%3d”,x-=2);while (!(-x);5.5 以下程序的輸出(shch)結(jié)果是A) 15 B)14 C

29、)不確定(qudng) D)0main() int i,sum; for (i=1;i0;y-)if (y%3=0) printf(“%d”,-y); continue5.7 若x 是int 型變量,以下程序段的輸出結(jié)果是A) *3 B)#3 C)#3 D)*3#4 #4 *4 *4#5 *5 *5 #5 for (x=3;x6;x+) printf(x%2)?(“*%d”):(“#%dn”),x);5.8 以下程序的輸出(shch)結(jié)果是A) *#*#*#$ B)#*#*#*$C) *#*#$ D)#*#*$main() int i; for (i=1;i=5;i+) if (i%2) pr

30、intf(“*”);else continue;printf(“#”);printf(“$n”);5.9 以下(yxi)敘述正確的是A)do-while語(yǔ)句構(gòu)成的循環(huán)不能用其他(qt)語(yǔ)句構(gòu)成的循環(huán)代替.B)do-while語(yǔ)句構(gòu)成的循環(huán)只能用break語(yǔ)句退出C)用do-while語(yǔ)句構(gòu)成循環(huán)時(shí),只有在while后的表達(dá)式為非零時(shí)結(jié)束循環(huán) D)用do-while語(yǔ)句構(gòu)成循環(huán)時(shí),只有在while后的表達(dá)式為零時(shí)結(jié)束循環(huán)5.10 以下程序的輸出結(jié)果是A)39 81 B)42 84 C)26 68 D)28 70main() int x,i; for (i=1;ib;+b)i+;while (a+

31、c)j+;do k+; while (ad+);5.12 以下(yxi)程序段的輸出結(jié)果是_. int k,n,m; n=10;m=1;k=1; while (k=n) m*=2; printf(“%dn”,m);5.13 以下程序段的輸出(shch)結(jié)果是_. main() int x=2; while (x-); printf(“%dn”,x); 5.14 以下程序段的輸出(shch)結(jié)果是_. int i=0,sum=1; do sum+=i+; while (i5); printf(“%dn”,sum);5.15 有以下(yxi)程序段: s=1.0; for(k=1;kamax) a

32、max=x; if (_) amin=x; scanf(“%f”,&x); printf(“namax=%fnamin=%fn”,amax,amin); 三編程題5.17 編寫(xiě)程序,求1-3+5-7+-99+101的值。5.18 編寫(xiě)程序,求e 的值。e?1+1/1!+1/2!+1/3!+.+1/n! 用循環(huán)(xnhun),計(jì)算前50項(xiàng)。(2) 用循環(huán),要求直至(zhzh)最后一項(xiàng)的值小于10-45.19 編寫(xiě)程序,輸入(shr)從公元1000年至2000年所有閏年(rnnin)的年號(hào)。每輸出3個(gè)年號(hào)換一行。判斷公元年是否為閏年的條件是:(1) 公元年數(shù)如能被4整除,而不能被100整除,則是閏

33、年;(2) 公元年數(shù)能被400整除也是閏年。5.20 編寫(xiě)程序,打印以下圖: * * * * * * * * * 第六章 字符型數(shù)據(jù) 一、選擇題6.1 C語(yǔ)言中的簡(jiǎn)單類(lèi)型有A)整型,實(shí)型,邏輯型 B)整型,實(shí)型,字符型C)整型,字符型,邏輯型 D)整型,實(shí)型,邏輯型,字符型6.2 C語(yǔ)言(yyn)中,字符型(char)數(shù)據(jù)在微機(jī)內(nèi)存中的存儲(chǔ)(cn ch)形式是A)反碼(fn m) B)補(bǔ)碼 C)EBCDIC碼 D)ASCII碼6.3 設(shè)有語(yǔ)句char a=72;,則變量AA)包含1個(gè)字符 B)包含2個(gè)字符 C)包含3個(gè)字符 D)說(shuō)明不合法6.4 C語(yǔ)言中不合法的字符常量是A)0XFF B)65

34、 C)& D)286.5 C語(yǔ)言中不合法的字符串常量是A)121 B)Y= C)nn D)ABCDX6d6.6 判斷char型變量C是否為大寫(xiě)字母的最簡(jiǎn)單且正確的表達(dá)式是A)A =A)&(C=Z)C)(A=C) D) (C=A)&(C=A& x=Z)?(x+32):x; printf(%cn,x);6.9 以下(yxi)程序的輸出結(jié)果是A)67,C B)B,C C)C,D D)不確定(qudng)的值main() char ch1,ch2; ch1=A+5-3; ch2=a+5-3; printf(%d,%cn,ch2);6.10 對(duì)以下(yxi)程序,從第一列開(kāi)始輸入數(shù)據(jù):2473,代表EN

35、TER,程序的輸出結(jié)果是A)668977 B)668966 C)66778777 D)6688766#include stdio.hmain() 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); default : putchar(c+2); break; prinf(n); 6.11 若變量(binling)已正確說(shuō)明,要求用以下(yxi)語(yǔ)句給C1賦予(fy)字符%,給C2賦予字符#,給a賦予2.0

36、,給b賦予4.0,則正確的輸入形式是A)2.0 % 4.0 # B)2.0%4.0#C)2% 4# D)2 % 4 scanf(%f%c%f%c,&a,&c1,&b,&c2); 二、填空題6.12 EOF的十進(jìn)制值是_.6.13 C語(yǔ)言中,字符占內(nèi)存_個(gè)字節(jié).6.14 調(diào)用C語(yǔ)言對(duì)字符處理的庫(kù)函數(shù)時(shí),在#include命令行中應(yīng)包含的文件是_.6.15 若輸入字符A,在以下WHILE語(yǔ)句執(zhí)行后ch的值是_. while(ch=getchar()=A);6.16 若要通過(guò)以下語(yǔ)句給a,b,c,d分別輸入字符A,B,C,D,給w,x,y,z分別輸入10,20,30,40,正確的輸入形式是_,請(qǐng)用代

37、表ENTER鍵. scanf(%d%c%d%c%d%c%d%c,&w,&a,&x,&b,&y,&c,&z,&d); 6.17 若有以下說(shuō)明(shumng)和輸入語(yǔ)句,要求(yoqi)給c1,c2輸入(shr)字符 A,B,給a1,a2輸入7.29和101.298,從鍵盤(pán)正確輸入數(shù)據(jù)的形式是_ char c1,c2; float a1,a2; scanf(%f%f,&a1,&a2); scanf(%c%c,&c1,&c2);6.18 若有以下說(shuō)明和輸入語(yǔ)句,要求給c1,c2輸入字符 A,B,給a1,a2輸入7.29和101.298,從鍵盤(pán)正確輸入數(shù)據(jù)的形式是_ char c1,c2; float

38、 a1,a2; scanf(%c%f%c%f,&c1,&a1,&c2,&a2);6.19 若有以下說(shuō)明和輸入語(yǔ)句,要求給c1,c2,c3輸入字符 A,B,C,從鍵盤(pán)正確輸入數(shù)據(jù)的形式. char c1,c2,c3; scanf(%4c,&c1); scanf(%4c,&c2);scanf(%4c,&c3); 三、 填空題6.20 請(qǐng)編寫(xiě)程序,輸入一行字符(用回車(chē)結(jié)束),輸出每個(gè)字符以及與之對(duì)應(yīng)的ASCII代碼值,每行輸出三對(duì).6.21 請(qǐng)編寫(xiě)程序,輸入一行數(shù)字字符(用EOF結(jié)束),每個(gè)數(shù)字字符的前后都有空格.請(qǐng)編程,把這一行中的數(shù)字轉(zhuǎn)換成一個(gè)整數(shù).例如:若輸入: 2 4 8 3 則輸出整數(shù):2

39、483.6.22 請(qǐng)編寫(xiě)程序統(tǒng)計(jì)(tngj)輸入的行數(shù),輸入(shr)用EOF結(jié)束(jish) .6.23 請(qǐng)編寫(xiě)程序統(tǒng)計(jì)輸入的一行中小寫(xiě)字母的個(gè)數(shù).6.24 請(qǐng)編寫(xiě)輸入以下圖案的程序,圖案的行數(shù)由輸入的值確定. A BBB CCCCC DDDDDDD EEEEEEEEE 第七章 函數(shù) 一、選擇題7.1 以下說(shuō)法中正確的是A)C語(yǔ)言程序總是從第一個(gè)定義的函數(shù)開(kāi)始執(zhí)行B)在C語(yǔ)言程序中,要調(diào)用的函數(shù)必須在main函數(shù)中定義C)C語(yǔ)言程序總是從main函數(shù)開(kāi)始執(zhí)行D)C語(yǔ)言程序中的main函數(shù)必須放在程序的開(kāi)始部分7.2 以下函數(shù)的類(lèi)型是A)與參數(shù)x的類(lèi)型相同 B)void類(lèi)型 C)int類(lèi)型 D

40、)無(wú)法確定 fff(float x) printf(%dn,x*x);7.3 以下(yxi)函數(shù)調(diào)用語(yǔ)句中,含有(hn yu)的實(shí)參個(gè)數(shù)是A)1 B)2 C)4 D)5 func( (exp1,exp2),(exp3,exp4,exp5);7.4 以下程序的輸出(shch)結(jié)果是A)11 B)20 C)21 D)31 func(inta,int b) int c c=a+b; return c; main() int x=6,y=7,z=8,r; r=func(x-,y+,x+y),z-); printf(%dn,r); 7.5 以下程序的輸出結(jié)果是A)-1 B)0 C)1 D)2 main(

41、) int i=2,p; p=f(i,i+1); printf(%d,p); int f(inta,int b) int c; c=a; if(ab)c=1; else if(a=b)c=0; else c=-1; return(c); 7.6 以下程序的輸出(shch)結(jié)果是A)0 B)1 C)6 D)無(wú)定值 fun( int a, int b, int c) c=a*b; main() int c; fun(2,3,c); printf(%dn,c); 7.7 以下程序(chngx)的輸出結(jié)果是A)5.500000 B)3.000000 C)4.000000 D)8.25 double f

42、(intn) int i; doubles; s=1.0; for(i=1; i=n; i+) s+=1.0/i; return s; main() int i,m=3; floata=0.0; for(i=0; ieps;n+) s+=t; t=n*t/(2*n+1); return (2.0*_); 7.12 以下函數(shù)用以求x的y次方.請(qǐng)?zhí)羁? double fun(double x,int y) int i; double z=1; for(i=1; i_; i+) z=_; return z; n7.13 以下程序(chngx)的功能是計(jì)算S= S K!.請(qǐng)?zhí)羁?tinkng). lo

43、ng f(int n) K=1 int i; long s; s=_; for(i=1; i=n; i+) s=_; return s; main() long s; int k,n; scanf(%d,&n); s=_; for(k=0; k=n; k+)s=s+_; printf(%ldn,s); 三、程序調(diào)試和編程題7.14 以下(yxi)fun函數(shù)用以判斷n是否是素?cái)?shù),fun函數(shù)中有邏輯錯(cuò),請(qǐng)調(diào)試改正. fun(int n) int k,yes; for(k=2; k=n/2; k+) if(n%k=0) yes=0; else yes=1; return yes; 7.15 編寫(xiě)(b

44、inxi)函數(shù) int mymod ( int a, int b)用以求a被b除之后(zhhu)的余數(shù).7.16 編寫(xiě)程序求:1-1/2+1/3-1/4+1/5-1/6+1/7-.+1/n7.17 編寫(xiě)(binxi)函數(shù),根據(jù)整型形參m的值,計(jì)算如下公式的值. t=1-1/2*2-1/3*3-.-1/m*m例如,若m=5,則應(yīng)輸出0.536389.7.18 編寫(xiě)函數(shù)用以求表達(dá)式x*x-5*x+4,x作為參數(shù)傳送給函數(shù),調(diào)用此函數(shù)求: y1=2*2-5*2+4 y2=(x+15)*(x+15)-5*(x+15)+4 y3=sinx*sinx-5*sinx+4 第八章 指針 一、 選擇題8.1 若

45、有定義:int x,*pb;則在以下正確的賦值表達(dá)式是 A) pb=&x B) pb=x C) *pb=&x D) *pb=*x8.2 以下程序的輸出結(jié)果是 A)因變量無(wú)定義輸出(shch)不定值 B) 0 C) -1 D) 1 #include stdio.h main() printf(%dn,NULL); 8.3 以下程序(chngx)的輸出結(jié)果是 A) 5,2,3 B) -5,-12,-7 C) -5,-12,-7 D) 5,-2,-7 void sub(int x,int y,int *z) *z=y-x; main() int a,b,c; sub(10,5,&a); sub(7,

46、a,&b); sub(a,b,&c); printf(%d,%d,%dn,a,b,c); 8.4 以下(yxi)程序的輸出結(jié)果是 A) 4 B) 6 C) 8 D) 10 main() int k=2,m=4,n=6; int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf(%dn,n); 8.5 已知指針P的指向如圖8.5所示,則表達(dá)式*P+的值是 A) 20 B) 30 C) 21 D) 31 a0 a1 a2 a3 a4 10 20 30 40 50 P 圖8.58.6 已知指針(zhzhn)P的指向(zh xin)如圖8.5所示,則表達(dá)式*+P的

47、值是 A) 20 B) 30 C) 21 D) 318.7 已知指針(zhzhn)P的指向如圖8.5所示,則表達(dá)式+*P的值 A) 20 B) 30 C) 21 D) 318.8 以下程序的輸出結(jié)果是 A) 23 B) 24 C) 25 D) 26 void prtv(int *x) printf (%dn,+*x); main() int a=25; prtv(&a); 8.9 以下(yxi)程序的輸出結(jié)果是 A) 運(yùn)行(ynxng)出錯(cuò) B)100 C)a的地址(dzh) D)b的地址 main () int *k, *a, b=100; j=&b;k=&a; printf(%dn,*k)

48、; 8.10 以下程序的輸出結(jié)果是 A) 4,3 B)2,3 C) 3,4 D) 3,2 void fun(float *a,float *b) float w; *a=*a+*a; w=*a; *a=*b; *b=w; main() float x=2.0, 7=3.0; foaat *px=&x,*p7=&y; fun(px,py); printf(%2.0f,%2.0fn,x,y); 8.11 以下程序(chngx)的輸出結(jié)果是 A) 9.000000 B) 1.500000 C) 8.000000 D) 10.500000 void sub(float x,float *y,float

49、 *z) *y=*y-1.0; *z=*z+x; main() float a=2.5,b=9.0,*pa,*pb; pa=&a; pb=&b; sub(b-a,pa,pa); printf(:%fn,a); 8.12 以下四個(gè)程序中不能對(duì)兩個(gè)(lin )整型值進(jìn)行交換的是 A) main() int a=10,b=20; swap(&a,&b); printf(%d%dn,a,b); swap(int *p,int*q); int *t,a; t=&a; *t=*p; *p=*q; *q=*t; B) main() int a=10,b=20; swap(&a,&b); printf(%d%

50、dn,a,b); swap(int *p,int*q); int t; t=*p; *p=*q; *q=t; C) main() int *a,*b; *a=20,*b=20; swap(a,b); printf(%d%dn,*a,*b); swap(int *p,int*q) int *t; t=p; p=q; q=t; D) main() int a=10,b=20; int *x=&a,*y=&b; swap(x,y); printf(%d%dn,a,b); swap(int *p,int*q) int t; t=*p;*p=*q; *q=t; 二、 填空題8.13 以下程序段的輸出(s

51、hch)結(jié)果是_. int *var,b; ab=100; var =&ab; ab=*var+10; printf (%dn, *var); 8.14 以下程序的輸出(shch)結(jié)果是_. int ast(int x, int y, int *cp,int *dp)*cp=c+y; *dp=x-y;main()int a,b,c,d;a=4;b=3;ast(a,b,&c,&d);printf(%d%dn,c,d); 8.15 若有定義(dngy):char ch;(1)使指針(zhzhn)p可以(ky)指向變量ch的定義語(yǔ)句是_.(2)使指針p可以指向變量ch的賦值語(yǔ)句是_.(3)通過(guò)指針p

52、給變量ch讀入字符的scanf函數(shù)調(diào)用語(yǔ)句是_.(4)通過(guò)指針p給變量ch賦字符的語(yǔ)句是_.(5)通過(guò)指針p輸出ch中字符的語(yǔ)句是_.8.16 若有圖8.5所示五個(gè)連續(xù)的int類(lèi)型 的 存儲(chǔ)單元并賦值如圖,且 p和s的基本類(lèi)型皆為int,p已指向存儲(chǔ)單元a1.(1)通過(guò)指針p,給s賦值,使其指向最后一個(gè)存儲(chǔ)單元a4的語(yǔ)句是_.(2)用以移動(dòng)指針s,使之指向中間的存儲(chǔ)單元 a2的表達(dá)式是_.(3)已知k=2,指針s已指向存儲(chǔ)單元a2,表達(dá)式*(S+k)的值是_.(4)指針s已指向存儲(chǔ)單元a2,不移動(dòng)指針s,通過(guò)s引用存儲(chǔ)單元a3的 表達(dá)式是_.(5)指針s指向存儲(chǔ)單元a2,p指向存儲(chǔ)單元a0,表

53、達(dá)式s-p的值是_.(6)若p指向存儲(chǔ)單元a0,則以下語(yǔ)句的輸出結(jié)果是_. for(i=0;i5;i+)printf(%d,*(p+i); printf(n); 三、 編程題8.17 請(qǐng)編寫(xiě)(binxi)函數(shù),其功能是對(duì)傳送過(guò)來(lái)(gu li)的兩個(gè)浮點(diǎn)數(shù)求出和值與差值,并通過(guò)(tnggu)形參傳送回調(diào)用函數(shù).8.18 請(qǐng)編寫(xiě)函數(shù),對(duì)傳送過(guò)來(lái)的三個(gè)數(shù)選出最大和最小數(shù),并通過(guò)形參傳回調(diào)用函數(shù). 第九章 數(shù)組 一、選擇題9.1 若已定義: int a=0,1,2,3,4,5,6,7,8,9,*p=a,i;其中0i=9,則對(duì)a數(shù)組元素的引用不正確的是A) ap-a B) *(&ai) C) pi D)

54、 *(*(a+i)9.2 以下程序段數(shù)組所有元素輸入數(shù)據(jù),應(yīng)在下劃線(xiàn)填入的是 A) a+(i+) B) &ai+1 C) a+i D) &a+imain() int a10,i=0; while(i10) scanf(%d,); . . 9.3 以下程序的輸出(shch)結(jié)果是 A) 3 B) 4 C) 1 D) 2main() int a10=1,2,3,4,5,6,7,8,9,10,*p=a; printf(%dn,*(p+2); 9.4 以下程序的輸出(shch)結(jié)果是 A) 不確定(qudng)的值 B) 3 C) 2 D) 1main() int n2=0,i,j,k=2; for(

55、i=0;ik;i+) for(j=0;ik;j+) nj=ni+1; printf(%dn,nk);9.5 以下程序的輸出結(jié)果是 A)17 B)18 C)19 D)20main() int a=2,4,6,8,10,y=1,x,*p; p=&a1; for(x=0;x3;x+) y+=*(p+x); printf(%dn,y); 9.6 以下程序的輸出(shch)結(jié)果是 A) 6 B) 8 C) 4 D) 2main() int a=2,4,6,8,*p=a,i; for(i=0;ia,4;i+) ai=*p+; printf(%dn,a2); 9.7 以下(yxi)程序的輸出結(jié)果是 A) 7

56、20 B) 120 C) 24 D) 6f(int b,int n) int i,r=1; for(i=0;i=n;i+) r=r*bi;return r;main() int x,a=2,3,4,5,6,7,8,9; x=f(a,3); printf(%dn,x);9.8 以下(yxi)程序中若第一個(gè)printf語(yǔ)句(yj)輸出的是194,則第二個(gè)printf語(yǔ)句(yj)的輸出結(jié)果是 A) 212 B) 204 C) 1a4 D) 1a6main() int a=1,2,3,4,5,6,7,8,9,0,*p; p=a; printf(%xn,p); printf(%xn,p+9);9.9 以

57、下程序的輸出結(jié)果是 A) 0987654321 B) 4321098765 C) 5678901234 D) 0987651234fun(int *s,int n1,int n2) int i,j,t; i=n1; j=n2; while(ij) t=*(s+i); *(s+i)=*(s+j); *(s+j)=t; i+; j-; main() int a10=1,2,3,4,5,6,7,8,9,0,i,*p=a; fun(p,0,3); fun(p,4,9); fun(p,0,9); for(i=0;i10;i+) printf(%d,*(a+i); 9.10 以下程序的輸出(shch)結(jié)果

58、是 A) 4 4 B) 2 2 C) 2 4 D) 4 6main() int a5=2,4,6,8,10,*p,*k; p=a; k=&p; printf(%d,*(P+); printf(%dn,*k);9.11 當(dāng)運(yùn)行以下程序時(shí)輸入三行(sn xn),每行都是在第一列上開(kāi)始,CR代表(dibio)Enter鍵; a b cdef則程序的輸出結(jié)果是 A)abcdef B)a C)a D)a b b b c cd cdef d e f#include stdio.h#define N 6main() char cN; int i=0; for(i=0;iN;i+) ci=getchar();

59、 for(i=0;iN;i+) putchar(ci); 9.12 若有定義(dngy)和語(yǔ)句: int c45,(*cp)5; cp=c;則對(duì)C數(shù)組元素的引用(ynyng)正確的是 A) cp+1 B) *(cp+3) C) *(cp+1)+3 D) *(*cp+2) 9.13 若已定義(dngy): int a43=1,2,3,4,5,6,7,8,9,10,11,12,(*prt)3=a,*p=a0;則能夠正確表示數(shù)組元素a12的表達(dá)式是 A) *(*prt+1)2) B) *(*(p+5) C) (*prt+1)+2 D) *(*(a+1)+2) 9.14 若有定義和語(yǔ)句: int a4

60、3=1,2,3,4,5,6,7,8,9,10,11,12,(*prt)3=a,*p4,i; for(i=0;i4;i+) pi=ai;則下能夠正確(zhngqu)表示a數(shù)組元素(yun s)的表達(dá)式是 A) a43 B) p00 C) prt22 D)(*(p+1)1 9.15 以下程序(chngx)的輸出結(jié)果是 A) 23 B) 26 C) 33 D) 36main() int aa33=2,4,6,i,*p=&aa00; for(i=0;i2;i+) if(i=0) aaii+1=*P+1; else +p; printf(%d,*p); printf(n); 9.16 以下程序的輸出結(jié)果

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論