《從零開始學C語言(第3版)》一書由戴晟暉、馮志強編著,電子工業出版社2017年1月出版
基本介紹
- 書名:從零開始學C語言(第3版)
- 作者:戴晟暉 馮志強
- ISBN:978-7-121-30104-9
- 頁數:372
- 定價:59.80
- 出版社:電子工業出版社
- 出版時間:2017年1月
- 開本:16開
內容提要,目錄,
內容提要
為了使初學者都更好地掌握這門高級語言——C 語言,《從零開始學C語言(第3版)》系統地介紹了程式設計的基本理論與編程技術。每一個知識點都作為一個獨立的章節進行詳細的講解,目的在於讓讀者在學習C 語言的過程中,能循序漸進、由淺入深。
《從零開始學C語言(第3版)》共4 篇分為18 章,內容包括C 語言入門基礎、C 語言程式、常量/變數與標識符、數據類型、運算符及其表達式、輸入與輸出、順序結構與選擇結構、循環結構程式設計、結構語句的轉移、數組、函式、指針、結構體、共用體和檔案等內容。最後的實例篇,運用C 語言建立一個學生成績管理系統,通過對該系統的界面設計、功能分析、模組描述,使讀者對C 語言程式設計有一個更加系統、深刻的理解。
《從零開始學C語言(第3版)》內容全面、論述翔實,適合C 語言的初學者,也可作為大、中專院校師生的培訓教材。對於C語言愛好者,《從零開始學C語言(第3版)》也有很大的參考價值。
目錄
第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++集成開發環境 17
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 本章小結 22
2.8 習題 22
第2 篇 C 語言基礎
第3 章 常量、變數與標識符( 教學視頻:17 分鐘) 23
3.1 標識符 23
3.1.1 標識符的命名 23
3.1.2 保留字 23
3.2 常量 24
3.2.1 直接常量 24
3.2.2 符號常量 24
3.3 變數 25
3.3.1 變數的定義 25
3.3.2 變數初始化的方法 25
3.4 變數的初始化 26
3.5 典型實例 26
3.6 本章小結 27
3.7 習題 27
第4 章 數據類型( 教學視頻:28 分鐘) 29
4.1 C 語言中的數據類型 29
4.1.1 基本數據類型 29
4.1.2 構造數據類型 30
4.1.3 指針數據類型 30
4.1.4 空類型 30
4.2 整型數據 30
4.2.1 整型常量 31
4.2.2 整型變數 31
4.3 實數型數據 32
4.3.1 實數型常量 33
4.3.2 實數型變數 34
4.4 字元型數據 34
4.4.1 字元型常量 34
4.4.2 字元型變數 35
4.5 數值型數據間的混合運算 37
4.5.1 自動類型轉換 37
4.5.2 強制類型轉換 38
4.6 典型實例 40
4.7 本章小結 41
4.8 習題 42
第5 章 運算符及其表達式( 教學視頻:57 分鐘) 43
5.1 算術運算符及算術表達式 43
5.1.1 算術運算符 43
5.1.2 算術表達式 45
5.2 賦值運算符及賦值表達式 45
5.2.1 賦值運算符 46
5.2.2 賦值表達式 47
5.3 關係運算符及關係表達式 48
5.3.1 關係運算符 48
5.3.2 關係表達式 49
5.4 邏輯運算符及邏輯表達式 50
5.4.1 邏輯運算符 50
5.4.2 邏輯運算規則 51
5.4.3 邏輯表達式 52
5.5 條件運算符及條件表達式 54
5.5.1 條件運算符 55
5.5.2 條件表達式 56
5.6 逗號運算符及逗號表達式 58
5.6.1 逗號運算符 58
5.6.2 逗號表達式 59
5.7 位運算符 60
5.7.1 位邏輯運算符 60
5.7.2 移位運算符 62
5.7.3 位自反賦值運算符 64
5.8 位運算符 64
5.9 典型實例 65
5.10 本章小結 67
5.11 習題 67
第6 章 輸入與輸出( 教學視頻:65 分鐘) 68
6.1 C 語句概述 68
6.1.1 流程控制語句 68
6.1.2 函式調用語句 72
6.1.3 表達式語句 72
6.1.4 空語句 72
6.1.5 複合語句 72
6.2 輸入與輸出函式 73
6.2.1 格式輸出函式 73
6.2.2 格式輸入函式 76
6.2.3 字元輸入與字元輸出函式 80
6.3 整型數據的輸入與輸出 82
6.3.1 整型數據的輸出 82
6.3.2 整型數據的輸入 84
6.4 浮點型數據的輸入與輸出 84
6.5 典型實例 85
6.6 本章小結 90
6.7 習題 90
第7 章 順序結構與選擇結構( 教學視頻:35 分鐘) 91
7.1 順序結構程式設計 91
7.2 選擇結構程式設計 93
7.2.1 if 語句 93
7.2.2 switch 語句 98
7.3 典型實例 101
7.4 本章小結 104
7.5 習題 104
第8 章 循環結構程式設計
( 教學視頻:54 分鐘) 105
8.1 while 語句 105
8.2 do…while 語句 107
8.3 for 語句 110
8.3.1 for 循環結構 110
8.3.2 for 循環語句的嵌套 113
8.4 套用總結 115
8.4.1 幾種循環的比較 115
8.4.2 循環語句的嵌套 116
8.5 典型實例 119
8.6 本章小結 121
8.7 習題 121
第9 章 結構語句的轉移( 教學視頻:13 分鐘) 122
9.1 break 語句 122
9.2 跳出循環結構 124
9.2.1 問題1124
9.2.2 問題2125
9.3 continue 語句 126
9.4 goto 語句 128
9.5 典型實例 129
9.6 本章小結 132
9.7 習題 132
第3 篇 C 語言進階
第10 章 數組( 教學視頻:78 分鐘) 133
10.1 數組的概述 133
10.2 一維數組 134
10.2.1 一維數組的定義 134
10.2.2 一維數組的初始化 134
10.2.3 一維數組的引用 136
10.2.4 一維數組的程式舉例 137
10.3 二維數組 143
10.3.1 二維數組的定義 143
10.3.2 二維數組的初始化 144
10.3.3 二維數組的引用 146
10.3.4 數組的程式舉例 148
10.4 典型實例 150
10.5 本章小結 155
10.6 習題 155
第11 章 字元數組( 教學視頻:45 分鐘) 156
11.1 字元數組的定義 156
11.2 字元數組的初始化 157
11.3 字元數組的引用 157
11.4 字元數組與字元串的關係 157
11.5 字元數組的輸入與輸出 159
11.6 字元串處理函式 160
11.6.1 輸入字元串函式gets160
11.6.2 輸出字元串函式puts160
11.6.3 字元串測長度函式strlen160
11.6.4 字元串比較函式strcmp160
11.6.5 字元串複製函式strcpy 和strncpy161
11.6.6 字元串連線函式strcat161
11.7 典型實例 163
11.8 本章小結 167
11.9 習題 168
第12 章 函式( 教學視頻:43 分鐘) 169
12.1 函式的初步認識 169
12.2 函式定義 171
12.2.1 無參函式定義 171
12.2.2 有參函式定義 172
12.2.3 空函式定義 172
12.3 函式參數及返回值 173
12.3.1 函式的參數 173
12.3.2 函式的返回值 175
12.4 函式的參數傳遞 176
12.4.1 函式參數的數值傳遞 176
12.4.2 函式參數的地址傳遞 177
12.5 典型實例 178
12.6 本章小結 181
12.7 習題 181
第13 章 函式的調用( 教學視頻:75 分鐘) 182
13.1 函式調用的一般形式 182
13.2 函式調用的形式 183
13.3 被調用函式的聲明與函式原型 184
13.4 函式的嵌套調用和遞歸調用 187
13.4.1 函式的嵌套調用 187
13.4.2 函式的遞歸調用 188
13.5 變數作用域 189
13.5.1 變數作用域和生存期 189
13.5.2 局部變數和全局變數 189
13.5.3 變數存儲類別 192
13.6 編譯預處理 197
13.6.1 宏定義 197
13.6.2 檔案包含處理 200
13.6.3 條件編譯 201
13.7 典型實例 202
13.8 本章小結 209
13.9 習題 209
第14 章 指針操作( 教學視頻:67 分鐘) 210
14.1 指針與地址 210
14.2 指針和指針變數 211
14.2.1 指針變數的定義 211
14.2.2 指針變數的引用 213
14.2.3 指針的運算 214
14.3 指針和數組 218
14.3.1 數組的指針和指向數組的指針變數 218
14.3.2 指針數組和指向指針的指針 222
14.3.3 指向字元串的指針 224
14.3.4 數組名作為函式參數 225
14.4 指針和函式 229
14.4.1 函式的指針和指向函式的指針變數 229
14.4.2 用指向函式的指針作為函式參數 231
14.4.3 指針數組作為函式參數 237
14.4.4 返回指針值的函式 238
14.4.5 字元串指針作為函式參數 239
14.5 典型實例 240
14.6 本章小結 243
14.7 習題 243
第15 章 結構體( 教學視頻:77 分鐘) 244
15.1 結構體類型定義 244
15.1.1 結構體類型的說明 244
15.1.2 結構體類型的定義 244
15.2 結構體變數的定義與引用 246
15.2.1 結構體變數的定義與初始化 246
15.2.2 結構體變數的引用 248
15.3 結構數組 251
15.3.1 結構數組的定義 251
15.3.2 結構數組的引用 253
15.4 結構體指針 254
15.4.1 結構體指針變數的定義 254
15.4.2 結構體指針變數的引用 255
15.5 鍊表 258
15.5.1 鍊表概述 258
15.5.2 單鍊表建立 260
15.5.3 單鍊表簡單操作 264
15.6 典型實例 274
15.7 本章小結 284
15.8 習題 284
第16 章 共用體( 教學視頻:43 分鐘) 285
16.1 共用體類型定義 285
16.1.1 定義共用體 285
16.1.2 共用體的存儲 286
16.2 共用體類型變數、數組和
指針變數的定義 287
16.2.1 先定義共用體,再定義共用體變數、數組及指針變數287
16.2.2 定義共用體的同時定義共用體變數、數組及指針變數288
16.2.3 定義共用體變數、數組及指針變數時省略共用體名288
16.3 共用體類型變數、數組和指針變數的引用288
16.4 枚舉類型290
16.4.1 枚舉類型的定義290
16.4.2 枚舉類型變數的賦值和引用291
16.5 用typedef 定義數據類型293
16.6 典型實例297
16.7 本章小結299
16.8 習題300
第17 章 檔案( 教學視頻:58 分鐘)301
17.1 檔案概述301
17.1.1 檔案名稱301
17.1.2 檔案的類型302
17.2 檔案類型指針302
17.3 檔案的打開與關閉304
17.3.1 檔案打開函式fopen()304
17.3.2 檔案關閉函式fclose()306
17.4 檔案的讀寫操作307
17.4.1 字元讀寫函式307
17.4.2 字元串讀寫函式309
17.4.3 數據塊讀寫函式313
17.4.4 格式數據讀寫函式315
17.5 檔案的定位316
17.5.1 檔案頭定位函式rewind()317
17.5.2 檔案隨機定位函式fseek()317
17.5.3 測試當前位置函式ftell()319
17.6 檔案的檢測319
17.6.1 檔案末尾檢測函式feof()319
17.6.2 檔案讀寫出錯檢測函式ferror()320
17.6.3 清除檔案末尾和出錯標誌函式clearerr()321
17.7 典型實例322
17.8 本章小結324
17.9 習題324
第4 篇 案例實戰
第18 章 學生成績管理系統設計( 教學視頻:18 分鐘)325
18.1 學生成績管理系統功能325
18.2 功能模組的描述325
18.2.1 數據結構325
18.2.2 main()主函式325
18.2.3 score *creatlink()創建動態鍊表326
18.2.4 void print(score *head)顯示學生信息327
18.2.5 score *add(score *head,score *stu)向鍊表中添加學生數據327
18.2.6 score *search(score *head)查詢學生成績327
18.2.7 score *dele(score *head)刪除數據 . 328
18.2.8 score *sortdata(score *head)對數據進行排序328
18.2.9 save(score *p1)保存數據328
18.2.10 score *load(score *head)從檔案中讀取數據328
18.2.11 score *statistics(score *head)成績統計329
18.2.12 int menu(int k)選單329
18.2.13 用到的頭檔案和全局變數329
18.3 程式代碼329
18.3.1 主函式main()代碼329
18.3.2 創建鍊表函式creatlink()330
18.3.3 顯示學生信息函式print()333
18.3.4 向鍊表中添加學生數據函式add()333
18.3.5 查詢學生成績函式search335
18.3.6 刪除數據函式dele336
18.3.7 對數據進行排序函式sortdata()337
18.3.8 保存數據函式save()340
18.3.9 從檔案中讀取數據函式loadfile()340
18.3.10 成績統計函式statistics()341
18.4 程式運行 343
18.4.1 編輯學生成績 343
18.4.2 顯示學生成績 343
18.4.3 保存學生成績信息 344
18.4.4 查詢學生的成績 344
18.4.5 添加學生的成績 344
18.4.6 刪除學生的成績 345
18.4.7 學生成績排序 345
18.4.8 從檔案中讀取學生的成績 345
18.4.9 統計學生的成績 345
18.5 本章小結 346
附錄A ASCII 字元集 347
附錄B 運算符的優先權與結合性 349
附錄C C 語言常用庫函式 352
附錄D 安裝Visual C++ 6.0
集成開發環境 355