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