C程序設(shè)計(jì)專項(xiàng)練習(xí)題_第1頁
C程序設(shè)計(jì)專項(xiàng)練習(xí)題_第2頁
C程序設(shè)計(jì)專項(xiàng)練習(xí)題_第3頁
C程序設(shè)計(jì)專項(xiàng)練習(xí)題_第4頁
C程序設(shè)計(jì)專項(xiàng)練習(xí)題_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、讀書之法,在循序而漸進(jìn),熟讀而精思一、C語言概述一、 單選題1-1.以下 不是c語言的特點(diǎn)。A.語言的表達(dá)能力強(qiáng)B.語法定義嚴(yán)格 C.數(shù)據(jù)結(jié)構(gòu)系統(tǒng)化 D.控制流程結(jié)構(gòu)化1-2. C編譯系統(tǒng)提供了對(duì) C程序的編輯、編譯、連接和運(yùn)行環(huán)境, 以下選項(xiàng)中可以不在該環(huán) 境下進(jìn)行的是。A.編輯和編譯 B.編譯和連接 C.連接和運(yùn)行 D.編輯和運(yùn)行 1-3.以下 不是二進(jìn)制代碼文件。A.標(biāo)準(zhǔn)庫文件 B.目標(biāo)文件 C.源程序文件 D.可執(zhí)行文件 1生下面各選項(xiàng)組中,均屬于 C語言關(guān)鍵字的一組是。A. auto, enum, include B. switch, typedef, continueC. sign

2、ed, union, scanf D. if, struct, type5下面四組字符串中,都可以用作C語言程標(biāo)識(shí)符的是A. printB. IamC. signD. if_mafscanf3mfty_pemx_2dmx_a.fx1#aMb6AMBA&B5XY1-6.以下不屬于流程控制語句的是 。A.表達(dá)式語句 B.選擇語句 C.循環(huán)語句 D.轉(zhuǎn)移語句 1-7.下面描述中,不正確的是 。A. C程序的函數(shù)體由一系列語句和注釋組成。B.注釋內(nèi)容不能單獨(dú)寫在一行上。C. C程序的函數(shù)說明部分包括對(duì)函數(shù)名、函數(shù)類型、形式參數(shù)等的定義和說明;D. scanf和printf是標(biāo)準(zhǔn)庫函數(shù)而不是輸入和輸出語

3、句。1-8.下面描述中,正確的是 。A.主函數(shù)中的花括號(hào)必須有,而子函數(shù)中的花括號(hào)是可有可無的。B. 一個(gè)C程序行只能寫一個(gè)語句。C.主函數(shù)是程序啟動(dòng)時(shí)唯一的入口。D.函數(shù)體包含了函數(shù)說明部分。二、填空題1-9. 一個(gè)完整的C程序至少要有一個(gè) 函數(shù)。1-10.標(biāo)準(zhǔn)庫函數(shù)不是 C語言本身的組成部分,它是由 提供的功能函數(shù)。1-11. C程序是以 為基本單位,整個(gè)程序由 組成。1-12.常用的標(biāo)準(zhǔn)庫函數(shù)有數(shù)學(xué)函數(shù)、字符函數(shù)和字符串函數(shù)、動(dòng)態(tài)分配函數(shù)、隨機(jī)函數(shù)和 函數(shù)等幾個(gè)大類。1-13.標(biāo)準(zhǔn)庫函數(shù)存放在 文件中。1-14.目標(biāo)程序文件的擴(kuò)展名是 。1-15.程序連接過程是將目標(biāo)程序、 或其他目標(biāo)程

4、序連接裝配成可執(zhí)行文件。1-16.因?yàn)樵闯绦蚴?類型的文件,所以它可以用具有文本編輯功能的任何編輯程序完成編輯。三、應(yīng)用題1-17.你認(rèn)為C語言的主要特點(diǎn)和用途是什么?它和其它高級(jí)語言有什么不同?1-18. C語言以函數(shù)為程序的基本單位,它有什么好處?1-19. C語言程序結(jié)構(gòu)的特點(diǎn)是什么?由哪些基本部分組成?1-20. C語言標(biāo)識(shí)符的作用是什么?命名規(guī)則是什么?與關(guān)鍵字有何區(qū)別?1-21.指出下列符號(hào)中哪些是C語言標(biāo)識(shí)符?哪些是關(guān)鍵字?哪些既非標(biāo)識(shí)符亦非關(guān)鍵字?stru au_to _auto sizeof 3id file m_i_n-min call.menu hello A BC SI

5、N90 n*m x.yx1234 until cos2x 1234 1234hello s+3 s_31-22.為什么可以稱C為中級(jí)語言?二、數(shù)據(jù)類型與運(yùn)算規(guī)則一、單選題2-1. C語言中字符型(char)數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是 A.原碼 B.補(bǔ)碼 C.反碼 D. ASCII碼 2-2.運(yùn)算符有優(yōu)先級(jí),在 C語言中關(guān)于運(yùn)算符優(yōu)先級(jí)的正確敘述是 。A.邏輯運(yùn)算符高于算術(shù)運(yùn)算符,算術(shù)運(yùn)算符高于關(guān)系運(yùn)算符B.算術(shù)運(yùn)算符高于關(guān)系運(yùn)算符,關(guān)系運(yùn)算符高于邏輯運(yùn)算符C.算術(shù)運(yùn)算符高于邏輯運(yùn)算符,邏輯運(yùn)算符高于關(guān)系運(yùn)算符D.關(guān)系運(yùn)算符高于邏輯運(yùn)算符,邏輯運(yùn)算符高于算術(shù)運(yùn)算符2-3. C語言并不是非常嚴(yán)格的語

6、言,在以下關(guān)于C語言的不嚴(yán)格的敘述中,錯(cuò)誤的說法是OA.任何不同數(shù)據(jù)類型都不可以同用B.有些不同類型的變量可以在一個(gè)表達(dá)式中運(yùn)算C.在賦值表達(dá)式中等號(hào)(=)左邊的變量和右邊的值可以是不同類型D.同一個(gè)運(yùn)算符號(hào)在不同的場(chǎng)合可以有不同的含義2-4.以下選項(xiàng)中屬于C語言的數(shù)據(jù)類型是 。A.復(fù)數(shù)型 B.邏輯型 C.雙精度型D.集合型2-5在C語言中,int、char和short三種類型數(shù)據(jù)所占用的內(nèi)存 A.均為2個(gè)字節(jié)B.由用戶自己定義C.由所用機(jī)器的機(jī)器字長(zhǎng)決定D.是任意的2:6下列常數(shù)中不能作為C的常量的是。A. 0xA5 B. 2.5e-2 C. 3e2 D. 05822-7.設(shè)int類型的數(shù)據(jù)

7、長(zhǎng)度為2個(gè)字節(jié),則unsigned int類型數(shù)據(jù)的取值范圍是 A. 0 至 255 B. 0 至 65535C.-256 至 255D.-32768 至 327672-8.在C語言中,數(shù)字 029是一個(gè)。A.八進(jìn)制數(shù)B.十六進(jìn)制數(shù)C.十進(jìn)制數(shù)D.非法數(shù)2:9.下列可以正確表示字符型常數(shù)的是 。A. a B. t C. n D. 297210.以下錯(cuò)誤的轉(zhuǎn)義字符是 。A. B. C. 81 D. 02-11. C語言中整數(shù)-8在內(nèi)存中的存儲(chǔ)形式是 。A. 1111 1111 1111 1000C. 0000 0000 0000 1000B. 1000 0000 0000 1000D. 1111

8、 1111 1111 01112-12.已知int i;float f;正確的語句是 。A.(int f)%i B. int(f)%i C. int(f%i) D. (int)f%i2-13.已知:char a;int b;float c;double d;執(zhí)行語句 c=a+b+c+d ;后,變量c的數(shù)據(jù)類型是 A. int B. char C. float D. double2-14.已知int i,a;執(zhí)行語句i=(a=2*3 , a*5),a+6;后,變量i的值是。A. 6 B. 12 C. 30 D. 362-15.已知int i=5, j=5;執(zhí)行語句j += +i;后j的值是。A.

9、 10 B. 11 C. 12 D. A,B,C 答案都不對(duì)2-16.字符串22a,0n的長(zhǎng)度是。A. 8 B. 7 C. 6 D. 5 2-17.已知:char c=A;int i=1,j;執(zhí)行語句 j=!c&i+;貝U i 和 j 的值是A.1,1B.1,0 C. 2,1 D. 2,02-18.已知:int x=1,y=2,z;則執(zhí)行:z=xy?+x:+y;則 z 的值為。A. 1 B. 2 C. 3 D. 42-19.為求出s=10!的值,則變量s的類型應(yīng)當(dāng)為。A. int B. unsiged C. long D.以上三種類型均可2-2。已知:float x=1, y=2, z; 則:

10、z=+x*y+ 的結(jié)果為 。A. z=4 B. z=2 C. z=6 D.表達(dá)式是錯(cuò)誤的2-21.已知int a=4,b=5,c;,則執(zhí)行表達(dá)式c=a=ab后變量a的值為A. 0 B. 1 C. 4 D. 5 2-22.已知:char w;int x;float y;double z;則表達(dá)式 w*x+z-y 結(jié)果的類型是 A. float B. Char C. int D. double2-23.選出使變量i的運(yùn)行結(jié)果為4的表達(dá)式 。A.int i=0, j=0;B.int i=1, j=0;(i=3,(j+)+i);j=i=(i=3)*2);C.int i=0, j=1;D.int i=1

11、, j=1;(j=1) ? (i=1):(i=3);i+=j+=2;224.已知:int x;則使用逗號(hào)運(yùn)算的表達(dá)式 (x=4*5, x*5), x+25的結(jié)果為 ,變量x的值為 。 A. 20 A. 20B. 100B. 100C.表達(dá)式不合法C. 125D. 45D. 452-26.執(zhí)行下面語句后x的值為。int a=14, b=15, x; char c=A; x = ( (a&b) & (ca);A. TRUE B. FALSE C. 0 D. 12-27.若定義了 int x;則將x強(qiáng)制轉(zhuǎn)化成雙精度類型應(yīng)該寫成 。A. (double)x B. x(double) C. double

12、(x) D.(x)double2-28.要判斷char型變量m是否是數(shù)字字符,可以使用下列表達(dá)式 。A. 0=m & m=9B. 0=m & m=9C. 0=m & m=9D.前面三個(gè)答案均是錯(cuò)誤的二、填空題2-29.負(fù)數(shù)在計(jì)算機(jī)中是以 形式表示。2-30.雙精度型實(shí)數(shù)的表示范圍是 ,其有效位是 。2-31.關(guān)系表達(dá)式的運(yùn)算結(jié)果是 值。2-32.邏輯運(yùn)算符!是 運(yùn)算符,其結(jié)合性是由 。2-33.表達(dá)式的運(yùn)算對(duì)象可以是常數(shù)、變量和 。2-34. 已知 char c;表達(dá)式(c=65&c=97&c=122 ) & c=27 的值為 1 , 則變量c的值可以是。*2-35.已知:a=15, b=24

13、0;則表達(dá)式(a&b)&b|b 的結(jié)果為 。2-36.已知在ASCII代碼中,字母 A的序號(hào)為65,以下程序的輸出結(jié)果是 。#includemain()char cl=A,c2=Y;printf(%d,%dn,c1,c2);三、應(yīng)用題2-37.下面程序的輸出是 。main() int x=10, y=10; printf(%d %dn, x-, -y);2-38.分析下面程序執(zhí)行后的結(jié)果。main () int a=3, b=7;printf (%dn”, a+b);/* */printf (%dn, b%a);/* */printf (%dn, !ab);/* */printf (%dn,

14、a+b);/* */printf (%dn, a&b);/* */2-39.在C語言中,怎樣區(qū)分求負(fù)與減法運(yùn)算?怎樣區(qū)分取地址運(yùn)算和按位與運(yùn)算?三、順序結(jié)構(gòu)的程序設(shè)計(jì)一、單選題3-1.已知:char a;int b;float c;double d;則計(jì)算表達(dá)式 a*c+c-d之后,結(jié)果的數(shù)據(jù)類型 。A. char B. int C. float D. double3-2.以下選項(xiàng)中不是C語句白是。A. int i; i+;printf(%dn,i); B. ; C. a=5 ,c=10 D. ; 3-3.以下合法的C語句是。A. a=b; B. k=int(a+b); C. k=a+b=c;

15、 D. -i;3-4.執(zhí)行以下程序段后,c3的值是。int c1=1,c2=2,c3;c3=c1/c2;A. 0 B. 1/2 C. 0.5 D. 13-5.若int a,b,c;則為它們輸入數(shù)據(jù)的正確輸入語句是 。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.若 float a,b,c;要通過語句:scanf( %f %f %f ,&a,&b,&c); 分別為 a,b,c 輸入 10,22,33。以 下不正確的輸入形式是。A. 10 B. 10.0,2

16、2.0,33.0 C. 10.0D. 10 222222.0 33.033333-7.若在鍵盤上輸入:283.1900,想使單精度實(shí)型變量 c的值為283.19,則正確的輸入語句是OA. scanf( %f,&c); B. scanf( %8.4f,&c); C. scanf ( %6.2f,&c); D. scanf( %8,&c);3-8.執(zhí)行語句:printf( |%10.5f|n”,12345.678);的輸出是 。A. |2345.67800| B. |12345.6780| C. |12345.67800| D. |12345.678|3-9.若有以下程序段,其輸出結(jié)果是 。int

17、 a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf( %d,%d,%dn,a,b,c);A. 3,0,-10 B. 0,0,5 C. -10,3,-10 D. 3,0,33-10.若a為int類型,且a=125,執(zhí)行下列語句后的輸出是 。printf(%d,%o,%xn,a,a+1,a+2)A. 125,175,7D B. 125,176,7F C. 125,176,7D D. 125,175,2F二、填空題3-11. a=3;c+=a-b; 在語法上被認(rèn)為是 條語句??照Z句的形式是 。3-12.若float x;以下程序段的輸出結(jié)果是 。x=5.16894;pr

18、intf(%fn,(int)(x*1000+0.5)/(float)1000);3-13.以下程序段中輸出語句執(zhí)行后的輸出結(jié)果依次是、和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-14.當(dāng)運(yùn)行以下程序時(shí),在鍵盤上從第一列開始輸入9876543210/(此處/代表回車),則程序的輸出結(jié)果是。main() int a; float b,c;scanf( %2d%3f%4f,&a,&b,&c); printf( na=%d,b=%f,c=%

19、fn,a,b,c);3-15.以下程序段,要求通過scanf函數(shù)給變量賦值,然后輸出變量的值。寫出運(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-16.執(zhí)行下列程序段后,輸出結(jié)果是。int a,b,c;a=b=c=0;c=(a-=a-3),(a=b,b+3);printf(%d,%d,%dn,a,b,c);3-17.下面程序的輸出結(jié)果是 。main() int x=10,y=3,

20、z;printf(%dn,z=(x%y,x/y); 3-18.若double a,b,c;要求為a、b、c分別輸入10、20、30。輸入序列為:(口表示空格) 口 10.0口口 20.0口口 30.0/,則正確的輸入語句是 。3-19.下面程序的輸出結(jié)果是 。main() double a; float b; int c;c=b=a=40/3;printf(%d %f %fn,c,b,a); 3-20.若有int 2=10=206=304第11 a和c的值互換的語句是 。 三、編程題3-21.編寫程序,輸出如下信息:*very good!*3-22.編寫程序,輸入9時(shí)23分并把它化成分鐘后輸出

21、。(從零點(diǎn)整開始計(jì)算)。3-23.編寫程序,分別轉(zhuǎn)換攝氏溫度-100C、00C、150C、340C為華氏溫度。攝氏溫度與華氏溫度滿足下列關(guān)系式(C表示攝氏溫度,F(xiàn)表示華氏溫度):C=(5/9)(F-32)3-24.設(shè)圓半徑為5,編寫程序,求圓的周長(zhǎng)和面積。3-25.編寫程序,輸入三角形的3個(gè)邊長(zhǎng)A、B、C,求三角形的面積 SS。3-26.設(shè) a=3,b=4,c=5,d=1.2,e=2.23,f=-43.56,編寫程序,使程序輸出為:a=DD 3,b=4 ,c=*5d=1.2e=DD 2.23f=-43.5600 口口*3-27.編寫程序,讀入三個(gè)整數(shù)給a、b、c,然后交換其中的數(shù),使a存放b的

22、值,b存放c的值,c 存放a的值。3-28.編寫程序,輸入三個(gè)數(shù)a,b,c,求它們的平均值。并按如下形式輸出:average of *、* and * is *.*其中,三個(gè)*依次表示a,b,c的值,*.*表示a,b,c的平均值。3-29執(zhí)行下列程序,按指定方式輸入(表示空格,能否得到指定的輸出結(jié)果?若不能 ,請(qǐng)修 改程序,使之能得到指定的輸出結(jié)果。輸入:2口3口 4/輸出:a=2,b=3,c=4x=6,y=24程序:main () int a, b, c, x, y;scanf (%d, %d, %d, a, b, c);x=a*b; y=x*c;printf (%d %d %d, a, b

23、, c);printf (x=%fn,x, y=%fn,y);四、選擇結(jié)構(gòu)的程序設(shè)計(jì)一、單選題4-1. if語句的控制條件 。A.只能用關(guān)系表達(dá)式B.只能用關(guān)系表達(dá)式或邏輯表達(dá)式C.只能用邏輯表達(dá)式D.可以用任何表達(dá)式4-2.以下程序的輸出結(jié)果是 。main()float x=2,y;if (x0) y=0;else if (x5&!x) y=1/(x+2);else if (x10) y=1/x;else y=10;printf(%fn,y);A. 0.000000 B. 0.250000 C. 0.500000 D. 10.0000004-3.執(zhí)行以下程序段后,a,b,c的值分別是 。in

24、t a,b=100,c,x=10,y=9;a=(-x=y+)?-x:+y;if(xy) z=x;x=y;y=z;A. 10,20,30 B. 20,30,30 C. 20,30,10 D. 20,30,204-5.以下程序的輸出結(jié)果是。main() int w=4,x=3,y=2,z=1;if(xy&!(z=w) printf(%dn,(wx?w:zx?w:zy?z:x);A. 1 B. 2 C. 3 D. 44-6.下面的程序片段所表示的數(shù)學(xué)函數(shù)關(guān)系是 y=-i;if (x!=0) if (x0) y=1; else y=0;A. y=-1(x0)B. y=1(x0)y=0(x0)C. y=

25、0(x0)D. y=-1(x0)y=0(x0)4-7.若執(zhí)行以下程序時(shí)從鍵盤上輸入3口4,則輸出結(jié)果是 (表示空格)。main() int a,b,s;scanf(%d%d,&a,&b);s=a;if (a4,則輸出x,否則輸出:error!的if語句是 4-13.能正確表達(dá)當(dāng)x的值是1,10或200,210范圍內(nèi)的奇數(shù)時(shí),輸出x的if語句是讀書之法,在循序而漸進(jìn),熟讀而精思4-14.下列程序段的輸出是 。int i=0, k=100, j=4;if (i+j)k=(i=j)?(i=1):(i=i+j);printf (k=%n,k);4-15*.下列程序段當(dāng)a的值為014和0x14時(shí)的執(zhí)行結(jié)

26、果分別是 。if ( a=0xA | a 12 )if ( 011&10=a ) printf (%d!n,a);else printf (Right!%dn,a);else printf (Wrong!%dn,a);4-16.以下程序的輸出是 。main() int a=0, b=0, c=0;if (a=b+c) printf (* a=%dn, a);else printf ($ a=%dn, a); 4-17.下列程序的輸出結(jié)果是。#include stdio.hmain () int x=1, y=0, a=0, b=0;switch (x) case 1:switch (y) ca

27、se 0: a+; break;case 1: b+; break;case 2: a+; b+;printf (a=%d, b=%dn , a, b);4-18.若下列程序執(zhí)行后t的值為4,則執(zhí)行時(shí)輸入a,b的值范圍是 #include stdio.hmain() int a, b, s=1, t=1;scanf (%d, %d, &a, &b);if (a0) s+=1;if (ab) t+=s;else if(a=b) t=5;else t = 2*s;printf (s=%d, t=%dn, s,t);三、編程題4-19.以下程序求3個(gè)整數(shù)中的最小值,程序是否有錯(cuò)?若有錯(cuò),請(qǐng)改正。 m

28、ain() int a, b, s, t;scanf (%d, %d, &a, &b);if (ab)&(ac)if bc printf(min=%dn,b)else printf(min=%dn,c)if(ab)&(ac) printf(min=%dn,a)4-20.給出一個(gè)5位數(shù),按逆序輸出它的各位數(shù)字。如:輸入12345,輸出54321。4-21.有一函數(shù):y= x (-5x0)y= x-1 (x=0)y= x+1 (0x10)分別用:簡(jiǎn)單if語句(2)嵌套的if語句if-else語句(4)switch語句編寫程序,要求 輸入x的值,輸出y的值。4-22.編寫程序,輸入一位學(xué)生的生日(年

29、:y0、月:m0、日:d0);并輸入當(dāng)前的日期(年:y1、 月:m1、日:d1);輸出該生的實(shí)際年齡。4-23.編寫程序,輸入3個(gè)整數(shù),判斷它們是否能夠構(gòu)成三角形,若能構(gòu)成三角形,則輸出三角形的類型(等邊、等腰或一般三角形)。4-24.將下列程序用switch語句改寫,并使其功能不變。main() int x, y;scanf (%d,&x);if ( x20 ) y = 1;if ( x30 ) y = 2;if ( x40 ) y = 3;if ( x50 ) y = 4;if ( x60 ) y = 5;else y = 6;printf(x=%d,y=%dn,x,y);4-25.某商店

30、為促銷推出如下讓利銷售方案,其中M為購(gòu)買金額,N為讓利百分比。M100, N=0; 100=M200, N=1.5%;200=M300, N=2.5%; 300=M400, N=3.5%;400=M500, N=4.5%; 500=M600, N=6 %;編寫程序,對(duì)輸入的貝買金額,輸出顧客購(gòu)買金額、實(shí)際支付的金額和返還的金額。4-26.編寫程序,計(jì)算從1995年元月1日至2000年12月10日共有多少天。閏年的二月有 29天。閏年Y滿足如下條件:Y能被400整除或Y能被4整除,但不能被100整除。4-27.編寫程序,輸入一個(gè)不超過 5位數(shù)的正整數(shù),輸出它的個(gè)位數(shù),并指出它是幾位數(shù)。4-28.

31、編寫程序,加密數(shù)據(jù)。方法:對(duì)給定數(shù)值,每一位數(shù)字均加2,且在0,9范圍內(nèi),若加密后某位數(shù)字大于9,則取其被10除的余數(shù)。如:6987加密后為8109。五、循環(huán)結(jié)構(gòu)的程序設(shè)計(jì)一、單選題5-1.下列程序執(zhí)行的結(jié)果是。a=1;b=2;c=3;while(abc) t=a;a=b;b=t;c-; printf(%d,%d,%d,a,b,c);A. 1,2,0 B. 2,1,0 C. 1,2,1 D. 2,1,15-2.執(zhí)行語句for(i=1;i+4;);后,i的值是。A. 3 B. 4 C. 5 D.不定5-3.下列程序段。x=3;do y = x-;if ( !y ) printf(x); cont

32、inue; printf(#); while(1=x3; x-) if ( x%3 ) x-; -x; -x; printf(%d ,x);A. 6 3 B. 7 4 C. 6 2 D. 7 35-5.下列說法中正確的是 。A. break用在switch語句中,而 continue用在循環(huán)語句中。B. break用在循環(huán)語句中,而 continue用在switch語句中。C. break能結(jié)束循環(huán),而 continue只能結(jié)束本次循環(huán)。D. continue能結(jié)束循環(huán),而break只能結(jié)束本次循環(huán)。5-6*.指出程序結(jié)束之時(shí),j、i、k的值分別是。main() int a=10,b=5,c=

33、5,d=5,i=0,j=0,k=0;for (;ab;+b) i+;while (a+c) j+;do k+; while (ad+);A. j=5,i=4,k=6;B. i=5,j=4,k=6; C. j=6,i=5,k=7; D. j=6,i=6,k=6;讀書之法,在循序而漸進(jìn),熟讀而精思5-7.下面程序的輸出結(jié)果是。main()int i,j; float s;for(i=6;i4;i-)s=0.0;for(j=i;j3;j-) s=s+i*j; printf(%fn,s); A. 135.000000 B. 90.000000 C. 45.000000 D. 60.0000005-8.

34、若有:do i=a-b+; printf(%d,i);while(!i); 則 while 中的!i 可用 代替。A. i=0 B. i!=1 C. i!=0 D.以上均不對(duì)二、填空題5-9.以下while循環(huán)執(zhí)行的次數(shù)是 。k=0; while( k=10) k=k+1;5-10.下列程序段的執(zhí)行結(jié)果是 。int j;for(j=10;j3;j-)if(j%3) j-; -j; j-;printf(%d ,j); 5-11.以下循環(huán)語句執(zhí)行 次循環(huán)?int i,j;for(i=5; i ; i-)for(j=0;j4;j+) 5-12.以下程序段的輸出結(jié)果是 。int i=0,sum=1;d

35、osum+=i+;while(i1) x=y; y=x; z=x/y; else break;printf(%fn,y);5-14.以下程序的輸出結(jié)果是 。main() int i; for(i=1;i0; y-) if (y%3) continue;printf (%4d,-y);5-16.有以下程序段:s=1.0;for ( k=1; kamax ) amax=x;if () amin=x;scanf(%f,&x);printf(namax=%fnamin=%fn,amax,amin);讀書之法,在循序而漸進(jìn),熟讀而精思三、編程題* 5-18.求 1-3+5-7+-99+101 的值。*5

36、-19.任意輸入10個(gè)數(shù),計(jì)算所有正數(shù)的和、負(fù)數(shù)的和以及這10個(gè)數(shù)的總和。5-20.任意輸入小于32768的正整數(shù)s,從s的個(gè)位開始輸出每一位數(shù)字,用逗號(hào)分開。* 5-21 .對(duì)輸入的正整數(shù) a, b,求ab的最后3位數(shù)。5-22.輸入6個(gè)學(xué)生的5門課成績(jī),分別求出每個(gè)學(xué)生的平均成績(jī)。* 5-23 .編寫程序,求e的近似值。e 1+1+1/2!+1/3!+ +1/n!計(jì)算前60項(xiàng)。 計(jì)算各項(xiàng),直到最后一項(xiàng)的值小于10-4為止(計(jì)算的項(xiàng)均大于等于 10-4)。5-24.設(shè)X數(shù)列定義如下: n (n=1, 2, 3) Xn-1+Xn-2+Xn-3 (n3) 編寫程序,對(duì)輸入的正整數(shù)n,輸出x數(shù)列白

37、前n項(xiàng)。5-25,輸出所有大于1010的4位偶數(shù),且該偶數(shù)的各位數(shù)字兩兩不相同。* 5-26 .用40元買蘋果、西瓜和梨共 100個(gè),3種水果都要。已知蘋果0.4元一個(gè),西瓜4元一個(gè),梨0.2元一個(gè)。問可以各買多少個(gè)?輸出全部購(gòu)買方案。5-27.編寫程序,輸出以下圖形: *六、函數(shù)一、選擇題6-1. C語言程序由函數(shù)組成。它的 。A.主函數(shù)必須在其它函數(shù)之前,函數(shù)內(nèi)可以嵌套定義函數(shù)B.主函數(shù)可以在其它函數(shù)之后,函數(shù)內(nèi)不可以嵌套定義函數(shù)C.主函數(shù)必須在其它函數(shù)之前,函數(shù)內(nèi)不可以嵌套定義函數(shù)D.主函數(shù)必須在其它函數(shù)之后,函數(shù)內(nèi)可以嵌套定義函數(shù)6-2. 一個(gè)C語言程序的基本組成單位是 。A.主程序

38、B.子程序 C.函數(shù) D.過程6-3.以下說法中正確的是 。A . C語言程序總是從第一個(gè)定義的函數(shù)開始執(zhí)行B.在C語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義C. C語言程序總是從 main()函數(shù)開始執(zhí)行D. C語言程序中的 main()函數(shù)必須放在程序的開始部分6-4.已知函數(shù)abc的定義為:void abc ().則函數(shù)定義中void的含義是。A.執(zhí)行函數(shù)abc后,函數(shù)沒有返回值B.執(zhí)行函數(shù)abc后,函數(shù)不再返回C.執(zhí)行函數(shù)abc后,可以返回任意類型D.以上三個(gè)答案全是錯(cuò)誤的6-5.在以下對(duì)C語言的描述中,正確的是。A.在C語言中調(diào)用函數(shù)時(shí),只能將實(shí)參的值傳遞給形參,形參的值不

39、能傳遞給實(shí)參B. C語言函數(shù)既可以嵌套定義又可以遞歸調(diào)用C.函數(shù)必須有返回值,否則不能使用函數(shù)D. C語言程序中有調(diào)用關(guān)系的所有函數(shù)都必須放在同一源程序文件中6-6以以下敘述中錯(cuò)誤的是 。A.在C語言中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次賦一次初值B.在C語言中,在調(diào)用函數(shù)時(shí),實(shí)參和對(duì)應(yīng)形參在類型上只需賦值兼容C.在C語言中,外部變量的隱含類別是自動(dòng)存儲(chǔ)類別D.在C語言中,函數(shù)形參的存儲(chǔ)類型是自動(dòng)(auto)類型的變量的含義是。B .與auto i=10;在功能上等價(jià)D.將變量i賦值為10B.不可以嵌套調(diào)用D.嵌套調(diào)用和遞歸調(diào)用均可6-7.說明語句static int i=10;中i=10

40、A.只說明了一個(gè)靜態(tài)變量C.將變量i初始化為106-8. C語言中的函數(shù)。A.可以嵌套定義C.可以嵌套調(diào)用,但不能遞歸調(diào)用6-9. C語言中函數(shù)返回值的類型是由 決定的。A . return語句中的表達(dá)式類型B.調(diào)用該函數(shù)的主調(diào)函數(shù)類型C.調(diào)用函數(shù)時(shí)臨時(shí)D .定義函數(shù)時(shí)所指定的函數(shù)類型6-10. C語言規(guī)定,調(diào)用一個(gè)函數(shù)時(shí),實(shí)參變量和形參變量之間的數(shù)據(jù)傳遞方式是 。A.地址傳遞B.值傳遞C.由實(shí)參傳給形參,并由形參傳回來給實(shí)參D.由用戶指定傳遞方式6-11.下列的結(jié)論中只有 是正確的。A .所有的遞歸程序均可以采用非遞歸算法實(shí)現(xiàn)B.只有部分遞歸程序可以用非遞歸算法實(shí)現(xiàn)C.所有的遞歸程序均不可以

41、采用非遞歸算法實(shí)現(xiàn)D.以上三種說法都不對(duì)6-12.在下列結(jié)論中,只有一個(gè)是錯(cuò)誤的,它是。A. C語言允許函數(shù)的遞歸調(diào)用B. C語言中的continue語句,可以通過改變程序的結(jié)構(gòu)而省略C.有些遞歸程序是不能用非遞歸算法實(shí)現(xiàn)的D. C語言中不允許在函數(shù)中再定義函數(shù)6-13.在下列結(jié)論中,只有一個(gè)是正確的,它是。A.遞歸函數(shù)中的形式參數(shù)是自動(dòng)變量B.遞歸函數(shù)中的形式參數(shù)是外部變量C.遞歸函數(shù)中的形式參數(shù)是靜態(tài)變量D.遞歸函數(shù)中的形式參數(shù)可以根據(jù)需要自己定義存儲(chǔ)類型6-14.下列結(jié)論中,只有一個(gè)是正確的,它是。A .在遞歸函數(shù)中使用自動(dòng)變量要十分小心,因?yàn)樵谶f歸過程中,不同層次的同名變量在賦值的時(shí)候

42、一定會(huì)產(chǎn)生相互影響B(tài).在遞歸函數(shù)中使用自動(dòng)變量要十分小心,因?yàn)樵谶f歸過程中,不同層次的同名變量在賦值的時(shí)候可能會(huì)產(chǎn)生相互影響C.在遞歸函數(shù)中使用自動(dòng)變量不必?fù)?dān)心,因?yàn)樵谶f歸過程中,不同層次的同名變量在賦值的時(shí)候肯定不會(huì)產(chǎn)生相互影響D.在C語言中無法得出上述三個(gè)結(jié)論之一6-15.在函數(shù)調(diào)用過程中,如果函數(shù)funA調(diào)用了函數(shù)funB,函數(shù)funB又調(diào)用了函數(shù)funA,則A.稱為函數(shù)的直接遞歸B.稱為函數(shù)的間接遞歸C.稱為函數(shù)的遞歸定義D. C語言中不允許這樣的遞歸形式二、填空題6-16.變量的存儲(chǔ)類型有 一種,它們是。6-17.下面的函數(shù) sum (int n)完成計(jì)算1n的累加和。 int su

43、m (int n) if (n=0和n=0有如下定義: ack(0,n)=n+1 ack(m,0)=ack(m-1,1) ack(m,n)=ack(m-1,ack(m,n-1) 請(qǐng)編程輸入 m和n,求出ack(m,n)之值。提示:利用遞歸方法編寫該函數(shù)6-25.用遞歸的方法打印楊輝三角形。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 16-26.編寫一遞歸程序?qū)崿F(xiàn)任意正整數(shù)向八進(jìn)制數(shù)的轉(zhuǎn)換。6-27.請(qǐng)編寫一個(gè)模擬輪盤賭的程序 (a roulette program)。該輪盤賭機(jī)器隨機(jī)的在 0到35之 間選擇一個(gè)數(shù)字,游戲者可以打奇/偶賭或打具體數(shù)的賭。 贏得奇/偶

44、數(shù)賭時(shí)游戲者以2比1獲 獎(jiǎng),但如果輪盤賭機(jī)器選中 0則所有奇/偶賭都輸?shù)?。如果游戲者打一個(gè)具體數(shù)的賭,而輪盤賭 機(jī)器正好選中此數(shù) 則他以35比1獲獎(jiǎng)。6-28.驗(yàn)證卡布列克運(yùn)算。任意一個(gè)四位數(shù),只要它們各個(gè)位上的數(shù)字是不全相同的,就有這樣的規(guī)律:將組成這個(gè)四位數(shù)的四個(gè)數(shù)字由大到小排列,形成由這四個(gè)數(shù)字構(gòu)成的最大的四位數(shù); 將組成這個(gè)四位數(shù)的 4個(gè)數(shù)字由小到大排列,形成由這4個(gè)數(shù)字構(gòu)成的最小的四位數(shù)(如果四個(gè)數(shù)字中含有 0,則得到的數(shù)不足四位); 求兩個(gè)數(shù)的差,得到一個(gè)新的四位數(shù)。重復(fù)以上過程,最后得到的結(jié)果總是 6174。七、數(shù)組一、單選題7-1.以下程序的輸出結(jié)果是。main() int n

45、2=0,i,j,k=2;for(i=0;ik;i+)for(j=0;jk;j+)nj=ni+1; printf(%dn,n1);A.不確定的值 B. 3 C. 2 D. 17-2.以下程序的出結(jié)果是 。main() int i,k,a10,p3;k=5;for(i=0;i10;i+) ai=i;for(i=0;i3;i+) pi=ai*(i+1);for(i=0;i3;i+) k+=pi*2; printf(%dn,k);A.20 B. 21 C. 22 D. 23 7-3.以下正確的數(shù)組定義語句是 。A .int y14 = 1,2,3,4,5;B.float x3 = 1,2,3;C -l

46、ong s23 = 1,1,2,1,2,3;D.double t 3 = 0;7-4.若有說明:int a 4;則aij前有 個(gè)元素。A. j*4+i B. i*4+j C. i*4+j-1 D. i*4+j+17-5.以下程序的輸出結(jié)果是。main() int m33=1,2,3;int n33=1,2,3;printf(%dn,m1+n00);printf(%dn,m01+n10);A. 00B. 23C. 30D. 1讀書之法,在循序而漸進(jìn),熟讀而精思7-6.以下程序的輸出結(jié)果是。main() int i,x33=1,2,3,4,5,678,9;for(i=0;i3;i+) printf(%d,xi2-i); A.1,5,9, B. 1,4,7, C. 3,5,7, D. 3,6,9,7-7.下列程序(每行前的數(shù)字表示行號(hào))。1 main()2 float a10=0.0; int i;3

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論