C語言參考模板_第1頁
C語言參考模板_第2頁
C語言參考模板_第3頁
C語言參考模板_第4頁
C語言參考模板_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C語言程序設(shè)計(jì)復(fù)習(xí)提綱一、單項(xiàng)選擇題和填空題的知識(shí)點(diǎn)1、函數(shù)是C程序的主要組成部分,函數(shù)是C程序的基本單位。一個(gè)C語言程序是由一個(gè)或多個(gè)函數(shù)組成的,其中必須包含一個(gè)main函數(shù)(且只能有一個(gè)main函數(shù))。2、程序總是從main函數(shù)開始執(zhí)行的。C語言本身不提供輸入輸出語句。3、識(shí)別不同的常量。(1)整型常量,如100,0,-12(2)實(shí)型常量,有兩種表示形式。第一,十進(jìn)制小數(shù)形式,如12.45、-56.79。第二,指數(shù)形式,即科學(xué)計(jì)數(shù)法。如12.34e -4,其中,字母e前面的部分稱為尾數(shù),可以用實(shí)型數(shù)據(jù)表示,后面的部分稱為指數(shù),只能用整型數(shù)據(jù)表示,而字母e既可以是小寫的e,也可以是大寫的E。

2、(3)字符常量,有兩種形式:普通字符和轉(zhuǎn)義字符。普通字符如a,注意字符常量中只能包含一個(gè)字符。轉(zhuǎn)義字符是以字符開頭,如n,注意它表示的是一個(gè)字符。(4)字符串常量,如”Nanjing”。(5)符號(hào)常量,是用#define指令定義的。如#define PI 3.1416。一旦定義以后,凡是使用PI的地方,實(shí)際上使用的3.1416。4、合法標(biāo)識(shí)符和非法標(biāo)識(shí)符的識(shí)別。5、數(shù)據(jù)類型占用的內(nèi)存字節(jié)數(shù)int(基本整型)4unsigned int(無符號(hào)基本整型)4short(短整型)2unsigned short(無符號(hào)短整型)2long(長整型)4unsigned long(無符號(hào)長整型)4signed

3、 char(有符號(hào)字符型)1unsigned char(無符號(hào)字符型)1float4double8long double166、%運(yùn)算符要求參加運(yùn)算的運(yùn)算對象(即操作數(shù))為整數(shù),結(jié)果也是整數(shù)。如8%3的結(jié)果為2。7、除%以外的運(yùn)算符的操作數(shù)都可以是任何算術(shù)類型。8、自增、自減運(yùn)算符的使用。參見P53的內(nèi)容和例子。(單選)9、不同類型數(shù)據(jù)間的混合運(yùn)算。參見P54的內(nèi)容和例子。10、賦值過程中的類型轉(zhuǎn)換。參見P62的內(nèi)容和例子。(單選)11、o格式符的使用:以八進(jìn)制整數(shù)形式輸出數(shù)據(jù)。x符的使用:以十六進(jìn)制整數(shù)形式輸出數(shù)據(jù)。具體內(nèi)容參見P73的內(nèi)容和例子。12、在程序中實(shí)現(xiàn)兩個(gè)變量的值交換的算法。1

4、 / 2213、a&&b&&c和a|b|c的運(yùn)算過程。參見P95的具體內(nèi)容和例子。14、(m=a>b)&&(n=c>d),該式中n的值為多少。參見P95的具體內(nèi)容和例子。15、判斷大寫字母的表達(dá)式:(ch>=A&&ch<=Z)16、判斷小寫字母的表達(dá)式:(ch>=a&&ch<=z)15、判斷數(shù)字字符的表達(dá)式:(ch>=0&&ch<=9)17、大寫字母轉(zhuǎn)換為小寫字母:+3218、小寫字母轉(zhuǎn)換為大寫字母:-3219、P111習(xí)題3:求邏輯表達(dá)式的值。20、

5、除了可以用數(shù)組元素作為函數(shù)參數(shù)外,還可以用數(shù)組名作為函數(shù)參數(shù)(包括實(shí)參和形參)。如果用數(shù)組元素作為實(shí)參,則向形參變量傳遞的是數(shù)組元素的值;如果用數(shù)組名作為實(shí)參,則向形參變量傳遞的是數(shù)組首元素的地址。21、三種局部變量的存儲(chǔ)位置是不同的:自動(dòng)變量存儲(chǔ)在動(dòng)態(tài)存儲(chǔ)區(qū)中,靜態(tài)局部變量存儲(chǔ)在靜態(tài)存儲(chǔ)區(qū)中,寄存器變量存儲(chǔ)在CPU的寄存器中。22、我們將地址形象化地稱為“指針”。23、指針變量的值是地址(即指針)。24、如果指針變量p1和p2都指向同一數(shù)組,如執(zhí)行p2-p1,結(jié)果是p2-p1的值(兩個(gè)地址之差)除以數(shù)組元素的長度。而兩個(gè)地址不能相加,即p2+p1是無實(shí)際意義的。25、可以引用結(jié)構(gòu)體變量中成員

6、的值,具體的引用方式為:結(jié)構(gòu)體變量名.成員名。如:=”wang”;26、結(jié)構(gòu)體變量所占內(nèi)存長度是各成員所占內(nèi)存長度之和,而共用體變量所占的內(nèi)存長度等于最長的成員的長度。27、根據(jù)數(shù)據(jù)的組織形式,數(shù)據(jù)文件可分為ASCII文件和二進(jìn)制文件。28、用fopen函數(shù)打開數(shù)據(jù)文件。29、使用文件的方式:見P335的表10.1。三、名詞解釋1、程序:程序就是一組計(jì)算機(jī)能識(shí)別和執(zhí)行的指令,每一條指令使計(jì)算機(jī)執(zhí)行特定的操作。2、高級語言:高級語言是接近于人類習(xí)慣使用的自然語言和數(shù)學(xué)語言,又能夠被計(jì)算機(jī)識(shí)別和運(yùn)行的計(jì)算機(jī)語言。高級語言不依賴于具體的機(jī)器,但其不能被計(jì)算機(jī)直接識(shí)別,而必須

7、已經(jīng)“翻譯”。3、常量:常量是指在程序的運(yùn)行過程中其值不能被改變的量。4、標(biāo)識(shí)符:在計(jì)算機(jī)高級語言中,用來對變量、符號(hào)常量、函數(shù)、數(shù)組、類型等命名的有效字符序列統(tǒng)稱為標(biāo)識(shí)符。5、C算術(shù)表達(dá)式:用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對象(即操作數(shù))連接起來,符合C語言語法規(guī)則的式子稱為C算術(shù)表達(dá)式。6、輸出:輸出是指從計(jì)算機(jī)向輸出設(shè)備輸出數(shù)據(jù)。7、輸入:輸入是指從輸入設(shè)備向計(jì)算機(jī)輸入數(shù)據(jù)。8、關(guān)系運(yùn)算:所謂關(guān)系運(yùn)算就是比較運(yùn)算,將兩個(gè)數(shù)值進(jìn)行比較,判斷其比較的結(jié)果是否符合給定的條件。9、關(guān)系表達(dá)式:用關(guān)系運(yùn)算符將兩個(gè)數(shù)值或數(shù)值表達(dá)式連接起來的式子稱為關(guān)系表達(dá)式。10、邏輯表達(dá)式:用邏輯運(yùn)算符將關(guān)系表達(dá)式或其他

8、邏輯表達(dá)式連接起來的式子稱為邏輯表達(dá)式。11、數(shù)組:數(shù)組是一組有序數(shù)據(jù)的集合。在數(shù)組中,各個(gè)數(shù)據(jù)的排列是有一定規(guī)律的,下標(biāo)代表了數(shù)據(jù)在數(shù)組中的序號(hào)。12、函數(shù):函數(shù)就是功能,每一個(gè)函數(shù)用來實(shí)現(xiàn)一個(gè)特定的功能,函數(shù)的名字應(yīng)反映其代表的功能。13、形式參數(shù):在定義函數(shù)時(shí)函數(shù)名后面括號(hào)中的變量稱為形式參數(shù),也稱為虛擬參數(shù)。14、實(shí)際參數(shù):在主調(diào)函數(shù)中調(diào)用一個(gè)函數(shù)時(shí),函數(shù)名后面括號(hào)中的參數(shù)稱為實(shí)際參數(shù),簡稱實(shí)參。實(shí)際參數(shù)可以是常量、變量或表達(dá)式。15、值傳遞:值傳遞是單向傳遞,數(shù)據(jù)只能由實(shí)參傳給形參,而不能由形參傳給實(shí)參。16、局部變量:在一個(gè)函數(shù)內(nèi)部定義的變量只在該函數(shù)范圍內(nèi)有效,在復(fù)合語句中定義的

9、變量也只在該復(fù)合語句范圍內(nèi)有效,這些只能在局部范圍內(nèi)有效,超出其所在范圍就無效的變量稱為局部變量。17、全局變量:在函數(shù)之外定義的變量稱為外部變量,外部變量是全局變量。全局變量可以為文件中的其他函數(shù)所共用,其有效范圍為從定義該變量的位置開始到源文件結(jié)束。18、數(shù)據(jù)的存儲(chǔ)類別:數(shù)據(jù)的存儲(chǔ)類別是指數(shù)據(jù)在內(nèi)存中存儲(chǔ)的方式,有靜態(tài)存儲(chǔ)和動(dòng)態(tài)存儲(chǔ)之分。19、自動(dòng)變量:對于在函數(shù)中定義的動(dòng)態(tài)局部變量,當(dāng)該函數(shù)被調(diào)用時(shí),系統(tǒng)會(huì)給它們分配存儲(chǔ)空間,在函數(shù)調(diào)用結(jié)束時(shí)就自動(dòng)釋放存儲(chǔ)空間,這樣的局部變量稱為自動(dòng)變量。自動(dòng)變量用關(guān)鍵字auto作存儲(chǔ)類別的聲明。20、靜態(tài)局部變量:對于函數(shù)中定義的靜態(tài)局部變量,當(dāng)該函數(shù)

10、的調(diào)用結(jié)束后,系統(tǒng)并不釋放它們的存儲(chǔ)空間,在下一次調(diào)用該函數(shù)時(shí),這些變量中已經(jīng)有值了,就是上一次函數(shù)調(diào)用結(jié)束時(shí)的值。靜態(tài)局部變量用關(guān)鍵字static進(jìn)行聲明。21、寄存器變量:為了提高代碼的執(zhí)行效率,C語言允許將局部變量的值存放在CPU中的寄存器中,需要使用時(shí)直接從寄存器中取出,而不必再到內(nèi)存中存取。這種變量稱為寄存器變量。寄存器變量用關(guān)鍵字register進(jìn)行聲明。22、變量的作用域:如果一個(gè)變量在某個(gè)文件或函數(shù)范圍內(nèi)是有效的,就稱該范圍為該變量的作用域。23、指針:一個(gè)變量的地址稱為該變量的“指針”。24、指針變量:如果一個(gè)變量專門用于存放另一個(gè)變量的地址(即指針),則該變量就是“指針變量

11、”。24、結(jié)構(gòu)體類型:在C語言中允許用戶自己建立由若干個(gè)不同類型數(shù)據(jù)組成的組合型的數(shù)據(jù)結(jié)構(gòu)稱為結(jié)構(gòu)體。用戶使用結(jié)構(gòu)體自定義的數(shù)據(jù)類型稱為結(jié)構(gòu)體類型。25、數(shù)據(jù)流:輸入輸出是數(shù)據(jù)傳送的過程,數(shù)據(jù)如流水一樣從一處流向另一處,因此常將輸入輸出形象地稱為流。四、簡答題1、高級語言經(jīng)歷了哪些發(fā)展階段?答:高級語言經(jīng)歷了非結(jié)構(gòu)化語言、結(jié)構(gòu)化語言和面向?qū)ο笳Z言三個(gè)不同的發(fā)展階段。非結(jié)構(gòu)化語言沒有嚴(yán)格的規(guī)范要求,程序中可以隨意的跳轉(zhuǎn)。在結(jié)構(gòu)化語言中,程序必須由順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的基本結(jié)構(gòu)構(gòu)成,在程序中不能隨意的跳轉(zhuǎn)。面向?qū)ο笳Z言支持面向?qū)ο蟪绦蛟O(shè)計(jì)方法,適合于處理規(guī)模較大的復(fù)雜問題。2、一個(gè)函數(shù)包括

12、哪幾個(gè)部分?試分別簡述之。答:一個(gè)函數(shù)包括函數(shù)首部和函數(shù)體兩個(gè)部分。函數(shù)首部包括函數(shù)名、函數(shù)類型、函數(shù)屬性、函數(shù)參數(shù)名和參數(shù)類型。函數(shù)體包括聲明部分和執(zhí)行部分,其中聲明部分包括函數(shù)內(nèi)部局部變量的聲明和所調(diào)用的函數(shù)的聲明,執(zhí)行部分為若干個(gè)語句組成的語句組。3、簡述標(biāo)識(shí)符的組成規(guī)則。答:C語言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三類字符組成,且第一個(gè)字符必須是字母或下劃線。4、C語言中基本數(shù)據(jù)類型有哪些?答:C語言中的基本數(shù)據(jù)類型包括整型類型和實(shí)型類型兩大類。其中,整型類型又分為基本整型(int)、短整型(short)、長整型(long)和字符型(char);實(shí)型類型又分為單精度實(shí)型(float)和

13、雙精度實(shí)型(double)5、什么是順序結(jié)構(gòu)?答:在順序結(jié)構(gòu)中,程序中的各個(gè)語句是按照自上而下的順序執(zhí)行的,執(zhí)行完上一個(gè)語句就自動(dòng)執(zhí)行下一個(gè)語句,是無條件的,不必作任何判斷。6、簡述關(guān)系運(yùn)算符及其優(yōu)先次序。答:C語言提供了六種關(guān)系運(yùn)算符,分別為<、<=、>、>=、=、!=。其中,前四種運(yùn)算符的優(yōu)先級相同且為高優(yōu)先級,后兩種運(yùn)算符的優(yōu)先級相同且為低優(yōu)先級。7、C語言中邏輯值的表示方法。答:C語言編譯系統(tǒng)在表示邏輯運(yùn)算結(jié)果時(shí),以數(shù)值1代表“真”,以數(shù)值0代表“假”;但在判斷一個(gè)量是否為“真”時(shí),以0代表“假”,以非0代表“真”。8、什么是邏輯運(yùn)算符的短路問題?答:在邏輯表達(dá)

14、式的求解中,并不是所有的邏輯運(yùn)算符都被執(zhí)行,只是在必須執(zhí)行下一個(gè)邏輯運(yùn)算符才能求出表達(dá)式的值時(shí),該運(yùn)算符才被執(zhí)行。9、while循環(huán)和do-while循環(huán)的區(qū)別?答:while循環(huán)是先判斷循環(huán)條件,后執(zhí)行循環(huán)體;而do-while循環(huán)是先執(zhí)行循環(huán)體,后判斷循環(huán)條件。因此,while循環(huán)的循環(huán)體有可能不執(zhí)行,即while循環(huán)的循環(huán)體最少被執(zhí)行0次,而do-while循環(huán)的循環(huán)體至少被執(zhí)行一次。10、for語句的執(zhí)行過程?答:for語句的一般形式為:for(表達(dá)式1;表達(dá)式2;表達(dá)式3),for語句的具體執(zhí)行過程為:(1)求解表達(dá)式1;(2)求解表達(dá)式2,如果表達(dá)式2的值為真,則執(zhí)行循環(huán)體;如果為

15、假,則結(jié)束循環(huán)的執(zhí)行,轉(zhuǎn)(5)執(zhí)行。(3)執(zhí)行循環(huán)體;(4)求解表達(dá)式3,轉(zhuǎn)(2)繼續(xù)執(zhí)行。(5)循環(huán)結(jié)束,執(zhí)行for語句的后一個(gè)語句。11、break語句和continue語句的區(qū)別?答:continue語句是結(jié)束本次循環(huán)的執(zhí)行,直接進(jìn)入下一次循環(huán)的執(zhí)行,而不是終止整個(gè)循環(huán)的執(zhí)行。而break語句是結(jié)束整個(gè)循環(huán)的執(zhí)行,不在判斷執(zhí)行循環(huán)的條件是否成立,即直接從循環(huán)體內(nèi)跳轉(zhuǎn)到循環(huán)體外。12、定義一個(gè)函數(shù)應(yīng)包括哪些內(nèi)容?答:定義函數(shù)應(yīng)包括以下內(nèi)容:(1)指定函數(shù)的名字,以便通過該函數(shù)名調(diào)用該函數(shù)。(2)指定函數(shù)的類型,即函數(shù)返回值的類型。(3)指定函數(shù)的參數(shù)名和類型,以便在調(diào)用函數(shù)時(shí)通過它們傳遞數(shù)

16、據(jù)。對無參函數(shù)不需要這項(xiàng)。(4)指定函數(shù)應(yīng)當(dāng)完成的操作。13、函數(shù)嵌套調(diào)用和遞歸調(diào)用的區(qū)別?答:函數(shù)的嵌套調(diào)用是指一個(gè)函數(shù)A在其執(zhí)行過程,調(diào)用了另一個(gè)函數(shù)B,依次類推,在函數(shù)B的執(zhí)行過程中,又調(diào)用了另一個(gè)函數(shù)C。而函數(shù)的遞歸調(diào)用其實(shí)是一種特殊的嵌套調(diào)用,即在函數(shù)的嵌套調(diào)用的過程中,出現(xiàn)了函數(shù)A直接或間接地調(diào)用其本身(即函數(shù)A)。14、靜態(tài)存儲(chǔ)方式和動(dòng)態(tài)存儲(chǔ)方式的區(qū)別?答:靜態(tài)存儲(chǔ)方式是指在程序運(yùn)行期間由系統(tǒng)分配固定的存儲(chǔ)空間的方式,而動(dòng)態(tài)存儲(chǔ)方式則是在程序運(yùn)行期間根據(jù)需要進(jìn)行動(dòng)態(tài)的分配存儲(chǔ)空間的方式。在靜態(tài)存儲(chǔ)方式中,數(shù)據(jù)存儲(chǔ)在靜態(tài)存儲(chǔ)區(qū)中,在整個(gè)程序的執(zhí)行過程中均有效;而在動(dòng)態(tài)存儲(chǔ)方式中,數(shù)

17、據(jù)存儲(chǔ)在動(dòng)態(tài)存儲(chǔ)區(qū)中,只在整個(gè)程序的執(zhí)行過程中的某一個(gè)時(shí)間段有效。15、C語言中有哪些存儲(chǔ)類別?答:C語言中有四種不同的存儲(chǔ)類別,分別為自動(dòng)的(auto)、靜態(tài)的(static)、寄存器的(register)、外部的(extern)。16、什么是共用體類型?答:所謂共用體類型就是將多個(gè)變量的內(nèi)存空間組合在一起,通過使用覆蓋技術(shù),使后一個(gè)數(shù)據(jù)的存儲(chǔ)覆蓋前一個(gè)數(shù)據(jù)的存儲(chǔ),從而實(shí)現(xiàn)多個(gè)變量共享同一段內(nèi)存空間,這種邏輯結(jié)構(gòu)類型稱為共用體類型。17、什么是枚舉類型?答:所謂枚舉類型就是指把可能的值一一列舉出來,變量的值只限于列舉出來的值的范圍內(nèi)。18、什么是文件?答:所謂文件一般指存儲(chǔ)在外部存儲(chǔ)介質(zhì)上的

18、數(shù)據(jù)的集合。19、文件關(guān)閉的含義是什么?答:“關(guān)閉”文件就是撤消文件信息區(qū)和文件緩沖區(qū),使文件指針變量不再指向該文件,也就是文件指針變量與文件“脫鉤”,此后不能再通過該指針對原來與其聯(lián)系的文件進(jìn)行讀寫操作,除非再次打開,使該指針變量重新指向該文件。五、程序填空題1、求多項(xiàng)式1-1/2+1/3-1/4+1/99-1/100的值。程序:#include <stdio.h>int main()int sign=1,deno=2;double sum=1.0,term;while(deno<=100)sign=-sign;term=1.0*sign/deno;sum=sum+term

19、;deno=deno+1;printf(“%fn”,sum);return 0;2、用數(shù)組處理求Fibonacci數(shù)列問題。P146 的例6.2#include <stdio.h>int main()int f20=1,1;int i;for(i=2;i<20;i+)fi=fi-1+fi-2;for(i=0;i<20;i+)if(i%5=0)printf("n");printf("%12d",fi);printf("n");return 0;3、有10個(gè)數(shù),要求將它們按從小到大的順序進(jìn)行排序。P147 的例6.

20、3#include <stdio.h>int main()int a10;int i,j,t;printf("input 10 numbers:n");for(i=0;i<10;i+)scanf("%d",&ai);printf("n");for(j=0;j<9;j+)for(i=0;i<9-j;i+)if(ai>ai+1)t=ai;ai=ai+1;ai+1=t;printf("the sorted numbers:n");for(i=0;i<10;i+)print

21、f("%d ",ai);printf("n");return 0;4、求矩陣的轉(zhuǎn)秩。即將一個(gè)矩陣的行和列互換。P152 的例6.4#include <stdio.h>int main()int a23=1,2,3,4,5,6;int b32,i,j;printf("array a:n");for(i=0;i<=1;i+)for(j=0;j<=2;j+)printf("%5d",aij);bji=aij;printf("n");printf("array b:n&

22、quot;);for(i=0;i<=2;i+)for(j=0;j<=1;j+)printf("%5d",bij);printf("n");return 0;5、有一個(gè)3×4的矩陣,要求編程序求出其中值最大的那個(gè)元素的值,以及其所在的行號(hào)和列號(hào)。P153的例6.5#include <stdio.h>int main()int a34=1,2,3,4,9,8,7,6,-10,10,-5,2;int i,j,max,row,colum;max=a00;row=0;colum=0;for(i=0;i<=2;i+)for(j

23、=0;j<=3;j+)if(aij>max)max=aij;row=i;colum=j;printf("max=%dnrow=%dncolum=%dn",max,row,colum);return 0;6、有一個(gè)3×4的矩陣,要求編程序求出其中值最小的那個(gè)元素的值,以及其所在的行號(hào)和列號(hào)。#include <stdio.h>int main()int a34=1,2,3,4,9,8,7,6,-10,10,-5,2;int i,j,min,row,colum,m,n;min=a00;row=0;colum=0;m=3;n=4;for(i=0;

24、i<m;i+)for(j=0;j<n;j+)if(aij<min)min=aij;row=i;colum=j;printf("min=%dnrow=%dncolum=%dn",min,row,colum);return 0;7、有一個(gè)3×4的矩陣,要求編程序求出其各個(gè)元素的平均值。#include <stdio.h>int main()int a34=1,2,3,4,9,8,7,6,-10,10,-5,2;int i,j,sum,m,n;double avg=0.0;sum=0;m=3;n=4;for(i=0;i<m;i+)fo

25、r(j=0;j<n;j+)sum=sum+aij;avg=1.0*sum/(m*n);printf("sum=%dn",sum);printf("avg=%fn",avg);return 0;8、輸入一行字符,統(tǒng)計(jì)其中有多少個(gè)單詞,單詞之間用空格分隔開。#include <stdio.h>int main()char string81;int i,num=0,word=0;char c;gets(string);for(i=0;(c=stringi)!='0'i+)if(c=' ')word=0;else

26、 if(word=0)word=1;num+;printf("There are %d words in this line.n",num);return 0;或者#include <stdio.h>int main()char string81;int i,num=0;char c;gets(string);for(i=0;(c=stringi)!='0'i+)if(c!=' '&&i=0)|(c!=' '&&stringi-1=' ')num+;printf(&q

27、uot;There are %d words in this line.n",num);return 0;9、用遞歸方法求n!。#include <stdio.h>int main()int fac(int n);int n,y;printf("input an integer number:");scanf("%d",&n);y=fac(n);printf("%d!=%dn",n,y);return 0;int fac(int n)int f;if(n<0)printf("n<0,

28、data error!");else if(n=0|n=1)f=1;elsef=fac(n-1)*n;return f;10、有一個(gè)一維數(shù)組,內(nèi)放10個(gè)學(xué)生的成績,寫一個(gè)函數(shù),當(dāng)主函數(shù)調(diào)用該函數(shù)后,能求出平均分、最高分和最低分。P201的例7.14。#include <stdio.h>float Max=0,Min=0;int main()float average(float array,int n);float ave,score10;int i;printf("Please enter 10 scores:");for(i=0;i<10;i

29、+)scanf("%f",&scorei);ave=average(score,10);printf("max=%6.2fnmin=%6.2fnaverage=%6.2fn",Max,Min,ave);return 0;float average(float array,int n)int i;float aver,sum=array0;Max=Min=array0;for(i=1;i<n;i+)if(arrayi>Max)Max=arrayi;else if(arrayi<Min)Min=arrayi;sum=sum+arra

30、yi;aver=sum/n;return aver;六、編程題1、輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。#include <stdio.h>int main()int m,n,max,min,r,m0,n0;printf("請輸入兩個(gè)正整數(shù)m和n:");scanf("%d,%d",&m,&n);m0=m;n0=n;if(m<n)int temp;temp=m;m=n;n=temp;dor=m%n;m=n;n=r;while(r!=0);max=m;min=m0*n0/max;printf("最大公約

31、數(shù)為:%dn",max);printf("最小公倍數(shù)為:%dn",min);return 0;2、輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其他字符的個(gè)數(shù)。#include <stdio.h>int main()char str20;int alp=0,space=0,dig=0,other=0;int i;printf("請輸入一行字符:");gets(str);i=0;while(stri!='0')if(stri>='A'&&stri<='Z'

32、)|(stri>='a'&&stri<='z')alp+;else if(stri=' ')space+;else if(stri>='0'&&stri<='9')dig+;elseother+;i+;printf("英文字母的個(gè)數(shù)為:%dn",alp);printf("空格的個(gè)數(shù)為:%dn",space);printf("數(shù)字的個(gè)數(shù)為:%dn",dig);printf("其他字符的個(gè)數(shù)為:

33、%dn",other);return 0;3、輸出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個(gè)3位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。#include <stdio.h>int main()int gewei,shiwei,baiwei,temp;for(int i=100;i<1000;i+)temp=i;gewei=temp%10;temp=temp/10;shiwei=temp%10;baiwei=temp/10;if(gewei*gewei*gewei+shiwei*shiwei*shiwei+baiwei*baiwei*baiwei=i)printf(&q

34、uot;%dt",i);printf("n");return 0;4、寫一函數(shù),求一個(gè)字符串的長度。在main函數(shù)中輸入字符串,并輸出其長度。#include <stdio.h>float Max=0,Min=0;int main()int length(char string);char string30;int len;printf("Please enter a string:");gets(string);len=length(string);printf("the length of string is %d.n

35、",len);return 0;int length(char string)int len=0;while(stringlen!='0')len+;return len;補(bǔ)充:1、求100之內(nèi)的所有素?cái)?shù)。用函數(shù)實(shí)現(xiàn)判斷一個(gè)數(shù)是否是素?cái)?shù)。#include <stdio.h>#include <math.h>int main()int isSuShu(int number);int i;printf("100之內(nèi)的素?cái)?shù)有:");printf("%dt",2);for(i=3;i<100;i=i+2)i

36、f(isSuShu(i)printf("%dt",i);return 0;int isSuShu(int number)int i=2,end;end=(int)sqrt(number);while(i<=end && number%i!=0)i+;return number%i;2、編程實(shí)現(xiàn)一維數(shù)組的逆序存放。(1)編程實(shí)現(xiàn)將一維數(shù)組A中所有的元素逆序,注意不能使用另一個(gè)數(shù)組,只能直接在數(shù)組A中完成。#include <stdio.h>int main()const len=10;int arrayAlen=1,2,3,4,5,6,7,8

37、,9,10;int i,j,temp;printf("數(shù)組A中原來的值:n");for(i=0;i< len;i+)printf("%d ",arrayAi);printf("n");for(i=0,j= len-1;i<j;i+,j-)temp=arrayAi;arrayAi=arrayAj;arrayAj=temp;printf("數(shù)組A中新的值:n");for(i=0;i< len;i+)printf("%d ",arrayAi);printf("n"

38、);return 0;(2)編程實(shí)現(xiàn)將一維數(shù)組A中所有的元素逆序存放到數(shù)組B中。#include <stdio.h>int main()const len=10;int arrayAlen=1,2,3,4,5,6,7,8,9,10;int arrayBlen;int i;printf("數(shù)組A中的值:n");for(i=0;i<len;i+)printf("%d ",arrayAi);printf("n");for(i=0;i<len;i+)arrayBlen-1-i=arrayAi;printf("

39、數(shù)組B中的值:n");for(i=0;i<len;i+)printf("%d ",arrayBi);printf("n");return 0;3、順序查找,輸入下標(biāo)的位置。求x在數(shù)組array中的下標(biāo)位置。#include <stdio.h>int main()const len=10;int arraylen=1,2,3,4,5,6,7,8,9,10;int i,x;printf("請輸入要查找的數(shù)據(jù)x:");scanf("%d",&x);i=0;while(i<len

40、&& x!=arrayi)i+;if(i<len)printf("%d在數(shù)組中的下標(biāo)位置為%d。n",x,i);elseprintf("在數(shù)組中不存在%d。n",x);return 0;4、編程實(shí)現(xiàn)a、b、c三個(gè)數(shù)的排序。#include <stdio.h>int main()int a,b,c,temp;printf("請輸入要排序的三個(gè)數(shù)a、b和c:");scanf("%d %d %d",&a,&b,&c);printf("n排序前的三個(gè)數(shù)為%

41、d,%d,%dn",a,b,c);if(a<b)temp=a;a=b;b=temp;if(a<c)temp=a;a=c;c=temp;if(b<c)temp=b;b=c;c=temp;printf("排序后的三個(gè)數(shù)為%d,%d,%dn",a,b,c);return 0;5、實(shí)現(xiàn)一個(gè)字符串中的大小寫字母的轉(zhuǎn)換,其余字符不變。(1)將一個(gè)字符串中的所有大寫字母轉(zhuǎn)換為小寫字母,其余字符不變。#include <stdio.h>int main()const len=30;char arraylen;int i,c;printf("請輸入一個(gè)字符串:");gets(array);i=0;while(c=arrayi)!='0')if(c>='A' && c<='Z')arrayi=arrayi+32;i+;printf("處理后的字符串為:%sn",array);return 0;(2)將一個(gè)字符串中的所有小寫字母轉(zhuǎn)換為大寫字母,其余字符不變。#include <std

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論