第1章 C語言程序設計概述 …………………………………………………… 1
1.1 程序與程序設計語言 ……………………………………………………… 1
1.1.1 程序與程序設計 ……………………………………………………… 1
1.1.2 程序設計語言 ………………………………………………………… 2
1.1.3 算法與數據結構 ……………………………………………………… 3
1.2 C語言概述 ………………………………………………………………… 3
1.2.1 C語言的特點 ………………………………………………………… 3
1.2.2 C語言程序的基本結構 ……………………………………………… 4
1.2.3 C語言的基本要素 …………………………………………………… 5
1.3 設計C語言程序的基本過程 …………………………………………… 6
1.3.1 C語言程序編程環境 ………………………………………………… 6
1.3.2 編譯、連接和運行 …………………………………………………… 8
1.4 如何學習C語言 …………………………………………………………… 8
習題1 …………………………………………………………………………… 9
第2章 數據類型和表達式 …………………………………………… 11
2.1 C語言數據類型 ………………………………………………………… 12
2.2 變量 …………………………………………………………………… 13
2.3 常量 …………………………………………………………………… 15
2.3.1 整型常量 …………………………………………………………… 15
2.3.2 實型常量 …………………………………………………………… 16
2.3.3 字符型常量 ………………………………………………………… 16
2.3.4 符號常量 …………………………………………………………… 17
2.4 數據的輸入、輸出 …………………………………………………… 18
2.4.1 printf()函數 ………………………………………………………… 18
2.4.2 scanf()函數 ………………………………………………………… 20
2.5 運算符與表達式 ………………………………………………………… 23
2.5.1 算術運算符 ………………………………………………………… 23
2.5.2 關系運算符 ………………………………………………………… 25
2.5.3 邏輯運算符 ………………………………………………………… 25
2.5.4 賦值運算符 ………………………………………………………… 26
2.5.5 條件運算符 ………………………………………………………… 27
2.5.6 逗號運算符 ………………………………………………………… 27
2.5.7 位運算符 …………………………………………………………… 28
2.6 類型轉換 ………………………………………………………………… 29
2.6.1 自動類型轉換 ……………………………………………………… 29
2.6.2 強制類型轉換 ……………………………………………………… 30
習題2 …………………………………………………………………………… 31
第3章 程序控制結構 …………………………………………………… 33
3.1 概述 ……………………………………………………………………… 33
3.2 順序結構 ………………………………………………………………… 34
3.3 選擇結構 ………………………………………………………………… 36
3.3.1 單分支結構 ………………………………………………………… 36
3.3.2 雙分支結構 ………………………………………………………… 37
3.3.3 分支結構的嵌套 …………………………………………………… 38
3.3.4 多路分支結構 ……………………………………………………… 41
3.4 循環結構 ………………………………………………………………… 46
3.4.1 for循環結構 ………………………………………………………… 47
3.4.2 while循環結構 ……………………………………………………… 49
3.4.3 do-while循環結構 …………………………………………………… 50
3.4.4 循環結構的嵌套 …………………………………………………… 52
3.5 break和continue控制語句 ……………………………………………… 53
3.5.1 break語句 …………………………………………………………… 53
3.5.2 continue語句 ………………………………………………………… 54
3.6 程序控制結構的綜合應用 ……………………………………………… 56
習題3 ………………………………………………………………………… 61
第4章 數組 ……………………………………………………………………… 64
4.1 一維數組 ………………………………………………………………… 64
4.1.1 一維數組的定義和引用 …………………………………………… 64
4.1.2 一維數組的初始化 ………………………………………………… 66
4.1.3 一維數組編程實例 ……………………………………………… 66
4.2 一維字符數組和字符串 ……………………………………………… 74
4.2.1 一維字符數組的定義和初始化 …………………………………… 74
4.2.2 字符串概念 ………………………………………………………… 75
4.2.3 字符串存儲 ………………………………………………………… 75
4.2.4 字符串輸出 ………………………………………………………… 77
4.2.5 字符串的處理 ……………………………………………………… 78
4.3 二維數組 …………………………………… …………………………… 81
4.3.1 二維數組的定義和引用 …………………………………………… 81
4.3.2 二維數組的初始化 ………………………………………………… 82
4.3.3 二維數組編程實例 ……………………………………………… 83
習題4 …………………………………………………………………………… 87
第5章 函數 ………………………………………………………………… 88
5.1 模塊化程序設計 ………………………………………………………… 88
5.2 函數的定義和調用 ……………………………………………………… 90
5.2.1 函數的定義 ………………………………………………………… 90
5.2.2 函數的調用 ………………………………………………………… 92
5.3 變量的存儲屬性 ………………………………………………………… 97
5.3.1 自動(auto)變量 ……………………………………………………… 98
5.3.2 寄存器(register)變量 ……………………………………………… 99
5.3.3 靜態(static)變量 …………………………………………………… 99
5.3.4 用extern聲明外部變量 …………………………………………… 101
5.4 函數的嵌套調用 ………………………………………………………… 104
5.5 遞歸函數 ………………………………………………………………… 105
5.6 數組作函數參數 ………………………………………………………… 110
5.6.1 數組元素作函數實參 ……………………………………………… 110
5.6.2 一維數組名作函數參數 …………………………………………… 111
5.6.3 二維數組名作函數參數 …………………………………………… 114
習題5 ………………………………………………………………………… 117
第6章 指針 …………………………………………………………………… 118
6.1 指針的概念 ……………………………………………………………… 118
6.2 指針與簡單變量 ………………………………………………………… 120
6.2.1 指針變量的定義與引用 …………………………………………… 120
6.2.2 指針變量的特殊性 ………………………………………………… 122
6.2.3 指針變量作為函數的參數 ………………………………………… 123
6.3 指針與一維數組 ………………………………………………………… 127
6.3.1 數組名是一個指針常量 …………………………………………… 127
6.3.2 指針的運算 ………………………………………………………… 129
6.3.3 將數組地址傳遞給函數 …………………………………………… 131
6.4 指針與字符串 …………………………………………………………… 135
6.4.1 使用指針表示字符串 ……………………………………………… 135
6.4.2 動態內存分配 ……………………………………………………… 136
6.4.3 常用的字符串處理函數 …………………………………………… 138
6.5 指針進階 ………………………………………………………………… 144
6.5.1 二級指針 …………………………………………………………… 144
6.5.2 指針與二維數組 …………………………………………………… 145
6.5.3 指針數組 …………………………………………………………… 145
6.5.4 命令行參數 ………………………………………………………… 149
6.5.5 返回指針的函數 …………………………………………………… 151
6.5.6 指向函數的指針 …………………………………………………… 152
習題6 ………………………………………………………………………… 154
第7章 構造數據類型與預編譯處理 ……………………………………… 156
7.1 結構體 …………………………………………………………………… 156
7.1.1 結構體類型的定義 ………………………………………………… 157
7.1.2 結構體變量的定義 ………………………………………………… 158
7.1.3 結構體變量的引用 ………………………………………………… 161
7.1.4 結構體變量的初始化 ……………………………………………… 161
7.2 結構體數組 ……………………………………………………………… 163
7.3 線性鏈表 ……………………………………………………………… 167
7.3.1 鏈表的概念 ………………………………………………………… 168
7.3.2 鏈表的基本操作 …………………………………………………… 169
7.4 共用體 …………………………………………………………………… 174
7.4.1 共用體類型定義 …………………………………………………… 174
7.4.2 共用體變量的定義、引用 ………………………………………… 175
7.4.3 共用體變量的賦值 ………………………………………………… 175
7.5 枚舉類型 ……………………………………………………………… 177
7.6 自定義類型名 ………………………………………………………… 179
7.7 編譯預處理 ……………………………………………………………… 180
7.7.1 編譯預處理命令簡介 ……………………………………………… 180
7.7.2 宏定義 ……………………………………………………………… 181
7.7.3 文件包含 …………………………………………………………… 185
7.7.4 條件編譯 …………………………………………………………… 186
習題7 ………………………………………………………………………… 189
第8章 文件 …………………………………………………………………… 192
8.1 文件的基本概念 ………………………………………………………… 192
8.2 文件指針 ……………………………………………………………… 193
8.3 文件的打開、讀寫與關閉 ……………………………………………… 194
8.3.1 文件的打開 ………………………………………………………… 194
8.3.2 文件的關閉 ………………………………………………………… 195
8.3.3 文件的讀寫 ………………………………………………………… 195
8.3.4 文件讀寫函數的選用原則 ………………………………………… 203
8.4 文件定位 ………………………………………………………………… 203
習題8 ………………………………………………………………………… 205
附錄 ……………………………………………………………………………… 208
附錄Ⅰ ASCII碼表 ………………………………………………………… 208
附錄Ⅱ C標準庫函數 ……………………………………………………… 209
2.1 輸入與輸出函數<stdio.h> ………………………………………… 209
2.2 字符類測試函數<ctype.h> ………………………………………… 216
2.3 字符串函數<string.h> ……………………………………………… 217
2.4 數學函數<math.h> …………………………………………………… 220
2.5 實用函數<stdlib.h> ………………………………………………… 222
2.6 診斷函數<assert.h> ………………………………………………… 224
2.7 變長變元表函數<stdarg.h> ………………………………………… 225
2.8 非局部跳轉函數<setjmp.h> ………………………………………… 225
2.9 信號處理函數<signal.h> …………………………………………… 226
2.10 日期與時間函數<time.h> ………………………………………… 226
2.11 由實現定義的限制<limits.h>和<float.h> ………………………… 228
附錄Ⅲ C語言錯誤提示 …………………………………………………… 230
3.1 致命錯誤信息 ………………………………………………………… 230
3.2 一般錯誤信息 ………………………………………………………… 230
附錄Ⅳ 編程風格 …………………………………………………………… 236
附錄Ⅴ 全國計算機等級考試二級C語言程序設計考試大綱(2013年版) … 238
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。