




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、c程序設(shè)計 知識點(diǎn)都懂了,一定過!C語言屬高級語言, 區(qū)分字母的大小寫, 以函數(shù)為基本單位采用模塊化程序設(shè) 計,可直接訪問內(nèi)存,進(jìn)而對硬件進(jìn)行操作。用C語言編寫和程序稱作C源程序,簡稱C程序,C程序可由若干個文本文件 組成,文件擴(kuò)展名為C(使用C+編譯器時默認(rèn)擴(kuò)展名為CPP 0 C源程序經(jīng) 編譯、連接后得到擴(kuò)展名為EXE的可執(zhí)行文件(目標(biāo)程序)。預(yù)處理 編譯、連接執(zhí)行若干個C程序文件-7 C程序-7目標(biāo)程序文件-7C程序從主函數(shù)開始執(zhí)行,每個C程序有且僅有一個主函數(shù),因此,每個C程 序文件中至多有一個主函數(shù)。C語句以分號結(jié)尾, 用括起來的一組語句稱作復(fù)合語句, 復(fù)合語句可省略花 括號之后的分號
2、。第1章C語言概述1.1.1.1.1.2.1.2.1.3.1.3.1.4.1.4.1.5.1.5.允許一行內(nèi)寫多個C語句,也允許一個 不可拆行。C語句占用多行,但保留字和標(biāo)識符1.6.1.6.在C集成環(huán)境VC+ 6.0中,新建工程、執(zhí)行當(dāng)前程序的快捷鍵依次為:Ctrl+N保存當(dāng)前程序文件、編譯當(dāng)前程序、 、Ctrl+S、F7、C trl+F5。章程序設(shè)計的靈魂解決問題的方法和步驟稱作算法。算法和數(shù)據(jù)結(jié)構(gòu)是程序的兩個主要要素。算法具有確定性、有窮性、有效性等特點(diǎn)。算法可用自然語言、流程圖、N-S圖、計算機(jī)語言、偽代碼等描述。偽代碼是 用介于自然語言和計算機(jī)語言之間的文字和符號來描述算法。起止框C
3、J輸入輸出框/判斷框處理框11注釋框匚連接點(diǎn)0流程線有向線段或折線圖2.1 ANSI流程圖符號2.5.2.5.由三種基本結(jié)構(gòu)組成的程序稱作結(jié)構(gòu)化程序,結(jié)構(gòu)化程序中的每個模塊只有 一個入口和一個出口。結(jié)構(gòu)化程序設(shè)計通常采用“自頂向下、逐步細(xì)化”的 設(shè)計方法。2.1.2.1.22222.3.2.3.條件循環(huán)體循環(huán)體條件圖2.9直到循環(huán)2.42.4Y圖2.5直到循環(huán)圖2.4當(dāng)循環(huán)圖2.6順序結(jié)構(gòu)圖2.2順序結(jié)構(gòu)圖2.8當(dāng)循環(huán)第3章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式3.1.3.1. C的數(shù)據(jù)類型如下所示:表3.1 C語言的數(shù)據(jù)類型數(shù)據(jù)類型字節(jié)數(shù)數(shù)值范圍基 本類 型整 型無符號短整型(unsigned short
4、 int)4026-1有符號短整型(signed short int)2_ 15_15.-22 -1無符號長整型(unsigned long int)40232-1有符號長整型(signed long int)4-231231-1實(shí) 型單精度實(shí)型(float)4長37位,6位有效雙精度實(shí)型(double)8長307位,15位有效長雙精度實(shí)型(long double)10長4931位,18位有效字符型(char)1028-1空類型(void)1構(gòu) 造類 型枚舉類型2指針類型2數(shù)組類型結(jié)構(gòu)體類型共用體類型其含義為:尾數(shù)X 10除碼32323.3.3.3.3.4.3.4.3.5.3.5.3.6.3.
5、6.3.7.3.7.C符號常量名、變量名、函數(shù)名等統(tǒng)稱標(biāo)識符,標(biāo)識符的命名規(guī)則為:以字母 或下劃線開頭,由字母、數(shù)字、下劃線組成,超出32個字符部分被忽略(最好不超過8個字符)。以0開頭的整數(shù)為八進(jìn)制整數(shù),以0X或Ox開頭的整數(shù)為十六進(jìn)制無符號整數(shù)。-3276832767為int型,0U-65535U為unsigned型,65536LH 4294967295U和0UL4294967295UL為unsigned long型,-2147483648-32769、327682147483647和-2147483648L2147483647L為long型。后綴U和L不區(qū)分大 小寫和次序。數(shù)據(jù)的存儲字節(jié)
6、數(shù)可用運(yùn)算符sizeofO查詢,括號內(nèi)可是數(shù)據(jù)、表達(dá)式或類型 名。有符號整數(shù)(int和long)按補(bǔ)碼存儲,因此,-65535U-1U與1U65535U依 次相等,-4294967295UL-1UL與1UL4294967295UL依次相等。定點(diǎn)數(shù)(含小數(shù)點(diǎn)數(shù))和浮點(diǎn)數(shù)統(tǒng)稱C實(shí)型常量,浮點(diǎn)數(shù)的一般形式為:尾數(shù)e除碼 或 尾數(shù)E除碼其中,尾數(shù)為定點(diǎn)數(shù)或整數(shù),除碼為整數(shù)。標(biāo)準(zhǔn)浮點(diǎn)數(shù)的小數(shù)點(diǎn)在第1位非0數(shù)字之后。后綴L或I的實(shí)型常量為長雙精度,無后綴實(shí)型常量為雙精度。3.8.3.8.用一對單引號括起來的單個字符稱作C字符常量,其值為該字符的ASCII碼(1字節(jié)無符號整數(shù))。3.9.3.9.轉(zhuǎn)義字符n、
7、t、分別表示回車符、制表符、反斜杠、單引號、雙引號。3.10.3.10.轉(zhuǎn)義字符 整數(shù)、衣 整數(shù)(或X整數(shù))中的整數(shù)分別為八進(jìn)制、十六進(jìn) 制,表示以此整數(shù)為ASCII碼的字符。3.11.3.11.用雙引號括起來的一串字符稱作C字符串型常量,串中字符數(shù)稱作串長,可以為0。字符串的存儲形式為:依次存儲字符串中字符的ASCII碼,并追加一個空字符0(1字節(jié)無符號整數(shù)0)。3.12.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ù),兩個字符型數(shù)據(jù)間的運(yùn)算按有符號短整數(shù)處理。3.13.3.
8、13.如果將數(shù)值型數(shù)據(jù)賦給不同類型的數(shù)值型變量,則數(shù)值型數(shù)據(jù)將被自動強(qiáng)制轉(zhuǎn) 換為變量的數(shù)據(jù)類型。3.14.3.14. C允許定義變量的同時賦初值。3.15.3.15. C運(yùn)算符及其優(yōu)先級、結(jié)合性如附錄C(教材第365頁)所示。3.16.3.16.強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換的一般形式為:(類型名)數(shù)據(jù)3.17.3.17.自增+、自減-運(yùn)算只能作用于變量,作用于右側(cè)時,返回變量自增、自減前 的值。3.18.3.18.賦值表達(dá)式的格式為:變量二表達(dá)式或 變量op=表達(dá)式其中,op為運(yùn)算符+、-、*、/、 、& A、I中某一個。前者將右邊 表達(dá)式的值賦給左邊的變量, 后者將左邊變量的當(dāng)前值與右邊表達(dá)式的值作相
9、應(yīng)運(yùn)算后仍賦給左邊的變量。整個賦值表達(dá)式取左邊變量所賦的新值。3.19.3.19.用逗號分隔的一組表達(dá)式稱作逗號表達(dá)式,其一般形式為:表達(dá)式,表達(dá)式,表達(dá)式其功能為: 從左至右依次計算各表達(dá)式的值, 并以最后一個表達(dá)式的值為整個 逗號表達(dá)式的值。3.20.3.20.將數(shù)學(xué)式改為C表達(dá)式時應(yīng)注意:(1)乘號*不可省略;(2)正確改寫腳碼、運(yùn)算符、括號等;正確書寫函數(shù)名; 把握好運(yùn)算優(yōu)先級,分?jǐn)?shù)線改為/時,分子、分母相應(yīng)加括號; 正確拆分不等式組; 區(qū)分整數(shù)除法和實(shí)數(shù)除法。(3)(4)(5)(6)第4章順序結(jié)構(gòu)程序設(shè)計表達(dá)式后綴分號稱作表達(dá)式語句,即, 表達(dá)式;putchar、getchar、pr
10、intf、scanf等輸入輸出函數(shù)的原型在頭文件stdio.h中。函數(shù)Putchar和getchar的格式和功能如下:(1) pu tchar格式:putchar(表達(dá)式)功能:向標(biāo)準(zhǔn)輸出設(shè)備輸出以指定表達(dá)式的值為ASCII碼的字符,并以該值為函數(shù)值(自動強(qiáng)制轉(zhuǎn)換為int型)。 getchar格式:getcharO功能:從標(biāo)準(zhǔn)輸入設(shè)備輸入一個字符,注意:getchar可提取空格及回車、 入中相應(yīng)位置上的一個字符,因此, 輸入字符。printf函數(shù)的格式和功能如下:格式:printf(格式控制串,輸出表列)功能:(1)從右至左依次計算輸出表列中各表達(dá)式的值;(2)從左至右依次輸出格式控制串中的字
11、符,其中,堀I導(dǎo)的格式控制符由輸出表列中相應(yīng)表達(dá)式的值所取代。輸出表列是一組用逗號分隔的表達(dá)式(又稱輸出項(xiàng),可以為0項(xiàng))。格式控制串為字符串型數(shù)據(jù)(可以是表達(dá)式)。其中,格式符用于控制輸出表列中相應(yīng) 表達(dá)式的輸出格式。格式符及其功能如下表所示:表4.1 printf格式字符格式符說明d或i有符號十進(jìn)制短整數(shù)(不輸出正號)u無符號十進(jìn)制短整數(shù)o無符號八進(jìn)制短整數(shù)(無前綴0)x或X無符號十六進(jìn)制短整數(shù)(無前綴0 x,數(shù)字的大小與與x相冋)4.1.4.1.42424.3.4.3.4.4.4.4.并以該字符為函數(shù)值。Tab等部分控制字符,而且只提取輸 輸入字符間無須分隔,否則也被視為c字符s字符串f定
12、點(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、0、x、X之間,表示輸出相應(yīng)長整數(shù)。整數(shù).整數(shù)整數(shù).整數(shù)插在和其它格式符之間,前一個整數(shù)的絕對值為輸出數(shù)據(jù)的寬度,后一個整數(shù) 控制實(shí)際輸出位數(shù):輸出整數(shù)時,指定輸出位數(shù),不足左補(bǔ)0,超出保留;輸出實(shí)數(shù)時,指定輸出小數(shù)位數(shù),不足右補(bǔ)0,超出四舍五入;輸出字符串時,指定輸出字符數(shù)。另外,第一個整數(shù)為負(fù)時,輸出數(shù)據(jù)左對齊,否則右對齊。函數(shù)的格式和功能如下:scanf(格式控制串,地址表列)格式控制串為字符串型數(shù)據(jù)(可以是表達(dá)式),地址表列
13、是一組用逗號分隔的地址。功能:右至左依次計算地址表列中各表達(dá)式的值;從標(biāo)準(zhǔn)輸入設(shè)備提取數(shù)據(jù),并從左至右依次存儲到所指定的存儲單兀。地址表列中的地址可用表達(dá)式表示,通常形式為:&變量其中&是地址運(yùn)算符,它表示取其后變量的存儲(起始)地址。說明:scanf函數(shù)格式符與printf函數(shù)的格式符的功能相似。scanf的合法格式 符不區(qū)分大小寫、實(shí)型格式符均等效,另外,表4.2 scanf的附加格式符說明附加格式符說明正整數(shù)指定輸入數(shù)據(jù)的最大寬度(插在與其它格式符之間)跳過當(dāng)前一個數(shù)據(jù)(插在與其它格式符之間)*正整數(shù)跳過當(dāng)前指定個字符(插在與其它格式符之間)如果格式控制串中有非格式符,則輸入數(shù)據(jù)中對應(yīng)位
14、置上必須是該字符, 且被跳過,這為指定數(shù)據(jù)間分隔符提供了方便。printf和scanf格式控制串中的每對%從左至右結(jié)合)按一個普通字符%對待。4.5.4.5. scanf格式:其中,第5章選擇結(jié)構(gòu)程序設(shè)計C邏輯值為短整數(shù)(int),真、假分別為1、0。另外,字符、數(shù)、指針作為邏 輯量時,非0、非空為真(即1),0、空為假(即0)。邏輯運(yùn)算如下表所示:表5.1邏輯運(yùn)算真值表左元右元!右元左元&右元左元|右 元假(0)假(0)真假(0)假(0)假(0)真(非0)假(0)假(0)真(1)真(非0)假(0)真假(0)真(1)真(非0)真(非0)假(0)真(1)真(1)5252對于形如5.35.3. .
15、II|的邏輯式,從左至右計算的邏輯值,遇到真則提前終止。對于形如5.45.4. .5.55.5. .5.65.6. .5.75.7. .&的邏輯式,從左至右計算的邏輯值,遇到假則提前終止。算術(shù)、關(guān)系、邏輯運(yùn)算的優(yōu)先級參見附錄C(教材第365頁)。if語句的格式和功能如下:(1)格式一:if(條件)語句功能:如果條件成立,方執(zhí)行語句。格式二:if(條件)語句1 else語句2功能 如果條件成立,執(zhí)行語句1,否則執(zhí)行語句2。注意:else不可獨(dú)立使用,它與其前最近一個尚未配對的if配對,為避免歧義,通常只在else中嵌套if語句。條件表達(dá)式的格式和功能如下:格式:條件?表達(dá)式1:表達(dá)式2功能:如果
16、條件成立,取表達(dá)式1的值,否則取表達(dá)式2的值。說明:條件表達(dá)式可以嵌套,與其前最近一個尚未配對的if配對。switch語句的格式和功能如下:格式:5.1.5.1.說明break語句只能用于switch語句和循環(huán)。switch(表達(dá)式)case常量i:語句組idefault:語句組n+1功能:如果表達(dá)式的值等于常量i,則從語句組i開始執(zhí)行,否則執(zhí)行語句組n+1。說明:(1)“表達(dá)式”的值和“常量”為整型(包括字符型)。(2) switch中的每個語句組稱作一個分支,為使各分支獨(dú)立,通常以return、exit等語句結(jié)尾。另外,“default:語句組n+T可以缺省。break、5.8.5.8.
17、break語句的格式和功能如下:格式功能break;結(jié)束本層switch語句或本層循環(huán)語句。說明break語句只能用于switch語句和循環(huán)。第6章 循環(huán)結(jié)構(gòu)程序設(shè)計6.1.6.1.while格式:功能:說明語句的格式和功能如下:while(表達(dá)式)循環(huán)體 當(dāng)表達(dá)式的值為真時,重復(fù)執(zhí)行其后循環(huán)體。循環(huán)體是循環(huán)語句的內(nèi)嵌語句,可以是空或復(fù)合語句(下同)。6.2.6.2. do-while語句的格式和功能如下: 格式:do循環(huán)體while(表達(dá)式)功能:重復(fù)執(zhí)行循環(huán)體,直到表達(dá)式的值為假。 說明:do-while循環(huán)至少執(zhí)行一次循環(huán)體。6.3.6.3.for語句的格式和功能如下:格式:for(表達(dá)
18、式1;表達(dá)式2;表達(dá)式3)循環(huán)體 功能:6.4.6.4.(1)計算表達(dá)式1;(2)當(dāng)表達(dá)式2的值為真時,重復(fù)執(zhí)行循環(huán)體和計算表達(dá)式 說明:表達(dá)式1、表達(dá)式2、表達(dá)式3均可缺省,但保留分號。continue語句的格式和功能如下:格式:continue;功能:跳過循環(huán)體中其后程序段(結(jié)束本次循環(huán))。說明:continue語句只能用于循環(huán)。3。6.5.6.5.掌握以下算法:累加、階乘、判斷素數(shù)、分解整數(shù)數(shù)字、遞推數(shù)列、打印字符 圖形。第7章數(shù)組7.17.1. .同一類型數(shù)據(jù)的序列稱作數(shù)組,數(shù)組中數(shù)據(jù)用相應(yīng)下標(biāo)變量訪問,因此,數(shù)組 亦可視為由下標(biāo)變量組成的序列。7272定義數(shù)組語句的一般格式和功能為:
19、格式:數(shù)據(jù)類型名 數(shù)組名第1維長度第n維長度功能:為數(shù)組分配連續(xù)內(nèi)存單元,用于存儲數(shù)組中的下標(biāo)變量(低維優(yōu)先),并將起始地址(又稱基址)賦給數(shù)組名。說明:數(shù)組長度只能為整型常量或整型常量表達(dá)式。7.37.3. .7.47.4. .7.57.5. .7.67.6. .7.77.7. .7.87.8. .數(shù)組的要素有:數(shù)據(jù)類型、數(shù)組名、維數(shù)及各維的長度。各維的長度必須是常 量,可用常量表達(dá)式表示,其值的整數(shù)位有效一一截斷取整。下標(biāo)變量的格式為:數(shù)組名第1維下標(biāo)第n維下標(biāo)下標(biāo)從0開始,可用表達(dá)式表示,其值的整數(shù)位有效。下標(biāo)最大值比長度小 下標(biāo)變量的使用與普通變量相同。定義數(shù)組的同時可對數(shù)組中的下標(biāo)變
20、量賦初值。格式:數(shù)據(jù)類型名 數(shù)組名第1維長度第n維長度=數(shù)據(jù)表功能:定義數(shù)組的同時將數(shù)據(jù)表中數(shù)據(jù)依次賦給數(shù)組中下標(biāo)變量,未賦值下標(biāo) 變量的初值為相應(yīng)數(shù)據(jù)類型的0。說明:數(shù)據(jù)表中的數(shù)據(jù)必須是常量,可用表達(dá)式表示。第1維長度可省略,如果省略,其長度由數(shù)據(jù)表和其它維長度確定一一存儲所需的最小長度。以字符為數(shù)據(jù)元素的數(shù)組稱作字符數(shù)組,它由一組字符型下標(biāo)變量組成。除賦 值外,字符數(shù)組名的使用與字符串變量相似。字符數(shù)組也可用字符串初始化。標(biāo)準(zhǔn)函數(shù)庫提供許多用于處理字符串的函數(shù)。表7.1常用字符串處理函數(shù)1。格式功能頭文件puts(串)依次輸出串中字符,遇到0終止,然后換行。stdio.hgets(串)讀入
21、一行字符,依次存入所分配的內(nèi)存空間,并追加0。strcat(串1,串2)將串2復(fù)制、連接到串1的第一個0處。strin g.hstrcpy(串1,串2)將串2復(fù)制到串1。strcmp(串1,串2)比較串1和串2的大小。strle n(串)求字符串的長度。7.97.9. .strlwr(串)將串中大寫字母均轉(zhuǎn)換為相應(yīng)小寫字母。stru pr(串)將串中小寫字母均轉(zhuǎn)換為相應(yīng)大寫字母。注意:輸出字符串及處理字符串的函數(shù),均忽略字符串中第一個0及其后的字符。7.10.7.10.掌握冒泡排序。第8章 函數(shù)8.1.8.1.8.2.8.2.8.3.8.3.8.4.8.4.自定義函數(shù)的格式為:函數(shù)值類型 函數(shù)
22、名(帶類型聲明的形參表列)函數(shù)體函數(shù)值的默認(rèn)數(shù)據(jù)類型為int。如果函數(shù)有返回值,則用return語句返回,其格式為:return表達(dá)式;或return(表達(dá)式);如果函數(shù)無返回值,即函數(shù)值類型為void,亦可用格式:return;8.5.8.5.8.6.8.6.8.7.8.7.8.8.8.8.8.9.8.9.結(jié)束本函數(shù)并返回調(diào)用者。函數(shù)一般調(diào)用格式為:函數(shù)名(實(shí)參表列)其中,實(shí)參表列為一組逗號分隔的表達(dá)式。實(shí)參按從右至左的次序計算并傳遞 給相應(yīng)形參。 如果函數(shù)調(diào)用在其定義之前,調(diào)用前應(yīng)作相應(yīng)聲明,聲明格式為: 函數(shù)值類型名 函數(shù)名(形參及其類型聲明表列);其中,形參可省略。 函數(shù)不可嵌套定義,
23、但允許嵌套調(diào)用,亦可直接或間接調(diào)用自身(稱作遞歸函數(shù))。 遞歸函數(shù)的函數(shù)體的一般格式為:(B班同學(xué)不作要求)if(遞歸條件)語句1 else語句2或if(!遞歸條件)語句1 else語句2/*/*遞歸時,如何遞歸*/非遞歸時,如何處理*/非遞歸時,如何處理*/遞歸時,如何遞歸*/形參及函數(shù)內(nèi)定義的變量稱作局部變量,它從定義處生效,且只在該函數(shù)內(nèi)有 效。因此,不同函數(shù)中的局部變量可以同名,但同名不同義。/*/*8.10.8.10.在所有函數(shù)之外定義的變量稱作全局變量,它從定義處生效。8.11.8.11.如果局部變量與全局變量同名,則同名全局變量被屏蔽。8.12.8.12.局部變量的存儲方式分為:
24、自動(auto,默認(rèn))、靜態(tài)(static)、寄存器(register)。8.13.8.13.存儲方式和數(shù)據(jù)類型是變量的兩個重要屬性,必須在定義變量時一并聲明,關(guān) 鍵字的排列順序沒有限制。 變量的默認(rèn)數(shù)據(jù)類型為int,默認(rèn)存儲方式為auto, 但關(guān)鍵字auto和int不可同時缺省。8.14.8.14. auto型局部變量占用動態(tài)數(shù)據(jù)區(qū), 當(dāng)函數(shù)調(diào)用結(jié)束時釋放所占內(nèi)存。register占用CPU中的寄存器,但寄存器不夠用時,占用動態(tài)數(shù)據(jù)區(qū)。8.15.8.15.全局變量和static型局部變量占用靜態(tài)數(shù)據(jù)區(qū), 默認(rèn)初值為相應(yīng)數(shù)據(jù)類型的0。8.16.8.16. static型局部變量的聲明和初始化只
25、執(zhí)行一次。8.17.8.17.如果全局變量被聲明為static型,則其它程序文件不能使用該全局變量。否 則,其它程序文件也可使用該全局變量,但使用前應(yīng)作extern聲明。8.18.8.18.被聲明為static型的函數(shù),只在本程序文件中有效,不能被其它程序文件調(diào) 用。否則,其它程序文件也可調(diào)用此函數(shù),但調(diào)用前應(yīng)作extern聲明。8.19.8.19.常用數(shù)學(xué)函數(shù)在頭文件math.h中。掌握基本初等函數(shù)。第9章 預(yù)處理命令預(yù)處理命令在程序編譯前執(zhí)行, 其主要功能是“文本置換”。不帶參數(shù)宏定義的格式和功能如下:格式:#define宏名 文本 功能:在預(yù)處理時,將程序中宏名用相應(yīng)的文本置換。 帶參數(shù)
26、宏定義的格式和功能如下: 格式:#define宏名(形參表列)文本 功能:在預(yù)處理時,將程序中帶參數(shù)的宏用相應(yīng)的文本置換,且文本中的形參 被相應(yīng)的實(shí)參所置換。注意:形參無須且做類型聲明。9.9.9.9.注釋命令在預(yù)處理時被刪除, 不影響源程序和目標(biāo)程序。 注釋命令的格式如下:/*注釋內(nèi)容*/9.1.9.1.9.2.9.2.9.3.9.3.9.4.9.4.終止宏定義的格式如下: 格式#undef宏名9.5.9.5.9.6.9.6.9.7.9.7.宏定義可以引用已有的宏,亦可重新定義所代表的文本。預(yù)處理命令無須以分號結(jié)尾,否則分號也參與置換。命令的格式和功能如下:#include 文件名#incl
27、ude #include格式一: 格式二: 功能:在預(yù)處理時,用指定文件置換本命令加載文件。置換后,被包含文 件成為本文件的一部分,其函數(shù)、全局變量等均可在本文件中直接使用,無須 作extern聲明。前一種格式先在當(dāng)前目錄中找指定文件,如果未找到,方到 存放C頭文件的目錄中查找。后一種格式直接到存放C頭文件的目錄中查找指 定文件。9.8.9.8.條件編譯命令的格式和功能如下:格式一:#ifdef宏名 程序段1 #else程序段2 #endif功能:在預(yù)處理時,如果指定的宏名已定義,則用程序段1置換本命令,否則 用程序段2置換本命令。當(dāng)程序段2為空時,#else可省略(下同)。格式二:#ifnd
28、ef宏名 程序段1 #else程序段2 #endif功能:在預(yù)處理時,如果指定的宏名未定義,則用程序段1置換本命令,否則 用程序段2置換本命令。格式三:#if常量表達(dá)式 程序段1 #else程序段2 #endif功能:在預(yù)處理時,如果指定常量表達(dá)式的值為真(非0),則用程序段1置換 本命令,否則用程序段2置換本命令。第10章 指針10.1.10.1.內(nèi)存的基本單位是字節(jié),每個字節(jié)都有相應(yīng)的編號,稱作地址或指針。借助于 指針,C語言可以直接訪問內(nèi)存,從而對硬件進(jìn)行操作。10.2.10.2.變量所占用內(nèi)存的大小由其數(shù)據(jù)類型決定,變量所占用內(nèi)存的第1個字節(jié)的地 址稱作該變量的地址或指針,表為:&變量
29、名10.3.10.3.指針?biāo)赶驍?shù)據(jù)的類型稱作該指針的基類型,它所指向數(shù)據(jù)用*指針訪問,可作為普通變量使用。10.4.10.4.指針本身也是一種數(shù)據(jù)類型,占用2字節(jié)內(nèi)存,可作為無符號整數(shù)輸出和參與 關(guān)系運(yùn)算、邏輯運(yùn)算,但指針的其它運(yùn)算不同于整數(shù)運(yùn)算。10.5.10.5.指針運(yùn)算可簡單地分為以下五類: 單目運(yùn)算有六個:!、&、*、+、-、sizeof。 雙目運(yùn)算有四種:-、關(guān)系運(yùn)算、邏輯運(yùn)算、賦值運(yùn)算。 指針與整數(shù)間的運(yùn)算有三個:+、-、 。 強(qiáng)制類型轉(zhuǎn)換運(yùn)算:( )。 結(jié)構(gòu)體成員運(yùn)算:-。+、-、+=、-=均以基類型數(shù)據(jù)為基本單位。10.7.10.7.對于一維數(shù)組來說,10.8.10.8. n
30、維數(shù)組可看作是以n-1維數(shù)組為元素的一維數(shù)組,數(shù)組名可看作是指向數(shù)組 中的第一個n-1維數(shù)組的指針。10.9.10.9.下標(biāo)變量可作為實(shí)參,但不可作為形參,實(shí)際上,它被誤認(rèn)為指針。10.10.10.10.C源程序經(jīng)編譯后, 系統(tǒng)為源程序中的每個函數(shù)均分配一個入口地址, 作函數(shù)指針。在C源程序中,函數(shù)指針用函數(shù)名表示,其值不可修改。以函數(shù) 指針為值的變量稱作函數(shù)指針變量,其定義格式為:(1)(2)(3)(4)(5)其中,+、-10.6.10.6.一維數(shù)組的數(shù)組名可作為指針調(diào)用,它指向數(shù)組中的第一個元素,以數(shù)組中元 數(shù)組名的值不可修改, 且sizeof(數(shù)組名)的值為整個數(shù)組素的類型為基類型。所占
31、內(nèi)存的字節(jié)數(shù)。均指向數(shù)組中的第i+1均表示數(shù)組中的第i+1基址+i和&基址i個元素(i=0);*(基址+i)和基址i個元素(i=0)。1標(biāo)注表示此部分為非考試內(nèi)容。函數(shù)類型名(*函數(shù)指針變量名)();可用下述格式代替函數(shù)名:(*函數(shù)指針)10.11.10.11.探1函數(shù)返回值可以是指針,定義函數(shù)的一般格式為:基類型*函數(shù)名(形參列表)函數(shù)體10.12.10.12.不允許將非0數(shù)直接賦給指針變量,須做強(qiáng)制轉(zhuǎn)換。當(dāng)指針變量的值為0時, 稱之為空指針。10.13.10.13.探 以指針為元素的數(shù)組稱作指針數(shù)組。10.14.10.14.探以指針為基類型的指針稱作指向指針的指針,以指向指針的指針為值的
32、變量稱作指向指針的指針變量,其定義格式為:存儲方式關(guān)鍵字 基類型名*指向指針的指針變量名10.15.10.15.探C源程序經(jīng)編譯、連接所得目標(biāo)程序(exe文件)可作為DOS外部命令使用, 命令行的一般式為:路徑目標(biāo)程序文件名參數(shù)1參數(shù)2參數(shù)n10.16.10.16.探C主函數(shù)main可帶兩個形參,前者為int型,用于接收命令行中字符串 個數(shù),后者為字符串指針數(shù)組,用于接收命令行中各字符串。帶參主函數(shù)的格 式為:void main(int形參1,char *形參2 ) 函數(shù)體其中,形參1二參數(shù)個數(shù)+1形參20=路徑目標(biāo)程序文件名形參2i=參數(shù)i,i=1,2,n第11章 結(jié)構(gòu)體與共用體11.1.11.1.聲明結(jié)構(gòu)體語句的一般格式為:struct標(biāo)識符成員表列;其中,成員表列為一組聲明變量的語句,這些變量稱作該結(jié)構(gòu)體的成員,又稱 數(shù)據(jù)項(xiàng)、分量、域、字段等。語句結(jié)尾處的分號不可缺省,標(biāo)識符可以省略, 如果不省略標(biāo)識符,則新增一個數(shù)據(jù)類型(名):struct標(biāo)識符11.2.11.2.定義結(jié)構(gòu)體變量的一般格式為:struct標(biāo)識符 變量表列;也可在聲明結(jié)構(gòu)體的同時定義變量:struct標(biāo)識符成員表列變量表列;11.3.11.3.結(jié)構(gòu)體變量可在定義時賦初值,類似于數(shù)組賦初值。11.4.11.4.結(jié)構(gòu)體變量的整體使用有以下四種
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 南通科技職業(yè)學(xué)院《數(shù)字通信系統(tǒng)設(shè)計原理》2023-2024學(xué)年第二學(xué)期期末試卷
- 寧夏財經(jīng)職業(yè)技術(shù)學(xué)院《服務(wù)設(shè)計專題》2023-2024學(xué)年第二學(xué)期期末試卷
- 大連航運(yùn)職業(yè)技術(shù)學(xué)院《舞蹈專業(yè)教學(xué)法》2023-2024學(xué)年第二學(xué)期期末試卷
- 益陽醫(yī)學(xué)高等??茖W(xué)?!禘xportMarketing》2023-2024學(xué)年第二學(xué)期期末試卷
- 滄州幼兒師范高等??茖W(xué)校《工程造價管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 冀中職業(yè)學(xué)院《行政職業(yè)能力》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西青年職業(yè)學(xué)院《創(chuàng)業(yè)教育與就業(yè)指導(dǎo)下》2023-2024學(xué)年第二學(xué)期期末試卷
- 黑龍江林業(yè)職業(yè)技術(shù)學(xué)院《小動物臨床用藥專題》2023-2024學(xué)年第二學(xué)期期末試卷
- 北京藝術(shù)傳媒職業(yè)學(xué)院《機(jī)械制圖1(下)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2021年電力工程室外落水管及散水施工作業(yè)指導(dǎo)書
- 《移動通信市場推廣策略》課件
- 2024年湖南工業(yè)職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測驗(yàn)歷年參考題庫(頻考版)含答案解析
- 2024年湖南司法警官職業(yè)學(xué)院高職單招職業(yè)技能測驗(yàn)歷年參考題庫(頻考版)含答案解析
- 2025年國家藥品監(jiān)督管理局藥品審評中心招聘11人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年廣東省《輔警招聘考試必刷500題》考試題庫含必背答案
- 餐飲企業(yè)牛奶產(chǎn)品推廣方案
- 2025年中國南光集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 工程造價鑒定申請書
- 五年級下冊數(shù)學(xué)北師大版課件練習(xí)一
- 《房屋建筑發(fā)展史》課件
- 第6章平面圖形的初步認(rèn)識數(shù)學(xué)探究雞蛋餅的分割教案2024-2025學(xué)年蘇科版(2024)七年級數(shù)學(xué)上冊
評論
0/150
提交評論