第1 篇 C 語言入門
第1 章 C 語言入門基礎(教學視頻:58 分鍾) .............. 1
1.1 計算機語言的演變................ 1
1.1.1 機器語言................... 1
1.1.2 匯編語言................... 1
1.1.3 高級語言................... 1
1.1.4 麵嚮對象或麵嚮問題的高級語言........... 2
1.2 數製、數製轉換與存儲......... 2
1.2.1 數製....... 2
1.2.2 數製的轉換............... 3
1.2.3 計算機中數據的存儲.......... 4
1.3 程序設計思想——算法......... 5
1.3.1 算法的概念............... 5
1.3.2 算法的特點............... 5
1.3.3 算法的錶示方法........ 6
1.3.4 算法分析................... 8
1.4 C 語言的發展簡史和特點............... 8
1.4.1 C 語言的誕生與發展.......... 9
1.4.2 C 語言的特點.......... 10
1.5 本章小結......... 11
1.6 習題.................. 11
第2 章認識C 語言程序(教學視頻:30 分鍾) ........... 12
2.1 C 語言程序的結構特徵....... 12
2.2 C 語言程序的書寫風格....... 14
2.3 C 語言程序的開發過程....... 15
2.4 Visual C++集成開發環境.............. 16
2.4.1 熟悉Visual C++ 6.0 集成開發環境....... 17
2.4.2 C 語言在Visual C++ 6.0 的開發過程............. 18
2.5 用Visual C++ 6.0 運行一個C 程序.......... 19
2.6 本章小結......... 20
2.7 習題.................. 20
第2 篇 C 語言基礎
第3 章常量、變量與標識符(教學視頻:17 分鍾).................21
3.1 標識符.............21
3.1.1 標識符的命名.......... 21
3.1.2 保留字..................... 21
3.2 常量.................. 22
3.2.1 直接常量................. 22
3.2.2 符號常量................. 22
3.3 變量.................. 23
3.3.1 變量的定義............. 23
3.3.2 變量初始化的方法............ 23
3.4 變量的初始化...................... 24
3.5 本章小結......... 24
3.6 習題.................. 24
第4 章數據類型(教學視頻:28 分鍾)..............25
4.1 C 語言中的數據類型........... 25
4.1.1 基本數據類型.......... 25
4.1.2 構造數據類型.......... 26
4.1.3 指針數據類型.......... 26
4.1.4 空類型..................... 26
4.2 整型數據......... 26
4.2.1 整型常量................. 27
4.2.2 整型變量................. 27
4.3 實數型數據.................. 28
4.3.1 實數型常量............. 29
4.3.2 實數型變量............. 29
4.4 字符型數據.................. 30
4.4.1 字符型常量............. 30
4.4.2 字符型變量............. 31
4.5 數值型數據間的混閤運算............. 33
4.5.1 自動類型轉換.......... 33
4.5.2 強製類型轉換.......... 34
4.6 本章小結......... 36
4.7 習題.................. 36
第5 章運算符及其錶達式(教學視頻:57 分鍾) ........37
5.1 算術運算符及算術錶達式............. 37
5.1.1 算術運算符............. 37
5.1.2 算術錶達式............. 39
5.2 賦值運算符及賦值錶達式............. 39
5.2.1 賦值運算符............. 40
5.2.2 賦值錶達式............. 41
5.3 關係運算符及關係錶達式............. 42
5.3.1 關係運算符............. 42
5.3.2 關係錶達式............. 43
5.4 邏輯運算符及邏輯錶達式............. 44
5.4.1 邏輯運算符............. 44
5.4.2 邏輯運算規則......... 45
5.4.3 邏輯錶達式............. 46
5.5 條件運算符及條件錶達式............. 48
5.5.1 條件運算符............. 48
5.5.2 條件錶達式............. 49
5.6 逗號運算符及逗號錶達式............. 52
5.6.1 逗號運算符............. 52
5.6.2 逗號錶達式............. 53
5.7 位運算符......... 54
5.7.1 位邏輯運算符......... 54
5.7.2 移位運算符............. 56
5.7.3 位自反賦值運算符............ 57
5.8 位運算符......... 58
5.9 本章小結......... 59
5.10 習題............... 59
第6 章輸入與輸齣(教學視頻:65 分鍾).......... 60
6.1 C 語句概述.................. 60
6.1.1 流程控製語句......... 60
6.1.2 函數調用語句......... 64
6.1.3 錶達式語句............. 64
6.1.4 空語句..................... 64
6.1.5 復閤語句................. 64
6.2 輸入與輸齣函數.................. 65
6.2.1 格式輸齣函數......... 65
6.2.2 格式輸入函數......... 68
6.2.3 字符輸入與字符輸齣函數............. 72
6.3 整型數據的輸入與輸齣....... 74
6.3.1 整型數據的輸齣.................. 74
6.3.2 整型數據的輸入.................. 76
6.4 浮點型數據的輸入與輸齣............. 76
6.5 本章小結......... 77
6.6 習題.................. 77
第7 章順序結構與選擇結構(教學視頻:35 分鍾).................78
7.1 順序結構程序設計.............. 78
7.2 選擇結構程序設計.............. 80
7.2.1 if 語句..................... 80
7.2.2 switch 語句.............. 85
7.3 應用舉例......... 88
7.4 本章小結......... 91
7.5 習題.................. 91
第8 章循環結構程序設計(教學視頻:54 分鍾) ........92
8.1 while 語句........ 92
8.2 do…while 語句.................... 94
8.3 for 語句............ 97
8.3.1 for 循環結構............ 97
8.3.2 for 循環語句的嵌套........ 100
8.4 總結應用....... 102
8.4.1 幾種循環的比較.............. 102
8.4.2 循環語句的嵌套.............. 103
8.4.3 應用舉例............... 105
8.5 本章小結....... 108
8.6 習題............... 108
第9 章結構語句的轉移(教學視頻:13 分鍾) ..........109
9.1 break 語句.................. 109
9.2 跳齣循環結構.................... 111
9.2.1 問題1.................... 111
9.2.2 問題2.................... 112
9.3 continue 語句..................... 113
9.4 goto語句....... 114
9.5 本章小結....... 115
9.6 習題............... 115
第3 篇 C 語言進階
第10 章數組(教學視頻:78 分鍾) .........116
10.1 數組的概述...................... 116
10.2 一維數組.................. 117
10.2.1 一維數組的定義............ 117
10.2.2 一維數組的初始化........ 118
10.2.3 一維數組的引用............ 119
10.2.4 一維數組的程序舉例................ 120
10.3 二維數組.................. 126
10.3.1 二維數組的定義............ 126
10.3.2 二維數組的初始化........ 127
10.3.3 二維數組的引用............ 129
10.3.4 數組的程序舉例............ 131
10.4 本章小結.................. 133
10.5 習題............. 133
第11 章字符數組(教學視頻:45 分鍾) ......... 134
11.1 字符數組的定義....................134
11.2 字符數組的初始化................134
11.3 字符數組的引用....................135
11.4 字符數組與字符串的關係..............135
11.5 字符數組的輸入與輸齣........136
11.6 字符串處理函數....................137
11.6.1 輸入字符串函數gets .........138
11.6.2 輸齣字符串函數puts .........138
11.6.3 字符串測長度函數strlen ...............138
11.6.4 字符串比較函數strcmp.................138
11.6.5 字符串復製函數strcpy和strncpy ........139
11.6.6 字符串連接函數strcat .......139
11.7 應用舉例............140
11.8 本章小結............145
11.9 習題.........145
第12 章函數(教學視頻:43 分鍾)......... 146
12.1 函數的初步認識.............. 146
12.2 函數定義.................. 148
12.2.1 無參函數定義.................. 148
12.2.2 有參函數定義.................. 149
12.2.3 空函數定義......... 149
12.3 函數參數及返迴值.......... 150
12.3.1 函數的參數......... 150
12.3.2 函數的返迴值.................. 152
12.4 函數的參數傳遞.............. 153
12.4.1 函數參數的數值傳遞................ 153
12.4.2 函數參數的地址傳遞................ 154
12.5 應用舉例.................. 155
12.6 本章小結.................. 157
12.7 習題.............157
第13 章函數的調用(教學視頻:75 分鍾)..................158
13.1 函數調用的一般形式............158
13.2 函數調用的形式....................159
13.3 被調用函數的聲明與函數原型..................160
13.4 函數的嵌套調用和遞歸調用..........163
13.4.1 函數的嵌套調用.......163
13.4.2 函數的遞歸調用.......164
13.5 變量作用域........165
13.5.1 變量作用域和生存期.........165
13.5.2 局部變量和全局變量.........165
13.5.3 變量存儲類彆...........168
13.6 編譯預處理........172
13.6.1 宏定義.......................173
13.6.2 文件包含處理...........176
13.6.3 條件編譯...................177
13.7 本章小結............178
13.8 習題.........178
第14 章指針操作(教學視頻:67 分鍾)..........179
14.1 指針與地址...................... 179
14.2 指針和指針變量.............. 179
14.2.1 指針變量的定義............ 180
14.2.2 指針變量的引用............ 181
14.2.3 指針的運算......... 183
14.3 指針和數組...................... 186
14.3.1 數組的指針和指嚮數組的指針變量............ 187
14.3.2 指針數組和指嚮指針的指針............. 190
14.3.3 指嚮字符串的指針........ 193
14.3.4 數組名作為函數參數................ 194
14.4 指針和函數...................... 198
14.4.1 函數的指針和指嚮函數的指針變量............ 198
14.4.2 用指嚮函數的指針作為函數參數............... 199
14.4.3 指針數組作為函數參數............. 205
14.4.4 返迴指針值的函數........ 206
14.4.5 字符串指針作為函數參數......... 207
14.5 本章小結.................. 208
14.6 習題............. 208
第15 章結構體(教學視頻:77 分鍾) ............. 209
15.1 結構體類型定義.............. 209
15.1.1 結構體類型的說明........ 209
15.1.2 結構體類型的定義........ 209
15.2 結構體變量的定義與引用......... 211
15.2.1 結構體變量的定義與初始化............. 211
15.2.2 結構體變量的引用........ 213
15.3 結構數組.................. 216
15.3.1 結構數組的定義............ 216
15.3.2 結構數組的引用............ 217
15.4 結構體指針...................... 219
15.4.1 結構體指針變量的定義............ 219
15.4.2 結構體指針變量的引用............ 220
15.5 鏈錶............. 223
15.5.1 鏈錶概述............. 223
15.5.2 單鏈錶建立......... 225
15.5.3 單鏈錶簡單操作............ 229
15.6 本章小結.................. 238
15.7 習題............. 238
第16 章共用體(教學視頻:43 分鍾) ............. 239
16.1 共用體類型定義.............. 239
16.1.1 定義共用體......... 239
16.1.2 共用體的存儲.................. 240
16.2 共用體類型變量、數組和指針變量的定義............. 241
16.2.1 先定義共用體,再定義共用體變量、數組及指針變量........... 241
16.2.2 定義共用體的同時定義共用體變量、數組及指針變量........... 241
16.2.3 定義共用體變量、數組及指針變量時省略共用體名............... 242
16.3 共用體類型變量、數組和指針變量的引用............. 242
16.4 共用體應用舉例.............. 244
16.5 枚舉類型.................. 246
16.5.1 枚舉類型的定義............ 246
16.5.2 枚舉類型變量的賦值和引用............. 247
16.6 用typedef定義數據類型........... 249
16.7 本章小結.................. 253
16.8 習題............. 253
第17 章文件(教學視頻:58 分鍾) .........254
17.1 文件概述.................. 254
17.1.1 文件名................. 254
17.1.2 文件的類型......... 255
17.2 文件類型指針.................. 255
17.3 文件的打開與關閉........... 257
17.3.1 文件打開函數fopen()................ 257
17.3.2 文件關閉函數fclose() ............... 259
17.4 文件的讀寫操作.............. 259
17.4.1 字符讀寫函數.................. 259
17.4.2 字符串讀寫函數............ 262
17.4.3 數據塊讀寫函數............ 265
17.4.4 格式數據讀寫函數........ 268
17.5 文件的定位...................... 269
17.5.1 文件頭定位函數rewind().......... 269
17.5.2 文件隨機定位函數fseek()......... 270
17.5.3 測試當前位置函數ftell()........... 271
17.6 文件的檢測...................... 272
17.6.1 文件末尾檢測函數feof()........... 272
17.6.2 文件讀寫齣錯檢測函數ferror() ........ 273
17.6.3 清除文件末尾和齣錯標誌函數clearerr() ................ 274
17.7 本章小結.................. 274
17.8 習題.............274
第4 篇案例實戰
第18 章學生成績管理係統設計(教學視頻:18 分鍾).........275
18.1 學生成績管理係統功能............. 275
18.2 功能模塊的描述.............. 275
18.2.1 數據結構............. 275
18.2.2 main()主函數....... 276
18.2.3 score *creatlink()創建動態鏈錶......... 276
18.2.4 void print(score *head)顯示學生信息.......... 277
18.2.5 score *add(score *head,score *stu)嚮鏈錶中添加學生數據........ 277
18.2.6 score *search(score *head)查詢學生成績................. 277
18.2.7 score *dele(score *head)刪除數據.................. 278
18.2.8 score *sortdata(score *head)對數據進行排序........... 278
18.2.9 save(score *p1)保存數據........... 278
18.2.10 score *load(score *head)從文件中讀取數據.......... 278
18.2.11 score *statistics(score *head)成績統計....... 279
18.2.12 int menu(int k)菜單.................. 279
18.2.13 用到的頭文件和全局變量............... 279
18.3 程序代碼.................. 279
18.3.1 主函數main()代碼........ 279
18.3.2 創建鏈錶函數creatlink()........... 280
18.3.3 顯示學生信息函數print() ......... 283
18.3.4 嚮鏈錶中添加學生數據函數add().............. 283
18.3.5 查詢學生成績函數search ......... 285
18.3.6 刪除數據函數dele ........ 286
18.3.7 對數據進行排序函數sortdata()......... 287
18.3.8 保存數據函數save() ................. 290
18.3.9 從文件中讀取數據函數loadfile() ............... 290
18.3.10 成績統計函數statistics() ......... 291
18.4 程序運行.................. 293
18.4.1 編輯學生成績.................. 293
18.4.2 顯示學生成績.................. 293
18.4.3 保存學生成績信息........ 294
18.4.4 查詢學生的成績............ 294
18.4.5 添加學生的成績............ 294
18.4.6 刪除學生的成績............ 294
18.4.7 學生成績排序.................. 295
18.4.8 從文件中讀取學生的成績......... 295
18.4.9 統計學生的成績............ 295
18.5 本章小結.................. 295
附錄A ASCII 字符集........ 296
附錄B 運算符的優先級與結閤性......... 298
附錄C C語言常用庫函數.................... 301
附錄D 安裝Visual C++ 6.0 集成開發環境....... 304
· · · · · · (
收起)