2022年整理C語言程序設計的試題及答案_第1頁
2022年整理C語言程序設計的試題及答案_第2頁
2022年整理C語言程序設計的試題及答案_第3頁
2022年整理C語言程序設計的試題及答案_第4頁
2022年整理C語言程序設計的試題及答案_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2022年電大考試C語言程序設計的試題及答案大家在考程序員時,C語言程序設計大家有了解嗎?下面瑞文網(wǎng)小編為大家分享了C語言程序設計的試題及答案,供大家參考。第一章 基礎知識一、填空1. 每個 C 程序都必須有且僅有一個_ 函數(shù)。2. C 語言程序開發(fā)到執(zhí)行通常要經(jīng)過 6 個階段即編輯、預處理、_、 鏈接 、加載 和執(zhí)行。3. 軟件是程序,以及_、使用和維護所需要的所有文檔。4. 國標中規(guī)定: “計算機程序是按照具體要求產(chǎn)生的適合于計算機處理的_”。5. 程序設計語言按照書寫形式,以及思維方式的不同一般分為低級語言和_兩大類 。6. C 語言是由_組成的。7. C 語言的函數(shù)可分為主函數(shù) mai

2、n、標準庫函數(shù)和_。8. 一個函數(shù)是由兩部分組成的,即:_和 函數(shù)體。9. 編譯是將 C 語言所編寫的源程序_成機器代碼, 也稱為建立目標代碼程序的過程。10. 程序是由某種程序設計語言編制出來, 體現(xiàn)了編程者的控制思想和對計算機執(zhí)行操 作 的要求。不同的任務功能,就會需求不同的軟件程序,如:控制計算機本身軟硬件協(xié)調(diào)工作 ,并使其設備充分發(fā)揮效力,方便用戶使用的系統(tǒng)軟件程序,稱為操作系統(tǒng);而為辦公自動 化(OA) 、管理信息系統(tǒng)(MIS) 、人工智能、電子商務、網(wǎng)絡互聯(lián)等等應用而開發(fā)的軟件程 序,統(tǒng)稱為_。11. 機器語言是以_形式表示的機器基本指令的集合, 是計算機系統(tǒng)唯一不需要翻 譯可以直

3、接識別和執(zhí)行的程序設計語言。 12. 與機器語言相比,使用匯編語言來編寫程序可以用_來表示指令的操作碼和操作 對 象,也可以用標號和符號來代替地址、常量和變量。13. 在編譯程序之前,凡以_開頭的代碼行都先由預處理程序預處理。14. C 程序的執(zhí)行均是由執(zhí)行_開始。 15. 函數(shù)體即為包含在 內(nèi)的部分。它分為_和為完成功能任務由若干個 C 語句 組成的執(zhí)行部分。16. C 語言程序中一條簡單語句是以_字符作為結束符的。17. C 語言是結構化、_的程序設計語言。18. 由于計算機硬件不能直接識別高級語言中的語句, 因此, 必須經(jīng)過 “_程序” , 將用高級語言編寫的程序翻譯成計算機硬件所能識別

4、的機器語言程序方可執(zhí)行。19. 用高級語言編寫的程序需翻譯成計算機硬件所能識別的機器語言程序方可執(zhí)行。 所 以 說,用高級語言進行程序設計,其編程效率高,方便易用,但_沒有低級語言高。20. 第一個系統(tǒng)體現(xiàn)結構化程序設計思想的教學工具語言是_語言。解答: 1. main() 2. 編譯 3. 開發(fā) 4. 指令序列 5. 高級語言 6. 函數(shù) 7. 自定義函數(shù) 8. 函數(shù)首部 9. 翻譯 10. 應用軟件 11. 二進制代碼 12. 助記符 13. # 14. main 函數(shù) 15. 聲明部分 16. ;(或分號) 17. 模塊化 18. 翻譯 19. 執(zhí)行速度20. PASCAL 二.閱讀程序

5、寫結果 解答: 三.補充程序 解答: 四.改錯題 解答: 五.編程一 解答: 六.編程二 解答: 第二章 常量、變量和表達式 一.填空 1. 以 16 位計算機為例,若定義 long int a; 則變量 a 占_個字節(jié)的內(nèi)存空間。 2. 以 16 位計算機為例,若定義 double a; 則變量 a 占_ 個字節(jié)的內(nèi)存空間。3. 以 16 位計算機為例,若定義 long double; 則變量 a 占 _ 個字節(jié)的內(nèi)存空間。 4. 在_ 位機,int 型占 4 個字節(jié)。 、空類型5. C 語言的數(shù)據(jù)類型有:基本數(shù)據(jù)類型、構造數(shù)據(jù)類型、枚舉類型、_ 。6. 在 C 語言中,基本數(shù)據(jù)類型有:_

6、7. 整型常量 046 轉(zhuǎn)換為十進制數(shù)等于_ 8. 整型常量 054 轉(zhuǎn)換為十進制數(shù)等于_ 。 。9. 整型常量 0 x125 轉(zhuǎn)換為十進制數(shù)等于 _。 10. 整型常量 0 x7C 轉(zhuǎn)換為十進制數(shù)等于 11. 整型常量 39 轉(zhuǎn)換為八進制等于 _。 _。 _。12. 實數(shù) 473.468 寫成規(guī)范化指數(shù)形式,則應為13. 實數(shù) 0.0453 寫成規(guī)范化指數(shù)形式,則應為 _。14. 將 0 x123 轉(zhuǎn)換為二進制等于_。15. 字符A表示成十六進制等于 _。 16. 在 C 語言中,稱代表常量的標識符為 _。 17. C語言中是用編譯預處理命令_ 來定義符號常量 ,18. 在 C 語言中,以反

7、斜杠符()開頭,后跟字符的字符序列,稱之為 _ 主 要用來表示控制及不可見的字符或者一些圖形符號 19. 語句 printf(106)執(zhí)行的結果輸出是 _。 20. 語句 printf(“b”)執(zhí)行的結果輸出是_。 21. 語句 printf(“b”)執(zhí)行的結果輸出是 _。 22. 語句 printf(102)執(zhí)行的結果輸出是 _。 23. 若有 char ch1; ch1=a+4; 則語句 printf(%c,x)的輸出結果為 _。 24. 字符串常量“Hello, everyone! ”占據(jù)的內(nèi)存空間為_ 25. 字符串常量“Hello,Bob!”占據(jù)的內(nèi)存空間為 _ 26. 十進制整型常

8、量由 09 個數(shù)據(jù)組成,但不能以_ 27. 十六進制常量由 09 和_ 28. unsigned long 類型常量通常以_ 29. 實型常量通常有小數(shù)形式和_ 30. C語言中是用編譯預處理命令_ 組成 為后綴 兩種表達方式 來包含其他源文件 個字節(jié) 個字節(jié) 開始,沒有小數(shù)部分31. 為了表示字符串的結束,系統(tǒng)自動在字符串的最后加一個_,但不被輸出32. C 語言中,其值可被改變的量稱為變量,它具有三個基本要素:變量名、_ 和變量值 33. C 語言規(guī)定,變量的標識符只能由字母、數(shù)字和下劃線組成,且不能以_ 頭。 開34. 在 16 位機中,sizeof(“hellon”)等于 _。 35.

9、 在 16 位機中,printf(“hello” ”)等于 _。 36. 字符變量在內(nèi)存中占用_ 個字節(jié)的存儲空間。 _。 _。37. 若有定義 int x=27, y=6; 則表達式 x/y 的值為 38. 若有定義 int x=47, y=8; 則表達式 x%y 的值為39. 若有定義 char ch1=A,ch2,ch3; 執(zhí)行 ch2=ch1+; ch3=+ch1; printf(ch1=%c, ch2=% c,ch1,ch2); 則輸出為 _。 40. 若有定義 char ch1=A,ch2,ch3; 執(zhí)行 ch2=ch1+; ch3=+ch1; printf(ch2=%c, ch3

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

11、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; 則表達式(ab ? a:b)&(c-d)的值為_。 50. 已知 a = 0 ,表達式 a = 1?b = 1:b = 0; 執(zhí)行后,b 的值是 51. 若定義 int m=7,n=12; 則表達式 n%=m-m%5 的值是 _。_。52. 若定義 int a=8; float b=4.5;執(zhí)行 a*=a/=a-b 后,a 的值為 _。 53. int a=2; !a+的值為 _。 _。54. i

12、nt 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;則表達式 a+k%3*(int)(a+b)%2/4 的值為 _。 57. #define Max(a,b) (a)-(b)&0 x80000000)?(a):(b),int a=2,b=6;printf(“%dn”,M ax(a,b)的值為 _。 58. 在 32 位機中,int a=4,b=7; printf(“%0 x”,a-b)的值為:_。 59. int x,y,z; x=y=2;z

13、=3;y=x+-1;printf(“%d,%d”,x,y)的值為: _。60. int i=2,j; printf(“%d”,j=i1)的值為:_ 解答: 1. 0 2. 4 3. 10 4. 32 5. 指針類型 6. int、float、double、char 7. 38 8. 44 9. 293 10. 124 11. 047 12. 4.734680e+002 13. 4.530000e-002 14. 10010001115. x41/41H 16. 符號常量 17. #define 18. 轉(zhuǎn)義字符常量 19. F 20. b 21. b 22. B 23. e 24. 16 25

14、. 11 26. 0 27. AF 28. U 29. 指數(shù)形式 30. #include 31. “0” 32. 變量類型 33. 數(shù)字 34. 7 35. “hello” 36. 137. 4 38. 7 39. ch1=C, ch2=A 40. ch2=A, ch3=C 41. i=3, j=5 42. 4 43. 4.800000 44. 7.000000 45. 5 46. 65 47. 4 48. 20 49. 1 50. 1 51. 2 52. 4 53. 0 54. 0 55. 4 56. 2.500000 57. 2 58. fffffffd59. 3,1 60. 0二.閱讀

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

16、字符串常量“HelloWord! ” ,則格式輸出語句為:_。 11. 設有定義: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,則應該從鍵盤 輸入_。 14. 已知 i、j、k 為 int 型變量,若從鍵盤輸入:1,2,3,使 i 的值為 1、j 的值為 2、 k 的值為 3,請寫出正確的

17、輸入語句_ 。 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; %fn, a, b, c); scanf(%2d%3f%4f,&a,&b,&c); printf(na=%d, b=%f, c=, 若 運 行 時 從 鍵 盤 上 輸 入 9876543210 , 則 程 序 的 輸 出 結 果 是 _ _。 17. 有 int m=0

18、256,n=256; 則 printf(%o %on,m,n); 的輸出結果是_ _ 。 18. 有 int x=102,y=012; , 則 printf(“%2d,%2dn”,x,y); 的輸出結果是_ _ 。 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); 的輸出結果是_ 。 20. 若有定義和語句:int m=0 xabc,n=0 xabc; m-=n; 則 printf(%on,m);的輸出結果是_ _。 21.

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

20、n,x+,y+2); 的輸出結果是_ _ 。 25. 若有定義和語句:double d; float f; long l; int i; i=f=l=d=20/3; 則 printf(% d %ld %f %f n, i,l,f,d);的輸出結果是(小數(shù)點后只寫一位) _。 26. 以下說法中正確的是 _。 A) #define 和 printf 都是 C 語句 B) #define 是 C 語句,而 printf 不是 C) printf 是 C 語句,但#define 不是 D) #define 和 printf 都不是 C 語句 27. 若有 int k=17; ,則 printf(%d

21、,%o,%x n,k,k,k);的輸出結果是_ _ 。 28. 以下敘述中正確的是_ 。 A) 輸入項可以是一個實型常量,如:scanf(%f,3.5); B) 只有格式控制,沒有輸入項,也能正確輸入數(shù)據(jù)到內(nèi)存,例如:scakf(a=%d,b=%d); C) 當輸入數(shù)據(jù)時,必須指明變量地址,例如:scanf(%f,&f); 29. 若有定義和語句:int u=010,v=0 x10,w=10;則 printf(%d,%d,%dn,u,v,w); 輸出結果是 _。 30. 若有 int a=1,b=4,c=2; float x=10.5, y=4.0, z; z=(a+b)/c+sqrt(dou

22、ble)y)*1.2/c+ x; ,則 printf(%fn,z); 的輸出結果是_ 。 31. 若有 int a=2,c=5; ,則 printf(a=%d,b=%dn,a,c);的輸出結果是_ _ 。 32. 有 char c; int n=100; float f=10; double x; x=f*=n/=(c=50); 則 printf(%d %f n,n,x); 的輸出結果是_。 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。輸出結果是_。 34. 若有

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

24、b; a=a-b;則 printf(“%d,%dn”, a, b );的輸出結果是 _。 39. 有 unsigned short a=65536; int b;,則 printf(“%dn”,b=a);的輸出結果是_ _。 40. 語句 printf(10289n);的數(shù)據(jù)結果為:_ 。 解答: 1. 表達式語句 2. getchar( ) 3. putchar( ) 4. gets( ) 5. puts( ) 6. scanf(“格式控制字符串” ,地址表列); 7. printf(“格式控制字符串” ,輸出表列); 8. stdio.h 9. scanf (“%c” ,&ch); 10.

25、 printf (“%s” ,HelloWord!); 或者:printf (“HelloWord!”); 11. printf(“x=%1dn”,x); 12. 1 2 或者 1 2 13. i=10,j=20 14. scanf(“%d,%d,%d”,&i,&j,&k); 15. m=123n=456p=78916. a=98, b=765.000000, c=4321.000000 17. 256 400 18. 102,10 19. 1 65 1.5 6.5 20. 0 21. 32,1a 22. 1234 23. B 24. 3 3 25. 6 6 6.0 6.0 26. D 27.

26、 17,21,11 28. C 29. 8,16,10 30. 13.700000 31. a=%d,b=%d 32. 2 20.000000 33. 10300 34. 25 21 37 35. n1=%dnn2=%d 36. -3 37. 1638. 2,1 39. 0 40. B89 二.閱讀程序?qū)懡Y果 解答: 三.補充程序 解答: 四.改錯題 解答: 五.編程一 解答: 六.編程二 解答: 第四章 選擇結構 一.填空 1. 在 if, while, case, do, else 等關鍵字中,用于選擇結構的有( ). 2. 已知 a = 1; 那么 if ( a = 2) printf(

27、%d, 2); else printf(%d, 1); 的輸出結 果是( ). 3. 已知 char a = A; 那么 if ( a 65) printf(%s, bigger); else printf(%s , smaller); 的輸出結果是( ). 4. 表示“x y z”的 C 語言表達式是 ( 5. 在 C 語言中,用于實現(xiàn)選擇結構的語句有( 。 6. 判斷兩個浮點型變量 x 和 y 是否相等一般用:if( 7. 設有程序段: t=6;a=7;b=8; if(a=b) t=a;,這段程序執(zhí)行后,t 的結果是( 。 8. 設 a=1,b=2,c=3,d=4,則表達式:ab?a:cd

28、?a:d 的結果為( 9. 表達式 98 & 8 & 31 & (98 - a)的值為( 10. 若 int a = 3; 則表達式 (a 2)& ! (D 69) 的值為( )。 )。 ) 。 )語句和( )。 ) 語句= A) ch1+; else ch1+=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; printf(%d,%dn , x,y ); 5. #include int main() int a,b,c,m; printf(Enter thre

29、e integers:); scanf(%d%d%d,&a,&b,&c); if(ach2) if(ch2ch3) else -ch3; printf(ch3=%cn,ch3); return 0; ch3+;7. #include int 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: p

30、rintf(No definition.n); return 0; 輸入:15.3 8. #include int main() char ch1=A,ch2=B; switch(ch1) case A: switch(ch2) case B: printf(Good!n);break; case A: printf(Better!n);break; case B: printf(Best!n); break; return 0; 9.#include void main() float score; score = 100; if (score0) case 1: switch (b12 ?

31、 x + 10 : x - 12; return 0; 輸入:12 17. #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 -: r = x - y; break; case *: r = x * y; break; case /: r = x / y; break; printf(%.1f, r); return 0; 輸入:3.5 18. #include stdio.h void main( ) int

32、 a=7; if(a9 | a10) a=a%3; printf(a=%d, a); printf(%dn, y);a=a/3;else19. #include void main() int a=20; switch(a%3) case 0: printf(0); case 1: printf(1); case 2: printf(2); default: printf(3); printf(4); 20. #include void main() int a=2,b=5,c=8,t; if ( a b ) t = a; a = b; b = t; if ( b c ) t = b; b =

33、 c; c = t; if ( a b ) t = a; a = b; b = t; printf( %d,%dn, a+, -c ); 解答: 1. 運行結果: 9,7 2. a=1,b=3 3. ch1= F 4. 3,5 5. m=21 6. ch3=D 7. y=31.600000 8. Good! Best! 9. A BC 10. * 11. q=35 12. *0*2* 13. *& 14. d=20 15. *1* 16. 0 17. 0.6 18. a=2 19. 234 20. 8,1 三.補充程序 1. 根據(jù)輸入字符的 ASCII 碼來判別字符的類別。由 ASCII 碼表

34、可知 ASCII 值小于 32 的為控制 字 符。 在“0”和“9”之間的為數(shù)字,在“A”和“Z”之間為大寫字母, 在“a”和“z”之 間為小寫字母,其余則為其它字符。 #includestdio.h #includestring.h int main() char c; printf(input a character: ); _ if(c=a&cb) _ _ else max=b;min=a; _ max=c; if(minc)_ printf(max=%dnmin=%d,max,min); return 0; 4. #includestdio.h int main() int a; pr

35、intf(input integer number: ); scanf(%d,&a); _ case 1:printf(Mondayn);break; _ printf(Tuesdayn); break; case 3:printf(Wednesdayn);break; case 4:printf(Thursdayn);_ case 5:printf(Fridayn);break; case 6:printf(Saturdayn);break; case 7:printf(Sundayn);break; _ printf(errorn); return 0; 5. 判斷 ab、aBn); _

36、printf(A#includestdio.h int main ( ) int x,c,m; float y; scanf(“%d”,&x); _c=-1; c=_; switch (c) case 1 : y=0 ; break ; case 0 : y=x ; break ; case 1 : y=10 ; break ; case 2 : case 3 : y=-0.5*x+20 ; _;elsedefault : y=-2 ; if (c!=2) printf (“y=%f”,y); _ printf(“error!”); return 0; 7. 找出 x,y,z 三個數(shù)中的最小數(shù)

37、,并判斷該數(shù)是否等于 b。 #includestdio.h int main() int x=4,y=5,z=8 ,b; int u,v; scanf(%d,&b); u = x8. 輸入兩個運算數(shù) x,y 和一個運算符號 op, 輸出該運算結果的值, 例如輸入 3+5得到結果 8 . #includestdio.h int main ( ) float x,y,r; char op ; scanf(%f,%c,%f,&x,&op,&y); switch (op) case +: r=x+y ; _; _ r=x-y ;break; case * :_;break; _ r=x/y; brea

38、k; printf(%f,r); return 0; 9. 根據(jù)輸入字符的 ASCII 碼來判別字符的類別。由 ASCII 碼表可知 ASCII 值小于 32 的為控制 字 符。 在“0”和“9”之間的為數(shù)字,在“A”和“Z”之間為大寫字母, 在“a”和“z”之 間為小寫字母,其余則為其它字符。 #includestdio.h int main() char c; printf(input a character: ); c=getchar(); _ printf(This is a control charactern); if(c=0&c=0&c=A&c=Z) else 2. char c

39、; break; -: printf(%fn,a/b); 3. max=a; min=b; if(maxb) else if(ac=x/10; break; else 7. x:y; u:z; (v=b) else 8. break; case -: r=x*y; case /: 9. if(c=A&c=a&c=z) else10. b:a c:u (v=x) else 四.改錯題 解答: 五.編程一 1. 求分段函數(shù)的值, 輸入 x 值,輸出結果。 2. 從鍵盤上輸入一個數(shù) x,計算并輸出下列分段函數(shù) y 的值。3. 某運輸公司運費計算時根據(jù)運輸距離打折計算,折扣的計算方法如下:(其中,di

40、scount 表示折扣,S 表示運輸距離) 。 編寫一完整程序,輸入運輸距離,統(tǒng)計運費并輸出。每公里的運費通過符號常量定義為 2 .5。 4. 編程輸入一元二次方程的三個系數(shù),求解一元二次方程的實根,無實根時不用求虛根, 給出相應提示信息即可。 5. 給定三條邊,判斷其是否能構成三角形,若能構成,判斷其是等腰三角形、等邊三角形 、直角三角形還是普通三角形。 6. 從鍵盤輸入一個三角形的三條邊,判斷是否能組成三角形,若能組成三角形,則輸出它 的面積。7. 從鍵盤輸入一個百分制的學生成績,輸出其對應的分數(shù)等級,其中 90100 為 A,80 89 為 B,7079 為 C,6069 為 D,60

41、以下為 E。 8. 編寫一個程序,從鍵盤輸入三個整數(shù)給 a,b,c,然后交換它們中的數(shù),把 a 中原來的值 給 b,把 b 中原來的值給 c,把 c 中原來的值給 a。 9. 輸入一個字符,判斷其是否為英文字母,若是英文字母,則將其大小寫進行轉(zhuǎn)換,若不 是英文字母,則不變。 10. 給定三個整數(shù)型 x,y,z,輸出三個數(shù)中的最大值和最小值。 解答: 1. #include stdio.h #include math.h void main() float x,y; printf(input xn); scanf(%f,&x); if(x0) y=1; else if(x20|x1&x10) p

42、rintf(無定義n); return; if(x0) y=-x; else if(x=10&x=20) y=x*x*x; printf(x=%5.1fy=%8.3fn,x,y); 3. #include stdio.h#include math.h #define price 2.5 void main() float discount,cost,s; printf(input distancen); scanf(%f,&s); if(s250) discount=0; else if(s800) elsediscount=0.02; else if(s0) x1=(-b+sqrt(disc

43、)/(2*a); /*求出兩個不相等的實根*/ x2=(-b-sqrt(disc)/(2*a); printf(x1=%7.2f,x2=%7.2fn, x1, x2); else printf(無實根n); 5. #include stdio.h void main() float a,b,c; printf(輸入三條邊:n); scanf(%f%f%f,&a,&b,&c); if(a+bc&a+cb&b+ca) if(a=b&b=c) printf(等邊三角形n); else if(a=b|b=c|c=a) printf(等腰三角形n); else if(a*a=b*b+c*c|b*b=a*

44、a+c*c|c*c=b*b+a*a) printf(直角三角形n); elseprintf(不能構成三角形 n); 6. #include stdio.h #include math.h void main() float a, b, c, s, area; printf(輸入三條邊:n); scanf(%f%f%f,&a,&b,&c); if(a+bc&a+cb&b+ca) s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(area=%7.2fn,area); else printf(不能構成三角形 n); 7. #include void

45、 main() int score; char d; printf(Input scoren); scanf(%d,&score); if (score100|score=a&c1=A&c1max) max=b; else if(bmax) max=c; else if(cletter: );printf(原字符:%c 轉(zhuǎn)換后為:%cn,c1,c2);)、do-while 語句、() 。2. break 語句在 C 程序中只能出現(xiàn)在兩種場合:一是用于( )語句中。)語句中,二是用于 (3. 以下程序段中的語句 printf(“*”)要執(zhí)行 5 次,請在空白處填入合適的數(shù) 。 for( i=1;

46、i=( );i=i+2 ) printf(“*”); 4. 定義 int k=10;執(zhí)行語句 while(k20) k += 1 ; 后,k 的值為( 5. 在循環(huán)控制結構中 break 語句的作用是( 6. 在循環(huán)控制結構中 continue 語句的作用是:( )。 )。 )。7. 若已知 int a55; 并在運行過程中 a 數(shù)組已經(jīng)賦值;要打印次對角線元素,在空白處 填入合適的值/表達式; for (i = 0; i=0; j-) printf(%5d, aij); 8. 執(zhí)行完語句 sum = 0; for (i = 0; i 10; i+) if (i % 5 = = 0) sum

47、+= i; sum = ( ) 。 9. 在使用 while 語句中需要注意,為了防止“死循環(huán)”的發(fā)生,在循環(huán)體中一定要有( )語句。 10. do-while 語句中,判斷循環(huán)條件在( ” ) ),執(zhí)行循環(huán)體在 ( ) 。 (填“先” “后解答: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 二.閱讀程序?qū)懡Y果 1. #include void main() int number , digit; number = 1234; while ( number != 0 ) digit = number%10 ;printf( %d , digit ) ; number = nu

48、mber / 10 ; 2. #include #define N 5 void main( ) int i; for(i=1;i void main( ) int i,s,x; s=0; x=15; if (x%i=0) printf(i=%d,s=%dn,i,s); for(i=1;i=5;i+) s= s + i;4. #include void main() int counter=1; while(counter = 5) printf(%d n, counter ); counter+; 5. #include int main() int i,sum,m,a; sum=0; m=

49、5; for(i=0;im) sum+=a; printf(sum=%dn,sum); return 0; 輸入:2 10 8 36. #include int main() int i,j,k; for(i=1;i=4;i+) for (j=1;j5-i;j+) printf( ); for(k=1;k=i;k+) printf(*); printf(n); return 0; 7. #include int main() int i,j; i=1; while(i5) for(j=1;j=0); printf(m=%d,n=%dn,m,n); return 0; 9. #include v

50、oid main() int sum=0,n; scanf(%d,&n); while(n=5) sum+=n; n+; printf(sum=%d,sum); 輸入:1 10. #include void main() int i, j; for(i=2;i=0;i-) for(j=1;j=i;j+) printf(*); for(j=0;j=2-i;j+) printf(!); printf(n); 11. #include void main() int a,b; for(a=1,b=1;a20) break; if(b%4=1) b=b+4; b=b-5; printf(a=%dn,a

51、); 12. #include void main( ) continue; char k; int i; for(i=1;i3;i+) scanf(%c,&k); switch(k) case 0: printf(anothern); case 1: printf(numbern); 輸入:01 13. #include int main() int i, s = 0; for(i = 1; i 10) break; printf(i=%d, s=%dn, i, s); return 0; 14. #include void main() char ch; while(ch=getchar(

52、)!=n) if (ch=A&ch=Z) ch=ch+32; ch=ch-32; 輸入:ABCdefelse if (ch=a&ch=z) printf(%c,ch);15. #include int main () int a, b; for (a = 1, b = 1 ; a = 9) break; if (b % 3 = 1) b += 3 ; continue ; b -= 5; printf(%d,%dn, a, b); return 0; 16. #include int main () int i = 0,j = 0; while (i 10) i+; while (j+ 10)

53、 ; printf(i=%d,j=%dn,i,j); return 0; 17. #include stdio.h void main( ) int i,j,t; for(i=1,j=10;i 4 ); 19. #include stdio.h void main() int i=7,j; while ( i 2)printf( %d,j );j = i%2; i-; printf( %d,i ); printf( %d,j );20. #include void main() int i,j,t=0; for(i=3;i0;i-) for(j=0;j4;j+) t+=j; printf(t=

54、%d,t); 解答: 1. 4321 2. 1 4 9 16 3. i=6,s=9 4. 1 2 3 4 5 5. sum=18 6. * * * *7. # # # #8. m=25,n=30 9. sum=15 10. *! *! ! 11. a=6 12. another number number 13. i=3, s=14 14. abcDEF 15. 4,10 16. i=10,j=11 17. 8,12 18. 010101 19. 101012 20. t=18 三.補充程序 1. 輸出 100 以內(nèi)能被 3 整除的數(shù) #includestdio.h int main() _;

55、 for(_;n=100; _) if (n%3!=0) _ printf(%d ,n); return 0; 2. 輸出 100 以內(nèi)的素數(shù)。素數(shù)是只能被 1 和本身整除的數(shù)。為減少循環(huán)次數(shù),只需對數(shù) n用2 去除來判斷該數(shù)是否素數(shù)。 #includestdio.h _ int main() int n,i,k; for(n=2;n=100; _) k=sqrt(n); for(i=2;ik) printf(t%2d,n); return 0; 3. 輸出 200 以內(nèi)能被 5 整除的數(shù) #includestdio.h int main() _ for(_;n=0) _; _; printf

56、(%d plus integers sum: %6.0fn,num,sum); printf(Mean value:%6.2fn,sum/num); return 0; 5. 求輸入的十個整數(shù)中負數(shù)的個數(shù)及其平均值 #include int main() int i,num,a; float sum=0; _; _; while(i10) scanf(%d,&a); if(a=0) _; num+; _; printf(%d plus integers sum: %6.0fn,num,sum); printf(Mean value:%6.2fn,sum/num); return 0; 6. 分

57、解并打印出 X 的各個素數(shù)因子.如 18=1*2*3*3. #include int main() int i,x; scanf(“%d”,&x); printf(“%d=1”,x); for(_;i=x; _) while_ printf(“*%d”,i); _; return 0; 7. 輸出九九乘法表. #include int main() int i,j; for (i=1; _;_) for(_;_;j+) printf(%2d*%2d=%2d, j, i ,i*j);printf(nn); return 0; 8. 有一分數(shù)序列:2/1,3/2,5/3,8/5,13/8,21/1

58、3.求出這個數(shù)列的前 20 項之和。 #include stdio.h int main() int n,t,number=20; float a=2,b=1, _; for( n=1; _;_) s=s+a/b; t=a; a=a+b; _; printf(sum is %9.6fn,s); return 0; 9. 求 1+2!+3!+.+20!的和. #include stdio.h int main() float n, _,t=1; _;_;) t*=n; _; printf(1+2!+3!.+20!=%en,s); return 0; for(n=1;10. 有一分數(shù)序列:2/1,

59、3/2,5/3,8/5,13/8,21/13.求出這個數(shù)列的前 20 項之和。 #include stdio.h int main() int n,t,number=20; float a=2, _,s=0; for(_;_;n+) s=s+a/b; t=a; _; b=t; printf(sum is %9.6fn,s); return 0; 解答: 1. int n; n=1; n+ continue; 2. #includemath.h n+ i+ break; 3. int n; n=1 n+ continue; 4. i10 i+ num+ sum+=a 5. i=0; num=0;

60、 sum+=a; i+;6. i=1 i+ (x%i=0) x=x/i; 7. i=9 i+ j=1 j=i 8. s=0 n=20 n+ b=t; 9. s=0 n=20 n+ s+=t; 10. b=1 n=1 n=20 a=a+b 四.改錯題 解答:五.編程一 1. 試編寫程序求 S=1+1*2+1*2*3+1*2*3*4+?+1*2*3*?*10 的值。2. 編程利用以下公式求 的值。 (取 n=10000)3. 計算 s=1+1/2+1/3+?+1/n 的值,其中 n 的值由鍵盤輸入。4. 編寫程序,在屏幕上輸出下面的圖案(要求用 for 循環(huán)實現(xiàn)) 。 * * * * * 5. 編

溫馨提示

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

最新文檔

評論

0/150

提交評論