主要是講c 得入門注意事項
目 錄 1 愉快的開始-hello world..................................................................................... 14 1.1 include頭文件包含............................................................................................ 14 1.2 main函數(shù)............................................................................................................ 14 1.3 注釋.................................................................................................................... 14 1.4 {}括號,程序題和代碼塊.................................................................................. 14 1.5 聲明.................................................................................................................... 14 1.6 C語言自定義名字的要求................................................................................... 15 1.7 printf函數(shù)......................................................................................................... 15 1.8 return語句........................................................................................................ 15 1.9 System系統(tǒng)調(diào)用................................................................................................ 15 1.9.1 System返回值在windows和unix下的不同,.............................................. 15 1.9.2 POSIX............................................................................................................. 15 1.10 C語言編譯過程,gcc參數(shù)簡介............................................................................ 16 1.10.1 C語言編譯過程........................................................................................... 16 1.10.2 -E預(yù)編譯..................................................................................................... 16 1.10.3 -S匯編......................................................................................................... 16 1.10.4 -c編譯......................................................................................................... 16 1.10.5 鏈接............................................................................................................. 16 1.11 操作系統(tǒng)結(jié)構(gòu)..................................................................................................... 17 1.11.1 用戶模式...................................................................................................... 17 1.11.2 內(nèi)核模式...................................................................................................... 17 1.12 64位,32位系統(tǒng)區(qū)別....................................................................................... 18 1.12.1 CPU內(nèi)部結(jié)構(gòu)與寄存器............................................................................... 18 1.12.2 RISC與CISC CPU構(gòu)架.............................................................................. 18 1.12.3 SPARC,x86與ARM................................................................................. 18 1.13 匯編語言............................................................................................................. 18 1.13.1 I386匯編簡介............................................................................................ 18 1.13.2 VS反匯編.................................................................................................... 19 1.14 IDE工具............................................................................................................. 19 1.14.1 QT常用快捷鍵............................................................................................ 19 1.14.2 VS常用快捷鍵............................................................................................. 19 1.14.3 VS斷點,調(diào)試............................................................................................. 19 2 C語言中的數(shù)據(jù)類型.................................................................................................. 19 2.1 常量.................................................................................................................... 19 2.1.1 #define........................................................................................................... 19 2.1.2 const............................................................................................................... 19 2.2 字符串常量......................................................................................................... 20 2.3 二進制數(shù)、位、字節(jié)與字................................................................................... 20 2.4 八進制................................................................................................................. 20 2.5 十六進制............................................................................................................. 20 2.6 原碼.................................................................................................................... 21 2.7 反碼.................................................................................................................... 21 2.8 補碼.................................................................................................................... 21 2.9 sizeof關(guān)鍵字...................................................................................................... 22 2.10 int類型.............................................................................................................. 22 2.10.1 int常量,變量............................................................................................ 22 2.10.2 printf輸出int值......................................................................................... 23 2.10.3 printf輸出八進制和十六進制..................................................................... 23 2.10.4 short,long,long long,unsigned int.................................................. 23 2.10.5 整數(shù)溢出...................................................................................................... 23 2.10.6 大端對齊與小端對齊................................................................................... 23 2.11 char類型............................................................................................................ 24 2.11.1 char常量,變量.......................................................................................... 24 2.11.2 printf輸出char.......................................................................................... 24 2.11.3 不可打印char轉(zhuǎn)義符................................................................................. 24 2.11.4 char和unsigned char............................................................................... 25 2.12 浮點float,double,long double類型................................................................. 25 2.12.1 浮點常量,變量.......................................................................................... 25 2.12.2 printf輸出浮點數(shù)....................................................................................... 25 2.13 類型限定............................................................................................................. 25 2.13.1 const........................................................................................................... 25 2.13.2 volatile........................................................................................................ 26 2.13.3 register....................................................................................................... 26 3 字符串格式化輸出和輸入.......................................................................................... 26 3.1 字符串在計算機內(nèi)部的存儲方式....................................................................... 26 3.2 printf函數(shù),putchar函數(shù)................................................................................ 27 3.3 scanf函數(shù)與getchar函數(shù)................................................................................ 28 4 運算符表達式和語句.................................................................................................. 29 4.1 基本運算符......................................................................................................... 29 4.1.1 =...................................................................................................................... 29 4.1.2 +...................................................................................................................... 29 4.1.3 –...................................................................................................................... 29 4.1.4 *...................................................................................................................... 29 4.1.5 /...................................................................................................................... 29 4.1.6 %.................................................................................................................... 29 4.1.7 +=................................................................................................................... 29 4.1.8 -=.................................................................................................................... 29 4.1.9 *=................................................................................................................... 29 4.1.10 /=................................................................................................................ 30 4.1.11 %=.............................................................................................................. 30 4.1.12 ++............................................................................................................... 30 4.1.13 --.................................................................................................................. 30 4.1.14 逗號運算符.................................................................................................. 30 4.1.15 運算符優(yōu)先級.............................................................................................. 30 4.2 復(fù)合語句............................................................................................................. 31 4.3 空語句................................................................................................................. 31 4.4 類型轉(zhuǎn)化............................................................................................................. 31 5 條件分支語句............................................................................................................. 31 5.1 關(guān)系運算符......................................................................................................... 31 5.1.1 <...................................................................................................................... 31 5.1.2 <=................................................................................................................... 31 5.1.3 >...................................................................................................................... 32 5.1.4 >=................................................................................................................... 32 5.1.5 ==................................................................................................................... 32 5.1.6 !=.................................................................................................................... 32 5.2 關(guān)系運算符優(yōu)先級.............................................................................................. 32 5.3 邏輯運算符......................................................................................................... 32 5.3.1 &&................................................................................................................... 32 5.3.2 ||.................................................................................................................... 32 5.3.3 !....................................................................................................................... 33 5.4 if......................................................................................................................... 33 5.5 if else.................................................................................................................. 34 5.6 if else if.............................................................................................................. 34 5.7 switch與break,default.................................................................................... 35 5.8 條件運算符?..................................................................................................... 36 5.9 goto語句與標(biāo)號................................................................................................ 36 6 循環(huán)語句.................................................................................................................... 36 6.1 while................................................................................................................... 36 6.2 continue............................................................................................................. 37 6.3 break.................................................................................................................. 37 6.4 do while.............................................................................................................. 37 6.5 for...................................................................................................................... 37 6.6 循環(huán)嵌套............................................................................................................. 37 7 數(shù)組............................................................................................................................ 38 7.1 一維數(shù)組定義與使用.......................................................................................... 38 7.2 數(shù)組在內(nèi)存的存儲方式...................................................................................... 38 7.3 一維數(shù)組初始化.................................................................................................. 38 7.4 二維數(shù)組定義與使用.......................................................................................... 39 7.5 二維數(shù)組初始化.................................................................................................. 39 8 字符串與字符數(shù)組..................................................................................................... 39 8.1 字符數(shù)組定義..................................................................................................... 39 8.2 字符數(shù)組初始化.................................................................................................. 39 8.3 字符數(shù)組使用..................................................................................................... 40 8.4 隨機數(shù)產(chǎn)生函數(shù)rand與srand......................................................................... 40 8.5 用scanf輸入字符串........................................................................................... 40 8.6 字符串的結(jié)束標(biāo)志.............................................................................................. 41 8.7 字符串處理函數(shù).................................................................................................. 41 8.7.1 gets................................................................................................................. 41 8.7.2 fgets函數(shù)....................................................................................................... 41 8.7.3 puts函數(shù)........................................................................................................ 42 8.7.4 fputs函數(shù)....................................................................................................... 42 8.7.5 strlen,字符串長度........................................................................................ 42 8.7.6 strcat,字符串追加........................................................................................ 42 8.7.7 strncat,字符串有限追加.............................................................................. 43 8.7.8 strcmp,字符串比較...................................................................................... 43 8.7.9 strncmp,字符串有限比較............................................................................ 43 8.7.10 strcpy字符串拷貝...................................................................................... 43 8.7.11 strncpy字符串有限拷貝............................................................................. 43 8.7.12 sprintf,格式化字符串............................................................................... 43 8.7.13 Sscanf函數(shù)................................................................................................. 44 8.7.14 strchr查找字符........................................................................................... 44 8.7.15 strstr查找子串........................................................................................... 44 8.7.16 strtok分割字符串....................................................................................... 44 8.7.17 atoi轉(zhuǎn)化為int............................................................................................ 45 8.7.18 atof轉(zhuǎn)化為float......................................................................................... 45 8.7.19 atol轉(zhuǎn)化為long......................................................................................... 45 9 函數(shù)............................................................................................................................ 45 9.1 函數(shù)的原型和調(diào)用.............................................................................................. 45 9.2 函數(shù)的形參與實參.............................................................................................. 45 9.3 函數(shù)的返回類型與返回值................................................................................... 46 9.4 main函數(shù)與exit函數(shù)與函數(shù)的return語句.................................................... 46 9.5 多個源代碼文件程序的編譯............................................................................... 47 9.5.1 頭文件的使用.............................................................................................. 47 9.5.2 #include與#define的意義........................................................................... 47 9.5.3 #ifndef與#endif............................................................................................ 47 9.6 函數(shù)的遞歸......................................................................................................... 48 9.6.1 遞歸的過程分析.......................................................................................... 48 9.6.2 遞歸的優(yōu)點.................................................................................................. 52 9.6.3 遞歸的缺點.................................................................................................. 52 1 指針............................................................................................................................ 52 1.1 指針.................................................................................................................... 52 1.1.1 指針的概念.................................................................................................. 52 1.1.2 指針變量的定義.......................................................................................... 52 1.1.3 &取地址運算符............................................................................................... 52 1.1.4 無類型指針.................................................................................................. 52 1.1.5 NULL............................................................................................................... 53 1.1.6 空指針與野指針.......................................................................................... 53 1.1.7 指針的兼容性.............................................................................................. 53 1.1.8 指向常量的指針與指針常量........................................................................ 54 1.1.9 指針與數(shù)組的關(guān)系....................................................................................... 54 1.1.10 指針運算...................................................................................................... 54 1.1.11 通過指針使用數(shù)組元素............................................................................... 55 1.1.12 指針數(shù)組...................................................................................................... 55 1.1.13 指向指針的指針(二級指針).................................................................... 55 1.1.14 指向二維數(shù)組的指針................................................................................... 57 1.1.15 指針變量做為函數(shù)的參數(shù)........................................................................... 57 1.1.16 一維數(shù)組名作為函數(shù)參數(shù)........................................................................... 57 1.1.17 二維數(shù)組名作為函數(shù)參數(shù)........................................................................... 58 1.1.18 const關(guān)鍵字保護數(shù)組內(nèi)容......................................................................... 58 1.1.19 指針做為函數(shù)的返回值............................................................................... 58 1.1.20 指向函數(shù)的指針.......................................................................................... 59 1.1.21 把指向函數(shù)的指針做為函數(shù)的參數(shù)............................................................ 60 1.1.22 memset,memcpy,memmove函數(shù)............................................................ 61 1.1.23 指針小結(jié)...................................................................................................... 63 2 字符指針與字符串..................................................................................................... 64 2.1 指針和字符串..................................................................................................... 64 2.2 通過指針訪問字符串?dāng)?shù)組................................................................................... 64 2.3 函數(shù)的參數(shù)為char *.......................................................................................... 64 2.4 指針數(shù)組做為main函數(shù)的形參......................................................................... 65 3 內(nèi)存管理.................................................................................................................... 65 3.1 作用域................................................................................................................. 65 3.1.1 auto自動變量................................................................................................. 65 3.1.2 register寄存器變量....................................................................................... 65 3.1.3 代碼塊作用域的靜態(tài)變量........................................................................... 66 3.1.4 代碼塊作用域外的靜態(tài)變量........................................................................ 66 3.1.5 全局變量...................................................................................................... 66 3.1.6 外部變量與extern關(guān)鍵字.......................................................................... 66 3.1.7 全局函數(shù)和靜態(tài)函數(shù)................................................................................... 66 3.2 內(nèi)存四區(qū)............................................................................................................. 66 3.2.1 代碼區(qū)......................................................................................................... 67 3.2.2 靜態(tài)區(qū)......................................................................................................... 67 3.2.3 棧區(qū)............................................................................................................. 67 3.2.4 棧溢出......................................................................................................... 68 3.2.5 堆區(qū)............................................................................................................. 68 3.3 堆的分配和釋放.................................................................................................. 70 3.3.1 malloc............................................................................................................. 70 3.3.2 free.................................................................................................................. 70 3.3.3 calloc:............................................................................................................. 70 3.3.4 realloc............................................................................................................. 71 4 結(jié)構(gòu)體,聯(lián)合體,枚舉與typedef......................................................................... 71 4.1 結(jié)構(gòu)體................................................................................................................. 71 4.1.1 定義結(jié)構(gòu)體struct和初始化....................................................................... 71 4.1.2 訪問結(jié)構(gòu)體成員.......................................................................................... 71 4.1.3 結(jié)構(gòu)體的內(nèi)存對齊模式............................................................................... 72 4.1.4 指定結(jié)構(gòu)體元素的位字段........................................................................... 72 4.1.5 結(jié)構(gòu)數(shù)組...................................................................................................... 72 4.1.6 嵌套結(jié)構(gòu)...................................................................................................... 73 4.1.7 結(jié)構(gòu)體的賦值.............................................................................................. 73 4.1.8 指向結(jié)構(gòu)體的指針....................................................................................... 73 4.1.9 指向結(jié)構(gòu)體數(shù)組的指針............................................................................... 73 4.1.10 結(jié)構(gòu)中的數(shù)組成員和指針成員.................................................................... 73 4.1.11 在堆中創(chuàng)建的結(jié)構(gòu)體................................................................................... 74 4.1.12 將結(jié)構(gòu)作為函數(shù)參數(shù)................................................................................... 74 4.1.13 結(jié)構(gòu),還是指向結(jié)構(gòu)的指針........................................................................ 74 4.2 聯(lián)合體................................................................................................................. 75 4.3 枚舉類型............................................................................................................. 75 4.3.1 枚舉定義...................................................................................................... 75 4.3.2 默認(rèn)值......................................................................................................... 76 4.4 typedef................................................................................................................ 76 4.5 通過typedef定義函數(shù)指針................................................................................ 76 5 文件操作.................................................................................................................... 77 5.1 fopen.................................................................................................................. 77 5.2 二進制和文本模式的區(qū)別................................................................................... 77 5.3 fclose................................................................................................................. 78 5.4 getc和putc函數(shù)................................................................................................ 78 5.5 EOF與feof函數(shù)文件結(jié)尾................................................................................. 78 5.6 fprintf,fscanf,fgets,fputs函數(shù)........................................................................ 78 5.7 stat函數(shù)............................................................................................................ 78 5.8 fread和fwrite函數(shù).......................................................................................... 79 5.9 fread與feof...................................................................................................... 79 5.10 通過fwrite將結(jié)構(gòu)保存到二進制文件中........................................................... 79 5.11 fseek函數(shù)........................................................................................................... 80 5.12 ftell函數(shù)............................................................................................................ 80 5.13 fflush函數(shù)......................................................................................................... 80 5.14 remove函數(shù)........................................................................................................ 81 5.15 rename函數(shù)....................................................................................................... 81 6 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)與算法.................................................................................................. 82 6.1 什么是數(shù)據(jù)結(jié)構(gòu).................................................................................................. 82 6.2 什么是算法......................................................................................................... 82 6.3 排序.................................................................................................................... 83 6.3.1 冒泡排序...................................................................................................... 83 6.3.2 選擇排序...................................................................................................... 83 6.4 查找.................................................................................................................... 83 6.4.1 順序查找...................................................................................................... 83 6.4.2 二分查找...................................................................................................... 83 6.5 鏈表.................................................................................................................... 84 6.5.1 單向鏈表定義.............................................................................................. 84 6.5.2 單向鏈表數(shù)據(jù)結(jié)構(gòu)定義............................................................................... 85 6.5.3 單向鏈表的實現(xiàn).......................................................................................... 85
0.png (43.97 KB, 下載次數(shù): 55)
下載附件
2017-1-7 15:14 上傳
完整的文檔下載:
C語言講義v1.0.doc
(4.2 MB, 下載次數(shù): 11)
2016-12-11 11:23 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|