版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 C程序設(shè)計(jì)學(xué)問點(diǎn) 第 1 章 C 語言概述C程序設(shè)計(jì)學(xué)問點(diǎn)都懂了,確定過!第 1 章 C 語言概述1.1. 1.2.C語言屬高級語言,區(qū)分字母的大小寫,以函數(shù)為基本單位接受模 塊化程序設(shè)計(jì),可直接拜望內(nèi)存,進(jìn)而對硬件進(jìn)行操作;用 C語言編寫和程序稱作C源程序,簡稱 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ù)開頭執(zhí)行, 每個(gè) C程序有且僅有一個(gè)主函數(shù), 因此,每個(gè) C程序文件中
2、至多有一個(gè)主函數(shù);1.4. C語句以分號結(jié)尾,用 括起來的一組語句稱作復(fù)合語句,復(fù)合語句可省略花括號之后的分號;1.5. 答應(yīng)一行內(nèi)寫多個(gè) C語句,也答應(yīng)一個(gè) C語句占用多行, 但保留字和標(biāo)識符不行拆行;1.6.在 C集成環(huán)境 VC+ 6.0 中,新建工程、儲存當(dāng)前程序文件、編譯當(dāng)前程序、執(zhí)行當(dāng)前程序的快捷鍵依次為:Ctrl+N 、Ctrl+S 、F7、Ctrl+F5 ;第頁 共 24 頁1 C程序設(shè)計(jì)學(xué)問點(diǎn) 第 2 章 程序設(shè)計(jì)的靈魂算法第 2 章 程序設(shè)計(jì)的靈魂算法2.1. 2.2. 2.3.解決問題的方法和步驟稱作算法; 算法和數(shù)據(jù)結(jié)構(gòu)是程序的兩個(gè)主 要要素;算法具有確定性、有窮性、有效
3、性等特點(diǎn);算法可用自然語言、 流程圖、N-S 圖、運(yùn)算機(jī)語言、 偽代碼等描述;偽代碼是用介于自然語言和運(yùn)算機(jī)語言之間的文字和符號來描述算法;起止框輸入輸出框判定框處理框注釋連接點(diǎn)框 有向線段或折線 流程線圖 2.1 ANSI 流程圖符號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 直到循環(huán)Y 條件第N 條件循環(huán)體2 循環(huán)體頁 共 24 頁 C程序設(shè)計(jì)學(xué)問點(diǎn)第 2 章 程序設(shè)計(jì)的靈魂算法條件圖 2.6 次序結(jié)構(gòu)圖 2.7 選擇結(jié)構(gòu)圖 2.8 當(dāng)循環(huán)圖2.9 直
4、到循環(huán)2.5.由三種基本結(jié)構(gòu)組成的程序稱作結(jié)構(gòu)化程序,結(jié)構(gòu)化程序中的每個(gè)模塊只有一個(gè)入口和一個(gè)出口;結(jié)構(gòu)化程序設(shè)計(jì)通常接受 “ 自頂向下、逐步細(xì)化” 的設(shè)計(jì)方法;第頁 共 24 頁3 C程序設(shè)計(jì)學(xué)問點(diǎn) 第 3 章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式第 3 章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式3.1. C的數(shù)據(jù)類型如下所示:表 3.1 C 語言的數(shù)據(jù)類型數(shù)據(jù)類型字節(jié)數(shù)值范疇數(shù)基無符號短整型 unsigned 4 0216-1 short int 2 -215215-1 有符號短整型 signed 整short int 4 0232-1 型無符號長整型 unsigned long int 4 -231231-1 有
5、符號長整型 signed long 本int 4 長 37 位,6 位有類單精度實(shí)型 float 型效實(shí)雙精度實(shí)型 double 8 長 307 位, 15 位構(gòu)型10 有效長雙精度實(shí)型 long 長 4931 位,18 位double 有效1 字符型 char 028-1 空類型 void 1 枚舉類型2 指針類型2 造數(shù)組類型類結(jié)構(gòu)體類型型共用體類型3.2. C符號常量名、變量名、函數(shù)名等統(tǒng)稱標(biāo)識符,標(biāo)識符的命名規(guī)章為:以字母或下劃線開頭,由字母、數(shù)字、下劃線組成,超出 32 個(gè)字符部分被忽視 最好不超過 8 個(gè)字符 ;3.3. 以 0 開頭的整數(shù)為八進(jìn)制整數(shù),以0X或 0 x 開頭的整數(shù)
6、為十六進(jìn)制第頁 共 24 頁4 C程序設(shè)計(jì)學(xué)問點(diǎn) 第 3 章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式無符號整數(shù);3.4. -3276832767為 int 型, 0U65535U為 unsigned 型,65536U4294967295U和 0UL4294967295UL為 unsigned long 型,-2147483648-32769、327682147483647和-2147483648L2147483647L為 long 型;后綴 U和 L 不區(qū)分大小寫和次序;3.5. 數(shù)據(jù)的儲備字節(jié)數(shù)可用運(yùn)算符 sizeof 查詢,括號內(nèi)可是數(shù)據(jù)、表達(dá)式或類型名;3.6. 有符號整數(shù) int 和 long 按補(bǔ)
7、碼儲備, 因此,-65535U-1U 與 1U65535U依次相等, -4294967295UL-1UL 與 1UL4294967295UL依次相等;3.7. 定點(diǎn)數(shù) 含小數(shù)點(diǎn)數(shù) 和浮點(diǎn)數(shù)統(tǒ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ù)字之后;后綴 實(shí)型常量為雙精度;L 或 l 的實(shí)型常量為長雙精度,無后綴3.8. 用一對單引號括起來的單個(gè)字符稱作 C字符常量,其值為該字符的ASCII 碼(1 字節(jié)無符號整數(shù));3.9. 轉(zhuǎn)義字符 n、t、 分別表示回車符、制表符、反斜杠、
8、單引號、雙引號;3.10.轉(zhuǎn)義字符 整數(shù) 、x 整數(shù) (或 X 整數(shù) )中的整數(shù)分別為八進(jìn)制、十六進(jìn)制,表示以此整數(shù)為ASCII 碼的字符;3.11.用雙引號括起來的一串字符稱作 C字符串型常量,串中字符數(shù)稱作串長,可以為 0;字符串的儲備形式為:依次儲備字符串中字符的ASCII 碼,并追加一個(gè)空字符 0(1 字節(jié)無符號整數(shù) 0);3.12.字符型、整型、實(shí)型數(shù)據(jù)統(tǒng)稱數(shù)值型數(shù)據(jù),不同類型的數(shù)值型數(shù)據(jù)可以混合運(yùn)算,低精度數(shù)據(jù)被自動強(qiáng)制轉(zhuǎn)換為高精度數(shù)據(jù)后方參與運(yùn)算;另外,字符常量為有符號短整數(shù),兩個(gè)字符型數(shù)據(jù)間的運(yùn)算第頁 共 24 頁5 C程序設(shè)計(jì)學(xué)問點(diǎn) 第 3 章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式按有符
9、號短整數(shù)處理;3.13.假如將數(shù)值型數(shù)據(jù)賦給不同類型的數(shù)值型變量,就數(shù)值型數(shù)據(jù)將被自動強(qiáng)制轉(zhuǎn)換為變量的數(shù)據(jù)類型;3.14.C答應(yīng)定義變量的同時(shí)賦初值;3.15.C運(yùn)算符及其優(yōu)先級、結(jié)合性如附錄 3.16.強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換的一般形式為: 類型名 數(shù)據(jù)C(教材第 365 頁)所示;3.17.自增+、自減 - 運(yùn)算只能作用于變量,作用于右側(cè)時(shí),返回變量自 增、自減前的值;3.18.賦值表達(dá)式的格式為:變量=表達(dá)式或變量 op=表達(dá)式其中, op 為運(yùn)算符 + 、- 、* 、/ 、%、&、| 中某一個(gè);前者將右邊表達(dá)式的值賦給左邊的變量,后者將左邊變量的當(dāng)前值 與右邊表達(dá)式的值作相應(yīng)運(yùn)算后仍賦給左邊的
10、變量;整個(gè)賦值表達(dá) 式取左邊變量所賦的新值;3.19.用逗號分隔的一組表達(dá)式稱作逗號表達(dá)式,其一般形式為:表達(dá)式 , 表達(dá)式 , , 表達(dá)式 其功能為:從左至右依次運(yùn)算各表達(dá)式的值,并以最終一個(gè)表達(dá)式 的值為整個(gè)逗號表達(dá)式的值;3.20.將數(shù)學(xué)式改為 C表達(dá)式時(shí)應(yīng)留意:1乘號* 不行省略;/ 時(shí),分子、分母相應(yīng)加括號;6 2正確改寫腳碼、運(yùn)算符、括號等;3正確書寫函數(shù)名;4把握好運(yùn)算優(yōu)先級,分?jǐn)?shù)線改為5正確拆分不等式組;6區(qū)分整數(shù)除法和實(shí)數(shù)除法;第頁 共 24 頁 C程序設(shè)計(jì)學(xué)問點(diǎn) 第 4 章 次序結(jié)構(gòu)程序設(shè)計(jì)第 4 章 次序結(jié)構(gòu)程序設(shè)計(jì)4.1. 表達(dá)式后綴分號稱作表達(dá)式語句,即,表達(dá)式 ;
11、4.2. putchar 、getchar 、printf 件 stdio.h 中;、scanf 等輸入輸出函數(shù)的原型在頭文4.3. 函數(shù) putchar 和 getchar 的格式和功能如下:1 putchar 格式: putchar 表達(dá)式 功能:向標(biāo)準(zhǔn)輸出設(shè)備輸出以指定表達(dá)式的值為 ASCII 碼的字符,并以該值為函數(shù)值 自動強(qiáng)制轉(zhuǎn)換為 int 型;2 getchar 格式: getchar 功能:從標(biāo)準(zhǔn)輸入設(shè)備輸入一個(gè)字符,并以該字符為函數(shù)值;留意:getchar 可提取空格及回車、 Tab 等部分把握字符, 而且只提取輸入中相應(yīng)位置上的一個(gè)字符,因此,輸入字符間無須分隔,否就也被視為
12、輸入字符;4.4. printf 函數(shù)的格式和功能如下:格式: printf 格式把握串 , 輸出表列 功能:1 從右至左依次運(yùn)算輸出表列中各表達(dá)式的值;2 從左至右依次輸出格式把握串中的字符,其中,%引導(dǎo)的格式控制符由輸出表列中相應(yīng)表達(dá)式的值所取代;輸出表列是一組用逗號分隔的表達(dá)式(又稱輸出項(xiàng),可以為 0 項(xiàng));格式把握串為字符串型數(shù)據(jù)(可以是表達(dá)式);其中,格式符用于把握輸出表列中相應(yīng)表達(dá)式的輸出格式;格式符及其功能如下表所示:第頁 共 24 頁7 C程序設(shè)計(jì)學(xué)問點(diǎn) 第 4 章 次序結(jié)構(gòu)程序設(shè)計(jì)表 4.1 printf 格式字符格式符 說明d 或 i 有符號十進(jìn)制短整數(shù) 不輸出正號 u 無
13、符號十進(jìn)制短整數(shù)o 無符號八進(jìn)制短整數(shù) 無前綴 0 x 或 X 無符號十六進(jìn)制短整數(shù) 無前綴 0 x,數(shù)字的大小寫與 x 相同 c 字符s 字符串f 定點(diǎn)數(shù) 默認(rèn) 6 位小數(shù) ;e 或 E 浮點(diǎn)數(shù) 浮點(diǎn)數(shù)中 e 的大小寫與格式符 e 的大小寫相同 g 或 G %f 和%e中輸出寬度較短者 e 與 g 的大小寫相同 附加格式 說明符l 插在%和 d、i 、u、o、x、X之間,表示輸出相應(yīng)長整數(shù);整數(shù) 插在%和其它格式符之間, 前一個(gè)整數(shù)的確定值為輸出數(shù)據(jù)的. 整數(shù) 寬度,后一個(gè)整數(shù)把握實(shí)際輸出位數(shù):輸出整數(shù)時(shí),指定輸出位數(shù),不足左補(bǔ)0,超出保留;輸出實(shí)數(shù)時(shí),指定輸整數(shù). 整 數(shù)出小數(shù)位數(shù),不足右
14、補(bǔ)0,超出四舍五入;輸出字符串時(shí),指定輸出字符數(shù);另外,第一個(gè)整數(shù)為負(fù)時(shí),輸出數(shù)據(jù)左對齊,否就右對齊;4.5. scanf 函數(shù)的格式和功能如下:格式: scanf 格式把握串 , 地址表列 其中,格式把握串為字符串型數(shù)據(jù) 組用逗號分隔的地址;功能: 可以是表達(dá)式 ,地址表列是一1 右至左依次運(yùn)算地址表列中各表達(dá)式的值;2 從標(biāo)準(zhǔn)輸入設(shè)備提取數(shù)據(jù), 并從左至右依次儲備到所指定的儲備 單元;3 地址表列中的地址可用表達(dá)式表示,通常形式為:第頁 共 24 頁8 C程序設(shè)計(jì)學(xué)問點(diǎn) &變量第 4 章 次序結(jié)構(gòu)程序設(shè)計(jì)其中&是地址運(yùn)算符,它表示取其后變量的儲備 起始 地址;說明:1 scanf 函數(shù)格式
15、符與 printf函數(shù)的格式符的功能相像; scanf 的合法格式符不區(qū)分大小寫、實(shí)型格式符均等效,另外,表 4.2 scanf 的附加格式符說明 附加格式 說明 符正整數(shù) * *正整數(shù)指定輸入數(shù)據(jù)的最大寬度 插在%與其它格式符之間 跳過當(dāng)前一個(gè)數(shù)據(jù) 插在 %與其它格式符 之間 跳過當(dāng)前指定個(gè)字符 插在%與其它格式 符之間 2 假如格式把握串中有非格式符, 就輸入數(shù)據(jù)中對應(yīng)位置上必需是 該字符,且被跳過,這為指定數(shù)據(jù)間分隔符供應(yīng)了便利;3 printf 和 scanf 格式把握串中的每對 %從左至右結(jié)合 按一個(gè) 一般字符 %對待;第頁 共 24 頁9 C程序設(shè)計(jì)學(xué)問點(diǎn) 第 5 章 選擇結(jié)構(gòu)程序
16、設(shè)計(jì)第 5 章 選擇結(jié)構(gòu)程序設(shè)計(jì)5.1. C規(guī)律值為短整數(shù) int,真、假分別為 1、0;另外,字符、數(shù)、指 針作為規(guī)律量時(shí),非 0、非空為真 即 1 ,0、空為假 即 0 ;規(guī)律 運(yùn)算如下表所示:表 5.1 規(guī)律運(yùn)算真值表左元右元. 右元左元&右左元|假0 假0 元右元真1 假0 假0 假0 真 非假0 假0 真1 0 真 非假0 真1 假0 真1 0 真 非真 非假0 真1 真1 0 0 5.2. 對于形如 | | 的規(guī)律式,從左至右運(yùn)算 的規(guī)律值,遇到真就提前終止;5.3. 對于形如 & &的規(guī)律式,從左至右運(yùn)算 的規(guī)律值,遇到假就提前終止;5.4. 算術(shù)、關(guān)系、規(guī)律運(yùn)算的優(yōu)先級參見附錄
17、 5.5. if 語句的格式和功能如下:1 格式一: if 條件 語句 功能:假如條件成立,方執(zhí)行語句;C(教材第 365 頁);2 格式二: if 條件 語句 1 else 語句 2 功能假如條件成立,執(zhí)行語句1,否就執(zhí)行語句 2;if配留意: else 不行獨(dú)立使用,它與其前最近一個(gè)尚未配對的10 第頁 共 24 頁 C程序設(shè)計(jì)學(xué)問點(diǎn)else 中嵌套 if第 5 章 選擇結(jié)構(gòu)程序設(shè)計(jì)對,為防止歧義,通常只在語句;5.6. 條件表達(dá)式的格式和功能如下:格式:條件 .表達(dá)式 1: 表達(dá)式 2 功能:假如條件成立,取表達(dá)式 1 的值,否就取表達(dá)式 2 的值;說明:條件表達(dá)式可以嵌套,與其前最近一
18、個(gè)尚未配對的 if 配對;5.7. switch 語句的格式和功能如下:格式:switch 表達(dá)式 case 常量 i: 語句組 i 語句組 n+1 default: 功能:假如表達(dá)式的值等于常量 執(zhí)行語句組 n+1;說明:i ,就從語句組 i 開頭執(zhí)行,否就1 “ 表達(dá)式” 的值和“ 常量” 為整型 包括字符型 ;2 switch 中的每個(gè)語句組稱作一個(gè)分支,為使各分支獨(dú)立,通常以 break 、return 、exit等語句結(jié)尾;另外,“default: 語句組 n+1” 可以缺??;5.8. break 語句的格式和功能如下:格式: break; 功能:終止本層 switch 語句或本層循
19、環(huán)語句;說明: break 語句只能用于 switch 語句和循環(huán);第頁 共 24 頁11 C程序設(shè)計(jì)學(xué)問點(diǎn) 第 6 章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)第 6 章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)6.1. while 語句的格式和功能如下:格式: while 表達(dá)式 循環(huán)體功能:當(dāng)表達(dá)式的值為真時(shí),重復(fù)執(zhí)行其后循環(huán)體;說明:循環(huán)體是循環(huán)語句的內(nèi)嵌語句,6.2. do-while 語句的格式和功能如下:格式: do 循環(huán)體 while 表達(dá)式 可以是空或復(fù)合語句 下同 ;功能:重復(fù)執(zhí)行循環(huán)體,直到表達(dá)式的值為假;說明: do-while 循環(huán)至少執(zhí)行一次循環(huán)體;6.3. for 語句的格式和功能如下:格式: for 表達(dá)式
20、1; 表達(dá)式 2; 表達(dá)式 3 循環(huán)體 功能:1 運(yùn)算表達(dá)式 1;3;2 當(dāng)表達(dá)式 2 的值為真時(shí),重復(fù)執(zhí)行循環(huán)體和運(yùn)算表達(dá)式 說明:表達(dá)式 1、表達(dá)式 2、表達(dá)式 3 均可缺省,但保留分號;6.4. continue 語句的格式和功能如下:格式: continue; 功能:跳過循環(huán)體中其后程序段終止本次循環(huán) ;說明: continue 語句只能用于循環(huán);6.5. 把握以下算法:累加、階乘、判定素?cái)?shù)、分解整數(shù)數(shù)字、遞推數(shù)列、打印字符圖形;第頁 共 24 頁12 C程序設(shè)計(jì)學(xué)問點(diǎn) 第 7 章 數(shù)組第 7 章 數(shù)組7.1. 同一類型數(shù)據(jù)的序列稱作數(shù)組,數(shù)組中數(shù)據(jù)用相應(yīng)下標(biāo)變量拜望,因此,數(shù)組亦可視
21、為由下標(biāo)變量組成的序列;7.2. 定義數(shù)組語句的一般格式和功能為:格式:數(shù)據(jù)類型名 數(shù)組名 第 1 維長度 第 n 維長度 功能:為數(shù)組支配連續(xù)內(nèi)存單元, 用于儲備數(shù)組中的下標(biāo)變量 低維優(yōu)先 ,并將起始地址 又稱基址 賦給數(shù)組名;說明:數(shù)組長度只能為整型常量或整型常量表達(dá)式;7.3. 數(shù)組的要素有:數(shù)據(jù)類型、數(shù)組名、維數(shù)及各維的長度;各維的長度必需是常量,可用常量表達(dá)式表示,其值的整數(shù)位有效截?cái)嗳≌?.4. 下標(biāo)變量的格式為:數(shù)組名 第 1 維下標(biāo) 第 n 維下標(biāo) 7.5. 下標(biāo)從 0 開頭,可用表達(dá)式表示,其值的整數(shù)位有效;下標(biāo)最大值比長度小 1;7.6. 下標(biāo)變量的使用與一般變量相同;7
22、.7. 定義數(shù)組的同時(shí)可對數(shù)組中的下標(biāo)變量賦初值;格式:數(shù)據(jù)類型名 數(shù)組名 第 1 維長度 第 n 維長度 = 數(shù)據(jù)表 功能:定義數(shù)組的同時(shí)將數(shù)據(jù)表中數(shù)據(jù)依次賦給數(shù)組中下標(biāo)變量,未賦值下標(biāo)變量的初值為相應(yīng)數(shù)據(jù)類型的 0;說明:數(shù)據(jù)表中的數(shù)據(jù)必需是常量,可用表達(dá)式表示;第 1 維長度可省略,假如省略,其長度由數(shù)據(jù)表和其它維長度確定儲備所需的最小長度;7.8. 以字符為數(shù)據(jù)元素的數(shù)組稱作字符數(shù)組,它由一組字符型下標(biāo)變量組成;除賦值外,字符數(shù)組名的使用與字符串變量相像;字符數(shù)組也可用字符串初始化;7.9. 標(biāo)準(zhǔn)函數(shù)庫供應(yīng)許多用于處理字符串的函數(shù);第頁 共 24 頁13 C程序設(shè)計(jì)學(xué)問點(diǎn) 第 7 章
23、數(shù)組表 7.1 常用字符串處理函數(shù)格式功能頭文件puts 串 依次輸出串中字符,遇到0終止,然后換stdio.行;gets 串 讀入一行字符, 依次存入所支配的內(nèi)存空間,h 并追加 0;strcat串 1, 將串 2 復(fù)制、連接到串 1 的第一個(gè) 0處;串 2 strcpy 串 1, 將串 2 復(fù)制到串 1;string串 2 比較串 1 和串 2 的大??;strcmp 串 1, .h 串 2 求字符串的長度;strlen串 strlwr串 將串中大寫字母均轉(zhuǎn)換為相應(yīng)小寫字母;strupr串 將串中小寫字母均轉(zhuǎn)換為相應(yīng)大寫字母;留意:輸出字符串及處理字符串的函數(shù), 均忽視字符串中第一個(gè) 0及其
24、后的字符;7.10.把握冒泡排序;第頁 共 24 頁14 C程序設(shè)計(jì)學(xué)問點(diǎn) 第 8 章 函數(shù)第 8 章 函數(shù)8.1. 自定義函數(shù)的格式為:函數(shù)值類型 函數(shù)名 帶類型聲明的形參表列 函數(shù)體 8.2. 函數(shù)值的默認(rèn)數(shù)據(jù)類型為 int ;8.3. 假如函數(shù)有返回值,就用 return 語句返回,其格式為:return 表達(dá)式 ; 或 return 表達(dá)式 ; 8.4. 假如函數(shù)無返回值,即函數(shù)值類型為 return; 終止本函數(shù)并返回調(diào)用者;8.5. 函數(shù)一般調(diào)用格式為:函數(shù)名 實(shí)參表列 void ,亦可用格式:其中,實(shí)參表列為一組逗號分隔的表達(dá)式;實(shí)參按從右至左的次序 運(yùn)算并傳遞給相應(yīng)形參;8.6
25、. 假如函數(shù)調(diào)用在其定義之前,調(diào)用前應(yīng)作相應(yīng)聲明,聲明格式為:函數(shù)值類型名 函數(shù)名 形參及其類型聲明表列 ; 其中,形參可省略;8.7. 函數(shù)不行嵌套定義, 但答應(yīng)嵌套調(diào)用, 亦可直接或間接調(diào)用自身 稱 作遞歸函數(shù) ;8.8. 遞歸函數(shù)的函數(shù)體的一般格式為:(B班同學(xué)不作要求)if 遞歸條件 語句 1 /* 遞歸時(shí),如何遞歸 */ else 語句 2 /* 非遞歸時(shí),如何處理 */ 或if. 遞歸條件 語句 1 /* 非遞歸時(shí),如何處理 */ else 語句 2 /* 遞歸時(shí),如何遞歸 */ 8.9. 形參及函數(shù)內(nèi)定義的變量稱作局部變量,它從定義處生效,且只在該函數(shù)內(nèi)有效;因此,不同函數(shù)中的局
26、部變量可以同名,但同名不第頁 共 24 頁15 C程序設(shè)計(jì)學(xué)問點(diǎn) 第 8 章 函數(shù)同義;8.10.在全部函數(shù)之外定義的變量稱作全局變量,它從定義處生效;8.11.假如局部變量與全局變量同名,就同名全局變量被屏蔽;8.12.局部變量的儲備方式分為:自動 auto ,默認(rèn) 、靜態(tài) static、寄存器register;8.13.儲備方式和數(shù)據(jù)類型是變量的兩個(gè)重要屬性,必需在定義變量時(shí)一并聲明,關(guān)鍵字的排列次序沒有限制;變量的默認(rèn)數(shù)據(jù)類型為 int ,默認(rèn)儲備方式為 auto ,但關(guān)鍵字 auto 和 int 不行同時(shí)缺??;8.14.auto 型局部變量占用動態(tài)數(shù)據(jù)區(qū), 當(dāng)函數(shù)調(diào)用終止時(shí)釋放所占內(nèi)存
27、;register 占用 CPU中的寄存器,但寄存器不夠用時(shí),占用動態(tài)數(shù)據(jù)區(qū);8.15.全局變量和 static 型局部變量占用靜態(tài)數(shù)據(jù)區(qū), 默認(rèn)初值為相應(yīng)數(shù)據(jù)類型的 0;8.16.static 型局部變量的聲明和初始化只執(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 中;把握基
28、本初等函數(shù);第頁 共 24 頁16 C程序設(shè)計(jì)學(xué)問點(diǎn) 第 9 章 預(yù)處理命令第 9 章 預(yù)處理命令9.1. 預(yù)處理命令在程序編譯前執(zhí)行,其主要功能是“ 文本置換” ;9.2. 不帶參數(shù)宏定義的格式和功能如下:格式: #define 宏名 文本 功能:在預(yù)處理時(shí),將程序中宏名用相應(yīng)的文本置換;9.3. 帶參數(shù)宏定義的格式和功能如下:格式: #define 宏名 形參表列 文本 功能:在預(yù)處理時(shí),將程序中帶參數(shù)的宏用相應(yīng)的文本置換,且文 本中的形參被相應(yīng)的實(shí)參所置換;留意:形參無須且做類型聲明;9.4. 終止宏定義的格式如下:格式 #undef 宏名9.5. 宏定義可以引用已有的宏,亦可重新定義所
29、代表的文本;9.6. 預(yù)處理命令無須以分號結(jié)尾,否就分號也參與置換;9.7. #include 命令的格式和功能如下:格式一: #include 文件名 格式二: #include 功能:在預(yù)處理時(shí),用指定文件置換本命令加載文件;置換后,被包含文件成為本文件的一部分,其函數(shù)、全局變量等均可在本文 件中直接使用, 無須作 extern 聲明;前一種格式先在當(dāng)前目錄中找指定文件,假如未找到,方到存放C頭文件的目錄中查找;后一種格式直接到存放 C頭文件的目錄中查找指定文件;9.8. 條件編譯命令的格式和功能如下:格式一: #ifdef 宏名 程序段 1 #else 程序段 2 #endif 功能:在
30、預(yù)處理時(shí),假如指定的宏名已定義,就用程序段 1 置換本命令,否就用程序段 2 置換本命令;當(dāng)程序段 2 為空時(shí), #else 可省略 下同 ;格式二: #ifndef 宏名 程序段 1 #else 程序段 2 #endif 17 第頁 共 24 頁 C程序設(shè)計(jì)學(xué)問點(diǎn) 第 9 章 預(yù)處理命令功能:在預(yù)處理時(shí),假如指定的宏名未定義,就用程序段 1 置換本命令,否就用程序段 2 置換本命令;格式三: #if 常量表達(dá)式 程序段 1 #else 程序段 2 #endif 功能:在預(yù)處理時(shí),假如指定常量表達(dá)式的值為真 非 0 ,就用程序段 1 置換本命令,否就用程序段2 置換本命令;9.9. 注釋命令在
31、預(yù)處理時(shí)被刪除,不影響源程序和目標(biāo)程序;注釋命令 的格式如下:/* 注釋內(nèi)容 */ 第頁 共 24 頁18 C程序設(shè)計(jì)學(xué)問點(diǎn) 第 10 章 指針第 10 章 指針10.1.內(nèi)存的基本單位是字節(jié),每個(gè)字節(jié)都有相應(yīng)的編號,稱作地址或指 針;借助于指針, C語言可以直接拜望內(nèi)存,從而對硬件進(jìn)行操作;10.2.變量所占用內(nèi)存的大小由其數(shù)據(jù)類型準(zhǔn)備,變量所占用內(nèi)存的第 1 個(gè)字節(jié)的地址稱作該變量的地址或指針,表為:&變量名 10.3.指針?biāo)赶驍?shù)據(jù)的類型稱作該指針的基類型,它所指向數(shù)據(jù)用 *指針 拜望,可作為一般變量使用;10.4.指針本身也是一種數(shù)據(jù)類型,占用2 字節(jié)內(nèi)存,可作為無符號整數(shù)輸出和參與關(guān)
32、系運(yùn)算、規(guī)律運(yùn)算,但指針的其它運(yùn)算不同于整數(shù)運(yùn) 算;10.5.指針運(yùn)算可簡潔地分為以下五類:1 單目運(yùn)算有六個(gè): . 、&、*、+、- 、sizeof ;2 雙目運(yùn)算有四種: -、關(guān)系運(yùn)算、規(guī)律運(yùn)算、賦值運(yùn)算;3 指針與整數(shù)間的運(yùn)算有三個(gè):4 強(qiáng)制類型轉(zhuǎn)換運(yùn)算: ;5 結(jié)構(gòu)體成員運(yùn)算: -;+、- 、 ;其中, +、- 、+、- 、+=、-=均以基類型數(shù)據(jù)為基本單位;10.6.一維數(shù)組的數(shù)組名可作為指針調(diào)用,它指向數(shù)組中的第一個(gè)元素,以數(shù)組中元素的類型為基類型; 數(shù)組名的值不行修改, 且 sizeof 數(shù) 組名 的值為整個(gè)數(shù)組所占內(nèi)存的字節(jié)數(shù);10.7.對于一維數(shù)組來說,基址+i 和 & 基址
33、i 均指向數(shù)組中的第i+1 個(gè)元素 i=0 ;19 * 基址+i 和基址i 均表示數(shù)組中的第i+1 個(gè)元素 i=0 ;第頁 共 24 頁 C程序設(shè)計(jì)學(xué)問點(diǎn) 第 10 章 指針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è)入口地址,稱作函數(shù)指針;在C源程序中,函數(shù)指針用函數(shù)名表示,其值不行修改;以函數(shù)指針為值的變量稱作函數(shù)指針變量,其定義 格式為:函數(shù)類型名 * 函數(shù)指針變量名 ; 可用下
34、述格式代替函數(shù)名:* 函數(shù)指針 10.11. 1 函數(shù)返回值可以是指針,定義函數(shù)的一般格式為:基類型 * 函數(shù)名 形參列表 函數(shù)體 10.12. 不答應(yīng)將非 0 數(shù)直接賦給指針變量,須做強(qiáng)制轉(zhuǎn)換;當(dāng)指針變量 的值為 0 時(shí),稱之為空指針;10.13. 以指針為元素的數(shù)組稱作指針數(shù)組;10.14. 以指針為基類型的指針稱作指向指針的指針,以指向指針的指 針為值的變量稱作指向指針的指針變量,其定義格式為:儲備方式關(guān)鍵字 基類型名 * 指向指針的指針變量名10.15. C 源程序經(jīng)編譯、連接所得目標(biāo)程序 部命令使用,命令行的一般式為:exe 文件 可作為 DOS外路徑 目標(biāo)程序文件名 參數(shù) 1 參數(shù)
35、 2 參數(shù) n 10.16. C主函數(shù) main 可帶兩個(gè)形參,前者為 int 型,用于接收命令行中字符串個(gè)數(shù),后者為字符串指針數(shù)組,用于接收命令行中各字符串;帶參主函數(shù)的格式為:void mainint 形參 1,char *形參 2 函數(shù)體 其中,形參 1=參數(shù)個(gè)數(shù) +1 1 標(biāo)注 表示此部分為非考試內(nèi)容;第頁 共 24 頁20 C程序設(shè)計(jì)學(xué)問點(diǎn) 第 10 章 指針形參 20= 路徑 目標(biāo)程序文件名 形參 2i=參數(shù) i ,i=1,2, ,n 第頁 共 24 頁21 C程序設(shè)計(jì)學(xué)問點(diǎn) 第 11 章 結(jié)構(gòu)體與共用體第 11 章 結(jié)構(gòu)體與共用體11.1.聲明結(jié)構(gòu)體語句的一般格式為:struct 標(biāo)識符 成員表列 ; 其中,成員表列為一組聲明變量的語句,這些變量稱作該結(jié)構(gòu)體的 成員,又稱數(shù)據(jù)項(xiàng)、重量、域、字段等;語句結(jié)尾處的分號不行缺 省,標(biāo)識符可以省略,假如不省略標(biāo)識符,就新增一個(gè)數(shù)據(jù)類型 名 :struct 標(biāo)識符11.2.定義結(jié)構(gòu)體變量的一般格式為:struct 標(biāo)識符變量表列 ; 也可在聲明結(jié)構(gòu)體的同時(shí)定義變量:struct 標(biāo)識符
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年新疆維吾爾自治區(qū)考試錄用公務(wù)員備考題庫(4318人)(含答案詳解)
- 2026云南玉溪市紅塔區(qū)玉興街道黨群服務(wù)中心公益性崗位招聘1人備考題庫及答案詳解一套
- 2025江西南昌市安義縣林業(yè)局招聘專職護(hù)林員20人備考題庫及參考答案詳解1套
- 2026云南文山州動物衛(wèi)生監(jiān)督所招聘城鎮(zhèn)公益性崗位工作人員1人備考題庫及完整答案詳解
- 2026中國農(nóng)業(yè)科學(xué)院第一批招聘20人備考題庫(黑龍江)有完整答案詳解
- 2025財(cái)達(dá)證券股份有限公司財(cái)富管理與機(jī)構(gòu)業(yè)務(wù)委員會山東分公司招聘1人備考題庫及答案詳解(新)
- 2026四川綿陽虹源科技發(fā)展有限責(zé)任公司招聘儲能工藝工程師等崗位2人備考題庫及答案詳解(易錯(cuò)題)
- 2026四川遂寧大英縣就業(yè)創(chuàng)業(yè)促進(jìn)中心招聘城鎮(zhèn)公益性崗位人員備考題庫及答案詳解(奪冠系列)
- 2026中國煙草總公司合肥設(shè)計(jì)院招聘7人備考題庫及答案詳解一套
- 建筑施工安全管理提升方案及措施
- 2024私人土地買賣協(xié)議書樣本
- 手術(shù)中輸血制度
- 北京市2024年第二次普通高中學(xué)業(yè)水平合格性考試語文試卷(含答案)
- 外研版小學(xué)英語(三起點(diǎn))六年級上冊期末測試題及答案(共3套)
- ?;愤\(yùn)輸安全培訓(xùn)-危險(xiǎn)品運(yùn)輸車輛的安全檢查與維護(hù)
- 浪漫主義與民族主義
- 浙江省城市軌道交通工程預(yù)算定額(2018版)
- 肝硬化腹水診療指南(2023版)解讀
- 貴州玄德生物科技股份有限公司年產(chǎn)5000噸生態(tài)特色食品(4500L超臨界CO2流體萃?。┚罴庸どa(chǎn)線建設(shè)項(xiàng)目環(huán)境影響報(bào)告
- 高二學(xué)業(yè)水平測試-地理復(fù)習(xí)提綱分解
- GB/T 36255-2018建筑施工機(jī)械與設(shè)備混凝土噴射機(jī)械術(shù)語和商業(yè)規(guī)格
評論
0/150
提交評論