曲靖師范學(xué)院C語(yǔ)言習(xí)題集及解答_第1頁(yè)
曲靖師范學(xué)院C語(yǔ)言習(xí)題集及解答_第2頁(yè)
曲靖師范學(xué)院C語(yǔ)言習(xí)題集及解答_第3頁(yè)
曲靖師范學(xué)院C語(yǔ)言習(xí)題集及解答_第4頁(yè)
曲靖師范學(xué)院C語(yǔ)言習(xí)題集及解答_第5頁(yè)
已閱讀5頁(yè),還剩41頁(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、曲靖師范學(xué)院優(yōu)質(zhì)課程建設(shè)程序設(shè)計(jì)與算法語(yǔ)言習(xí)題及參考答案程序設(shè)計(jì)與算法語(yǔ)言課題組二O O九年十月目 錄習(xí)題一 C語(yǔ)言概述習(xí)題1習(xí)題二 數(shù)據(jù)類(lèi)型運(yùn)算符和表達(dá)式習(xí)題3習(xí)題三 結(jié)構(gòu)化程序設(shè)計(jì)習(xí)題5習(xí)題四 選擇結(jié)構(gòu)程序設(shè)計(jì)習(xí)題7習(xí)題五 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)習(xí)題10習(xí)題六 數(shù)組15習(xí)題七 函數(shù)20習(xí)題八 指針25習(xí)題九 結(jié)構(gòu)體與共用體27習(xí)題一 C語(yǔ)言概述習(xí)題答案29習(xí)題二 數(shù)據(jù)類(lèi)型運(yùn)算符和表達(dá)式答案29習(xí)題三 結(jié)構(gòu)化程序設(shè)計(jì)答案.30習(xí)題四 選擇結(jié)構(gòu)程序設(shè)計(jì)習(xí)題答案31習(xí)題五 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)習(xí)題答案33習(xí)題六 數(shù)組習(xí)題答案35習(xí)題七 函數(shù)習(xí)題答案38習(xí)題八 指針習(xí)題答案41習(xí)題九 結(jié)構(gòu)體共用體答案43習(xí)

2、題一 C語(yǔ)言概述習(xí)題1. 單項(xiàng)選擇題(1)C 語(yǔ)言是在 語(yǔ)言的基礎(chǔ)上產(chǎn)生的。 A. A B. B C. D D. E (2)在 C 語(yǔ)言中,每個(gè)語(yǔ)句必須以 結(jié)束。 A. 回車(chē)符 B. 冒號(hào) C. 逗號(hào) D. 分號(hào) (3)標(biāo)識(shí)符和關(guān)鍵字間,要用 隔開(kāi)。 A. 回車(chē)符 B. 冒號(hào) C. 空格 D. 分號(hào) (4)用 C 語(yǔ)言編寫(xiě)的源文件經(jīng)過(guò)編譯,若沒(méi)有產(chǎn)生編譯錯(cuò)誤,則系統(tǒng)將( )。 A. 生成可執(zhí)行目標(biāo)文件 B. 生成目標(biāo)文件 C. 輸出運(yùn)行結(jié)果 D. 自動(dòng)保存源文件 (5)下列說(shuō)法中正確的是( )。 A. 由于 C 源程序是高級(jí)語(yǔ)言程序,因此一定要在 TC 軟件中輸入 B. 由 C 源程序是字符流

3、組成,因此可以作為文本文件在任何文本編輯的軟件中輸入 C. 由于C 程序是高級(jí)語(yǔ)言程序,因此輸入后即可執(zhí)行 D. 由于 C 程序是高級(jí)語(yǔ)言程序,因此它由命令組成 (6)下列說(shuō)法中正確的是( )。 A. C 語(yǔ)言程序由主函數(shù)和 0 個(gè)或多個(gè)函數(shù)組成 B. C 語(yǔ)言程序由主程序和子程序組成 C. C 語(yǔ)言程序由子程序組成 D. C 語(yǔ)言程序由過(guò)程組成 (7)下列說(shuō)法中錯(cuò)誤的是( )。 A. 主函數(shù)可以分為兩個(gè)部分:主函數(shù)說(shuō)明部分和主函數(shù)體 B. 主函數(shù)可以調(diào)用任何非主函數(shù)的其他函數(shù) C. 任何非主函數(shù)可以調(diào)用其他任何非主函數(shù) D. 程序可以從任何非主函數(shù)開(kāi)始執(zhí)行 2. 填空題 (1)C 語(yǔ)言只有

4、個(gè)關(guān)鍵字和 種控制語(yǔ)句。 (2)C 語(yǔ)言是一種“ ”,既具有 的特點(diǎn)又具有 的特點(diǎn);既適合于開(kāi)發(fā)系統(tǒng)軟件又適合于編寫(xiě)應(yīng)用程序。 (3)每個(gè)源程序有且只有一個(gè) 函數(shù),系統(tǒng)總是從該函數(shù)開(kāi)始執(zhí)行C語(yǔ)言程序。 (4)在 C 語(yǔ)言程序中允許出現(xiàn)的字符集是 。 (5) C 語(yǔ)言的程序中有特殊含義的英語(yǔ)單詞稱(chēng)為 。 (6) C 語(yǔ)言標(biāo)識(shí)符的長(zhǎng)度是前 位有效。(7)C 語(yǔ)言中,標(biāo)識(shí)符的定義規(guī)則是 。 (8)C 語(yǔ)言程序的注釋可以出現(xiàn)在程序中的任何地方,它總是以 符號(hào)作為開(kāi)始標(biāo)記,以 符號(hào)作為結(jié)束標(biāo)記。3. 簡(jiǎn)答題(1)結(jié)合自己的認(rèn)識(shí),談?wù)?C 語(yǔ)言的特點(diǎn)。 (2)C語(yǔ)言程序由哪幾部分組成? (3)C語(yǔ)言程序的

5、書(shū)寫(xiě)規(guī)則主要有哪些? (4)一個(gè) C 語(yǔ)言應(yīng)用程序上機(jī)過(guò)程一般要經(jīng)過(guò)哪幾個(gè)步驟?簡(jiǎn)述各步的作用。4. 編程題編寫(xiě)一個(gè) C 語(yǔ)言應(yīng)用程序,其功能是顯示以下信息:* Hello World! *習(xí)題二 數(shù)據(jù)類(lèi)型運(yùn)算符和表達(dá)式習(xí)題1. 單項(xiàng)選擇題 (1)以下選項(xiàng)中,正確的 C 語(yǔ)言整型常量是 (TC 中)。 A. 32L B. C. -1.00 D. 0568 (2)以下選項(xiàng)中, 是不正確的 C 語(yǔ)言字符型常量。 A. a B. x41 C. 101 D. a (3)在 C 語(yǔ)言中,字符型數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中,以字符的 形式存儲(chǔ)。 A. 原碼 B. 反碼 C. ASCII 碼 D. BCD碼 (4)字

6、符串的結(jié)束標(biāo)志是 。 A. 0 B. 0 C. 0 D. 0 (5)算術(shù)運(yùn)算符、賦值運(yùn)算符和關(guān)系運(yùn)算符的運(yùn)算優(yōu)先級(jí)按從高到低依次為 。 A. 算術(shù)運(yùn)算、賦值運(yùn)算、關(guān)系運(yùn)算 B. 算術(shù)運(yùn)算、關(guān)系運(yùn)算、賦值運(yùn)算 C. 關(guān)系運(yùn)算、賦值運(yùn)算、算術(shù)運(yùn)算 D. 關(guān)系運(yùn)算、算術(shù)運(yùn)算、賦值運(yùn)算 (6)邏輯運(yùn)算符中,運(yùn)算優(yōu)先級(jí)按從高到低依次為 。 A. &,!,| B. |,&,! C. &,|,! D. !,&,| (7)表達(dá)式!x|a=b 等效于 。 A. !(x|a)=b) B. !(x|y)=b C. !(x|(a=b) D. (!x)|(a=b) (8)設(shè)整型變量 m,n,a,b,c,d 均為1,執(zhí)行

7、 (m=a=b)|(n=cd)后, m,n 的值是 。 A. 0,0 B. 0,1 C. 1,0 D. 1,1 (9)int b=0,x=1;執(zhí)行語(yǔ)句 if(x+) b=x+1; 后,x,b 的值依次為 。 A. 2,3 B. 2,0 C. 3,0 D. 3,2 (10) 設(shè)有語(yǔ)句 int a=3;,則執(zhí)行了語(yǔ)句 a+=a-=a*=a; 后,變量 a 的值是 。 A. 3 B. 0 C. 9 D. -12 (11)在以下一組運(yùn)算符中,優(yōu)先級(jí)最低的運(yùn)算符是 。 A. * B. != C. + D. = (12)設(shè)整型變量 i 值為2,表達(dá)式(+i)+(+i)+(+i)的結(jié)果是 。 A. 6 B.

8、 12 C. 13 D. 表達(dá)式出錯(cuò) (13)若已定義 x 和 y為double 類(lèi)型,則表達(dá)式 x=1,y=x+3/2 的值是 。 A. 1 B. 2 C. 2.0 D. 2.5 (14)sizeof (double)的結(jié)果值是 。 A. 8 B. 4 C. 2 D. 出錯(cuò) (15)設(shè)a=1,b=2,c=3,d=4,則表達(dá)式:ab? a : cd? a : d的結(jié)果為 。 A. 4 B. 3 C. 2 D. 1 (16)設(shè)a 為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系:10a15的 C 語(yǔ)言表達(dá)式是 。 A. 10a10 & a15 D. !(a=15) (17)設(shè) f是實(shí)型變量,下列表達(dá)式中不是逗號(hào)

9、表達(dá)式的是 。 A. f= 3.2, 1.0 B. f0, f0 D. f=(3.2, 1.0) (18)設(shè)ch是 char型變量,其值為 A,則下面表達(dá)式的值是 。 ch=(ch=A& ch D. * (22) PC 機(jī)中,n在內(nèi)存占用的字節(jié)數(shù)是 。 A. 1 B. 2 C. 3 D. 4 (23)字符串ABC在內(nèi)存占用的字節(jié)數(shù)是 。 A. 3 B. 4 C. 6 D. 8 (24)要為字符型變量 a賦初值,下列語(yǔ)句中哪一個(gè)是正確的 。 A. char a=3; B. char a=”3”; C. char a=%; D. char a=*; (25)下列不正確的轉(zhuǎn)義字符是 。 A. B.

10、C. 074 D. 0 2. 填空題(1) C 語(yǔ)言中的邏輯值“真”是用 表示的,邏輯值“假”是用 表示的。 (2) 符號(hào)常量的定義方法是 。 (3) 無(wú)符號(hào)基本整型的數(shù)據(jù)類(lèi)型符為 ,雙精度實(shí)型數(shù)據(jù)類(lèi)型符為 ,字符型數(shù)據(jù)類(lèi)型符為 。(4) 設(shè) c=w,a=1,b=2,d=-5, 則表達(dá)式 x+1c, y!=c+2, -a-5*b=d+1, b=(a=2)的值分別為 、 、 、 。 (5) 設(shè) float x=2.5,y=4.7; int a=7;,表達(dá)式 x+a%3*(int)(x+y)%2/4的值為 。(6) 判斷變量 a、b 的值均不為 0 的邏輯表達(dá)式為 。 (7) 求解賦值表達(dá)式 a=

11、(b=10)%(c=6),表達(dá)式值、a、b、c 的值依次為 。 (8) 求解逗號(hào)表達(dá)式 x=a=3,6*a 后,表達(dá)式值、x、a 的值依次為 。(9) 數(shù)學(xué)式a/(b*c)的 C 語(yǔ)言表達(dá)式 。3. 簡(jiǎn)答題(1)用戶(hù)標(biāo)識(shí)符在命名時(shí),應(yīng)注意哪幾個(gè)方面? (2)設(shè) int i=1,j=2,k=3;,請(qǐng)寫(xiě)出以下表達(dá)式的值及計(jì)算后變量 i、j、k 的值。 ( +i ) * ( +j ) * ( + k) ( i+ ) * ( +j ) * (k+) i=i+j,j=j+k,k=k+i ! ( i = j ) & ( j = k ) 4. 編程題(1)設(shè)長(zhǎng)方形的高為 1.5,寬為 2.3,編程求該長(zhǎng)方形

12、的周長(zhǎng)和面積。(2)編寫(xiě)一個(gè)程序,將大寫(xiě)字母 A轉(zhuǎn)換為小寫(xiě)字母 a。習(xí)題三 結(jié)構(gòu)化程序設(shè)計(jì)習(xí)題1. 選擇題(1)printf(f=%3.2f%,3.478);的輸出結(jié)果是 。A. f=3.48% B. f=3.5% C. f=3.48% % D. f=347.8% (2)printf(%c,%d,a, a);的輸出結(jié)果是 。 A. a,97 B. a 97 C. 97,a D. 97 a (3)scanf(%c,&a);若要給變量輸入大寫(xiě)字母 A,則以下正確的輸入是 。 A. A B. A C. A D. 以上都不對(duì) (4)若一個(gè) int 類(lèi)型的數(shù)據(jù)占 2 字節(jié),則程序段:int x=-1;p

13、rintf(%u,%d,x,x);的輸出結(jié)果是 。 A. 65535, -1 B. 1, 65535 C. 32767, 32768 D. 32768,32767 (5)在 TC 中,getchar、putchar、printf、scanf 四個(gè)函數(shù),均包含在頭文件 中。 A. math.h B. stdio.h C. stbio.h D. stdlib.h (6)復(fù)合語(yǔ)句是用 括起來(lái)的語(yǔ)句組。 A. ( ) B. C. D. (7)下列格式符中,哪一個(gè)可以用于以八進(jìn)制形式輸出整數(shù) 。 A. %d B. %8d C. %o D. %ld (8)下列格式符中,哪一個(gè)可以用于以十六進(jìn)制形式輸出整數(shù)

14、 。 A. %16d B. %8x C. %d16 D. %d (9) a 是int類(lèi)型變量,c是字符變量,下列輸入語(yǔ)句中哪一個(gè)是錯(cuò)誤的 。 A. scanf(%d,%c,&a,&c); B. scanf(%d%c,a,c); C. scanf(%d%c,&a,&c); D. scanf(d=%d,c=%c,&a,&c); (10)要使double x; long a;的數(shù)據(jù)能正確的輸出,輸出語(yǔ)句應(yīng)是 。 A. printf(%d, %f,a, x); B. printf(%d, %1f,a, x);C. scanf(%1d, %1f,&a, &x); D. printf(%1d, %lf,a

15、, x);2. 程序改錯(cuò)題(以下各個(gè)程序段均有 5 個(gè)錯(cuò)誤,請(qǐng)先找出錯(cuò)誤的位置,然后再改正) (1)以下程序的功能是,從鍵盤(pán)輸入一個(gè)字符并鳴笛輸出。 # include stdio.h mian() char c getchar(c); putchar(007) ; /*鳴笛*/ c=putchar(); (2)以下程序的功能是,輸入長(zhǎng)方形的兩邊長(zhǎng)(邊長(zhǎng)可以取整數(shù)和實(shí)數(shù)),輸出它的面積和周長(zhǎng)。 main int a,b,s,l; scanf(%d,%d,&a,&b); s=a*b; l=a+b; printf(l=%f,s=%fn,l); 3. 寫(xiě)出程序運(yùn)行結(jié)果(1) main() int a

16、,b; scanf(%2d%*2s%2d,&a,&b); printf(%dn,a+b); 運(yùn)行時(shí)輸入: (2) main() int a=3,b=5,x,y; x=a+1,b+6; y=(a+1,b+6); printf(x=%dny=%dn,x,y); 4. 編程題 輸入 3 個(gè)整數(shù),計(jì)算它們的和與平均值,平均值的結(jié)果保留 2 位小數(shù)。 習(xí)題四 選擇結(jié)構(gòu)程序設(shè)計(jì)習(xí)題1. 單項(xiàng)選擇題 (1) 選擇結(jié)構(gòu)程序設(shè)計(jì)的特點(diǎn)是_。A. 自上向下逐個(gè)執(zhí)行 B. 根據(jù)判斷條件,選擇其中一個(gè)分支執(zhí)行 C. 反復(fù)執(zhí)行某些程序代碼 D. 以上都是 (2) 假定所有變量均已正確定義,下列程序段運(yùn)行后x 的值是_。

17、 a=b=c=0,x=35; if(!a) x-; else if(b); if(c) x=3; else x=4; A. 34 B. 4 C. 35 D. 3 (3) 下面的程序片段所表示的數(shù)學(xué)函數(shù)關(guān)系是_。 if(x0) y=1; else y=0; (4) 下列各語(yǔ)句序列中,能夠且僅輸出整型變量a、b 中最大值的是( )。 A. if(ab) printf(%dn,a); printf(%dn,b); B. printf(%dn,b); if(ab) printf(%dn,a); C. if(ab) printf(%dn,a); else printf(%dn,b); D. if(a0)

18、 y=1;else if(x=0) y=0;else y= -1;printf(%d,y);A. 1 B. -1 C. 0 D. 2 (6)程序段int x=5,y=8,max; max=(xy)?x:y; printf(%d,max);的輸出結(jié)果是 。 A. 5 B. 8 C. 3 D. 13 (7)程序段 int x=3,a=1;switch(x) case 4: a+;case 3: a+;case 2: a+;case 1: a+; printf (%d,a);的輸出結(jié)果是 。 A. 1 B. 2 C. 3 D. 4 (8) 下列語(yǔ)句應(yīng)將小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母,其中正確的是( )。 A

19、.if(ch=a&ch=a&ch=a&cha&chz)?ch-32:ch; 2. 閱讀程序,寫(xiě)出運(yùn)行結(jié)果 (1) void main () int a=10, b=4, c=3; if(ab) a=b ; if(ac) a=c ; printf(%d, %d, %dn, a, b, c) ; (2) void main ( ) int x=100, a=10, b=20, ok1=5, ok2=0 ; if(ab) if(b!=15) if(!ok1) x=1; else if(ok2) x=10; else x=-1; printf(%dn, x); (3) int k,a=1,b=2; k

20、=(a+=b) ? 2:3; printf(%d,k); (4)void main()int s=1,k=0;switch (s)case 1: k+=1;case 2: k+=2;default: k+=3;printf(“%d”,k);(5)void main()int s=1,k=0;switch (s)case 1: k+=1;break;case 2: k+=2;break;default: k+=3;printf(“%d”,k);3. 程序設(shè)計(jì)題 (1)編一個(gè)程序,輸入三個(gè)單精度數(shù),輸出其中最小數(shù)。 (2)輸入一個(gè)實(shí)數(shù),輸出它的平方根值,如果輸入數(shù)小于0,輸出“輸入數(shù)據(jù)錯(cuò)誤”提示。

21、 (3)if語(yǔ)句編程序,輸入x 后按下式計(jì)算y值并輸出。 (4) 編程序,輸入一個(gè)百分制的成績(jī)t后,按下式輸出它的等級(jí),要求分別寫(xiě)作if結(jié)構(gòu)和switch 結(jié)構(gòu)。90100為“A”,8089 為“B”,7079為“C”,6069 為“D”,500 為“E”。 (5)輸入 3 個(gè)整數(shù),按從大到小的順序輸出。 (6)某商場(chǎng)舉行購(gòu)物優(yōu)惠活動(dòng),(x代表購(gòu)物款,y代表折扣):x1600 時(shí) y=0%, x2400 時(shí)y=5%, x3200 時(shí) y=10%, x=6400時(shí) y=20%,輸入一個(gè)顧客的購(gòu)物款后,顯示它的應(yīng)付款數(shù)。習(xí)題五 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)習(xí)題1. 單項(xiàng)選擇題 (1)for(i=1;i9;i+

22、=1);該循環(huán)共執(zhí)行了 次。 A. 7 B. 8 C. 9 D. 10 (2)int a=2;while(a=0) a-;該循環(huán)共執(zhí)行了 次。 A. 0 B. 1 C. 2 D. 3 (3)執(zhí)行完循環(huán) for(i=1;i100;i+);后,i 的值為 。 A. 99 B. 100 C. 101 D. 102 (4)以下 for語(yǔ)句中,書(shū)寫(xiě)錯(cuò)誤的是 。 A. for(i=1;i5;i+); B. i=1;for(;i5;i+); C. for(i=1;i5;) i+; D. for(i=1,i5,i+); (5) 語(yǔ)句,在循環(huán)條件初次判斷為假,還會(huì)執(zhí)行一次循環(huán)體。 A. for B. while

23、 C. do-while D. 以上都不是 (6)循環(huán)結(jié)構(gòu)的特點(diǎn)是 。 A. 從上至下,逐個(gè)執(zhí)行 B. 根據(jù)判斷條件,執(zhí)行其中一個(gè)分支 C. 滿(mǎn)足條件時(shí)反復(fù)執(zhí)行循環(huán)體 D. 以上都對(duì)(7) i、j已定義為 int 類(lèi)型,則以下程序段中內(nèi)循環(huán)體的執(zhí)行次數(shù)是 。 for(i=5;i;i-) for(j=0;j4;j+) A. 20 B. 24 C. 25 D. 30 (8) C 語(yǔ)言 while 語(yǔ)句中,用于條件的表達(dá)式是 。 A. 關(guān)系表達(dá)式 B. 邏輯表達(dá)式 C. 算術(shù)表達(dá)式 D. 任意表達(dá)式 (9) int a=1, x=1; 循環(huán)語(yǔ)句while(a10) x+; a+; 的循環(huán)執(zhí)行 。 A

24、. 無(wú)限次 B. 不確定次 C. 10 次 D. 9 次 (10)下列程序段執(zhí)行后 s 的值為 。 int i=1, s=0; while(i+) if(!(i%3) break ; else s+=i ; A. 2 B. 3 C. 6 D. 以上均不是2. 填空題 (1)三種循環(huán)語(yǔ)句是 價(jià)的。 (2)當(dāng)循環(huán)體中的switch語(yǔ)句內(nèi)有break語(yǔ)句,則只跳出 語(yǔ)句。同樣,當(dāng)switch語(yǔ)句中有循環(huán)語(yǔ)句,內(nèi)有 break 語(yǔ)句,則只跳出 語(yǔ)句。 (3)循環(huán)體執(zhí)行遇到continue 語(yǔ)句時(shí) 。 (4)下列程序的功能是輸入一個(gè)正整數(shù),判斷是否是素?cái)?shù),若為素?cái)?shù)輸出 1,否則輸出 0,請(qǐng)為程序填空。

25、void main( ) int i, x, y=1; scanf(%d, &x); for(i=2; i=x/2; i+) if ( ) y=0; break; printf(%dn,y); (5)輸入 N個(gè)實(shí)數(shù),輸出其中的最大值、最小值。 #include void main( ) int n,I; float no1,nmax,nmin; scanf(%d,&n); scanf(%f,&no1); nmax=no1; nmin=no1; for(i=2;inmax) nmax=no1; printf(MAX=%f MIN=%fn,nmax,nmin); (6)輸入若干個(gè)字符,分別統(tǒng)計(jì)數(shù)字

26、字符的個(gè)數(shù)、英文字母的個(gè)數(shù),當(dāng)輸入換行符時(shí)輸出統(tǒng)計(jì)結(jié)果,運(yùn)行結(jié)束。 #include void main( ) int s1=0,s2=0 char ch; while( )!=n) if(ch=0&ch=a&ch0; y-) if(y%3=0) printf(%d, -y); continue; (2) main() int k,n,m; n=10;m=1;k=1; while (k+0); (4) #include void main( ) int k=0; char c=A; do switch (c+) case A: k+; break; case B: k-; case C: k+

27、=2; break; case D: k=k%2; break; case E: k=k*10; break; default: k=k/3; k+; while(cG); printf(k=%dn, k); (5)輸入數(shù)據(jù):2,4 #include void main( ) int s=1,t=1,a,n; scanf(%d,%d,&a,&n); for(int i=1;in;i+) t=t*10+1; s=s+t; s*=a; printf(SUM=%dn,s); 4. 程序改錯(cuò)(1) 以下程序是顯示200,300所有能被 7 整除的數(shù),每行顯示 5 個(gè)數(shù),此程序有 5處錯(cuò)。 main()

28、 int i,n=0; /*n用來(lái)記錄每行已打印數(shù)的個(gè)數(shù)*/ while(i300) if(i%7=0) break; printf(%5d,i); n=n+1; if(n=5)/*滿(mǎn)5個(gè)換行*/ printf(n); n=0; (2) 以下程序是求 1!+2!+3!+4!+5!+6!+7!的值,其中有 3 處錯(cuò)誤。 main() int i,s,t=0; for(i=1;i=7;i+) s=0; t=t*i; s=s+t; printf(sum=dn,s); 5. 程序設(shè)計(jì)題 (1)求 10!的值。(2)求 1/2-2/3+3/4-4/5+5/6-+79/80 的值。 (3)編程序按下列公式

29、計(jì)算 e 的值(精度為 1e-6): e=1+1/1!+1/2!+1/3!+1/n! (4)若一個(gè)3 位整數(shù)的各位數(shù)字的立方之和等于這個(gè)整數(shù),稱(chēng)之為“水仙花數(shù)”。例如:153 是水仙花數(shù),因?yàn)榍?000以?xún)?nèi)所有的水仙花數(shù)。(5)求數(shù)列的和。設(shè)數(shù)列的首項(xiàng)為 81,以后各項(xiàng)為前一項(xiàng)的平方根 (如 81,9,3,1.732,),求前 20 項(xiàng)和。習(xí)題六 數(shù)組1. 單項(xiàng)選擇題(1)int a4=5,3,8,9;其中 a3的值為( )。A. 5 B. 3 C. 8 D. 9 (2)以下 4 個(gè)字符串函數(shù)中,( )所在的頭文件與其他 3 個(gè)不同。 A. gets B. strcpy C. strlen D

30、. strcmp(3)以下 4 個(gè)數(shù)組定義中,( )是錯(cuò)誤的。 A. int a7; B. #define N 5 long bN; C. char c5; D. int n,dn; (4)對(duì)字符數(shù)組進(jìn)行初始化,( )形式是錯(cuò)誤。 A. char c1 =1, 2, 3; B. char c2 =123; C. char c3 = 1, 2, 3, 0; D. char c4 =123; (5)在數(shù)組中,數(shù)組名表示( )。 A. 數(shù)組第 1 個(gè)元素的首地址 B. 數(shù)組第 2 個(gè)元素的首地址 C. 數(shù)組所有元素的首地址 D. 數(shù)組最后 1 個(gè)元素的首地址(6)若有以下數(shù)組說(shuō)明,則數(shù)值最小的和最大

31、的元素下標(biāo)分別是( )。 int a12 =1,2,3,4,5,6,7,8,9,10,11,12; A. 1,12 B. 0,11 C. 1,11 D. 0,12 (7)若有以下說(shuō)明,則數(shù)值為 4 的表達(dá)式是( )。 int a12 =1,2,3,4,5,6,7,8,9,10,11,12; char c=a, d, g ; A. ag-c B. a4 C. ad-c D. ad-c (8)設(shè)有定義:char s12 = string ; 則printf( %dn,strlen(s); 的輸出是( )。 A. 6 B. 7 C. 11 D. 12 (9)設(shè)有定義:char s12 = strin

32、g; 則printf(%dn , sizeof(s); 的輸出是( )。 A. 6 B. 7 C. 11 D. 12 (10)合法的數(shù)組定義是( )。 A. char a6= string ; B. int a5 =0,1,2,3,4,5;C. char a= string ; D. char a =0,1,2,3,4,5 (11)合法的數(shù)組定義是( )。 A. int a3 =0,1,2,3,4,5; B. int a 3 =0,1,2,3,4; C. int a23=0,1,2,3,4,5,6; D. int a23=0,1,2,3,4,5,; (12)下列語(yǔ)句中,正確的是 ( )。A.

33、char a3 =abc, 1; B. char a 3 =abc, 1; C. char a3 =a, 1; D. char a 3 = a, 1; (13)下列定義的字符數(shù)組中,輸出 printf(%sn, str2) ;的輸出是( )。 static str320 = basic, foxpro, windows; A. basic B. foxpro C. windows D. 輸出語(yǔ)句出錯(cuò)(14)下列各語(yǔ)句定義了數(shù)組,其中哪一個(gè)是不正確的( )。 A. char a310=China,American,Asia; B. int x22=1,2,3,4; C. float x2 =1,

34、2,4,6,8,10; D. int m3=1,2,3,4,5,6; (15)數(shù)組定義為 int a32=1,2,3,4,5,6,值為6的數(shù)組元素是( )。 A. a32 B. a21 C. a12 D. a23 2. 填空題 (1)C 語(yǔ)言中,數(shù)組的各元素必須具有相同的 ,元素的下標(biāo)下限為 ,下標(biāo)必須是正整數(shù)、0、或者 。但在程序執(zhí)行過(guò)程中,不檢查元素下標(biāo)是否 。 (2)C 語(yǔ)言中,數(shù)組在內(nèi)存中占一片 的存儲(chǔ)區(qū),由 代表它的首地址。數(shù)組名是一個(gè) 常量,不能對(duì)它進(jìn)行賦值運(yùn)算。 (3)執(zhí)行 static int b5, a 3 =1,2,3,4,5,6; 后,b4 = ,a12 = 。 (4)設(shè)

35、有定義語(yǔ)句 static int a34 =1,2,3; 則 a10值為 ,a11 值為 ,a21的值為 。 (5)如定義語(yǔ)句為 char a = windows,b = 95;,語(yǔ)句 printf(%s,strcat(a,b);的輸出結(jié)果為 。 (6)輸入 20 個(gè)數(shù),輸出它們的平均值,輸出與平均值之差的絕對(duì)值為最小的數(shù)組元素。請(qǐng)?zhí)羁铡?#include void main( ) float a20,pjz=0,s,t; int i,k; for(i=0;i20;i+) pjz+=ai; s=fabs(a0-pjz); for(i=1;i20;i+) if(fabs(ai-pjz)s) s=

36、fabs(ai-pjz); t=ai; (7)以下程序以每行 10個(gè)數(shù)據(jù)的形式輸出 a 數(shù)組,請(qǐng)?zhí)羁铡?void main( ) int a50,i; printf(輸入50個(gè)整數(shù):); for(i=0; i50; i+) scanf( %d, ); for(i=1; i=50; i+) if( ) printf( %3dn , ) ; printf( %3d,ai-1); (8) 下面程序的功能是輸出數(shù)組 s 中最大元素的下標(biāo),請(qǐng)?zhí)羁铡?void main( ) int k, p; int s =1,-9,7,2,-10,3; for(p=0,k=p; psk) ; printf(%dn ,

37、k); 3. 閱讀程序,分析程序的功能。 (1)#include #include void main( ) char s80; int i ; for(i=0; i80; i+) si=getchar( ); if(si=n) break; si=0; i=0; while(si) putchar(si+); putchar(n); (2) #include #include void main( ) char str1080, c80; int i; for(i=0; i10; i+) gets(stri); strcpy(c, str0) ; for(i=1; i10; i+) if(s

38、trlen(c) strlen(stri) strcpy(c,stri); printf( %sn, c); printf( %dn, strlen (c); (3)#include #include void main( ) char a1080, c80; int i, j, k; for(i=0; i10; i+) gets(ai); for(i=0; i9; i+) k=i ; for(j=i+1; j10; j+) if(strcmp (a j, ak)0) k=j; if(k!=i ) strcpy(c,ai) ; strcpy(ai, ak); strcpy(ak,c); / 字符串交換 for(i=0; i10; i+) puts (ai); (4)閱讀程序,寫(xiě)出運(yùn)行結(jié)果。 #include void main( ) int a6=12,4,17,25,27,16,b6=27

溫馨提示

  • 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)論