C語言程序設(shè)計試題集及其答案_第1頁
C語言程序設(shè)計試題集及其答案_第2頁
C語言程序設(shè)計試題集及其答案_第3頁
C語言程序設(shè)計試題集及其答案_第4頁
C語言程序設(shè)計試題集及其答案_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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ī)定:“計算機程序是按照具體要求產(chǎn)生的適合于計算機處理的 ”。5. 程序設(shè)計語言按照書寫形式,以及思維方式的不同一般分為低級語言和兩大類。6. C 語言是由 組成的。7. C語言的函數(shù)可分為主函數(shù)main、標(biāo)準(zhǔn)庫函數(shù)和。8. 一個函數(shù)是由兩部分組成的,即:和 函數(shù)體。9. 編譯是將C語言所編寫的源程序 成機器代碼,也稱為建立目標(biāo)代碼程序的過程。10.程序是由某種程序設(shè)計語言編制出來,體現(xiàn)

2、了編程者的控制思想和對計算機執(zhí)行操作的要求。不同的任務(wù)功能,就會需求不同的軟件程序,如:控制計算機本身軟硬件協(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. 機器語言是以形式表示的機器基本指令的集合, 是計算機系統(tǒng)唯一不需要翻譯可以直接識別和執(zhí)行的程序設(shè)計語言。12. 與機器語言相比,使用匯編語言來編寫程序可以用來表示指令的操作碼和操作對象,也可以用標(biāo)號和符號來代替地址、常量和變量。 13.在編譯程序之前,凡以開頭的代碼行都先由預(yù)處理程序預(yù)處理。14.

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

4、in()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é)果解答 :三 . 補充程序解答:四 . 改錯題解答:五 . 編程一解答:六 . 編程二解答:第二章 常量、變量和表達(dá)式一 . 填空1. 以16位計算機為例,若定義long int a; 則變量a占個字節(jié)的內(nèi)存空間。2. 以16位計算機為例,若定義double a;則變量a占 個字節(jié)的內(nèi)存空間。

5、3. 以16位計算機為例,若定義long double;則變量a占 個字節(jié)的內(nèi)存空間。4. 在 位機, 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ù) 473.468 寫成規(guī)范化指數(shù)形式,則應(yīng)為 。13. 實數(shù) 0.0453 寫成規(guī)范化指數(shù)形式,則應(yīng)為 。14. 將 0x

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

7、1; 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ù)形式和 兩種表達(dá)方式30. C語言中是用編譯預(yù)處理命令 來包含其他源文件31. 為了表示字符串的結(jié)束,系統(tǒng)自動在字符串的最后加一個 ,但不被輸出

8、32. C 語言中,其值可被改變的量稱為變量,它具有三個基本要素:變量名、和變量值33. C語言規(guī)定,變量的標(biāo)識符只能由字母、數(shù)字和下劃線組成,且不能以 開 頭。34. 在 16 位機中,sizeof( “ hellon ” ) 等于 。35. 在 16 位機中, 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=+

9、ch1; printf("ch1=%c,ch2=%c",ch1,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%

10、3 的值是 。44. 表達(dá)式 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 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á)式(a>b ? a:b)&&(c-d) 的值為 。50. 已知 a = 0 ,表達(dá)式a =

11、 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.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 的值為 ax(a,b) 的值為

12、58. 在 32 位機中,int a=4,b=7; printf( “ %0x” ,a-b) 的值為:。59. int x,y,z; x=y=2;z=3;y=x+-1;printf(60. int i=2,j; printf(%d” ,j=i<1)“ %d,%d” ,x,y) 的值為 :的值為:解答 :1. 02. 43. 104. 325. 指針類型6. int 、 float 、 double 、 char7. 388. 449. 29310. 12411. 04712. 4.734680e+00213. 4.530000e-00215. x41/41H16. 符號常量17. def

13、ine18. 轉(zhuǎn)義字符常量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. fffffffd

14、59. 3 , 160. 0二 . 閱讀程序?qū)懡Y(jié)果解答:三 . 補充程序解答:四 . 改錯題解答:五 . 編程一解答:六 . 編程二解答 :第三章 順序結(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 賦值的格式輸入語句為:。10.

15、如果要輸出字符串常量" 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回車,使

16、 i 的值為 1、 j 的值為2、 k的值為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"

17、;, a, b, c);。17. 有 int m=0256,n=256; 則 printf("%o %on",m,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;

18、 則 printf("%on",m); 的輸出結(jié)果是執(zhí)行后輸出結(jié)果是21. 若有 int m=32,n=032; ,則 printf("%d,%xn",m,n);22. 若有 int a=1234; ,則 printf("%2dn",a); 的輸出結(jié)果是。23. 若變量已正確說明為float 類型,要通過語句scanf( “ %f %f %f ” ,&a,&b,&c); 給 a賦于 10.0 , b賦予22.0 , c賦予33.0 ,不正確的輸入形式是 。A) 10 < 回車>22<回車>

19、;33<回車> B) 10.0,22.0,33.0< 回車 >C) 10.0< 回車 > 22.0 33.0< 回車 > D) 10 22< 回車 > 33<回車 >24. 若有 int x=3,y=1; 則 printf("%d %dn",x+,y+2); 的輸出結(jié)果是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); 的輸出結(jié)果是(小數(shù)點后

20、只寫一位) 。26. 以下說法中正確的是。A) #define 和 printf 都是 C語句B) #define 是C語句,而printf 不是C) printf 是C語句,但#de巾ne不是D) #define 和printf 都不是C語句27. 若有 int k=17; , 則 printf("%d,%o,%x n",k,k,k); 的輸出結(jié)果是28. 以下敘述中正確的是。A) 輸入項可以是一個實型常量, 如 :scanf("%f",3.5);B) 只有格式控制, 沒有輸入項, 也能正確輸入數(shù)據(jù)到內(nèi)存, 例如 :scakf("a=%d,b

21、=%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=2,c=5; ,則 printf("a=

22、%d,b=%dn",a,c); 的輸出結(jié)果是32. 有 char c; int n=100; float f=10; double x; x=f*=n/=(c=50); 則 printf("%d %f n",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=02

23、5; c=0x25; ,則 printf("%d %d %dn",a,b,c); 的輸出結(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é)果是o37. 有 int a=0; a+=(a=8); 則 printf("%dn",a); 的輸出結(jié)果是。38. 有 int a=1, b=2; a=a+b; b=a-b

24、; a=a-b; 則 printf( “ %d,%dn” , a, b ); 的輸出結(jié)果 是39. 有 unsigned short a=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”,

25、&ch);10. printf (“ %s”,HelloWord!);或者: printf (“ HelloWord! ” );11. printf( “ x=%1d n” ,x);12. 1 2 或者 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.

26、6 6 6.0 6.026. D27. 17 , 21, 1128. C29. 8,16,1030. 13.70000031. a=%d,b=%d32. 2 20.00000033. 1030034. 25 21 3735. n1=%dnn2=%d36. -337. 1638. 2,139. 040. B89二 . 閱讀程序?qū)懡Y(jié)果解答 :三 . 補充程序解答:四 . 改錯題解答:五 . 編程一解答:六 . 編程二解答:第四章 選擇結(jié)構(gòu)一 . 填空1. 在 if, while, case, do, else 等關(guān)鍵字中,用于選擇結(jié)構(gòu)的有().的輸出結(jié)語句)0)0。2. 已知 a = 1; 那么

27、if ( a = 2) printf("%d", 2); else printf("%d", 1);果是 ().3. 已知 char a = 'A' 那么 if ( a > 65) printf("%s", "bigger"); else printf("%s" , "smaller"); 的輸出結(jié)果是().4. 表小x x> y > z 的C語言表達(dá)式是()。5. 在C語言中,用于實現(xiàn)選擇結(jié)構(gòu)的語句有() 語句和()。6. 判斷兩個浮點型變

28、量x 和 y 是否相等一般用:if (<1e-67. 設(shè)有程序段: t=6;a=7;b=8; if(a=b) t=a;, 這段程序執(zhí)行后,t 的結(jié)果是(。8. 設(shè) a=1,b=2,c=3,d=4, 則表達(dá)式:a>b?a:c>d?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.

29、8.9.10.二 . 閱讀程序?qū)懡Y(jié)果1. #include <stdio.h>void main( )int x,y,t;x=7;y=9; if(x<y)t=x;x=y;y=t; printf("%d,%dn" , x,y );2.#include <stdio.h>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 <st

30、dio.h>void main( )char ch1 = 'E'if(ch1 >= 'A') ch1+;elsech1+=32;printf("ch1 = %cn", ch1);4.#include <stdio.h>void main( )int x,y,t;x=5;y=3;if(x>y) t=x;x=y;y=t;printf("%d,%dn" , x,y );5. #include <stdio.h>int main()int a,b,c,m;printf("Ente

31、r three integers:");scanf("%d%d%d",&a,&b,&c);if(a<=b)m=a;elsem=b;if(c<m)m=c;printf("m=%dn",m);return 0; 輸入: 21 22 23< 回車 >6. #include <stdio.h>int main()char ch1='a',ch2='B',ch3='E'if(ch1>ch2)if(ch2>ch3) ch3+;else-c

32、h3;printf("ch3=%cn",ch3);return 0;7. #include <stdio.h>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:pr

33、intf("No definition.n");return 0; 輸入:15.3<回車>8. #include <stdio.h>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': prin

34、tf("Best!n"); break;return 0;9.#include <stdio.h>void main()float score;score = 100;if (score<60) printf("En");elseswitch( ( int ) score / 10 ) case 10:case 9: printf("An");case 8: printf("Bn");case 7: printf("Cn"); break;case 6: printf(&quo

35、t;Dn"); break;default: printf("Errorn");10. #include <stdio.h>void main()int i=0, a=2;if(i=0)printf( “ * ” ) ;elseprintf( “ $” ) ;printf( “ *” );11.#include<stdio.h> void 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=%d n” ,q);12.

36、#include<stdio.h>void main()int a=1,b=0; switch(a)case 1: switch (b)case 0: printf("*0*"); break;case 1:printf("*1*");break;case 2: printf("*2*");break;13.#include<stdio.h>int main( )int a=2,b=7,c=5;switch (a>0)case 1: switch (b<0)case 1: printf("

37、"); break ;case 2: printf("!"); break ;case 0: switch (c=5)case 1: printf("*") ; break ;default : printf("#") ; break ;default : printf("&");printf("n");return 0;14. #include<stdio.h>int main()int a=0,b=1,c=0,d=20; if(a) d=d-10; else i

38、f (!b) if(!c) d=15; else d=25; printf("d=%dn",d);return 0; 15. #include<stdio.h>int 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 <stdio.h>int main() int x, y;scanf

39、("%d",&x);y = x>12 ? x + 10 : x - 12; printf("%dn", y); return 0; 輸入:12<回車>17. #include <stdio.h>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; bre

40、ak;case '*': r = x * y; break;case '/': r = x / y; break;printf("%.1f", r);return 0; 輸入: 3.5<回車 >18. #include "stdio.h"void main( )int a=7; if(a>9 | a<10)a=a/3; elsea=a%3; printf("a=%d", a);19. #include<stdio.h>void main()int a=20; swit

41、ch(a%3) case 0: printf("0");case 1: printf("1");case 2: printf("2");default: printf("3");printf("4");20. #include <stdio.h>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 =c; c = t; if ( a<b ) t= a;a =b; b =

42、 t; printf( "%d,%dn", a+, -c );解答 :1. 運行結(jié)果:9,72. a=1,b=33. ch1= F4. 3,55. m=216. ch3=D7. y=31.6000008. Good!Best!9. AB10.*11. q=3512. *0*2*13. *& 14. d=20 15. *1* 16. 017. 0.618. a=219. 23420. 8,1三 . 補充程序1. 根據(jù)輸入字符的ASCII 碼來判別字符的類別。由 ASCII 碼表可知ASCII 值小于 32的為控制字符。在“0”和“9”之間的為數(shù)字,在“A”和“Z”之間

43、為大寫字母,在“a”和“z”之間為小寫字母,其余則為其它字符。#include"stdio.h"#include"string.h"int main()char c;printf("input a character: ");if(c<32) printf("This is a control charactern");printf("This is a digitn");else if printf("This is a capital lettern");else

44、if(c>='a'&&c<='z')printf("This is a small lettern");printf("This is an other charactern");return 0; 2. 計算器程序。用戶輸入運算數(shù)和四則運算符,輸出計算結(jié)果.#include"stdio.h"int main()float a,b;printf("input expression: a+(-,*,/)b n");scanf("%f%c%f&quo

45、t;,&a,&c,&b);switch(c)case '+': printf("%fn",a+b); caseprintf("%fn",a-b);break;case '*': printf("%fn",a*b);break;case '/': ;break;default: printf("input errorn");return 0; 3. 輸入三個整數(shù),輸出最大數(shù)和最小數(shù)(注:max總是記錄最大數(shù),而min總是記錄最小數(shù)).#inclu

46、de"stdio.h"int main()int a,b,c,max,min;printf("input three numbers: ");scanf("%d%d%d",&a,&b,&c);if(a>b)elsemax=b;min=a;max=c;if(min>c)printf("max=%dnmin=%d",max,min);return 0; 4. #include"stdio.h"int main()int a;printf("input i

47、nteger 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

48、:printf("Sundayn");break;printf("errorn");return 0; 5. 判斷a>b、a<b、a=b或awb四種關(guān)系。#include"stdio.h"int main()int a,b;printf("please input a,b: ");scanf("%d%d",&a,&b);printf("A=Bn");printf("A>Bn");printf("A<Bn&q

49、uot;);printf("A * Bn");return 0; 6. 根據(jù)以下函數(shù)關(guān)系,對輸入的每個x 值,計算出相應(yīng)的y 值。#include"stdio.h"int main ( )int x,c,m;float y;scanf( “ %d” ,&x);case 1 elsec=;switch (c)case 1 : y=0 ; break ;case 0 : y=x ; break ;case 2 : y=10 ; break ;case 3 :case 4 : y=-0.5*x+20 ; default : y=-2 ;if (c!=2

50、) printf (“ y=%f” ,y);printf( “ error! ” );return 0; 7.找出 x,y,z 三個數(shù)中的最小數(shù), 并判斷該數(shù)是否等于b。#include"stdio.h"int main()int x=4,y=5,z=8 ,b;int u,v;scanf("%d",&b);u = x<y ? ;v = u<z ? ;ifprintf ( “最小數(shù)等于b!n ” );printf ( “最小數(shù)不等于b!n ” );return 0;8. 輸入兩個運算數(shù)x,y和一個運算符號op,輸出該運算結(jié)果的值,例如輸

51、入3+5/得到結(jié)果8#include"stdio.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; break;printf("%f",r);return 0;9. 根據(jù)輸入字符的ASCII 碼來判別字符的類別。由 ASCII 碼表可知ASCII 值小于 32的為控制字符。在

52、“0”和“9”之間的為數(shù)字,在“ A和“Z”之間為大寫字母,在“a”和“z”之 間為小寫字母,其余則為其它字符。#include"stdio.h"int main() char c;printf("input a character: ");c=getchar();printf("This is a control charactern"); if(c>='0'&&c<='9')printf("This is a digitn");printf("

53、;This is a capital lettern");printf("This is a small lettern");printf("This is an other charactern");return 0; 10. 找出 a,b,c 三個數(shù)中的最大數(shù), 并判斷該數(shù)是否等于x。#include"stdio.h"int main()int a=8,b=4,c=12,x ;int u,v;scanf( “ %d” ,&x);u = a<b ? ;v = u<c ? ;ifprintf ( “最大數(shù)

54、等于 x!n ” );printf ( “最大數(shù)不等于 x!n ” ); return 0;解答 :1. c=getchar();(c>='0'&&c<='9')(c>='A'&&c<='Z') else2. char c;break;'-':printf("%fn",a/b);3. max=a;min=b;if(max<c) min=c;4. switch(a) case 2: break; default:5. if(a=b) e

55、lse if(a>b) else if(a<b) else6. if(x<0) c=x/10; break; else7. x:y;u:z;(v=b) else8. break;case '-': r=x*y; case '/':9. if(c<32)else if(c>='A'&&cv='Z') else if(c>='a'&&c<='z') else10. b:ac:u(v=x) else四.改錯題 解答: 五.編程1.求

56、分段函數(shù)的值,輸入x值,輸出結(jié)果2.從鍵盤上輸入一個數(shù)x,y =<strong>sin工+重未定義計算并輸出下列分段函數(shù)x < 00 <x<l10£工匕2。其它 一</strong>y的值3 .某運輸公司運費計算時根據(jù)運輸距離打折計算,折扣的計算方法如下:(其中,discount表示折扣,S表示運輸距離)。編寫一完整程序,輸入運輸距離,統(tǒng)計運費并輸出。每公里的運費通過符號常量定義為.5。4 . 編程輸入一元二次方程的三個系數(shù),求解一元二次方程的實根,無實根時不用求虛根,給出相應(yīng)提示信息即可。5 . 給定三條邊,判斷其是否能構(gòu)成三角形,若能構(gòu)成

57、,判斷其是等腰三角形、等邊三角形、直角三角形還是普通三角形。6 . 從鍵盤輸入一個三角形的三條邊,判斷是否能組成三角形,若能組成三角形,則輸出它的面積。7 .從鍵盤輸入一個百分制的學(xué)生成績,輸出其對應(yīng)的分?jǐn)?shù)等級,其中 90100為A, 8089為B, 7079為C, 6069為D, 60以下為E。8 .編寫一個程序,從鍵盤輸入三個整數(shù)給a, b, c,然后交換它們中的數(shù),把a中原來的值給b,把b中原來的值給c,把c中原來的值給a。9 . 輸入一個字符,判斷其是否為英文字母,若是英文字母,則將其大小寫進(jìn)行轉(zhuǎn)換,若不是英文字母,則不變。10 .給定三個整數(shù)型x, y, z,輸出三個數(shù)中的最大值和最

58、小值。解答 :1. #include "stdio.h"#include "math.h"void main()float x,y;printf("input xn");scanf("%f",&x);if(x<0) y=1; else if(x<=5) y=2*x;elsey=sqrt(x);printf("x=%5.1fy=%8.3fn",x,y);2. #include "stdio.h"#include "math.h"void

59、main()float x,y;printf("input xn");scanf("%f",&x);if(x>20|x>1&&x<10) printf(" 無定義 n");return;if(x<0) y=-x;else if(x<=1) y=sin(x)+x;else if(x>=10&&x<=20) y=x*x*x;printf("x=%5.1fy=%8.3fn",x,y);3. #include "stdio.h&qu

60、ot;#include "math.h"#define price 2.5void main()float discount,cost,s;printf("input distancen");scanf("%f",&s);if(s<250) discount=0; else if(s<800) discount=0.02; else if(s<1500) discount=0.05; elsediscount=0.08; cost=s*(1-discount)*price;printf("dista

61、nce=%5.1f;cost=%5.1fn",s,cost);4. /* 功能:求一元二次方程的解。*/#include "math.h"#include "stdio.h"main()float a,b,c,disc,x1,x2; scanf("%f,%f,%f", &a, &b, &c);disc=b*b-4*a*c;if (disc=0)printf("x1=x2=%7.2fn", -b/(2*a); /*輸出兩個相等的實根*/else if (disc>0) x1=(-b+sqrt(disc)/(2*a); /*求出兩個不相等的實根 */x2=(-b-sqrt(disc)/(2*a);printf("x1=%7.2f,x2=%7.2fn", x1, x2);elseprintf(" 無實根

溫馨提示

  • 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

提交評論