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

下載本文檔

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

文檔簡介

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

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

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

4、高級語言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. PASCAL2 .閱讀程序?qū)懡Y(jié)果解答:3 .補(bǔ)充程序解答:4 .改錯(cuò)題解答:5 .編程一解答:6 .編程二解答:第二章常量、變量和表達(dá)式一.填空1. 以16位計(jì)算機(jī)為例,若定義longinta;則變量a占個(gè)字節(jié)的內(nèi)存空間。2. 以16位計(jì)算機(jī)為例,若定義doublea;則變量a占個(gè)字節(jié)的內(nèi)存空間。3. 以16位計(jì)算機(jī)為例,若定義longdouble;則變量a占個(gè)字節(jié)的內(nèi)存空間

5、。4. 在位機(jī),int型占4個(gè)字節(jié)。、空類5. C語言的數(shù)據(jù)類型有:基本數(shù)據(jù)類型、構(gòu)造數(shù)據(jù)類型、枚舉類型、型6. 在C語言中,基本數(shù)據(jù)類型有:c7. 整型常量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ù)形式,則應(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. C語言中是用編譯預(yù)處理命令

6、來定義符號常量18. 在C語言中,以反斜杠符()開頭,后跟字符的字符序列,稱之為主要用來表示控制及不可見的字符或者一些圖形符號19. 語句printf("106")執(zhí)行的結(jié)果輸出是。20. 語句printf(“b”)執(zhí)行的結(jié)果輸出是。21. 語句printf(“b”)執(zhí)行的結(jié)果輸出是。22. 語句printf("102")執(zhí)行的結(jié)果輸出是。23. 若有charch1;ch1='a'+4;則語句printf("%c",x)的輸出結(jié)果為。24. 字符串常量“Hello,everyone!”占據(jù)的內(nèi)存空間為個(gè)字節(jié)25. 字符

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

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

9、;則輸出為。41. 若有定義inti=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. 若定義intx;doubleb=5.45;執(zhí)行x=b后,則x的值為。46. 若定義inty;charc='A'執(zhí)行y=c后,則y的值為。47. 若定義inta=8;floatb=2.5;則a/(int)(b)的值為。48. 若a=5,則執(zhí)行a*=7-3

10、語句后,a的值是。49. 若inta=1,b=0,c=4,d=2;則表達(dá)式(a>b?a:b)&&(c-d)的值為。50. 已知a=0,表達(dá)式a=1?b=1:b=0;執(zhí)行后,b的值是。51. 若定義intm=7,n=12;則表達(dá)式n%=m-m%5值是。52. 若定義inta=8;floatb=4.5;執(zhí)行a*=a/=a-b后,a的值為。53. inta=2;!a+的值為。54. inta=0;!a+&+a的值為。55. inta=7;floatb=4.5;則printf(“%d”,a*=a/=a-b)的值為。56. intk=7;floata=2.5,b=4.7;則

11、表達(dá)式a+k%3*(int)(a+b)%2/4的值為。,M57. #defineMax(a,b)(a)-(b)&0x80000000)?(a):(b),inta=2,b=6;printf(“%dnax(a,b)的值為。58. 在32位機(jī)中,inta=4,b=7;printf(“%0x”,a-b)的值為:。59. intx,y,z;x=y=2;z=3;y=x+-1;printf(“%d,%d”,x,y)的值為:。60. inti=2,j;printf(“%d”,j=i<1)的值為:解答:1. 02. 43. 104. 325. 指針類型6. int、float、double、cha

12、r7. 388. 449. 29310. 12411. 04712.4.734680e+00213. 4.530000e-00214. 10010001115. x41/41H16. 符號常量17. define18. 轉(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

13、. 7.00000045. 546. 6547. 448. 2049. 150. 151. 252. 453. 054. 055.456.2.50000057. 258. fffffffd59. 3,160. 0二.閱讀程序?qū)懡Y(jié)果解答:三.補(bǔ)充程序解答:四.改錯(cuò)題解答:五.編程一解答:六.編程二解答:第三章順序結(jié)構(gòu)一.填空1. C語言的語句可分為5類,它們是:控制語句、函數(shù)語句、符合語句和空語句。2. 常用于字符輸入的函數(shù)為:。3. 常用于字符輸出的函數(shù)為:。4. 常用于字符串輸入的函數(shù)為:。5. 常用于字符串輸出的函數(shù)為:。6. 格式輸入函數(shù)的一般形式為:。7. 格式輸出函數(shù)的一般形式為:。

14、8. printf和scanf是標(biāo)準(zhǔn)的庫函數(shù),它們的函數(shù)原型在頭文件中。9. 有charch,則從鍵盤給ch賦值的格式輸入語句為:10. 如果要輸出字符串常量“HelloWord!”,則格式輸出語句為:11. 設(shè)有定義:longx=-123456L;,請寫出能夠正確輸出變量x值的語句。12. 若有inta,b;,想通過scanf("%d%d",&a,&b);輸入語句給a賦于1,給b賦于2,則從鍵盤輸入數(shù)據(jù)的形式是。13. 若有inti,j;scanf("i=%d,j=%d"&i,&j);,要求給i賦10,給j賦20,則應(yīng)該

15、從鍵盤輸入。14. 已知i、j、k為int型變量,若從鍵盤輸入:1,2,3回車,使i的值為1、j的值為2、k的值為3,請寫出正確的輸入語句。15. 有intm,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. 有inta;floatb,c;scanf("%2d%3f%4f",&a,&b,&c);printf("

16、;na=%d,b=%f,c=%fn",a,b,c);,若運(yùn)行時(shí)從鍵盤上輸入9876543210<回車>,則程序的輸出結(jié)果是_。17. 有intm=0256,n=256;則printf("%o%on",m,n);的輸出結(jié)果是18. 有intx=102,y=012;,則printf(“%2d,%2dn”,x,y);的輸出結(jié)果是。19. 有定義和語句:inta;charc=10;floatf=100.0;doublex;a=f/=c*=(x=6.5);,則printf("%d%d%3.1f%3.1fn",a,c,f,x);的輸出結(jié)果是。2

17、0. 若有定義和語句: int m=0xabc,n=0xabc; m-=n; 則 printf("%on",m); 的輸出結(jié)果是21. 若有intm=32,n=032;22. 若有inta=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<回車>33<回車>B)10.0,22.0,33.0&l

18、t;回車>C)10.0<回車>22.033.0<回車>D)1022<回車>33<回車>24. 若有intx=3,y=1;則printf("%d%dn",x+,y+2);的輸出結(jié)果是25. 若有定義和語句:doubled;floatf;longl;inti;i=f=l=d=20/3;則printf("%d%ld%f%fn",i,l,f,d);的輸出結(jié)果是(小數(shù)點(diǎn)后只寫一位)。26. 以下說法中正確的是。A) #define和printf都是C語句B) #define是C語句,而printf不是C) pr

19、intf是C語句,但#define不是D) #define和printf都不是C語句27. 若有intk=17;,則printf("%d,%o,%xn",k,k,k);的輸出結(jié)果是28. 以下敘述中正確的是。A) 輸入項(xiàng)可以是一個(gè)實(shí)型常量,如:scanf("%f",3.5);B) 只有格式控制,沒有輸入項(xiàng),也能正確輸入數(shù)據(jù)到內(nèi)存,例如:scakf("a=%d,b=%d");C) 當(dāng)輸入數(shù)據(jù)時(shí),必須指明變量地址,例如:scanf("%f",&f);29. 若有定義和語句:intu=010,v=0x10,w=1

20、0;則printf("%d,%d,%dn",u,v,w);輸出結(jié)果是30. 若有inta=1,b=4,c=2;floatx=10.5,y=4.0,z;z=(a+b)/c+sqrt(double)y)*1.2/c+x;,則printf("%fn",z);的輸出結(jié)果是。31. 若有inta=2,c=5;,則printf("a=%d,b=%dn",a,c);的輸出結(jié)果是32. 有charc;intn=100;floatf=10;doublex;x=f*=n/=(c=50);則printf("%d%fn",n,x);的輸出

21、結(jié)果是。33. 有inti=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k);printf("%d%d%dn",i,j,k);若從鍵盤輸入:102030<回車>。輸出結(jié)果是。34. 若有inta,b,c;a=25;b=025;c=0x25;,則printf("%d%d%dn",a,b,c);的輸出結(jié)果35. 有以下語句段intn1=10,n2=20;printf(“”,n1,n2);要求按以下格式輸出n1和n2的值,每個(gè)輸出行從第一列開始,請?zhí)羁?。n1=10n2=2036. 若

22、有語句inti=-19,j=i%4;則printf("%dn",j);的輸出結(jié)果是。37. 有inta=0;a+=(a=8);則printf("%dn",a);的輸出結(jié)果是38. 有inta=1,b=2;a=a+b;b=a-b;a=a-b;則printf(“%d,%dn”,a,b);的輸出結(jié)果是39. 有unsignedshorta=65536;intb;,則printf(“%dn”,b=a);的輸出結(jié)果是。40. 語句printf("10289n");的數(shù)據(jù)結(jié)果為:。解答:1. 表達(dá)式語句2. getchar()3. putchar

23、()4. gets()5. puts()6. scanf(“格式控制字符串”,地址表列);7. printf(“格式控制字符串”,輸出表列);8. stdio.h9. scanf(“%c”,&ch);10. printf(“%s”,HelloWord!);或者:printf(“HelloWord!”);11. printf(“x=%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.0000001

24、7. 25640018. 102,1019. 1651.56.520. 021. 32,1a22. 123423. B24. 3325. 666.06.026. D27. 17211128. C29. 8,16,1030. 13.70000031. a=%d,b=%d32. 220.00000033. 1030034. 25213735. n1=%dnn2=%d36. -337. 1638. 2,139. 040. B892 .閱讀程序?qū)懡Y(jié)果解答:3 .補(bǔ)充程序解答:4 .改錯(cuò)題解答:5 .編程一解答:6 .編程二解答:第四章選擇結(jié)構(gòu)一.填空1. 在if,while,case,do,else等

25、關(guān)鍵字中,用于選擇結(jié)構(gòu)的有).的輸出結(jié)2. 已知a=1;那么if(a=2)printf("%d",2);elseprintf("%d",1);).果是(3. 已知chara='A'那么if(a>65)printf("%s","bigger");elseprintf("%s","smaller");的輸出結(jié)果是().4. 表布“xRyAz”的C語百表達(dá)式是()。5. 在C語言中,用于實(shí)現(xiàn)選擇結(jié)構(gòu)的語句有()語句和()語句。6. 判斷兩個(gè)浮點(diǎn)型變量x和y是否

26、相等一般用:if(<1e-6)。7. 設(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. 若inta=3;則表達(dá)式(a>2)&&!('D'>69)的值為()。解答:1.2.3.4.5.6.7.8.9.10.二.閱讀程序?qū)懡Y(jié)果1.#include<stdio.h>

27、voidmain()intx,y,t;x=7;y=9;if(x<y)t=x;x=y;y=t;printf("%d,%dn",x,y);2.#include<stdio.h>voidmain()intx=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<stdio.h>voidmain()charch1='E'if(ch1>='A')

28、ch1+;elsech1+=32;printf("ch1=%cn",ch1);4.#include<stdio.h>voidmain()intx,y,t;x=5;y=3;if(x>y)t=x;x=y;y=t;printf("%d,%dn",x,y);5. #include<stdio.h>intmain()inta,b,c,m;printf("Enterthreeintegers:");scanf("%d%d%d",&a,&b,&c);if(a<=b)m=

29、a;elsem=b;if(c<m)m=c;printf("m=%dn",m);return0;輸入:212223<回車>6. #include<stdio.h>intmain()charch1='a',ch2='B',ch3='E'if(ch1>ch2)if(ch2>ch3)ch3+;else-ch3;printf("ch3=%cn",ch3);return0;7. #include<stdio.h>intmain()floatx,y;scanf(&qu

30、ot;%f",&x);printf("y=%fn",y);break;printf("y=%fn",y);break;printf("y=%fn",y);break;switch(int)x/10)case0:y=1.0;case 1: y=2*x+1;case 2: y=3*x*x+2;default:printf("Nodefinition.n");return0;輸入:15.3<回車>8. #include<stdio.h>intmain()charch1='

31、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;return0;9.#include<stdio.h>voidmain()floatscore;score=100;if(score<60)printf("

32、;En");elseswitch(int)score/10)case10:case9:printf("An");case8:printf("Bn");case7:printf("Cn");break;case 6: printf("Dn"); break;default:printf("Errorn");10. #include<stdio.h>voidmain()inti=0,a=2;if(i=0)printf(“*”);elseprintf(“$”);printf(“*

33、”);11.#include<stdio.h>voidmain()intm=10,n=0,p=4,q=20;if(m)if(n)q=15-m;elseq=25+m;elseif(p)q=q+p;default : printf("#") ; break ;12. #include<stdio.h>voidmain()inta=1,b=0;switch(a)case 1: switch(b)case0:printf("*0*");break;case1:printf("*1*");break;case 2: pr

34、intf("*2*");break;13.#include<stdio.h>intmain()inta=2,b=7,c=5;switch(a>0)case1:switch(b<0)case 1: printf("");break;case 2: printf("!");break;case0:switch(c=5)case1:printf("*");break;default:printf("&");printf("n");return0;14

35、. #include<stdio.h>intmain()inta=0,b=1,c=0,d=20;if(a)d=d-10;elseif(!b)if(!c)d=15;elsed=25;printf("d=%dn",d);return0;15. #include<stdio.h>intmain()inta=1;switch(a)case0:printf("*0*");break;case1:printf("*1*");break;case2:printf("*2*");break;return0;

36、16. #include<stdio.h>intmain()intx,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%dn",y);return0;輸入:12<回車>17. #include<stdio.h>intmain()floatx,y;charop;doubler;scanf("%c%f%f",&op,&x,&y);switch(op)case'+':r=x+y;break;case'-

37、9;:r=x-y;break;case'*':r=x*y;break;case'/':r=x/y;break;printf("%.1f",r);return0;輸入:3.5<回車>18. #include"stdio.h"voidmain()inta=7;if(a>9|a<10)a=a/3;elsea=a%3;printf("a=%d",a);19. #include<stdio.h>voidmain()inta=20;switch(a%3)case0:printf(

38、"0");case 1: printf("1");case 2: printf("2");default:printf("3");printf("4");20. #include<stdio.h>voidmain()inta=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=t;printf("%d,%dn",a+,-c);解答:1. 運(yùn)行結(jié)果:9,72. a=1

39、,b=33. ch1=F4. 3,55. m=216. ch3=D7. y=31.6000008. Good!Best!9. ABC10. *11. q=3512. *0*2*13. *&14.d=2015. *1*16. 017. 0.618. a=219. 23420.8,1三.補(bǔ)充程序1. 根據(jù)輸入字符的ASCII碼來判別字符的類別。由ASCII碼表可知ASCII值小于32的為控制字符。在“0”和“9”之間的為數(shù)字,在“A”和“Z”之間為大寫字母,在“a”和“z”之間為小寫字母,其余則為其它字符。#include"stdio.h"#include"s

40、tring.h"intmain()charc;printf("inputacharacter:");if(c<32)printf("Thisisacontrolcharactern");printf("Thisisadigitn");elseifprintf("Thisisacapitallettern");elseif(c>='a'&&c<='z')printf("Thisisasmalllettern");print

41、f("Thisisanothercharactern");return0;2. 計(jì)算器程序。用戶輸入運(yùn)算數(shù)和四則運(yùn)算符,輸出計(jì)算結(jié)果.#include"stdio.h"intmain()floata,b;printf("inputexpression:a+(-,*,/)bn");scanf("%f%c%f",&a,&c,&b);switch(c)case'+':printf("%fn",a+b);caseprintf("%fn",a-b

42、);break;case'*':printf("%fn",a*b);break;case'/':;break;default:printf("inputerrorn");return0;3. 輸入三個(gè)整數(shù),輸出最大數(shù)和最小數(shù)(注:max總是記錄最大數(shù),而min總是記錄最小數(shù)).#include"stdio.h"intmain()inta,b,c,max,min;printf("inputthreenumbers:");scanf("%d%d%d",&a,&

43、amp;b,&c);if(a>b)elsemax=b;min=a;max=c;if(min>c)printf("max=%dnmin=%d",max,min);return0;4. #include"stdio.h"intmain()inta;printf("inputintegernumber:");scanf("%d",&a);case1:printf("Mondayn");break;printf("Tuesdayn");break;case

44、3:printf("Wednesdayn");break;case4:printf("Thursdayn");case5:printf("Fridayn");break;case6:printf("Saturdayn");break;case7:printf("Sundayn");break;printf("errorn");return0;5. 判斷a>b、a<b、a=b或awb四種關(guān)系。#include"stdio.h"intmain()i

45、nta,b;printf("pleaseinputa,b:");scanf("%d%d",&a,&b);printf("A=Bn");printf("A>B'n");printf("A<Bn");printf("A豐Bn");return0;6.根據(jù)以下函數(shù)關(guān)系,對輸入的每個(gè)x值,計(jì)算出相應(yīng)的y值。0U=工<101010 <= x < 20error20 <= X < 30Q.5XX+2030<=X<

46、;40其它#include"stdio.h"intmain()intx,c,m;floaty;scanf(“%d”,&x);c=-1;elsec=;switch(c)case-1:y=0;break;case0:y=x;break;case 1 :y=10;break;case 2 :case 3 :y=-0.5*x+20;default:y=-2;if(c!=2)printf(“y=%f”,y);printf(“error!”);return0;7.找出x,y,z三個(gè)數(shù)中的最小數(shù),并判斷該數(shù)是否等于b。#include"stdio.h"intm

47、ain()intx=4,y=5,z=8,b;intu,v;scanf("%d",&b);u=x<y?;v=u<z?;ifprintf(“最小數(shù)等于b!n”);printf(“最小數(shù)不等于b!n”);return0;8. 輸入兩個(gè)運(yùn)算數(shù)x,y和一個(gè)運(yùn)算符號op,輸出該運(yùn)算結(jié)果的值,例如輸入3+5/得到結(jié)果8#include"stdio.h"intmain()floatx,y,r;charop;scanf("%f,%c,%f",&x,&op,&y);switch(op)case'+

48、9;:r=x+y;r=x-y;break;case'*':;break;r=x/y;break;printf("%f",r);return0;9. 根據(jù)輸入字符的ASCII碼來判別字符的類別。由ASCII碼表可知ASCII值小于32的為控制字符。在“0”和“9”之間的為數(shù)字,在“A”和“Z”之間為大寫字母,在“a”和“z”之間為小寫字母,其余則為其它字符。#include"stdio.h"intmain()charc;printf("inputacharacter:");c=getchar();printf("

49、;Thisisacontrolcharactern");if(c>='0'&&c<='9')printf("Thisisadigitn");printf("Thisisacapitallettern");printf("Thisisasmalllettern");printf("Thisisanothercharactern");return0;10. 找出a,b,c三個(gè)數(shù)中的最大數(shù),并判斷該數(shù)是否等于x。#include"stdio.

50、h"intmain()inta=8,b=4,c=12,x;intu,v;scanf(“%d”,&x);u=a<b?;v=u<c?;ifprintf(“最大數(shù)等于x!n”);printf(“最大數(shù)不等于x!n”);return0;解答:1. c=getchar();(c>='0'&&c<='9')(c>='A'&&c<='Z')else2. charc;break;'-':printf("%fn",a/b);3.

51、 max=a;min=b;if(max<c)min=c;4. switch(a)case2:break;default:5. if(a=b)elseif(a>b)elseif(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)elseif(c>='A'&&c<='Z')elseif(c>='a'&&am

52、p;c<='z')else10. b:ac:u(v=x)else4 .改錯(cuò)題解答:5 .編程一1 .求分段函數(shù)1 (兀<0)y=2x1<2:<5)Vx(兀>5)的值,輸入x值,輸出結(jié)果。2.從鍵盤上輸入一個(gè)數(shù)x,計(jì)算并輸出下列分段函數(shù)y的值。-x元口sinx+x0<x<1y=*飛/10£工£2。未定義苴它<strong>八匕</strong>3 .某運(yùn)輸公司運(yùn)費(fèi)計(jì)算時(shí)根據(jù)運(yùn)輸距離打折計(jì)算,折扣的計(jì)算方法如下:0discount = < 5%8%L(其中,discount編寫一完整程序,s

53、<250250Xs<800800<1500s>1500表示折扣,s表示運(yùn)輸距離)。輸入運(yùn)輸距離,統(tǒng)計(jì)運(yùn)費(fèi)并輸出。每公里的運(yùn)費(fèi)通過符號常量定義為2.5。4 .編程輸入一元二次方程的三個(gè)系數(shù),求解一元二次方程的實(shí)根,無實(shí)根時(shí)不用求虛根,給出相應(yīng)提示信息即可。5 .給定三條邊,判斷其是否能構(gòu)成三角形,若能構(gòu)成,判斷其是等腰三角形、等邊三角形、直角三角形還是普通三角形。6 .從鍵盤輸入一個(gè)三角形的三條邊,判斷是否能組成三角形,若能組成三角形,則輸出它的面積。7 .從鍵盤輸入一個(gè)百分制的學(xué)生成績,輸出其對應(yīng)的分?jǐn)?shù)等級,其中90100為A8089為B,7079為C,6069為D,6

54、0以下為E。8 .編寫一個(gè)程序,從鍵盤輸入三個(gè)整數(shù)給a,b,c,然后交換它們中的數(shù),把a(bǔ)中原來的值給b,把b中原來的值給c,把c中原來的值給a。9 .輸入一個(gè)字符,判斷其是否為英文字母,若是英文字母,則將其大小寫進(jìn)行轉(zhuǎn)換,若不是英文字母,則不變。10 .給定三個(gè)整數(shù)型x,v,z,輸出三個(gè)數(shù)中的最大值和最小值。解答:1. #include"stdio.h"#include"math.h"voidmain()floatx,y;printf("inputx'n");scanf("%f",&x);if(x&

55、lt;0)y=1;elseif(x<=5)y=2*x;elsey=sqrt(x);printf("x=%5.1fy=%8.3fn",x,y);2. #include"stdio.h"#include"math.h"voidmain()floatx,y;printf("inputxn");scanf("%f",&x);if(x>20|x>1&&x<10)printf("無定義n");return;if(x<0)y=-x;el

56、seif(x<=1)y=sin(x)+x;elseif(x>=10&&x<=20)y=x*x*x;printf("x=%5.1fy=%8.3fn",x,y);3. #include"stdio.h"#include"math.h"#defineprice2.5voidmain()floatdiscount,cost,s;printf("inputdistancen");scanf("%f",&s);if(s<250)discount=0;elsei

57、f(s<800)discount=0.02;elseif(s<1500)discount=0.05;elsediscount=0.08;cost=s*(1-discount)*price;printf("distance=%5.1f;cost=%5.1fn",s,cost);4. /*功能:求一元二次方程的解。*/#include"math.h"#include"stdio.h"main()floata,b,c,disc,x1,x2;scanf("%f,%f,%f",&a,&b,&

58、;c);disc=b*b-4*a*c;if(disc=0)printf("x1=x2=%7.2fn",-b/(2*a);/*輸出兩個(gè)相等的實(shí)根*/elseif(disc>0)x1=(-b+sqrt(disc)/(2*a);/*求出兩個(gè)不相等*/x2=(-b-sqrt(disc)/(2*a);printf("x1=%7.2f,x2=%7.2fn",x1,x2);elseprintf("無實(shí)根n");5. #include"stdio.h"voidmain()floata,b,c;printf("輸入三

59、條邊:n");scanf("%f%f%f",&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a)if(a=b&&b=c)printf("等邊三角形n");elseif(a=b|b=c|c=a)printf("等腰三角形n");elseif(a*a=b*b+c*c|b*b=a*a+c*c|c*c=b*b+a*a)printf("直角三角形n");elseprintf("不能構(gòu)成三角形n"

60、;);6. #include"stdio.h"#include"math.h"voidmain()floata,b,c,s,area;printf("輸入三條邊:n");scanf("%f%f%f",&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a)s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf("area=%7.2fn",area);elseprintf(

61、"不能構(gòu)成三角形n");7. #include<stdio.h>voidmain()intscore;chard;printf("Inputscoren");scanf("%d",&score);if(score>100|score<0)printf("dataerror!n");return;switch(score/10)case10:case9:d='A'break;case8:d='B'break;case7:d='C'brea

62、k;case6:d='D'break;default:d='E'break;printf("score=%3ddengji=%cn",score,d);8. #include<stdio.h>voidmain()inta,b,c,t;printf("Inputa,b,cn");scanf("%d%d%d",&a,&b,&c);t=a;a=b;b=c;c=t;printf("a=%d;b=%d;c=%d;n",a,b,c);9. #include<stdio.h>voidmain()charc1,c2;printf("Inputaletter:");c1=getchar();if(c1>='a'&&c1<='z')c2

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論