C語言程序設(shè)計(jì)案例教程(第3版)
定 價(jià):54 元
叢書名:普通高等學(xué)校計(jì)算機(jī)教育“十三五”規(guī)劃教材
- 作者:廖湖聲 葉乃文 周?B
- 出版時(shí)間:2018/11/1
- ISBN:9787115491954
- 出 版 社:人民郵電出版社
- 中圖法分類:TP312.8
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書主要闡述了C語言程序設(shè)計(jì)的全部內(nèi)容,并將全書劃分成兩個(gè)部分。*部分包括第1章~第6章,主要闡述了C語言程序設(shè)計(jì)的基礎(chǔ)知識(shí)及計(jì)算機(jī)算法的初步內(nèi)容;第二部分包括第7章~第9章,主要列舉了一些綜合性較強(qiáng)的實(shí)例,將講述了一些與實(shí)踐環(huán)節(jié)有關(guān)的內(nèi)容。
本書從解決實(shí)際問題的基點(diǎn)出發(fā),強(qiáng)化算法設(shè)計(jì)的基本方法,并由此闡述C語言為實(shí)現(xiàn)算法而提供的各種技術(shù)支持。
1.豐富了以指針運(yùn)算為中心的程序設(shè)計(jì)教學(xué)內(nèi)容
2.介紹了Visual Studio 2010集成開發(fā)環(huán)境和EasyX圖形庫,以及Dev-C 環(huán)境
3.介紹了算法初步與圖形程序設(shè)計(jì)實(shí)例
4.提供不同專業(yè)需求的教學(xué)資源
廖湖聲,教授,博士生導(dǎo)師,北京工業(yè)大學(xué)計(jì)算機(jī)學(xué)院軟件學(xué)科部主任,軟件課程群責(zé)任教授,北京市重點(diǎn)建設(shè)學(xué)科計(jì)算機(jī)軟件與理論學(xué)科帶頭人。主要從事計(jì)算機(jī)軟件與理論的科研與教學(xué)工作;曾作為訪問學(xué)者參加日本、美國、丹麥等國多所大學(xué)的研究工作,曾被評(píng)選為北京市高等學(xué)校青年學(xué)科帶頭人,入選北京市跨世紀(jì)人才工程。
第1章 C語言基礎(chǔ)知識(shí) 1
1.1 計(jì)算機(jī)與程序設(shè)計(jì)語言 1
1.1.1 計(jì)算機(jī)系統(tǒng)的基本組成 1
1.1.2 程序設(shè)計(jì) 3
1.1.3 程序設(shè)計(jì)語言 3
1.1.4 程序設(shè)計(jì)的學(xué)習(xí)方法 4
1.2 C程序的基本結(jié)構(gòu)和運(yùn)行過程 5
1.2.1 幾個(gè)簡單的C程序 5
1.2.2 運(yùn)行C程序的基本過程 8
1.2.3 使用Visual Studio 2010集成環(huán)境開發(fā)C程序的過程 9
1.2.4 使用Dev-C 集成環(huán)境開發(fā)C程序的過程 13
1.3 數(shù)據(jù)類型、常量、變量、輸入/輸出與基本運(yùn)算 16
1.3.1 基本數(shù)據(jù)類型與數(shù)據(jù)的表示 16
1.3.2 常量 17
1.3.3 變量、變量的存儲(chǔ)與賦值 18
1.3.4 基本的輸入/輸出 21
1.3.5 算術(shù)運(yùn)算符和算術(shù)表達(dá)式 25
1.4 標(biāo)準(zhǔn)函數(shù)和EasyX庫函數(shù) 28
1.4.1 數(shù)學(xué)函數(shù) 29
1.4.2 EasyX圖形處理函數(shù)庫 30
1.5 本章小結(jié) 32
習(xí)題 35
上機(jī)練習(xí)題 35
自測題 37
第2章 C語言的基本控制結(jié)構(gòu) 39
2.1 順序結(jié)構(gòu) 39
2.2 選擇結(jié)構(gòu) 40
2.2.1 關(guān)系運(yùn)算與邏輯運(yùn)算 40
2.2.2 if語句 42
2.2.3 多路選擇和switch語句 44
2.2.4 選擇結(jié)構(gòu)的應(yīng)用實(shí)例:復(fù)數(shù)四則運(yùn)算 45
2.3 循環(huán)結(jié)構(gòu) 48
2.3.1 while語句 48
2.3.2 for語句 50
2.3.3 do while語句 51
2.3.4 break語句和continue語句 52
2.3.5 循環(huán)語句的應(yīng)用實(shí)例 53
2.4 程序調(diào)試的基本方法 55
2.4.1 錯(cuò)誤分類和解決方法 56
2.4.2 靜態(tài)程序調(diào)試 57
2.4.3 動(dòng)態(tài)程序跟蹤 57
2.5 本章小結(jié) 58
習(xí)題 60
上機(jī)練習(xí)題 61
自測題 62
第3章 計(jì)算機(jī)算法初步 64
3.1 算法的概念 64
3.1.1 使用計(jì)算機(jī)求解問題的一般過程 64
3.1.2 數(shù)據(jù)對(duì)象與算法描述 65
3.1.3 流程圖應(yīng)用實(shí)例:一元二次方程求解 66
3.2 窮舉法 69
3.2.1 概述 69
3.2.2 窮舉法應(yīng)用實(shí)例1:素?cái)?shù)的判斷 69
3.2.3 窮舉法應(yīng)用實(shí)例2:百錢買百雞 71
3.3 遞推與迭代法 73
3.3.1 概述 73
3.3.2 遞推與迭代法應(yīng)用實(shí)例1:等比數(shù)列求和 74
3.3.3 遞推與迭代法應(yīng)用實(shí)例2:求圓周率 75
3.4 循環(huán)不變式的概念和應(yīng)用 77
3.4.1 循環(huán)不變式 77
3.4.2 程序設(shè)計(jì)案例中的循環(huán)不變式 79
3.5 本章小結(jié) 82
習(xí)題 83
上機(jī)練習(xí)題 83
自測題 84
第4章 數(shù)據(jù)的組織結(jié)構(gòu)(一) 86
4.1 數(shù)組類型 86
4.1.1 數(shù)組類型的應(yīng)用背景 86
4.1.2 一維數(shù)組類型的定義 87
4.1.3 一維數(shù)組的初始化 88
4.1.4 一維數(shù)組元素的賦值與引用 89
4.2 使用一維數(shù)組組織數(shù)據(jù)的應(yīng)用實(shí)例 90
4.2.1 查找問題 91
4.2.2 排序問題 95
4.2.3 曲線的表示與繪制 98
4.3 字符串的組織 100
4.3.1 字符串的組織形式 100
4.3.2 字符串的引用 101
4.3.3 字符串的輸入/輸出 101
4.4 字符串處理函數(shù)及應(yīng)用實(shí)例 102
4.4.1 常用字符串處理函數(shù) 102
4.4.2 實(shí)例:軌跡繪制中的坐標(biāo)顯示 103
4.4.3 用戶注冊(cè)程序 104
4.5 二維數(shù)組 106
4.5.1 二維數(shù)組的定義 106
4.5.2 二維數(shù)組的應(yīng)用實(shí)例 107
4.6 本章小結(jié) 109
習(xí)題 110
上機(jī)練習(xí)題 112
自測題 113
第5章 程序的組織結(jié)構(gòu) 115
5.1 函數(shù)概述 115
5.2 自定義函數(shù) 117
5.2.1 函數(shù)的定義 117
5.2.2 函數(shù)的調(diào)用 118
5.2.3 自定義函數(shù)的設(shè)計(jì)與應(yīng)用實(shí)例 122
5.3 函數(shù)與數(shù)組的應(yīng)用實(shí)例:冒泡排序 127
5.4 遞歸算法與遞歸函數(shù) 130
5.4.1 遞歸算法與遞歸函數(shù)概述 130
5.4.2 遞歸函數(shù)的調(diào)用過程 131
5.4.3 遞歸函數(shù)的應(yīng)用 132
5.5 變量的作用域和生存期 136
5.5.1 變量的作用域 137
5.5.2 變量的生存期 138
5.6 本章小結(jié) 139
習(xí)題 141
上機(jī)練習(xí)題 143
自測題 144
第6章 基于指針的程序設(shè)計(jì) 146
6.1 指針類型、變量和基本操作 146
6.1.1 指針類型的概念 146
6.1.2 基于指針的數(shù)據(jù)訪問 148
6.1.3 指針運(yùn)算 150
6.2 指針與函數(shù) 152
6.2.1 指針型參數(shù) 152
6.2.2 字符串處理 154
6.2.3 指針型返回值及應(yīng)用實(shí)例 156
6.3 指針與數(shù)組 158
6.3.1 指針與一維數(shù)組 158
6.3.2 指針與二維數(shù)組 160
6.4 指針數(shù)組與動(dòng)態(tài)存儲(chǔ)空間 163
6.4.1 字符串?dāng)?shù)組及應(yīng)用實(shí)例 164
6.4.2 動(dòng)態(tài)存儲(chǔ)空間及應(yīng)用實(shí)例 167
6.4.3 命令行參數(shù)及應(yīng)用實(shí)例 171
6.5 無符號(hào)整型與二進(jìn)制數(shù)據(jù)處理 174
6.5.1 八進(jìn)制、十六進(jìn)制數(shù)據(jù)表示及無符號(hào)整型 174
6.5.2 位運(yùn)算 175
6.5.3 二進(jìn)制數(shù)據(jù)的應(yīng)用實(shí)例 177
6.6 本章小結(jié) 178
習(xí)題 180
上機(jī)練習(xí)題 181
自測題 182
第7章 數(shù)據(jù)的組織結(jié)構(gòu)(二) 185
7.1 結(jié)構(gòu)體類型 185
7.1.1 結(jié)構(gòu)體類型的概念 185
7.1.2 結(jié)構(gòu)體實(shí)例:學(xué)生基本信息 189
7.2 動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)鏈表 193
7.2.1 鏈表的概念 193
7.2.2 鏈表的基本操作 195
7.2.3 鏈表的應(yīng)用實(shí)例 198
7.3 狀態(tài)機(jī)的概念與應(yīng)用 204
7.3.1 狀態(tài)機(jī)的基本概念 204
7.3.2 狀態(tài)機(jī)的應(yīng)用實(shí)例:交通信號(hào)的控制 205
7.4 文件 209
7.4.1 文件的概念 209
7.4.2 文件的打開和關(guān)閉操作 210
7.4.3 文本文件讀/寫操作及應(yīng)用實(shí)例 212
7.4.4 二進(jìn)制文件的讀/取操作 215
7.5 聯(lián)合體與枚舉類型 220
7.5.1 聯(lián)合體 220
7.5.2 枚舉類型 222
7.6 本章小結(jié) 223
習(xí)題 225
上機(jī)練習(xí)題 227
自測題 229
第8章 C程序應(yīng)用實(shí)例 231
8.1 實(shí)例1 文本行編輯程序 231
8.2 實(shí)例2 Hanoi塔演示程序 238
8.3 實(shí)例3 通訊錄管理程序 242
8.4 實(shí)例4 連連看游戲程序 248
8.5 實(shí)例5 大獎(jiǎng)賽評(píng)分管理 255
第9章 軟件開發(fā)基礎(chǔ)知識(shí) 263
9.1 軟件與軟件產(chǎn)品的特征 263
9.2 軟件開發(fā)的基本過程 264
9.2.1 軟件生命周期 265
9.2.2 軟件開發(fā)過程模型 266
9.2.3 軟件開發(fā)方法學(xué) 267
9.3 程序設(shè)計(jì)風(fēng)格 268
9.4 程序調(diào)試的基本方法 268
9.5 軟件測試的基本方法 269
9.6 軟件文檔的編寫要求 270
第10章 C語言課程設(shè)計(jì)指導(dǎo) 271
10.1 課程設(shè)計(jì)教學(xué)環(huán)節(jié)的主要目的 271
10.2 C語言課程設(shè)計(jì)的考核內(nèi)容 271
10.3 課程設(shè)計(jì)報(bào)告的書寫規(guī)范 272
10.3.1 課程設(shè)計(jì)報(bào)告的內(nèi)容要求 272
10.3.2 課程設(shè)計(jì)報(bào)告的質(zhì)量要求 273
10.4 課程設(shè)計(jì)題目 273
10.4.1 第1題 學(xué)生證管理程序 273
10.4.2 第2題 可視化冒泡排序程序 274
10.4.3 第3題 圖書登記管理程序 274
10.4.4 第4題 車輪旋轉(zhuǎn)控制程序 275
10.4.5 第5題 北京交通卡計(jì)費(fèi)程序 275
10.4.6 第6題 海底世界游戲程序 277
10.4.7 第7題 打飛碟游戲程序 278
10.4.8 課程設(shè)計(jì)報(bào)告書排版要求 279
附錄A ASCII字符集 283
附錄B 運(yùn)算符的優(yōu)先級(jí)和結(jié)合性 284
附錄C Visual Studio 2010使用指南 285
附錄D Dev-C 5.1使用指南 293
附錄E C語言常用標(biāo)準(zhǔn)函數(shù) 298
附錄F EasyX常用庫函數(shù) 301
參考文獻(xiàn) 306