商品簡介
作者簡介
目次
相關商品
商品簡介
本書分為12個章節,首先介紹了程序設計基礎思想,其次介紹了C語言的基礎語法,包括基礎數據類型、流程控制、數組、函數、指針、字符串、結構體,之後介紹了預處理、文件操作等知識,然後通過綜合項目,對前面所述知識進行回顧、總結與應用,最後介紹了程序開發中常見的數據結構(包括鏈表、棧、隊列)及其相關操作。
作者簡介
黑馬程序員,傳智播客旗下高端IT教育品牌,它是由中國Java培訓先驅張孝祥老師發起,聯合全球最大的中文IT社區CSDN、中關村軟件園共同創辦的一家專業教育機構。辦學至今,我們一直堅守著“為千萬人少走彎路而著書,為中華軟件之崛起而講課”的辦學理念,堅持培養優秀軟件應用工程師的宏偉目標,在累計培養的十萬余名學員中,其中90%的學員均已在北、上、廣等一線城市高薪就業。
目次
第1章 程序設計與C語言1
1.1 計算機語言 1
1.2 程序設計與算法 2
1.2.1 算法――程序的靈魂 2
1.2.2 算法的表示 3
1.3 C語言概述 4
1.3.1 C語言的發展史 5
1.3.2 C語言的標準 5
1.3.3 C語言的應用領域 5
1.4 開發環境搭建 7
1.4.1 主流開發工具介紹 7
1.4.2 安裝Dev-C++ 8
1.5 編寫Hello World 10
1.5.1 編寫第一個程序Hello World 10
1.5.2 C程序編譯運行原理 13
1.6 階段案例――我的名片 14
1.7 本章小結 14
1.8 習題 14
第2章 數據類型與運算符 16
2.1 關鍵字和標識符 16
2.1.1 關鍵字 16
2.1.2 標識符 17
2.2 常量與變量 18
2.2.1 常量 18
2.2.2 變量 18
2.3 數據類型 19
2.3.1 基本類型 20
2.3.2 構造類型 24
2.3.3 指針類型 26
2.3.4 類型轉換 27
2.4 運算符與表達式 28
2.4.1 運算符與表達式的概念 28
2.4.2 算術運算符與算術表達式 29
2.4.3 關係運算符與關系表達式 31
2.4.4 邏輯運算符與邏輯表達式 31
2.4.5 賦值運算符與賦值表達式 33
2.4.6 條件運算符與條件表達式 33
2.4.7 位運算符 34
2.4.8 sizeof運算符 36
2.5 運算優先級 36
2.6 階段案例――加密 38
2.7 階段案例――數字反轉 38
2.8 本章小結 39
2.9 習題 39
第3章 流程控制 41
3.1 程序流程圖 41
3.2 順序結構 42
3.3 選擇結構 42
3.3.1 if條件語句 42
3.3.2 switch條件語句 46
3.4 階段案例――自動販賣機 48
3.5 循環結構 48
3.5.1 while循環 48
3.5.2 do…while循環 49
3.5.3 for循環 50
3.5.4 循環嵌套 51
3.5.5 跳轉語句 52
3.6 階段案例――薪水問題 53
3.7 本章小結 54
3.8 習題 54
第4章 數組 57
4.1 什麼是數組 57
4.2 一維數組 58
4.2.1 一維數組的定義與初始化 58
4.2.2 一維數組的訪問 59
4.2.3 數組元素排序 60
4.3 階段案例――雙色球 63
4.4 二維數組 64
4.4.1 二維數組定義與初始化 64
4.4.2 二維數組的訪問 66
4.5 階段案例――楊輝三角 67
4.6 多維數組 68
4.7 本章小結 69
4.8 習題 69
第5章 函數 71
5.1 初識函數 71
5.1.1 函數的定義 71
5.1.2 格式化輸入/輸出 75
5.2 函數調用 76
5.2.1 函數調用方式 76
5.2.2 嵌套調用 77
5.2.3 遞歸調用 78
5.3 階段案例――漢諾塔 79
5.4 外部函數與內部函數 80
5.4.1 外部函數 80
5.4.2 內部函數 81
5.5 局部變量與全局變量 82
5.5.1 局部變量 82
5.5.2 全局變量 83
5.6 認識靜態庫與動態庫 84
5.7 階段案例――體測成績
判定 85
5.8 本章小結 87
5.9 習題 87
第6章 指針 89
6.1 指針的概念 89
6.2 指針運算 91
6.2.1 取址運算符 91
6.2.2 取值運算符 91
6.2.3 常用指針運算 92
6.3 指針與數組 93
6.3.1 指針與一維數組 94
6.3.2 指針與二維數組 95
6.4 階段案例――幻方 97
6.5 指針與函數 99
6.5.1 指針變量作為函數參數 99
6.5.2 函數指針 101
6.5.3 回調函數 103
6.6 指針數組 104
6.6.1 定義指針數組 104
6.6.2 指針數組的應用 105
6.7 二級指針 107
6.8 階段案例――天生棋局 108
6.9 指針與const 109
6.10 本章小結 110
6.11 習題 110
第7章 字符串 113
7.1 字符數組和字符串 113
7.1.1 字符數組 113
7.1.2 字符串 114
7.1.3 字符串與指針 116
7.2 字符串的輸入/輸出 118
7.2.1 常見的輸入函數 118
7.2.2 常見的輸出函數 119
7.3 字符串操作函數 120
7.3.1 字符串比較 120
7.3.2 字符串查找 121
7.3.3 字符串連接 122
7.3.4 字符串複製 123
7.4 數字與字符串轉換 124
7.5 階段案例――回文字符串 125
7.6 本章小結 126
7.7 習題 126
第8章 結構體 128
8.1 結構體類型 128
8.1.1 結構體類型聲明 128
8.1.2 結構體變量定義 129
8.1.3 結構體變量的大小 130
8.1.4 結構體變量初始化 132
8.1.5 結構體變量訪問 132
8.2 結構體數組 133
8.2.1 結構體數組的定義 133
8.2.2 結構體數組的初始化 133
8.2.3 結構體數組的訪問 134
8.3 結構體與指針 134
8.3.1 結構體指針 135
8.3.2 結構體數組指針 135
8.4 結構體與函數 136
8.4.1 結構體變量作為函數參數 136
8.4.2 結構體數組作為函數參數 137
8.4.3 結構體指針作為函數參數 138
8.5 typedef的使用 138
8.6 階段案例――學生成績
管理系統 139
8.7 本章小結 141
8.8 習題 141
第9章 預處理 144
9.1 宏定義 144
9.1.1 不帶參數的宏定義 144
9.1.2 帶參數的宏定義 146
9.2 文件包含 147
9.2.1 文件包含命令的格式 147
9.2.2 多文件包含實例 148
9.3 條件編譯 149
9.3.1 #if/#else/#endif指令 149
9.3.2 #ifdef指令 150
9.3.3 #ifndef指令 150
9.4 斷言 154
9.4.1 斷言的作用 154
9.4.2 斷言與debug 155
9.5 本章小結 155
9.6 習題 155
第10章 文件操作 157
10.1 文件概述 157
10.1.1 流 157
10.1.2 文件 158
10.1.3 文件指針 159
10.1.4 文件位置指針 160
10.2 文件的打開和關閉 161
10.3 文件的讀寫 162
10.3.1 單字符讀寫文件 162
10.3.2 單行讀寫文件 164
10.3.3 二進制形式讀寫文件 165
10.4 階段案例――文件加密 166
10.5 文件隨機讀寫 167
10.6 階段案例――個人日記本 168
10.7 本章小結 169
10.8 習題 169
第11章 常見的數據結構 172
11.1 鏈表 172
11.1.1 鏈表概述 172
11.1.2 鏈表的結構 173
11.1.3 鏈表的實現 173
11.2 棧 177
11.2.1 什麼是棧 178
11.2.2 棧的鏈式存儲與實現 178
11.3 隊列 181
11.3.1 什麼是隊列 182
11.3.2 鏈式隊列的存儲與實現 182
11.4 階段案例――機器運算 186
11.5 本章小結 188
11.6 習題 188
第12章 綜合項目―貪吃蛇
控制台遊戲 190
12.1 項目分析 190
12.1.1 項目需求分析 190
12.1.2 效果顯示 193
12.1.3 項目設計 195
12.2 項目實現 197
12.2.1 項目創建 197
12.2.2 snake.h文件定義 199
12.2.3 界面管理模塊的實現 200
12.2.4 貪吃蛇初始化模塊的實現 203
12.2.5 食物模塊的實現 204
12.2.6 遊戲規則設計模塊的實現 205
12.2.7 貪吃蛇移動控制模塊的實現 207
12.2.8 信息管理模塊的實現 212
12.2.9 main()函數實現 214
12.3 程序調試 215
12.3.1 設置斷點 215
12.3.2 單步調試 216
12.3.3 觀察變量 217
12.3.4 條件判斷 217
12.3.5 項目調試 218
12.4 項目心得 220
12.5 本章小結 220
附錄I 二進制與十進制對應
關係表 221
附錄Ⅱ 八進制與十進制對應
關係表 222
附錄Ⅲ 十六進制與十進制對應
關係表 223
附錄Ⅳ 二進制與八進制對應
關係表 224
附錄V 二進制與十六進制對應
關係表 225
附錄Ⅵ ASCII碼表 226
附錄Ⅶ C語言常用的字符串操作
函數 227
1.1 計算機語言 1
1.2 程序設計與算法 2
1.2.1 算法――程序的靈魂 2
1.2.2 算法的表示 3
1.3 C語言概述 4
1.3.1 C語言的發展史 5
1.3.2 C語言的標準 5
1.3.3 C語言的應用領域 5
1.4 開發環境搭建 7
1.4.1 主流開發工具介紹 7
1.4.2 安裝Dev-C++ 8
1.5 編寫Hello World 10
1.5.1 編寫第一個程序Hello World 10
1.5.2 C程序編譯運行原理 13
1.6 階段案例――我的名片 14
1.7 本章小結 14
1.8 習題 14
第2章 數據類型與運算符 16
2.1 關鍵字和標識符 16
2.1.1 關鍵字 16
2.1.2 標識符 17
2.2 常量與變量 18
2.2.1 常量 18
2.2.2 變量 18
2.3 數據類型 19
2.3.1 基本類型 20
2.3.2 構造類型 24
2.3.3 指針類型 26
2.3.4 類型轉換 27
2.4 運算符與表達式 28
2.4.1 運算符與表達式的概念 28
2.4.2 算術運算符與算術表達式 29
2.4.3 關係運算符與關系表達式 31
2.4.4 邏輯運算符與邏輯表達式 31
2.4.5 賦值運算符與賦值表達式 33
2.4.6 條件運算符與條件表達式 33
2.4.7 位運算符 34
2.4.8 sizeof運算符 36
2.5 運算優先級 36
2.6 階段案例――加密 38
2.7 階段案例――數字反轉 38
2.8 本章小結 39
2.9 習題 39
第3章 流程控制 41
3.1 程序流程圖 41
3.2 順序結構 42
3.3 選擇結構 42
3.3.1 if條件語句 42
3.3.2 switch條件語句 46
3.4 階段案例――自動販賣機 48
3.5 循環結構 48
3.5.1 while循環 48
3.5.2 do…while循環 49
3.5.3 for循環 50
3.5.4 循環嵌套 51
3.5.5 跳轉語句 52
3.6 階段案例――薪水問題 53
3.7 本章小結 54
3.8 習題 54
第4章 數組 57
4.1 什麼是數組 57
4.2 一維數組 58
4.2.1 一維數組的定義與初始化 58
4.2.2 一維數組的訪問 59
4.2.3 數組元素排序 60
4.3 階段案例――雙色球 63
4.4 二維數組 64
4.4.1 二維數組定義與初始化 64
4.4.2 二維數組的訪問 66
4.5 階段案例――楊輝三角 67
4.6 多維數組 68
4.7 本章小結 69
4.8 習題 69
第5章 函數 71
5.1 初識函數 71
5.1.1 函數的定義 71
5.1.2 格式化輸入/輸出 75
5.2 函數調用 76
5.2.1 函數調用方式 76
5.2.2 嵌套調用 77
5.2.3 遞歸調用 78
5.3 階段案例――漢諾塔 79
5.4 外部函數與內部函數 80
5.4.1 外部函數 80
5.4.2 內部函數 81
5.5 局部變量與全局變量 82
5.5.1 局部變量 82
5.5.2 全局變量 83
5.6 認識靜態庫與動態庫 84
5.7 階段案例――體測成績
判定 85
5.8 本章小結 87
5.9 習題 87
第6章 指針 89
6.1 指針的概念 89
6.2 指針運算 91
6.2.1 取址運算符 91
6.2.2 取值運算符 91
6.2.3 常用指針運算 92
6.3 指針與數組 93
6.3.1 指針與一維數組 94
6.3.2 指針與二維數組 95
6.4 階段案例――幻方 97
6.5 指針與函數 99
6.5.1 指針變量作為函數參數 99
6.5.2 函數指針 101
6.5.3 回調函數 103
6.6 指針數組 104
6.6.1 定義指針數組 104
6.6.2 指針數組的應用 105
6.7 二級指針 107
6.8 階段案例――天生棋局 108
6.9 指針與const 109
6.10 本章小結 110
6.11 習題 110
第7章 字符串 113
7.1 字符數組和字符串 113
7.1.1 字符數組 113
7.1.2 字符串 114
7.1.3 字符串與指針 116
7.2 字符串的輸入/輸出 118
7.2.1 常見的輸入函數 118
7.2.2 常見的輸出函數 119
7.3 字符串操作函數 120
7.3.1 字符串比較 120
7.3.2 字符串查找 121
7.3.3 字符串連接 122
7.3.4 字符串複製 123
7.4 數字與字符串轉換 124
7.5 階段案例――回文字符串 125
7.6 本章小結 126
7.7 習題 126
第8章 結構體 128
8.1 結構體類型 128
8.1.1 結構體類型聲明 128
8.1.2 結構體變量定義 129
8.1.3 結構體變量的大小 130
8.1.4 結構體變量初始化 132
8.1.5 結構體變量訪問 132
8.2 結構體數組 133
8.2.1 結構體數組的定義 133
8.2.2 結構體數組的初始化 133
8.2.3 結構體數組的訪問 134
8.3 結構體與指針 134
8.3.1 結構體指針 135
8.3.2 結構體數組指針 135
8.4 結構體與函數 136
8.4.1 結構體變量作為函數參數 136
8.4.2 結構體數組作為函數參數 137
8.4.3 結構體指針作為函數參數 138
8.5 typedef的使用 138
8.6 階段案例――學生成績
管理系統 139
8.7 本章小結 141
8.8 習題 141
第9章 預處理 144
9.1 宏定義 144
9.1.1 不帶參數的宏定義 144
9.1.2 帶參數的宏定義 146
9.2 文件包含 147
9.2.1 文件包含命令的格式 147
9.2.2 多文件包含實例 148
9.3 條件編譯 149
9.3.1 #if/#else/#endif指令 149
9.3.2 #ifdef指令 150
9.3.3 #ifndef指令 150
9.4 斷言 154
9.4.1 斷言的作用 154
9.4.2 斷言與debug 155
9.5 本章小結 155
9.6 習題 155
第10章 文件操作 157
10.1 文件概述 157
10.1.1 流 157
10.1.2 文件 158
10.1.3 文件指針 159
10.1.4 文件位置指針 160
10.2 文件的打開和關閉 161
10.3 文件的讀寫 162
10.3.1 單字符讀寫文件 162
10.3.2 單行讀寫文件 164
10.3.3 二進制形式讀寫文件 165
10.4 階段案例――文件加密 166
10.5 文件隨機讀寫 167
10.6 階段案例――個人日記本 168
10.7 本章小結 169
10.8 習題 169
第11章 常見的數據結構 172
11.1 鏈表 172
11.1.1 鏈表概述 172
11.1.2 鏈表的結構 173
11.1.3 鏈表的實現 173
11.2 棧 177
11.2.1 什麼是棧 178
11.2.2 棧的鏈式存儲與實現 178
11.3 隊列 181
11.3.1 什麼是隊列 182
11.3.2 鏈式隊列的存儲與實現 182
11.4 階段案例――機器運算 186
11.5 本章小結 188
11.6 習題 188
第12章 綜合項目―貪吃蛇
控制台遊戲 190
12.1 項目分析 190
12.1.1 項目需求分析 190
12.1.2 效果顯示 193
12.1.3 項目設計 195
12.2 項目實現 197
12.2.1 項目創建 197
12.2.2 snake.h文件定義 199
12.2.3 界面管理模塊的實現 200
12.2.4 貪吃蛇初始化模塊的實現 203
12.2.5 食物模塊的實現 204
12.2.6 遊戲規則設計模塊的實現 205
12.2.7 貪吃蛇移動控制模塊的實現 207
12.2.8 信息管理模塊的實現 212
12.2.9 main()函數實現 214
12.3 程序調試 215
12.3.1 設置斷點 215
12.3.2 單步調試 216
12.3.3 觀察變量 217
12.3.4 條件判斷 217
12.3.5 項目調試 218
12.4 項目心得 220
12.5 本章小結 220
附錄I 二進制與十進制對應
關係表 221
附錄Ⅱ 八進制與十進制對應
關係表 222
附錄Ⅲ 十六進制與十進制對應
關係表 223
附錄Ⅳ 二進制與八進制對應
關係表 224
附錄V 二進制與十六進制對應
關係表 225
附錄Ⅵ ASCII碼表 226
附錄Ⅶ C語言常用的字符串操作
函數 227
主題書展
更多
主題書展
更多書展今日66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。