C語言程序設(shè)計試題(卷)集與答案解析_第1頁
C語言程序設(shè)計試題(卷)集與答案解析_第2頁
C語言程序設(shè)計試題(卷)集與答案解析_第3頁
C語言程序設(shè)計試題(卷)集與答案解析_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余181頁可下載查看

下載本文檔

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

文檔簡介

1、第一章基礎(chǔ)知識一.填空1.每個 C 程序都必須有且僅有一個_ 函數(shù)。2. C 語言程序開發(fā)到執(zhí)行通常要經(jīng)過6 個階段即編輯、預(yù)處理、_、鏈接、加載和執(zhí)行。3. 軟件是程序,以及 _、使用和維護(hù)所需要的所有文檔。4.國標(biāo)中規(guī)定: “計算機(jī)程序是按照具體要求產(chǎn)生的適合于計算機(jī)處理的_”。5.程序設(shè)計語言按照書寫形式,以及思維方式的不同一般分為低級語言和_兩大類。6. C 語言是由 _組成的。7. C 語言的函數(shù)可分為主函數(shù) main、標(biāo)準(zhǔn)庫函數(shù)和 _。8. 一個函數(shù)是由兩部分組成的,即:_和 函數(shù)體。9. 編譯是將 C 語言所編寫的源程序 _成機(jī)器代碼, 也稱為建立目標(biāo)代碼程序的過程。10.程序是

2、由某種程序設(shè)計語言編制出來,體現(xiàn)了編程者的控制思想和對計算機(jī)執(zhí)行操作的要求。不同的任務(wù)功能,就會需求不同的軟件程序,如:控制計算機(jī)本身軟硬件協(xié)調(diào)工作,并使其設(shè)備充分發(fā)揮效力,方便用戶使用的系統(tǒng)軟件程序, 稱為操作系統(tǒng);而為辦公自動化( OA )、管理信息系統(tǒng)( MIS )、人工智能、電子商務(wù)、網(wǎng)絡(luò)互聯(lián)等等應(yīng)用而開發(fā)的軟件程序,統(tǒng)稱為 _。11. 機(jī)器語言是以 _ 形式表示的機(jī)器基本指令的集合,是計算機(jī)系統(tǒng)唯一不需要翻譯可以直接識別和執(zhí)行的程序設(shè)計語言。12. 與機(jī)器語言相比,使用匯編語言來編寫程序可以用_ 來表示指令的操作碼和操作對象,也可以用標(biāo)號和符號來代替地址、常量和變量。13.在編譯程序

3、之前,凡以_ 開頭的代碼行都先由預(yù)處理程序預(yù)處理。14. C 程序的執(zhí)行均是由執(zhí)行 _ 開始。15.函數(shù)體即為包含在內(nèi)的部分。它分為_和為完成功能任務(wù)由若干個C語句組成的執(zhí)行部分。16.C 語言程序中一條簡單語句是以_字符作為結(jié)束符的。17.C 語言是結(jié)構(gòu)化、_的程序設(shè)計語言。18.由于計算機(jī)硬件不能直接識別高級語言中的語句,因此,必須經(jīng)過“ _程序”,將用高級語言編寫的程序翻譯成計算機(jī)硬件所能識別的機(jī)器語言程序方可執(zhí)行。19.用高級語言編寫的程序需翻譯成計算機(jī)硬件所能識別的機(jī)器語言程序方可執(zhí)行。所以說,用高級語言進(jìn)行程序設(shè)計,其編程效率高,方便易用,但_沒有低級語言高。20.第一個系統(tǒng)體現(xiàn)結(jié)

4、構(gòu)化程序設(shè)計思想的教學(xué)工具語言是_語言。解答 :1. main()2. 編譯3. 開發(fā)4. 指令序列5. 高級語言6. 函數(shù)7. 自定義函數(shù)8. 函數(shù)首部9. 翻譯10. 應(yīng)用軟件11. 二進(jìn)制代碼12. 助記符13. #14. main 函數(shù)15. 聲明部分16. ;(或分號)17. 模塊化18. 翻譯19. 執(zhí)行速度20. PASCAL二 .閱讀程序?qū)懡Y(jié)果解答 :三 .補(bǔ)充程序解答 :四 .改錯題解答 :五 .編程一解答 :六.編程二解答 :第二章常量、變量和表達(dá)式一.填空1. 以 16 位計算機(jī)為例,若定義 long int a; 則變量 a 占 _個字節(jié)的內(nèi)存空間。2.以 16 位計算

5、機(jī)為例,若定義double a; 則變量 a 占 _個字節(jié)的內(nèi)存空間。3.以 16 位計算機(jī)為例,若定義long double; 則變量 a 占 _ 個字節(jié)的內(nèi)存空間。4. 在 _位機(jī), int 型占 4 個字節(jié)。5. C 語言的數(shù)據(jù)類型有:基本數(shù)據(jù)類型、構(gòu)造數(shù)據(jù)類型、枚舉類型、_、空類型。6.在 C 語言中,基本數(shù)據(jù)類型有: _。7.整型常量046 轉(zhuǎn)換為十進(jìn)制數(shù)等于_。8.整型常量054 轉(zhuǎn)換為十進(jìn)制數(shù)等于_。9.整型常量0x125 轉(zhuǎn)換為十進(jìn)制數(shù)等于_。10.整型常量0x7C 轉(zhuǎn)換為十進(jìn)制數(shù)等于_。11.整型常量39 轉(zhuǎn)換為八進(jìn)制等于_。12.實(shí)數(shù) 473.468 寫成規(guī)范化指數(shù)形式,則

6、應(yīng)為_ 。13. 實(shí)數(shù) 0.0453 寫成規(guī)范化指數(shù)形式,則應(yīng)為_。14.將 0x123 轉(zhuǎn)換為二進(jìn)制等于_。15.字符 A表示成十六進(jìn)制等于_。16.在 C 語言中,稱代表常量的標(biāo)識符為_。17.語言中是用編譯預(yù)處理命令_來定義符號常量18.在 C 語言中,以反斜杠符()開頭,后跟字符的字符序列,稱之為_,主要用來表示控制及不可見的字符或者一些圖形符號19.語句 printf(106)執(zhí)行的結(jié)果輸出是_。20.語句 printf( “ b” )執(zhí)行的結(jié)果輸出是 _。21.語句 printf( “ b” )執(zhí)行的結(jié)果輸出是_。22.語句 printf(102)執(zhí)行的結(jié)果輸出是_。23.若有 c

7、har ch1; ch1=a+4; 則語句 printf(%c,x) 的輸出結(jié)果為_。24.字符串常量“ Hello, everyone!”占據(jù)的內(nèi)存空間為 _個字節(jié)25. 字符串常量“ Hello,Bob! ”占據(jù)的內(nèi)存空間為 _ 個字節(jié)26.十進(jìn)制整型常量由09 個數(shù)據(jù)組成,但不能以 _開始,沒有小數(shù)部分27.十六進(jìn)制常量由09 和 _組成28. unsigned long類型常量通常以 _為后綴29.實(shí)型常量通常有小數(shù)形式和_兩種表達(dá)方式30.語言中是用編譯預(yù)處理命令_來包含其他源文件31.為了表示字符串的結(jié)束,系統(tǒng)自動在字符串的最后加一個_,但不被輸出32.C 語言中,其值可被改變的量

8、稱為變量,它具有三個基本要素:變量名、_和變量值33.C 語言規(guī)定,變量的標(biāo)識符只能由字母、數(shù)字和下劃線組成,且不能以_開頭。34.在 16 位機(jī)中, sizeof(“hellon ” )等于 _。35.在 16 位機(jī)中, printf( “ “” )等于 _。36.字符變量在內(nèi)存中占用_個字節(jié)的存儲空間。37.若有定義 int x=27, y=6;則表達(dá)式x/y 的值為_。38.若有定義 int x=47, y=8;則表達(dá)式x%y 的值為_。39.若有定義 char ch1=A,ch2,ch3;執(zhí)行 ch2=ch1+; ch3=+ch1; printf(ch1=%c, ch2=%c,ch1,

9、ch2); 則輸出為_。40.若有定義 char ch1=A,ch2,ch3;執(zhí)行 ch2=ch1+; ch3=+ch1; printf(ch2=%c, ch3=%c,ch2,ch3); 則輸出為_。41.若有定義 int i=5, j, k;執(zhí)行 j=i-; k=-i; printf(i=%d, j=%dn, i, j);則輸出為_。42. 表達(dá)式 (int)(13.7+25.6)/4%5 的值是 _。43. 表達(dá)式 3.6-5/2+1.2+5%3 的值是 _。44. 表達(dá)式 54%10/2+4.0*(8/5) 的值是 _。45. 若定義 int x; double b=5.45; 執(zhí)行 x

10、=b 后,則 x 的值為 _。46.若定義 int y; char c=A;執(zhí)行 y=c 后,則 y 的值為_。47.若定義 int a=8; float b=2.5; 則 a/(int)(b) 的值為_。48.若 a=5,則執(zhí)行 a*=7-3語句后, a 的值是_。49.若 int a=1,b=0,c=4,d=2;則表達(dá)式 (ab ? a:b)&(c-d)的值為 _。50.已知 a = 0 ,表達(dá)式a = 1? b = 1 : b = 0;執(zhí)行后, b 的值是_。51.若定義 int m=7,n=12;則表達(dá)式 n%=m-m%5 的值是_。52.若定義 int a=8; float b=4.

11、5 ;執(zhí)行 a*=a/=a-b后, a 的值為 _。53. int a=2; !a+ 的值為_ 。54. int a=0; !a+&+a的值為_。55. int a=7;float b=4.5; 則 printf( “%d” ,a*=a/=a-b)的值為_。56. int k=7;float a=2.5,b=4.7;則表達(dá)式a+k%3*(int)(a+b)%2/4的值為_。57. #define Max(a,b) (a)-(b)&0x80000000)?(a):(b),int a=2,b=6;printf(n” ,M“ %dax(a,b)的值為_。58. 在 32 位機(jī)中, int a=4,b

12、=7; printf( “%0x ” ,a-b)的值為: _。59. int x,y,z; x=y=2;z=3;y=x+-1;printf( “ %d,%d” ,x,y)的值為 : _。60. int i=2,j; printf( “ %d”,j=i1) 的值為: _解答 :1. 02. 43. 104. 325. 指針類型6. int、 float、 double、char7. 388. 449. 29310. 12411. 04712. 4.734680e+00213. 4.530000e-00214. 10010001115. x41/41H16. 符號常量17. define18. 轉(zhuǎn)

13、義字符常量19. F20. b21. b22. B23. e24. 1625. 1126. 027. AF28. U29. 指數(shù)形式30. #include31. “0”32. 變量類型33. 數(shù)字34. 735.“ hello”36. 137. 438. 739. ch1=C, ch2=A40. ch2=A, ch3=C41. i=3, j=542. 443. 4.80000044. 7.00000045. 546. 6547. 448. 2049. 150. 151. 252. 453. 054. 055. 456. 2.50000057. 258. fffffffd59. 3, 160.

14、 0二 .閱讀程序?qū)懡Y(jié)果解答 :三 .補(bǔ)充程序解答 :四 .改錯題解答 :五.編程一解答 :六 .編程二解答 :第三章順序結(jié)構(gòu)一.填空1. C 語言的語句可分為 5 類,它們是:控制語句、 _、函數(shù)語句、符合語句和空語句。2. 常用于字符輸入的函數(shù)為: _ 。3. 常用于字符輸出的函數(shù)為: _ 。4. 常用于字符串輸入的函數(shù)為: _ 。5. 常用于字符串輸出的函數(shù)為: _ 。6. 格式輸入函數(shù)的一般形式為: _ 。7. 格式輸出函數(shù)的一般形式為: _ 。8. printf 和 scanf是標(biāo)準(zhǔn)的庫函數(shù),它們的函數(shù)原型在頭文件_ 中。9. 有 char ch,則從鍵盤給ch 賦值的格式輸入語句為

15、:_ 。10. 如果要輸出字符串常量“HelloWord !”,則格式輸出語句為:_ 。11. 設(shè)有定義: long x=-123456L ;,請寫出能夠正確輸出變量x 值的語句 _。12. 若有 int a,b; ,想通過scanf(%d%d,&a,&b); 輸入語句給a 賦于 1,給 b 賦于 2,則從鍵盤輸入數(shù)據(jù)的形式是 _ 。13.若有 int i,j; scanf(i=%d,j=%d;&i,&j);,要求給 i 賦 10,給 j 賦 20,則應(yīng)該從鍵盤輸入 _。14.已知 i、 j、 k 為 int 型變量,若從鍵盤輸入: 1, 2, 3 ,使 i 的值為 1、 j 的值為2、k的值

16、為 3,請寫出正確的輸入語句 _。15.有 int m,n,p;scanf(m=%dn=%dp=%d,&m,&n,&p);printf(%d%d%dn,m,n,p); 若想從鍵盤上輸入數(shù)據(jù),使變量 m 中的值為123,n 中的值為 456,p 中的值為 789,則正確的輸入是_。16.有 int a; float b, c; scanf(%2d%3f%4f,&a,&b,&c);printf(na=%d, b=%f, c=%fn, a, b, c);,若運(yùn)行時從鍵盤上輸入9876543210,則程序的輸出結(jié)果是_。17.有 int m=0256,n=256; 則 printf(%o %on,m,

17、n);的輸出結(jié)果是 _ 。18. 有 int x=102,y=012; , 則 printf( “ %2d,%2dn ” ,x,y); 的輸出結(jié)果是 _ 。19. 有定義和語句: int a; char c=10; float f=100.0; double x; a=f/=c*=(x=6.5); , 則printf(%d %d %3.1f %3.1fn,a,c,f,x);的輸出結(jié)果是_ 。20. 若有定義和語句: int m=0xabc,n=0xabc; m-=n; 則 printf(%on,m); 的輸出結(jié)果是 _。21. 若有_ 。int m=32,n=032;,則printf(%d,%

18、xn,m,n);執(zhí)行后輸出結(jié)果是_22. 若有int a=1234;,則printf(%2dn,a);的輸出結(jié)果是_。23. 若變量已正確說明為float 類型,要通過語句scanf(“%f %f %f” ,&a,&b,&c); 給 a 賦于0.0, b 賦予 22.0,c 賦予 33.0,不正確的輸入形式是_ 。A) 10 2233B) 10.0,22.0,33.0C) 10.0 22.0 33.0D) 10 22 33124.若有 int x=3,y=1;則 printf(%d %dn,x+,y+2);的輸出結(jié)果是 _ 。25.若有定義和語句: double d; float f; lon

19、g l; int i;i=f=l=d=20/3; 則 printf(%d %ld %f %f n, i,l,f,d); 的輸出結(jié)果是(小數(shù)點(diǎn)后只寫一位) _ 。26. 以下說法中正確的是 _ 。A) #define 和 printf 都是 C 語句B) #define 是 C 語句,而 printf 不是C) printf 是 C 語句,但 #define 不是D) #define 和 printf 都不是 C 語句27. 若有 int k=17; ,則 printf(%d,%o,%x n,k,k,k); 的輸出結(jié)果是 _ 。28. 以下敘述中正確的是 _ 。A) 輸入項可以是一個實(shí)型常量 ,

20、如 :scanf(%f,3.5);B) 只有格式控制 ,沒有輸入項 ,也能正確輸入數(shù)據(jù)到內(nèi)存 ,例如 :scakf(a=%d,b=%d); C) 當(dāng)輸入數(shù)據(jù)時 ,必須指明變量地址 ,例如 :scanf(%f,&f);29. 若有定義和語句:int u=010,v=0x10,w=10; 則 printf(%d,%d,%dn,u,v,w);輸出結(jié)果是_ 。30. 若有 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; ,則 printf(%fn,z); 的輸出結(jié)果是 _ 。31. 若有 int a

21、=2,c=5; ,則 printf(a=%d,b=%dn,a,c); 的輸出結(jié)果是 _ 。32.有 char c; int n=100;float f=10; double x; x=f*=n/=(c=50); 則 printf(%d %fn,n,x); 的輸出結(jié)果是 _ 。33.有 int i=0,j=0,k=0;scanf(%d%*d%d,&i,&j,&k);printf(%d%d%dn,i,j,k); 若從鍵盤輸入: 10 20 30 。輸出結(jié)果是 _ 。34.若有 int a,b,c; a=25; b=025; c=0x25;,則 printf(%d %d %dn,a,b,c); 的輸

22、出結(jié)果是_ 。35. 有以下語句段int n1=10,n2=20;printf(“ _” ,n1,n2);要求按以下格式輸出n1 和 n2 的值,每個輸出行從第一列開始,請?zhí)羁铡1=10 n2=2036. 若有語句int i=-19,j=i%4;則 printf(%dn,j);的輸出結(jié)果是_。37. 有 int a=0; a+=(a=8); 則 printf(%dn,a); 的輸出結(jié)果是 _ 。38. 有 int a=1, b=2; a=a+b; b=a-b; a=a-b; 則 printf( “ %d,%dn ”, a, b );的輸出結(jié)果是_。39. 有 unsigned short a

23、=65536; int b;,則 printf( “ %dn ”,b=a);的輸出結(jié)果是 _。40. 語句 printf(10289n); 的數(shù)據(jù)結(jié)果為: _ 。解答 :1. 表達(dá)式語句2. getchar( )3. putchar( )4. gets( )5. puts( )6. scanf(“格式控制字符串” ,地址表列 );7. printf( “格式控制字符串” ,輸出表列 );8. stdio.h9. scanf (“ %c”, &ch);10. printf (,“ HelloWord!);%s”或者: printf ( “HelloWord! ”);11. printf(“ x=

24、%1dn” ,x);12. 12或者1213. i=10,j=2014. scanf(“ %d,%d,%d ” ,&i,&j,&k);15. m=123n=456p=78916. a=98, b=765.000000, c=4321.00000017. 256 40018. 102,1019. 1 65 1.5 6.520. 021. 32, 1a22. 123423. B24. 3 325. 6 6 6.0 6.026. D27. 17, 21, 1128. C29. 8,16,1030. 13.70000031. a=%d,b=%d32. 2 20.00000033. 1030034. 2

25、5 21 3735. n1=%dnn2=%d36. -337. 1638. 2,139. 040. B89二 .閱讀程序?qū)懡Y(jié)果解答 :三 .補(bǔ)充程序解答 :四 .改錯題解答 :五 .編程一解答 :六 .編程二解答 :第四章選擇結(jié)構(gòu)一.填空1.在 if, while, case, do, else 等關(guān)鍵字中,用于選擇結(jié)構(gòu)的有().2.已知 a = 1; 那么 if ( a = 2) printf(%d, 2); else printf(%d, 1); 的輸出結(jié)果是 ().3.已知 char a = A; 那么 if ( a 65) printf(%s, bigger); else printf

26、(%s, smaller); 的輸出結(jié)果是 ().4.表示“ x y z”的 C 語言表達(dá)式是()。5.在 C 語言中,用于實(shí)現(xiàn)選擇結(jié)構(gòu)的語句有()語句和 () 語句。6.判斷兩個浮點(diǎn)型變量x 和 y 是否相等一般用: if (b?a:cd?a:d的結(jié)果為 () 。9.表達(dá)式 98 & 8 & 31 & (98 - a) 的值為 ()。10. 若 int a = 3; 則表達(dá)式( a 2) & ! (D 69)的值為 ()。解答 :1.2.3.4.5.6.7.8.9.10.二.閱讀程序?qū)懡Y(jié)果1. #include void main( )int x,y,t;x=7;y=9; if(xy) t=

27、x;x=y;y=t; printf(%d,%dn , x,y );2.#include void main( )int x=1,a=2,b=3;switch(x)case 1:a-; break;case 2:b+; break;case 3:a+;b+;printf(na=%d,b=%dn,a,b);3.#include void main( )char ch1 = E;if(ch1 = A)ch1+;elsech1+=32;printf(ch1 = %cn, ch1);4.#include void main( )int x,y,t;x=5;y=3;if(xy) t=x;x=y;y=t;

28、printf(%d,%dn , x,y );5. #include int main()int a,b,c,m;printf(Enter three integers:);scanf(%d%d%d,&a,&b,&c);if(a=b)m=a;elsem=b;if(cm)m=c;printf(m=%dn,m);return 0; 輸入: 21 22 236. #include int main()char ch1=a,ch2=B,ch3=E;if(ch1ch2)if(ch2ch3)ch3+;else-ch3;printf(ch3=%cn,ch3);return 0;7. #include int

29、main()float x,y;scanf(%f,&x);switch(int)x/10)case 0: y=1.0;printf(y=%fn,y);break;case 1: y=2*x+1;printf(y=%fn,y);break;case 2: y=3*x*x+2;printf(y=%fn,y);break;default:printf(No definition.n);return 0; 輸入: 15.38. #include int main()char ch1=A,ch2=B;switch(ch1)case A:switch(ch2)case B: printf(Good!n);

30、break;case A: printf(Better!n);break;case B: printf(Best!n); break;return 0;9.#include void main()float score;score = 100;if (score60)printf(En);elseswitch( ( int ) score / 10 )case 10:case 9: printf(An);case 8: printf(Bn);case 7: printf(Cn);break;case 6: printf(Dn);break;default: printf(Errorn);10.

31、 #include void main()int i=0 , a=2;if(i=0)printf( “ *” );elseprintf( “ $” );printf( “ *” );11.#includevoid main()int m=10,n=0,p=4,q=20;if (m)if (n)q=15-m;elseq=25+m;else if (p)q=q+p;printf(“ q=%dn” ,q);12. #includevoid main()int a=1,b=0;switch(a)case 1: switch (b)case 0: printf(*0*); break;case 1:pr

32、intf(*1*);break;case 2: printf(*2*);break;13.#includeint main( )int a=2,b=7,c=5;switch (a0)case 1: switch (b0)case 1: printf(); break ;case 2: printf(!); break ;case 0: switch (c=5)case 1: printf(*) ; break ;default : printf(#) ; break ;default : printf(&);printf(n);return 0;14. #includeint main()in

33、t a=0,b=1,c=0,d=20;if(a) d=d-10;else if (!b)if(!c) d=15;else d=25;printf(d=%dn,d);return 0; 15. #includeint main()int a=1;switch(a)case 0: printf(*0*);break;case 1:printf(*1*);break;case 2:printf(*2*);break;return 0; 16. #include int main()int x, y;scanf(%d,&x);y = x12 ? x + 10 : x - 12;return 0; printf(%dn, y);輸入: 1217. #include int main()float x, y;char op;double r;scanf(%c%f%f,&op,&x,&y);switch(op)case +: r = x + y; break; case -:

溫馨提示

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

評論

0/150

提交評論