一、C語(yǔ)言基本常識(shí)1、語(yǔ)言由函數(shù)組成 2、main是程序入口 3、C語(yǔ)言中不能出現(xiàn)中文或中文字符 (注釋和字符串除外) 關(guān)鍵字 : C語(yǔ)言提供表示特殊含義的單詞。 特點(diǎn) : 1、 全部小寫(xiě) ;2、在Xcode中是紫褐色。 標(biāo)識(shí)符 : 程序員自己在代碼中為某些東西起的名字。 規(guī)則 : 1、字母、數(shù)字、下劃線組成;2、嚴(yán)格區(qū)分大小寫(xiě);3、不能以數(shù)字開(kāi)頭;4、不能與關(guān)鍵字重名。 規(guī)范:駝峰標(biāo)識(shí)。 注釋:對(duì)代碼的解釋說(shuō)明,它是程序員看的,它不參與編譯。 包括單行注釋 和 多行注釋(多行注釋可以嵌套單行注釋,但多行注釋不能嵌套多行注釋)。 數(shù)據(jù):存儲(chǔ)時(shí)長(zhǎng):靜態(tài)數(shù)據(jù):存儲(chǔ)在硬盤(pán)上的數(shù)據(jù);動(dòng)態(tài)數(shù)據(jù):內(nèi)存中的數(shù)據(jù)。 常量:不可以改變的量。 變量:可以改變的量。 二、數(shù)據(jù)類型1、基本數(shù)據(jù)類型 int——4字節(jié)——%d %i float——4字節(jié)——%f double——8字節(jié)——%lf char——1字節(jié)——%c 枚舉:枚舉的本質(zhì)是整型(enum) 場(chǎng)合:當(dāng)某個(gè)東西只有幾個(gè)固定取值的時(shí)候 特點(diǎn):先定義枚舉類型,根據(jù)枚舉類型定義枚舉變量 2、構(gòu)造類型 (1)數(shù)組:用來(lái)從年初相同數(shù)據(jù)類型的多個(gè)數(shù)據(jù)的集合 定義:數(shù)據(jù)類型 數(shù)組名稱 [元素個(gè)數(shù)] 遍歷:把所有的元素都拿出來(lái)看一下(循環(huán)) (2)結(jié)構(gòu)體:多個(gè)數(shù)據(jù)放在一起可以表示特定的含義組成結(jié)構(gòu)體 特點(diǎn):先定義結(jié)構(gòu)體類型,然后定義結(jié)構(gòu)體變量 結(jié)構(gòu)體與函數(shù):如同基本數(shù)據(jù)類型與函數(shù)的關(guān)系 三、指針:指針就是地址1、指針變量:用來(lái)存放地址的變量。 (1)指針只有初始化了才可以訪問(wèn)它所指向的存儲(chǔ)空間; (2)如果一個(gè)指針沒(méi)有初始化,它里面是垃圾值,稱為野指針; (3)不能直接賦值一個(gè)整形數(shù)。 2、基本數(shù)據(jù)類型的指針: 指向基本數(shù)據(jù)類型的指針。 格式:數(shù)據(jù)類型 * 指針變量名稱。 3、結(jié)構(gòu)體的指針: 指向結(jié)構(gòu)體類型的指針。 格式:結(jié)構(gòu)體類型 * 指針變量名稱。 訪問(wèn)其所指向的結(jié)構(gòu)體成員方式; (*指針變量名稱).成員名稱;指針變量名稱->成員名稱。 4、數(shù)組指針: 指向數(shù)組的指針; 格式: 所指向的數(shù)組的數(shù)據(jù)類型 (*指針變量名稱)[所指向的數(shù)組的元素個(gè)數(shù)]。 這種指針與二位數(shù)組名是等價(jià)的。 5、函數(shù)指針: 指向函數(shù)的指針。 格式: 所指向函數(shù)的返回值類型(*指針變量名稱)[所指向函數(shù)的形參列表]。 通過(guò)函數(shù)指針調(diào)用函數(shù);(*指針變量名稱)(實(shí)參列表);指針變量名稱(實(shí)參列表)。 四、運(yùn)算符1、算數(shù)運(yùn)算符 + - * / % 2、賦值運(yùn)算符 = += -= *= /= %= 3、自增自減運(yùn)算符 ++a , a++ --a , a-- 4、sizeof運(yùn)算符:用來(lái)計(jì)算變量、常量、數(shù)據(jù)類型所占用存儲(chǔ)空間的字節(jié)數(shù) sizeof(常量) sizeof常量 sizeof(變量) sizeof變量 sizeof(數(shù)據(jù)類型) 5、逗號(hào)運(yùn)算符 1、運(yùn)算順序是從左到右 2、逗號(hào)表達(dá)式的運(yùn)算結(jié)構(gòu)為最后一個(gè)表達(dá)式的值 6、關(guān)系運(yùn)算符 == != > < >= <= 7、邏輯運(yùn)算符 && || ! 8、三目運(yùn)算符 條件表達(dá)式 ? 結(jié)果1 : 結(jié)果2 優(yōu)先級(jí):一般優(yōu)先級(jí)越高越先進(jìn)行計(jì)算 結(jié)合方向:當(dāng)優(yōu)先級(jí)相同時(shí),計(jì)算方向(從左到右,從右往左) 五、 流程控制:控制程序的執(zhí)行流程1、順序結(jié)構(gòu):按照從上到下的順序執(zhí)行 2、分支結(jié)構(gòu):相當(dāng)于岔路口,當(dāng)條件滿足的時(shí)候就執(zhí)行某段代碼 (1)if 語(yǔ)句: ◎ if 必須以if 開(kāi)頭 ◎ if 可以有多個(gè)else if ◎ if 語(yǔ)句最多有一個(gè)else ◎ if 語(yǔ)句中對(duì)多只有一個(gè)代碼塊會(huì)被執(zhí)行 ◎ 如果有 else 那么必然有一個(gè)代碼塊會(huì)被執(zhí)行 (2)switch 語(yǔ)句: 當(dāng)變量與否個(gè)常量相等時(shí)執(zhí)行這個(gè)常量所對(duì)應(yīng)代碼塊中的語(yǔ)句
3、循環(huán)結(jié)構(gòu):當(dāng)條件滿足就會(huì)一直執(zhí)行循環(huán)體中的代碼,直到條件不再滿足為止 (1)while 語(yǔ)句:當(dāng)條件滿足的時(shí)候就執(zhí)行while后面大括號(hào)中的語(yǔ)句 (2)do while:循環(huán)體中代碼至少執(zhí)行一次 (3)for語(yǔ)句: (4)break:1、在switch語(yǔ)句中用來(lái)結(jié)束switch語(yǔ)句;2、用在循環(huán)結(jié)構(gòu)中,用結(jié)束當(dāng)前的循環(huán)語(yǔ)句。 (5)continue:只能用在循環(huán)結(jié)構(gòu)中,跳過(guò)本次循環(huán)體重continue后面的語(yǔ)句,進(jìn)入下一個(gè)條件判斷。 六、函數(shù) : 完成特定功能的代碼段定義格式: 函數(shù)聲明:告訴編譯器該函數(shù)已經(jīng)存在了(函數(shù)的聲明可以有多個(gè),定義只能有一個(gè))。 函數(shù)參數(shù): 1、基本數(shù)據(jù)類型作為函數(shù)參數(shù)傳遞是值傳遞; 2、數(shù)組作為函數(shù)參數(shù)傳遞是地址傳遞; 3、指針作為函數(shù)參數(shù)傳遞是地址傳遞; 4、結(jié)構(gòu)體作為函數(shù)參數(shù)傳遞與基本數(shù)據(jù)類型一致。 函數(shù)返回值:函數(shù)完成功能后要返回給主調(diào)函數(shù)中的數(shù)據(jù)。 1、返回值的類型必須與返回值的類型一致; 2、一個(gè)函數(shù)只能有一個(gè)返回值; return 作用:返回值給主調(diào)函數(shù),結(jié)束函數(shù)。 七、預(yù)處理指令:在編譯之前需要進(jìn)行解析處理的指令1、宏定義: 不帶參數(shù)的宏定義:在編譯之前,使用宏名后面值,替換代碼中所有出現(xiàn)宏名標(biāo)識(shí)的地方 帶參數(shù)的宏定義:把參數(shù)帶入宏名表達(dá)式中,然后替換宏調(diào)用的地方 2、條件編譯:在編譯的時(shí)候,當(dāng)條件滿足時(shí)就編譯某段代碼 #if開(kāi)頭 #elif #else #endif結(jié)尾 #ifdef #endif #ifndef #endif 3、文件包含: #include ——拷貝所包含的文件內(nèi)容到#include指令所在地方。 #include " " ——包含自己的文件。 #include < > ——包含系統(tǒng)的頭文件。 4、進(jìn)制: 十進(jìn)制 二進(jìn)制:0b 或0B 八進(jìn)制:0——%o 或 %0 十六進(jìn)制:0x或0X——%x或%X 位運(yùn)算:& | ^ ~ >> << |
|