C程序設(shè)計(jì)知識(shí)點(diǎn)_第1頁(yè)
C程序設(shè)計(jì)知識(shí)點(diǎn)_第2頁(yè)
C程序設(shè)計(jì)知識(shí)點(diǎn)_第3頁(yè)
C程序設(shè)計(jì)知識(shí)點(diǎn)_第4頁(yè)
C程序設(shè)計(jì)知識(shí)點(diǎn)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C程序設(shè)計(jì)知識(shí)點(diǎn)第1章 C語(yǔ)言概述1.1. C語(yǔ)言屬高級(jí)語(yǔ)言,區(qū)分字母的大小寫(xiě),以函數(shù)為基本單位采用模塊化程序設(shè)計(jì),可直接訪(fǎng)問(wèn)內(nèi)存,進(jìn)而對(duì)硬件進(jìn)行操作。1.2. 用C語(yǔ)言編寫(xiě)和程序稱(chēng)作C源程序,簡(jiǎn)稱(chēng)C程序,C程序可由若干個(gè)文本文件組成,文件擴(kuò)展名為C(使用C+編譯器時(shí)默認(rèn)擴(kuò)展名為CPP)。C源程序經(jīng)編譯、連接后得到擴(kuò)展名為EXE的可執(zhí)行文件(目標(biāo)程序)。 預(yù)處理 編譯、連接 執(zhí)行若干個(gè)C程序文件-C程序-目標(biāo)程序文件-1.3. C程序從主函數(shù)開(kāi)始執(zhí)行,每個(gè)C程序有且僅有一個(gè)主函數(shù),因此,每個(gè)C程序文件中至多有一個(gè)主函數(shù)。1.4. C語(yǔ)句以分號(hào)結(jié)尾,用括起來(lái)的一組語(yǔ)句稱(chēng)作復(fù)合語(yǔ)句,復(fù)合語(yǔ)句可省略

2、花括號(hào)之后的分號(hào)。1.5. 允許一行內(nèi)寫(xiě)多個(gè)C語(yǔ)句,也允許一個(gè)C語(yǔ)句占用多行,但保留字和標(biāo)識(shí)符不可拆行。1.6. 在C集成環(huán)境VC+ 6.0中,新建工程、保存當(dāng)前程序文件、編譯當(dāng)前程序、執(zhí)行當(dāng)前程序的快捷鍵依次為:Ctrl+N、Ctrl+S、F7、Ctrl+F5。第2章 程序設(shè)計(jì)的靈魂算法2.1. 解決問(wèn)題的方法和步驟稱(chēng)作算法。算法和數(shù)據(jù)結(jié)構(gòu)是程序的兩個(gè)主要要素。2.2. 算法具有確定性、有窮性、有效性等特點(diǎn)。2.3. 算法可用自然語(yǔ)言、流程圖、N-S圖、計(jì)算機(jī)語(yǔ)言、偽代碼等描述。偽代碼是用介于自然語(yǔ)言和計(jì)算機(jī)語(yǔ)言之間的文字和符號(hào)來(lái)描述算法。起止框輸入輸出框判斷框處理框注釋框 連接點(diǎn) 流程線(xiàn)

3、有向線(xiàn)段或折線(xiàn)圖2.1 ANSI流程圖符號(hào)2.4. 算法的基本結(jié)構(gòu)分為:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。-Y條件 N條件 N Y 條件Y- N 圖2.2 順序結(jié)構(gòu) 圖2.3 選擇結(jié)構(gòu) 圖2.4 當(dāng)循環(huán) 圖2.5 當(dāng)循環(huán)條件條件循環(huán)體 YN循環(huán)體條件 圖2.6 順序結(jié)構(gòu) 圖2.7 選擇結(jié)構(gòu) 圖2.8 當(dāng)循環(huán) 圖2.9 當(dāng)循環(huán)2.5. 由三種基本結(jié)構(gòu)組成的程序稱(chēng)作結(jié)構(gòu)化程序,結(jié)構(gòu)化程序中的每個(gè)模塊只有一個(gè)入口和一個(gè)出口。結(jié)構(gòu)化程序設(shè)計(jì)通常采用“自頂向下、逐步細(xì)化”的設(shè)計(jì)方法。第3章 數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式3.1. C的數(shù)據(jù)類(lèi)型如下所示:表3.1 C語(yǔ)言的數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型字節(jié)數(shù)數(shù)值范圍基本類(lèi)型整型無(wú)

4、符號(hào)短整型(unsigned short int)20216-1有符號(hào)短整型(signed short int)2-215215-1無(wú)符號(hào)長(zhǎng)整型(unsigned long int)40232-1有符號(hào)長(zhǎng)整型(signed long int)4-231231-1實(shí)型單精度實(shí)型(float)4長(zhǎng)37位,6位有效雙精度實(shí)型(double)8長(zhǎng)307位,15位有效長(zhǎng)雙精度實(shí)型(long double)10長(zhǎng)4931位,18位有效字符型(char)1028-1空類(lèi)型(void)1構(gòu)造類(lèi)型枚舉類(lèi)型2指針類(lèi)型2數(shù)組類(lèi)型結(jié)構(gòu)體類(lèi)型共用體類(lèi)型3.2. C符號(hào)常量名、變量名、函數(shù)名等統(tǒng)稱(chēng)標(biāo)識(shí)符,標(biāo)識(shí)符的命名規(guī)則

5、為:以字母或下劃線(xiàn)開(kāi)頭,由字母、數(shù)字、下劃線(xiàn)組成,超出32個(gè)字符部分被忽略(最好不超過(guò)8個(gè)字符)。3.3. 以0開(kāi)頭的整數(shù)為八進(jìn)制整數(shù),以0X或0x開(kāi)頭的整數(shù)為十六進(jìn)制無(wú)符號(hào)整數(shù)。3.4. -3276832767為int型,0U65535U為unsigned型,65536U4294967295U和0UL4294967295UL為unsigned long型,-2147483648-32769、327682147483647和-2147483648L2147483647L為long型。后綴U和L不區(qū)分大小寫(xiě)和次序。3.5. 數(shù)據(jù)的存儲(chǔ)字節(jié)數(shù)可用運(yùn)算符sizeof()查詢(xún),括號(hào)內(nèi)可是數(shù)據(jù)、表達(dá)式或

6、類(lèi)型名。3.6. 有符號(hào)整數(shù)(int和long)按補(bǔ)碼存儲(chǔ),因此,-65535U-1U與1U65535U依次相等,-4294967295UL-1UL與1UL4294967295UL依次相等。3.7. 定點(diǎn)數(shù)(含小數(shù)點(diǎn)數(shù))和浮點(diǎn)數(shù)統(tǒng)稱(chēng)C實(shí)型常量,浮點(diǎn)數(shù)的一般形式為:尾數(shù)e除碼 或 尾數(shù)E除碼其含義為:尾數(shù)×10除碼其中,尾數(shù)為定點(diǎn)數(shù)或整數(shù),除碼為整數(shù)。標(biāo)準(zhǔn)浮點(diǎn)數(shù)的小數(shù)點(diǎn)在第1位非0數(shù)字之后。后綴L或l的實(shí)型常量為長(zhǎng)雙精度,無(wú)后綴實(shí)型常量為雙精度。3.8. 用一對(duì)單引號(hào)括起來(lái)的單個(gè)字符稱(chēng)作C字符常量,其值為該字符的ASCII碼(1字節(jié)無(wú)符號(hào)整數(shù))。3.9. 轉(zhuǎn)義字符'n'

7、、't'、''、'''、'"'分別表示回車(chē)符、制表符、反斜杠、單引號(hào)、雙引號(hào)。3.10. 轉(zhuǎn)義字符'整數(shù)'、'x整數(shù)'(或'X整數(shù)')中的整數(shù)分別為八進(jìn)制、十六進(jìn)制,表示以此整數(shù)為ASCII碼的字符。3.11. 用雙引號(hào)括起來(lái)的一串字符稱(chēng)作C字符串型常量,串中字符數(shù)稱(chēng)作串長(zhǎng),可以為0。字符串的存儲(chǔ)形式為:依次存儲(chǔ)字符串中字符的ASCII碼,并追加一個(gè)空字符'0'(1字節(jié)無(wú)符號(hào)整數(shù)0)。3.12. 字符型、整型、實(shí)型數(shù)據(jù)統(tǒng)稱(chēng)數(shù)值型數(shù)據(jù),不同類(lèi)型的數(shù)值型

8、數(shù)據(jù)可以混合運(yùn)算,低精度數(shù)據(jù)被自動(dòng)強(qiáng)制轉(zhuǎn)換為高精度數(shù)據(jù)后方參與運(yùn)算。另外,字符常量為有符號(hào)短整數(shù),兩個(gè)字符型數(shù)據(jù)間的運(yùn)算按有符號(hào)短整數(shù)處理。3.13. 如果將數(shù)值型數(shù)據(jù)賦給不同類(lèi)型的數(shù)值型變量,則數(shù)值型數(shù)據(jù)將被自動(dòng)強(qiáng)制轉(zhuǎn)換為變量的數(shù)據(jù)類(lèi)型。3.14. C允許定義變量的同時(shí)賦初值。3.15. C運(yùn)算符及其優(yōu)先級(jí)、結(jié)合性如附錄C(教材第365頁(yè))所示。3.16. 強(qiáng)制數(shù)據(jù)類(lèi)型轉(zhuǎn)換的一般形式為:(類(lèi)型名)數(shù)據(jù)3.17. 自增+、自減-運(yùn)算只能作用于變量,作用于右側(cè)時(shí),返回變量自增、自減前的值。3.18. 賦值表達(dá)式的格式為:變量=表達(dá)式 或 變量op=表達(dá)式其中,op為運(yùn)算符 +、-、*、/、%、&

9、gt;>、<<、&、| 中某一個(gè)。前者將右邊表達(dá)式的值賦給左邊的變量,后者將左邊變量的當(dāng)前值與右邊表達(dá)式的值作相應(yīng)運(yùn)算后仍賦給左邊的變量。整個(gè)賦值表達(dá)式取左邊變量所賦的新值。3.19. 用逗號(hào)分隔的一組表達(dá)式稱(chēng)作逗號(hào)表達(dá)式,其一般形式為:表達(dá)式, 表達(dá)式, , 表達(dá)式其功能為:從左至右依次計(jì)算各表達(dá)式的值,并以最后一個(gè)表達(dá)式的值為整個(gè)逗號(hào)表達(dá)式的值。3.20. 將數(shù)學(xué)式改為C表達(dá)式時(shí)應(yīng)注意:(1) 乘號(hào)*不可省略;(2) 正確改寫(xiě)腳碼、運(yùn)算符、括號(hào)等;(3) 正確書(shū)寫(xiě)函數(shù)名;(4) 把握好運(yùn)算優(yōu)先級(jí),分?jǐn)?shù)線(xiàn)改為/時(shí),分子、分母相應(yīng)加括號(hào);(5) 正確拆分不等式組;(6

10、) 區(qū)分整數(shù)除法和實(shí)數(shù)除法。第4章 順序結(jié)構(gòu)程序設(shè)計(jì)4.1. 表達(dá)式后綴分號(hào)稱(chēng)作表達(dá)式語(yǔ)句,即,表達(dá)式;4.2. putchar、getchar、printf、scanf等輸入輸出函數(shù)的原型在頭文件stdio.h中。4.3. 函數(shù)putchar和getchar的格式和功能如下:(1) putchar格式:putchar(表達(dá)式)功能:向標(biāo)準(zhǔn)輸出設(shè)備輸出以指定表達(dá)式的值為ASCII碼的字符,并以該值為函數(shù)值(自動(dòng)強(qiáng)制轉(zhuǎn)換為int型)。(2) getchar格式:getchar()功能:從標(biāo)準(zhǔn)輸入設(shè)備輸入一個(gè)字符,并以該字符為函數(shù)值。注意:getchar可提取空格及回車(chē)、Tab等部分控制字符,而且

11、只提取輸入中相應(yīng)位置上的一個(gè)字符,因此,輸入字符間無(wú)須分隔,否則也被視為輸入字符。4.4. printf函數(shù)的格式和功能如下:格式:printf(格式控制串, 輸出表列)功能:(1) 從右至左依次計(jì)算輸出表列中各表達(dá)式的值;(2) 從左至右依次輸出格式控制串中的字符,其中,%引導(dǎo)的格式控制符由輸出表列中相應(yīng)表達(dá)式的值所取代。輸出表列是一組用逗號(hào)分隔的表達(dá)式(又稱(chēng)輸出項(xiàng),可以為0項(xiàng))。格式控制串為字符串型數(shù)據(jù)(可以是表達(dá)式)。其中,格式符用于控制輸出表列中相應(yīng)表達(dá)式的輸出格式。格式符及其功能如下表所示:表4.1 printf格式字符格式符說(shuō)明d或i有符號(hào)十進(jìn)制短整數(shù)(不輸出正號(hào))u無(wú)符號(hào)十進(jìn)制短

12、整數(shù)o無(wú)符號(hào)八進(jìn)制短整數(shù)(無(wú)前綴0)x或X無(wú)符號(hào)十六進(jìn)制短整數(shù)(無(wú)前綴0x,數(shù)字的大小寫(xiě)與x相同)c字符s字符串f定點(diǎn)數(shù)(默認(rèn)6位小數(shù))。e或E浮點(diǎn)數(shù)(浮點(diǎn)數(shù)中e的大小寫(xiě)與格式符e的大小寫(xiě)相同)g或G%f和%e中輸出寬度較短者(e與g的大小寫(xiě)相同)附加格式符說(shuō)明l插在%和d、i、u、o、x、X之間,表示輸出相應(yīng)長(zhǎng)整數(shù)。整數(shù)插在%和其它格式符之間,前一個(gè)整數(shù)的絕對(duì)值為輸出數(shù)據(jù)的寬度,后一個(gè)整數(shù)控制實(shí)際輸出位數(shù):輸出整數(shù)時(shí),指定輸出位數(shù),不足左補(bǔ)0,超出保留;輸出實(shí)數(shù)時(shí),指定輸出小數(shù)位數(shù),不足右補(bǔ)0,超出四舍五入;輸出字符串時(shí),指定輸出字符數(shù)。另外,第一個(gè)整數(shù)為負(fù)時(shí),輸出數(shù)據(jù)左對(duì)齊,否則右對(duì)齊。.

13、整數(shù)整數(shù).整數(shù)4.5. scanf函數(shù)的格式和功能如下:格式:scanf(格式控制串, 地址表列)其中,格式控制串為字符串型數(shù)據(jù)(可以是表達(dá)式),地址表列是一組用逗號(hào)分隔的地址。功能:(1) 右至左依次計(jì)算地址表列中各表達(dá)式的值;(2) 從標(biāo)準(zhǔn)輸入設(shè)備提取數(shù)據(jù),并從左至右依次存儲(chǔ)到所指定的存儲(chǔ)單元。(3) 地址表列中的地址可用表達(dá)式表示,通常形式為:&變量其中&是地址運(yùn)算符,它表示取其后變量的存儲(chǔ)(起始)地址。說(shuō)明:(1) scanf函數(shù)格式符與printf函數(shù)的格式符的功能相似。scanf的合法格式符不區(qū)分大小寫(xiě)、實(shí)型格式符均等效,另外,表4.2 scanf的附加格式符說(shuō)明附

14、加格式符說(shuō)明正整數(shù)指定輸入數(shù)據(jù)的最大寬度(插在%與其它格式符之間)*跳過(guò)當(dāng)前一個(gè)數(shù)據(jù)(插在%與其它格式符之間)*正整數(shù)跳過(guò)當(dāng)前指定個(gè)字符(插在%與其它格式符之間)(2) 如果格式控制串中有非格式符,則輸入數(shù)據(jù)中對(duì)應(yīng)位置上必須是該字符,且被跳過(guò),這為指定數(shù)據(jù)間分隔符提供了方便。(3) printf和scanf格式控制串中的每對(duì)%(從左至右結(jié)合)按一個(gè)普通字符%對(duì)待。第5章 選擇結(jié)構(gòu)程序設(shè)計(jì)5.1. C邏輯值為短整數(shù)(int),真、假分別為1、0。另外,字符、數(shù)、指針作為邏輯量時(shí),非0、非空為真(即1),0、空為假(即0)。邏輯運(yùn)算如下表所示:表5.1 邏輯運(yùn)算真值表左元右元!右元左元&&

15、amp;右元左元|右元假(0)假(0)真(1)假(0)假(0)假(0)真(非0)假(0)假(0)真(1)真(非0)假(0)真(1)假(0)真(1)真(非0)真(非0)假(0)真(1)真(1)5.2. 對(duì)于形如|的邏輯式,從左至右計(jì)算的邏輯值,遇到真則提前終止。5.3. 對(duì)于形如&&&&的邏輯式,從左至右計(jì)算的邏輯值,遇到假則提前終止。5.4. 算術(shù)、關(guān)系、邏輯運(yùn)算的優(yōu)先級(jí)參見(jiàn)附錄C(教材第365頁(yè))。5.5. if語(yǔ)句的格式和功能如下:(1) 格式一:if(條件) 語(yǔ)句功能:如果條件成立,方執(zhí)行語(yǔ)句。(2) 格式二:if(條件)語(yǔ)句1else 語(yǔ)句2功能 如果條

16、件成立,執(zhí)行語(yǔ)句1,否則執(zhí)行語(yǔ)句2。注意:else不可獨(dú)立使用,它與其前最近一個(gè)尚未配對(duì)的if配對(duì),為避免歧義,通常只在else中嵌套if語(yǔ)句。5.6. 條件表達(dá)式的格式和功能如下:格式:條件?表達(dá)式1:表達(dá)式2功能:如果條件成立,取表達(dá)式1的值,否則取表達(dá)式2的值。說(shuō)明:條件表達(dá)式可以嵌套,與其前最近一個(gè)尚未配對(duì)的if配對(duì)。5.7. switch語(yǔ)句的格式和功能如下:格式:switch(表達(dá)式)case 常量i: 語(yǔ)句組idefault: 語(yǔ)句組n+1功能:如果表達(dá)式的值等于常量i,則從語(yǔ)句組i開(kāi)始執(zhí)行,否則執(zhí)行語(yǔ)句組n+1。說(shuō)明:(1) “表達(dá)式”的值和“常量”為整型(包括字符型)。(2)

17、 switch中的每個(gè)語(yǔ)句組稱(chēng)作一個(gè)分支,為使各分支獨(dú)立,通常以break、return、exit等語(yǔ)句結(jié)尾。另外,“default: 語(yǔ)句組n+1”可以缺省。5.8. break語(yǔ)句的格式和功能如下:格式:break;功能:結(jié)束本層switch語(yǔ)句或本層循環(huán)語(yǔ)句。說(shuō)明:break語(yǔ)句只能用于switch語(yǔ)句和循環(huán)。第6章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)6.1. while語(yǔ)句的格式和功能如下:格式:while(表達(dá)式)循環(huán)體功能:當(dāng)表達(dá)式的值為真時(shí),重復(fù)執(zhí)行其后循環(huán)體。說(shuō)明:循環(huán)體是循環(huán)語(yǔ)句的內(nèi)嵌語(yǔ)句,可以是空或復(fù)合語(yǔ)句(下同)。6.2. do-while語(yǔ)句的格式和功能如下:格式:do 循環(huán)體 whil

18、e(表達(dá)式)功能:重復(fù)執(zhí)行循環(huán)體,直到表達(dá)式的值為假。說(shuō)明:do-while循環(huán)至少執(zhí)行一次循環(huán)體。6.3. for語(yǔ)句的格式和功能如下:格式:for(表達(dá)式1; 表達(dá)式2; 表達(dá)式3)循環(huán)體功能:(1) 計(jì)算表達(dá)式1;(2) 當(dāng)表達(dá)式2的值為真時(shí),重復(fù)執(zhí)行循環(huán)體和計(jì)算表達(dá)式3。說(shuō)明:表達(dá)式1、表達(dá)式2、表達(dá)式3均可缺省,但保留分號(hào)。6.4. continue語(yǔ)句的格式和功能如下:格式:continue;功能:跳過(guò)循環(huán)體中其后程序段(結(jié)束本次循環(huán))。說(shuō)明:continue語(yǔ)句只能用于循環(huán)。6.5. 掌握以下算法:累加、階乘、判斷素?cái)?shù)、分解整數(shù)數(shù)字、遞推數(shù)列、打印字符圖形。第7章 數(shù)組7.1.

19、同一類(lèi)型數(shù)據(jù)的序列稱(chēng)作數(shù)組,數(shù)組中數(shù)據(jù)用相應(yīng)下標(biāo)變量訪(fǎng)問(wèn),因此,數(shù)組亦可視為由下標(biāo)變量組成的序列。7.2. 定義數(shù)組語(yǔ)句的一般格式和功能為:格式:數(shù)據(jù)類(lèi)型名 數(shù)組名第1維長(zhǎng)度第n維長(zhǎng)度功能:為數(shù)組分配連續(xù)內(nèi)存單元,用于存儲(chǔ)數(shù)組中的下標(biāo)變量(低維優(yōu)先),并將起始地址(又稱(chēng)基址)賦給數(shù)組名。說(shuō)明:數(shù)組長(zhǎng)度只能為整型常量或整型常量表達(dá)式。7.3. 數(shù)組的要素有:數(shù)據(jù)類(lèi)型、數(shù)組名、維數(shù)及各維的長(zhǎng)度。各維的長(zhǎng)度必須是常量,可用常量表達(dá)式表示,其值的整數(shù)位有效截?cái)嗳≌?.4. 下標(biāo)變量的格式為:數(shù)組名第1維下標(biāo)第n維下標(biāo)7.5. 下標(biāo)從0開(kāi)始,可用表達(dá)式表示,其值的整數(shù)位有效。下標(biāo)最大值比長(zhǎng)度小1。7.

20、6. 下標(biāo)變量的使用與普通變量相同。7.7. 定義數(shù)組的同時(shí)可對(duì)數(shù)組中的下標(biāo)變量賦初值。格式:數(shù)據(jù)類(lèi)型名 數(shù)組名第1維長(zhǎng)度第n維長(zhǎng)度=數(shù)據(jù)表功能:定義數(shù)組的同時(shí)將數(shù)據(jù)表中數(shù)據(jù)依次賦給數(shù)組中下標(biāo)變量,未賦值下標(biāo)變量的初值為相應(yīng)數(shù)據(jù)類(lèi)型的0。說(shuō)明:數(shù)據(jù)表中的數(shù)據(jù)必須是常量,可用表達(dá)式表示。第1維長(zhǎng)度可省略,如果省略,其長(zhǎng)度由數(shù)據(jù)表和其它維長(zhǎng)度確定存儲(chǔ)所需的最小長(zhǎng)度。7.8. 以字符為數(shù)據(jù)元素的數(shù)組稱(chēng)作字符數(shù)組,它由一組字符型下標(biāo)變量組成。除賦值外,字符數(shù)組名的使用與字符串變量相似。字符數(shù)組也可用字符串初始化。7.9. 標(biāo)準(zhǔn)函數(shù)庫(kù)提供許多用于處理字符串的函數(shù)。表7.1 常用字符串處理函數(shù)格式功能頭文

21、件puts(串)依次輸出串中字符,遇到'0'終止,然后換行。stdio.hgets(串)讀入一行字符,依次存入所分配的內(nèi)存空間,并追加'0'。strcat(串1, 串2)將串2復(fù)制、連接到串1的第一個(gè)'0'處。string.hstrcpy(串1, 串2)將串2復(fù)制到串1。strcmp(串1, 串2)比較串1和串2的大小。strlen(串)求字符串的長(zhǎng)度。strlwr(串)將串中大寫(xiě)字母均轉(zhuǎn)換為相應(yīng)小寫(xiě)字母。strupr(串)將串中小寫(xiě)字母均轉(zhuǎn)換為相應(yīng)大寫(xiě)字母。注意:輸出字符串及處理字符串的函數(shù),均忽略字符串中第一個(gè)'0'及其后的字

22、符。7.10. 掌握冒泡排序。第8章 函數(shù)8.1. 自定義函數(shù)的格式為:函數(shù)值類(lèi)型 函數(shù)名(帶類(lèi)型聲明的形參表列)函數(shù)體8.2. 函數(shù)值的默認(rèn)數(shù)據(jù)類(lèi)型為int。8.3. 如果函數(shù)有返回值,則用return語(yǔ)句返回,其格式為:return 表達(dá)式; 或 return(表達(dá)式);8.4. 如果函數(shù)無(wú)返回值,即函數(shù)值類(lèi)型為void,亦可用格式:return;結(jié)束本函數(shù)并返回調(diào)用者。8.5. 函數(shù)一般調(diào)用格式為:函數(shù)名(實(shí)參表列)其中,實(shí)參表列為一組逗號(hào)分隔的表達(dá)式。實(shí)參按從右至左的次序計(jì)算并傳遞給相應(yīng)形參。8.6. 如果函數(shù)調(diào)用在其定義之前,調(diào)用前應(yīng)作相應(yīng)聲明,聲明格式為:函數(shù)值類(lèi)型名 函數(shù)名(形參

23、及其類(lèi)型聲明表列);其中,形參可省略。8.7. 函數(shù)不可嵌套定義,但允許嵌套調(diào)用,亦可直接或間接調(diào)用自身(稱(chēng)作遞歸函數(shù))。8.8. 遞歸函數(shù)的函數(shù)體的一般格式為:(B班同學(xué)不作要求)if(遞歸條件)語(yǔ)句1/*遞歸時(shí),如何遞歸*/else 語(yǔ)句2/*非遞歸時(shí),如何處理*/或if(!遞歸條件)語(yǔ)句1/*非遞歸時(shí),如何處理*/else 語(yǔ)句2/*遞歸時(shí),如何遞歸*/8.9. 形參及函數(shù)內(nèi)定義的變量稱(chēng)作局部變量,它從定義處生效,且只在該函數(shù)內(nèi)有效。因此,不同函數(shù)中的局部變量可以同名,但同名不同義。8.10. 在所有函數(shù)之外定義的變量稱(chēng)作全局變量,它從定義處生效。8.11. 如果局部變量與全局變量同名,

24、則同名全局變量被屏蔽。8.12. 局部變量的存儲(chǔ)方式分為:自動(dòng)(auto,默認(rèn))、靜態(tài)(static)、寄存器(register)。8.13. 存儲(chǔ)方式和數(shù)據(jù)類(lèi)型是變量的兩個(gè)重要屬性,必須在定義變量時(shí)一并聲明,關(guān)鍵字的排列順序沒(méi)有限制。變量的默認(rèn)數(shù)據(jù)類(lèi)型為int,默認(rèn)存儲(chǔ)方式為auto,但關(guān)鍵字auto和int不可同時(shí)缺省。8.14. auto型局部變量占用動(dòng)態(tài)數(shù)據(jù)區(qū),當(dāng)函數(shù)調(diào)用結(jié)束時(shí)釋放所占內(nèi)存。register占用CPU中的寄存器,但寄存器不夠用時(shí),占用動(dòng)態(tài)數(shù)據(jù)區(qū)。8.15. 全局變量和static型局部變量占用靜態(tài)數(shù)據(jù)區(qū),默認(rèn)初值為相應(yīng)數(shù)據(jù)類(lèi)型的0。8.16. static型局部變量的聲

25、明和初始化只執(zhí)行一次。8.17. 如果全局變量被聲明為static型,則其它程序文件不能使用該全局變量。否則,其它程序文件也可使用該全局變量,但使用前應(yīng)作extern聲明。8.18. 被聲明為static型的函數(shù),只在本程序文件中有效,不能被其它程序文件調(diào)用。否則,其它程序文件也可調(diào)用此函數(shù),但調(diào)用前應(yīng)作extern聲明。8.19. 常用數(shù)學(xué)函數(shù)在頭文件math.h中。掌握基本初等函數(shù)。第9章 預(yù)處理命令9.1. 預(yù)處理命令在程序編譯前執(zhí)行,其主要功能是“文本置換”。9.2. 不帶參數(shù)宏定義的格式和功能如下:格式:#define 宏名 文本功能:在預(yù)處理時(shí),將程序中宏名用相應(yīng)的文本置換。9.3

26、. 帶參數(shù)宏定義的格式和功能如下:格式:#define 宏名(形參表列) 文本功能:在預(yù)處理時(shí),將程序中帶參數(shù)的宏用相應(yīng)的文本置換,且文本中的形參被相應(yīng)的實(shí)參所置換。注意:形參無(wú)須且做類(lèi)型聲明。9.4. 終止宏定義的格式如下:格式 #undef 宏名9.5. 宏定義可以引用已有的宏,亦可重新定義所代表的文本。9.6. 預(yù)處理命令無(wú)須以分號(hào)結(jié)尾,否則分號(hào)也參與置換。9.7. #include命令的格式和功能如下:格式一:#include "文件名"格式二:#include <文件名>功能:在預(yù)處理時(shí),用指定文件置換本命令加載文件。置換后,被包含文件成為本文件的一部

27、分,其函數(shù)、全局變量等均可在本文件中直接使用,無(wú)須作extern聲明。前一種格式先在當(dāng)前目錄中找指定文件,如果未找到,方到存放C頭文件的目錄中查找。后一種格式直接到存放C頭文件的目錄中查找指定文件。9.8. 條件編譯命令的格式和功能如下:格式一:#ifdef 宏名 程序段1 #else 程序段2 #endif功能:在預(yù)處理時(shí),如果指定的宏名已定義,則用程序段1置換本命令,否則用程序段2置換本命令。當(dāng)程序段2為空時(shí),#else可省略(下同)。格式二:#ifndef 宏名 程序段1 #else 程序段2 #endif功能:在預(yù)處理時(shí),如果指定的宏名未定義,則用程序段1置換本命令,否則用程序段2置換

28、本命令。格式三:#if 常量表達(dá)式 程序段1 #else 程序段2 #endif功能:在預(yù)處理時(shí),如果指定常量表達(dá)式的值為真(非0),則用程序段1置換本命令,否則用程序段2置換本命令。9.9. 注釋命令在預(yù)處理時(shí)被刪除,不影響源程序和目標(biāo)程序。注釋命令的格式如下:/*注釋內(nèi)容*/第10章 指針10.1. 內(nèi)存的基本單位是字節(jié),每個(gè)字節(jié)都有相應(yīng)的編號(hào),稱(chēng)作地址或指針。借助于指針,C語(yǔ)言可以直接訪(fǎng)問(wèn)內(nèi)存,從而對(duì)硬件進(jìn)行操作。10.2. 變量所占用內(nèi)存的大小由其數(shù)據(jù)類(lèi)型決定,變量所占用內(nèi)存的第1個(gè)字節(jié)的地址稱(chēng)作該變量的地址或指針,表為:&變量名10.3. 指針?biāo)赶驍?shù)據(jù)的類(lèi)型稱(chēng)作該指針的基類(lèi)

29、型,它所指向數(shù)據(jù)用*指針訪(fǎng)問(wèn),可作為普通變量使用。10.4. 指針本身也是一種數(shù)據(jù)類(lèi)型,占用2字節(jié)內(nèi)存,可作為無(wú)符號(hào)整數(shù)輸出和參與關(guān)系運(yùn)算、邏輯運(yùn)算,但指針的其它運(yùn)算不同于整數(shù)運(yùn)算。10.5. 指針運(yùn)算可簡(jiǎn)單地分為以下五類(lèi):(1) 單目運(yùn)算有六個(gè):!、&、*、+、-、sizeof。(2) 雙目運(yùn)算有四種:-、關(guān)系運(yùn)算、邏輯運(yùn)算、賦值運(yùn)算。(3) 指針與整數(shù)間的運(yùn)算有三個(gè):+、-、 。(4) 強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算:( )。(5) 結(jié)構(gòu)體成員運(yùn)算:->。其中,+、-、+、-、+=、-=均以基類(lèi)型數(shù)據(jù)為基本單位。10.6. 一維數(shù)組的數(shù)組名可作為指針調(diào)用,它指向數(shù)組中的第一個(gè)元素,以數(shù)組中

30、元素的類(lèi)型為基類(lèi)型。數(shù)組名的值不可修改,且sizeof(數(shù)組名)的值為整個(gè)數(shù)組所占內(nèi)存的字節(jié)數(shù)。10.7. 對(duì)于一維數(shù)組來(lái)說(shuō),基址+i 和 &基址i均指向數(shù)組中的第i+1個(gè)元素(i>=0);*(基址+i) 和 基址i均表示數(shù)組中的第i+1個(gè)元素(i>=0)。10.8. n維數(shù)組可看作是以n-1維數(shù)組為元素的一維數(shù)組,數(shù)組名可看作是指向數(shù)組中的第一個(gè)n-1維數(shù)組的指針。10.9. 下標(biāo)變量可作為實(shí)參,但不可作為形參,實(shí)際上,它被誤認(rèn)為指針。10.10. C源程序經(jīng)編譯后,系統(tǒng)為源程序中的每個(gè)函數(shù)均分配一個(gè)入口地址,稱(chēng)作函數(shù)指針。在C源程序中,函數(shù)指針用函數(shù)名表示,其值不可修改

31、。以函數(shù)指針為值的變量稱(chēng)作函數(shù)指針變量,其定義格式為:函數(shù)類(lèi)型名(*函數(shù)指針變量名)( );可用下述格式代替函數(shù)名:(*函數(shù)指針)10.11. 標(biāo)注表示此部分為非考試內(nèi)容。 函數(shù)返回值可以是指針,定義函數(shù)的一般格式為:基類(lèi)型 *函數(shù)名(形參列表)函數(shù)體10.12. 不允許將非0數(shù)直接賦給指針變量,須做強(qiáng)制轉(zhuǎn)換。當(dāng)指針變量的值為0時(shí),稱(chēng)之為空指針。10.13. 以指針為元素的數(shù)組稱(chēng)作指針數(shù)組。10.14. 以指針為基類(lèi)型的指針?lè)Q作指向指針的指針,以指向指針的指針為值的變量稱(chēng)作指向指針的指針變量,其定義格式為:存儲(chǔ)方式關(guān)鍵字 基類(lèi)型名 *指向指針的指針變量名10.15. C源程序經(jīng)編譯、連接所得目

32、標(biāo)程序(exe文件)可作為DOS外部命令使用,命令行的一般式為:路徑目標(biāo)程序文件名 參數(shù)1 參數(shù)2 參數(shù)n10.16. C主函數(shù)main可帶兩個(gè)形參,前者為int型,用于接收命令行中字符串個(gè)數(shù),后者為字符串指針數(shù)組,用于接收命令行中各字符串。帶參主函數(shù)的格式為:void main(int 形參1,char *形參2 ) 函數(shù)體其中,形參1=參數(shù)個(gè)數(shù)+1形參20="路徑目標(biāo)程序文件名"形參2i="參數(shù)i",i=1,2,n第11章 結(jié)構(gòu)體與共用體11.1. 聲明結(jié)構(gòu)體語(yǔ)句的一般格式為:struct 標(biāo)識(shí)符成員表列;其中,成員表列為一組聲明變量的語(yǔ)句,這些變量稱(chēng)作該結(jié)構(gòu)體的成員,又稱(chēng)數(shù)據(jù)項(xiàng)、分量、域、字段等。語(yǔ)句結(jié)尾處的分號(hào)不可缺省,標(biāo)識(shí)符可以省略,如果不省略標(biāo)識(shí)符,則新增一個(gè)數(shù)據(jù)類(lèi)型(名):struct 標(biāo)識(shí)符11.2. 定義結(jié)構(gòu)體變量的一般格式為:struct 標(biāo)識(shí)符 變量表列;也可在聲明結(jié)構(gòu)體的同時(shí)定義變量:struct 標(biāo)識(shí)符成員表列變量表列;11.3. 結(jié)構(gòu)體變量可在

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論