工業和信息化“十三五”人才培養規劃教材

C語言開發基礎教程(Dev-C++)(第2版)

程序設計
分享 推薦 0 收藏 22 閱讀 3.1K
黑馬程序員 (作者)

關于本書的內容有任何問題,請聯系 范博濤

1.傳智播客經典教材升級,選用本書作為教材,可提供配套教學視頻、PPT、課后習題答案、源代碼、教學大綱、教學設計等豐富資源。
2.本書在上一版的基礎上,對內容做了大幅的優化,選用了全新的C語言開發工具Dev-C++,其便捷小巧、簡單易學的特點,更適合初學者快速學習C語言。
3.全書增加、改進了大量案例代碼,并將代碼放在二維碼中,同時方便讀者閱讀和使用。
4.較上一版,全書體系更加合理、邏輯性更強,文字更通俗易懂。

內容摘要

本書分為12個章節,首先介紹了程序設計基礎思想,其次介紹了C語言的基礎語法,包括基礎數據類型、流程控制、數組、函數、指針、字符串、結構體,之后介紹了預處理、文件操作等知識,然后通過綜合項目,對前面所述知識進行回顧、總結與應用,最后介紹了程序開發中常見的數據結構(包括鏈表、棧、隊列)及其相關操作。

目錄

第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 ?!?77
11.2.1 什么是?!?78
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

讀者評論

趕緊搶沙發哦!

我要評論

作者介紹

黑馬程序員,傳智播客旗下高端IT教育品牌,成立于2006年,它是由中國Java培訓第一人張孝祥老師發起,聯合全球最大的中文IT社區CSDN、中關村軟件園共同創辦的一家專業教育機構。辦學至今,我們一直堅守著“為千萬人少走彎路而著書,為中華軟件之崛起而講課”的辦學理念,堅持培養優秀軟件應用工程師的宏偉目標,在累計培養的十萬余名學員中,其中90%的學員均已在北、上、廣等一線城市高薪就業,特別是“黑馬程序員”的平均就業薪資已達到8K以上。為了迎合軟件市場的需求,我們陸續開設了Java、網頁平面、PHP、.Net、iOS、C/C++、Android等9個專業方向的課程,并且未來將逐漸開設其他專業方向的課程。隨著傳智播客的日益壯大,除了北京總部,我們在上海、廣州、武漢、成都、深圳等地也創立了直營分支機構,傳智播客儼然已成為了國內最具專業口碑的IT教育機構。

同系列書

購買本書用戶

相關圖書

澳洲幸运10是不是真的 永利棋牌网? 西甲足球直播频道 体彩浙江20选五杀号360 体彩七位数开奖结果时间 股票买就跌卖就涨 广东麻将单机版 福彩刮刮乐中奖图片 0投入网上赚钱平台 幸运28预测单双公式 澳洲幸运8开奖记录