C語言程序設計教程(微課版)
廖雪峰、張著、曾輝、李余琪、符紅霞、徐黎、範蔡業、郭舒揚、莊楷文、翁昉昉、劉明哲、連新澤、曹洪武、趙文鋒、周航、林翀
商品描述
作者簡介
目錄大綱
目 錄
第1章 C語言基礎知識 1
1.1 C語言概述 2
1.1.1 計算機語言 2
1.1.2 計算機程序 3
1.1.3 C語言 4
1.1.4 一個簡單的C語言
程序 7
1.2 流程建立 8
1.2.1 在Windows環境下
運行 9
1.2.2 在macOS環境下運行 16
1.2.3 在Linux環境下運行 18
1.3 數據類型選擇 21
1.3.1 數據類型引例 21
1.3.2 數據類型概述 22
1.4 常量與變量的定義與使用 26
1.4.1 變量 26
1.4.2 整型 28
1.4.3 實型 29
1.4.4 字符型 30
1.5 運算符和表達式 32
1.5.1 運算符和表達式定義 32
1.5.2 運算符的優先級和
結合性 34
1.5.3 算術運算符和表達式 35
1.5.4 表達式中的類型轉換 35
1.5.5 算術表達式 36
1.5.6 賦值表達式 38
1.5.7 逗號表達式 39
1.6 學習助手 40
1.6.1 相關工具 40
1.6.2 道路自信、文化修養
和道德修養 41
1.7 上機實訓 42
1.7.1 實訓目的 42
1.7.2 實訓內容 42
1.8 本章小結 43
1.8.1 知識梳理 43
1.8.2 常見上機問題及解決
方法 43
擴展閱讀:C語言發展史 44
習題 45
上機實訓解析及參考代碼 47
習題參考答案及解析 47
第2章 順序結構程序設計 48
2.1 結構化程序設計的基本結構 49
2.2 賦值語句 54
2.2.1 簡單賦值語句 54
2.2.2 復合賦值語句 55
2.2.3 自增和自減在賦值
語句中的應用 56
2.3 輸入輸出語句 57
2.3.1 格式輸入函數 58
2.3.2 格式輸出函數 59
2.3.3 字符輸入函數 61
2.3.4 字符輸出函數 63
2.4 順序結構程序設計的典型
應用 64
2.5 上機實訓 66
2.5.1 實訓目的 66
2.5.2 實訓內容 66
2.6 本章小結 68
2.6.1 知識梳理 68
2.6.2 常見上機問題及解決
方法 68
擴展閱讀:算法 70
習題 71
上機實訓解析及參考代碼 74
習題參考答案及解析 74
第3章 分支結構程序設計 75
3.1 分支結構的引出 76
3.2 關系運算和邏輯運算 76
3.2.1 關系運算符與關系
表達式 77
3.2.2 邏輯運算符與邏輯
表達式 77
3.3 if語句 79
3.3.1 if語句的格式 79
3.3.2 if語句的嵌套 84
3.4 switch語句 87
3.4.1 switch語句的一般
形式 87
3.4.2 switch語句的執行
過程 88
3.5 條件運算符 90
3.6 分支結構程序設計的典型
應用 92
3.7 上機實訓 98
3.7.1 實訓目的 98
3.7.2 實訓內容 98
3.8 本章小結 101
3.8.1 知識梳理 101
3.8.2 常見上機問題及解決
方法 101
擴展閱讀:程序調試方法和技巧 103
習題 106
上機實訓解析及參考代碼 111
習題參考答案及解析 111
第4章 循環結構程序設計 112
4.1 循環結構的引出 113
4.2 用for語句實現循環 114
4.3 用while語句實現循環 119
4.4 用do…while語句實現循環 120
4.5 循環嵌套 121
4.6 break、continue語句 124
4.7 上機實訓 127
4.7.1 實訓目的 127
4.7.2 實訓內容 127
4.8 本章小結 130
擴展閱讀:嵌套循環輸出特殊
??矩陣 131
習題 132
上機實訓解析及參考代碼 141
習題參考答案及解析 141
第5章 函數 142
5.1 函數的基本概念 143
5.1.1 函數的引例 143
5.1.2 函數的定義形式 144
5.1.3 函數的定義方法 145
5.2 函數的調用 146
5.2.1 函數調用形式 146
5.2.2 函數調用的過程 148
5.2.3 函數的原型聲明 149
5.2.4 函數的應用 150
5.3 函數的嵌套調用 151
5.4 函數的遞歸調用 153
5.5 全局變量與局部變量 155
5.6 靜態變量與動態變量 157
5.7 預處理命令 158
5.7.1 文件包含 159
5.7.2 宏定義 160
5.8 上機實訓 162
5.8.1 實訓目的 162
5.8.2 實訓內容 162
5.9 本章小結 165
5.9.1 知識梳理 165
5.9.2 函數編程常見問題
與解決方法 165
擴展閱讀:棧在函數中的應用 167
習題 167
上機實訓解析及參考代碼 171
習題參考答案及解析 171
第6章 數組 172
6.1 內存地址 173
6.2 數組的理念 174
6.2.1 構造一個簡單的
數組 174
6.2.2 數組的結構 174
6.2.3 數組的地址 175
6.2.4 索引 177
6.2.5 總結 177
6.3 數組的基本應用 178
6.3.1 數組的操作方法 178
6.3.2 數組維度的概念 179
6.3.3 一維數組的概念
和操作 181
6.3.4 二維數組 184
6.3.5 總結 190
6.4 字符串與字符數組 191
6.4.1 字符串的概念和
操作 191
6.4.2 字符串數組的概念
和操作 193
6.4.3 字符串相關函數 193
6.4.4 總結 194
6.5 數組與函數 195
6.5.1 數組作為函數參數 195
6.5.2 數組在函數體中的
用法 197
6.5.3 數組與算法 201
6.5.4 總結 209
6.6 上機實訓 210
6.6.1 實訓目的 210
6.6.2 實訓內容 210
6.7 本章小結 214
6.7.1 知識梳理 214
6.7.2 常見上機問題及解決
方法 214
擴展閱讀:算術運算的本質——
??邏輯門與二進制 216
習題 220
上機實訓解析及參考代碼 226
習題參考答案及解析 226
第7章 指針 227
7.1 指針的基礎知識 228
7.1.1 指針與指針變量的
概念 228
7.1.2 指針變量的定義與
引用 229
7.1.3 指針的基本運算 233
7.1.4 指向指針的指針 234
7.2 指針和數組 235
7.2.1 數組的指針和指向數
組元素的指針變量 235
7.2.2 指向多維數組的指針
和指針變量 240
7.2.3 指針數組 244
7.3 字符串的指針及指向字符串的
指針變量 246
7.3.1 字符串的表示形式 246
7.3.2 使用字符串指針變量
與字符數組的區別 248
7.4 指針和函數 249
7.4.1 指針作為函數的
參數 249
7.4.2 函數指針變量 257
7.4.3 指針型函數 258
7.4.4 main函數的參數 259
7.5 上機實訓 261
7.5.1 實訓目的 261
7.5.2 實訓內容 261
7.6 本章小結 264
7.6.1 知識梳理 264
7.6.2 常見上機問題及
解決方法 265
擴展閱讀:中國“魂”——中國
??計算機操作系統發展的歷程 266
習題 267
上機實訓解析及參考代碼 275
習題參考答案及解析 275
第8章 結構體及其他構造類型 276
8.1 結構體的定義及使用 277
8.1.1 結構體的定義 277
8.1.2 結構體變量的初始化
和使用 278
8.2 結構體指針 281
8.2.1 結構體指針的定義 281
8.2.2 結構體指針應用 282
8.3 結構體數組 285
8.3.1 結構體數組的定義 285
8.3.2 結構體數組的應用 286
8.4 結構體與函數 287
8.4.1 函數參數為結構體
類型 288
8.4.2 結構體作為函數
返回值 290
8.5 鏈表的定義及使用 294
8.5.1 鏈表的概念 294
8.5.2 鏈表的定義 295
8.5.3 鏈表的插入與刪除 297
8.6 共用體 299
8.6.1 共用體的定義 299
8.6.2 共用體的初始化及
引用 300
8.6.3 共用體的應用 302
8.7 枚舉類型 304
8.7.1 枚舉的概念 304
8.7.2 枚舉類型的定義 304
8.7.3 枚舉型變量的定義 305
8.7.4 枚舉型變量的賦值 305
8.8 上機實訓 308
8.8.1 實訓目的 308
8.8.2 實訓內容 308
8.9 本章小結 311
8.9.1 知識梳理 311
8.9.2 常見的上機問題及
解決方法 312
擴展閱讀:高級應用 314
習題 314
上機實訓解析及參考代碼 320
習題參考答案及解析 320
第9章 文件 321
9.1 文件的概念 322
9.1.1 文件類型 322
9.1.2 文件結構體 323
9.1.3 文件指針 323
9.2 文件的打開與關閉 323
9.2.1 文件的打開 324
9.2.2 文件的關閉 325
9.3 文件的順序讀寫 325
9.3.1 字符數據的讀寫 326
9.3.2 字符串數據的讀寫 326
9.3.3 數據的格式化讀寫 328
9.3.4 數據塊(二進制數據)的
讀寫 330
9.4 文件的隨機讀寫 331
9.4.1 rewind()函數 331
9.4.2 fseek()函數 332
9.4.3 文件的出錯檢測 332
9.5 文件處理程序設計的典型
應用 334
9.6 上機實訓 335
9.6.1 實訓目的 335
9.6.2 實訓內容 335
9.7 本章小結 336
9.7.1 知識梳理 336
9.7.2 常見的上機問題及
解決方法 337
擴展閱讀:文件系統與數據庫
??系統 337
習題 338
上機實訓解析及參考代碼 340
習題參考答案及解析 340
第10章 位運算 341
10.1 位與進制轉換 342
10.2 移位運算 343
10.3 邏輯位運算 344
10.3.1 按位與運算 345
10.3.2 按位或運算 346
10.3.3 按位異或運算 348
10.3.4 按位取反運算 350
10.4 位運算在硬件中的應用 350
10.4.1 移位運算在硬件中
的應用 351
10.4.2 邏輯位運算在硬件
中的應用 352
10.5 上機實訓 353
10.5.1 實訓目的 353
10.5.2 實訓內容 354
10.6 本章小結 358
10.6.1 知識梳理 358
10.6.2 常見的上機問題及
解決方法 359
擴展閱讀:位運算的高級應用 359
習題 360
上機實訓解析及參考代碼 362
習題參考答案及解析 362
附錄A C語言常用資料 363
A.1 編譯常見錯誤中英文
?? 對照表 363
A.2 ASCII碼對照表 363
A.3 C語言運算符的優先級
?? 和結合性一覽表 363
A.4 常見的C語言庫函數 363
A.5 ANSI C89標準中
?? C語言的保留字 363
參考文獻 364
C語言程序設計教程(微課版)
目錄