C語(yǔ)言程序設(shè)計(jì)案例式教程(第2版)
定 價(jià):59.8 元
- 作者:黑馬程序員
- 出版時(shí)間:2022/10/1
- ISBN:9787115598639
- 出 版 社:人民郵電出版社
- 中圖法分類:TP312.8
- 頁(yè)碼:0
- 紙張:
- 版次:02
- 開(kāi)本:16開(kāi)
本書在《C語(yǔ)言程序設(shè)計(jì)案例式教程》的基礎(chǔ)上進(jìn)行了完善、補(bǔ)充和修訂,內(nèi)容更加豐富、翔實(shí),結(jié)構(gòu)層次更加清晰、合理。本書共11章,第1章主要介紹C語(yǔ)言概述、C語(yǔ)言開(kāi)發(fā)環(huán)境的搭建和C語(yǔ)言程序的編譯機(jī)制等;第2章和第3章主要介紹C語(yǔ)言的基礎(chǔ)知識(shí),包括關(guān)鍵字、標(biāo)識(shí)符、常量、變量、數(shù)據(jù)類型、類型轉(zhuǎn)換、運(yùn)算符與表達(dá)式等;第4~9章主要介紹C語(yǔ)言的核心知識(shí),包括結(jié)構(gòu)化程序設(shè)計(jì)、數(shù)組、函數(shù)、指針、字符串、結(jié)構(gòu)體等;第10章和第11章主要介紹C語(yǔ)言的其他知識(shí),包括預(yù)處理、文件管理。
本書配套有教學(xué)PPT、題庫(kù)、教學(xué)視頻、源代碼、教學(xué)設(shè)計(jì)等資源。同時(shí),為了幫助初學(xué)者及時(shí)解決學(xué)習(xí)過(guò)程中遇到的問(wèn)題,作者提供了免費(fèi)的在線答疑平臺(tái)。
本書是C語(yǔ)言的入門教材,可作為高等教育本、?圃盒S(jì)算機(jī)相關(guān)專業(yè)C語(yǔ)言程序設(shè)計(jì)課程的教材,也可作為程序愛(ài)好者的自學(xué)讀物。
1. 本書最大的賣點(diǎn)在于采用純案例式的教學(xué)方法,用具體、形象的案例一點(diǎn)一滴地教會(huì)讀者各個(gè)知識(shí)點(diǎn),全書涵蓋了C 語(yǔ)言程序設(shè)計(jì)的常用技術(shù),提供了63 個(gè)趣味案例、6 個(gè)階段案例、19 道經(jīng)典思考題。
2. 本書提供免費(fèi)教學(xué)資源,包括10 個(gè)精美教學(xué)PPT、723 道測(cè)試題、長(zhǎng)達(dá)15小時(shí)的教學(xué)視頻等。
黑馬程序員,成立于2006年,它是傳智教育旗下高端IT教育品牌,由中國(guó)Java培訓(xùn)先行者張孝祥老師發(fā)起,聯(lián)合全球最大的中文IT社區(qū)CSDN、中關(guān)村軟件園共同創(chuàng)辦的一家專業(yè)教育機(jī)構(gòu)。辦學(xué)至今,我們一直堅(jiān)守著“為千萬(wàn)人少走彎路而著書,為中華軟件之崛起而講課”的辦學(xué)理念,堅(jiān)持培養(yǎng)優(yōu)秀軟件應(yīng)用工程師的宏偉目標(biāo),在累計(jì)培養(yǎng)的十萬(wàn)余名學(xué)員中,其中90%的學(xué)員均已在北、上、廣等一線城市高薪就業(yè),特別是“黑馬程序員”的平均就業(yè)薪資已達(dá)到8K以上。為了迎合軟件市場(chǎng)的需求,我們陸續(xù)開(kāi)設(shè)了Java、網(wǎng)頁(yè)平面、PHP、.Net、iOS、C/C++、Android等9個(gè)專業(yè)方向的課程,并且未來(lái)將逐漸開(kāi)設(shè)其他專業(yè)方向的課程。隨著傳智播客的日益壯大,除了北京總部,我們?cè)谏虾!V州、武漢、成都、深圳等地也創(chuàng)立了直營(yíng)分支機(jī)構(gòu),傳智播客儼然已成為了國(guó)內(nèi)最具專業(yè)口碑的IT教育機(jī)構(gòu)。
第 1章 初識(shí)C語(yǔ)言 1
1.1 C語(yǔ)言概述 1
1.1.1 C語(yǔ)言的發(fā)展歷史 1
1.1.2 C語(yǔ)言的標(biāo)準(zhǔn) 2
1.1.3 C語(yǔ)言的特點(diǎn) 2
1.1.4 C語(yǔ)言的應(yīng)用領(lǐng)域 3
1.2 C語(yǔ)言開(kāi)發(fā)環(huán)境的搭建 3
1.3 第 一個(gè)C語(yǔ)言程序 6
1.4 C語(yǔ)言程序的編譯機(jī)制 9
本章小結(jié) 10
本章習(xí)題 11
第 2章 C語(yǔ)言的基礎(chǔ)知識(shí) 12
【案例2-1】 我愛(ài)C語(yǔ)言 12
案例描述 12
知識(shí)需求 12
知識(shí)講解 12
1.printf()函數(shù) 12
2.scanf()函數(shù) 15
案例實(shí)現(xiàn) 16
【案例2-2】 計(jì)算圓的面積和周長(zhǎng) 16
案例描述 16
知識(shí)需求 17
知識(shí)講解 17
1.關(guān)鍵字 17
2.標(biāo)識(shí)符 19
3.常量 20
4.變量 21
案例實(shí)現(xiàn) 22
【案例2-3】 全國(guó)計(jì)算機(jī)等級(jí)考試信息的
錄入 22
案例描述 22
知識(shí)需求 23
知識(shí)講解 23
1.字符類型 23
2.整型 24
3.浮點(diǎn)型 24
4.布爾型 25
案例實(shí)現(xiàn) 25
【案例2-4】 密碼破譯 26
案例描述 26
知識(shí)需求 26
知識(shí)講解 27
ASCII 27
案例實(shí)現(xiàn) 27
【案例2-5】 混合運(yùn)算 27
案例描述 27
知識(shí)需求 28
知識(shí)講解 28
隱式類型轉(zhuǎn)換 28
案例實(shí)現(xiàn) 29
【案例2-6】 小明考試 29
案例描述 29
知識(shí)需求 30
知識(shí)講解 30
顯式類型轉(zhuǎn)換 30
案例實(shí)現(xiàn) 31
本章小結(jié) 32
本章習(xí)題 32
第3章 運(yùn)算符與表達(dá)式 34
【案例3-1】 算術(shù)運(yùn)算 34
案例描述 34
知識(shí)需求 34
知識(shí)講解 35
1.運(yùn)算符與表達(dá)式 35
2.算術(shù)運(yùn)算符與算術(shù)表達(dá)式 35
3.賦值運(yùn)算符與賦值表達(dá)式 36
案例實(shí)現(xiàn) 37
【案例3-2】 魚與熊掌不可兼得 38
案例描述 38
知識(shí)需求 38
知識(shí)講解 39
1.關(guān)系運(yùn)算符與關(guān)系表達(dá)式 39
2.條件運(yùn)算符與條件表達(dá)式 39
案例實(shí)現(xiàn) 40
【案例3-3】 優(yōu)先級(jí) 40
案例描述 40
知識(shí)需求 41
知識(shí)講解 41
1.邏輯運(yùn)算符與邏輯表達(dá)式 41
2.運(yùn)算符的優(yōu)先級(jí) 42
案例實(shí)現(xiàn) 43
【案例3-4】 交換 44
案例描述 44
知識(shí)需求 44
知識(shí)講解 44
位運(yùn)算符 44
案例實(shí)現(xiàn) 46
【案例3-5】 有容乃大 47
案例描述 47
知識(shí)需求 48
知識(shí)講解 48
sizeof運(yùn)算符 48
案例實(shí)現(xiàn) 48
本章小結(jié) 49
本章習(xí)題 49
第4章 結(jié)構(gòu)化程序設(shè)計(jì) 51
【案例4-1】 畫流程圖 51
案例描述 51
知識(shí)需求 51
知識(shí)講解 52
1.算法 52
2.流程圖 52
案例實(shí)現(xiàn) 53
【案例4-2】 判斷閏年 54
案例描述 54
知識(shí)需求 54
知識(shí)講解 54
1.if語(yǔ)句 54
2.if…else語(yǔ)句 55
3.if…else if…else語(yǔ)句 55
案例實(shí)現(xiàn) 56
【案例4-3】 安全生產(chǎn) 57
案例描述 57
知識(shí)需求 57
知識(shí)講解 57
1.switch語(yǔ)句 57
2.跳轉(zhuǎn)語(yǔ)句 59
案例實(shí)現(xiàn) 59
【案例4-4】 計(jì)算1到100的和 60
案例描述 60
知識(shí)需求 60
知識(shí)講解 61
1.while語(yǔ)句 61
2.do…while語(yǔ)句 61
案例實(shí)現(xiàn) 61
【案例4-5】 物不知數(shù) 62
案例描述 62
知識(shí)需求 63
知識(shí)講解 63
for語(yǔ)句 63
案例實(shí)現(xiàn) 63
【案例4-6】 九九乘法表 64
案例描述 64
知識(shí)需求 65
知識(shí)講解 65
循環(huán)嵌套 65
案例實(shí)現(xiàn) 66
【案例4-7】 百錢百雞 67
案例描述 67
案例實(shí)現(xiàn) 67
【案例4-8】 完美數(shù) 68
案例描述 68
案例實(shí)現(xiàn) 69
【案例4-9】 回文素?cái)?shù) 70
案例描述 70
案例實(shí)現(xiàn) 70
【案例4-10】 親密數(shù) 71
案例描述 71
案例實(shí)現(xiàn) 72
本章小結(jié) 73
本章習(xí)題 73
第5章 數(shù)組 75
【案例5-1】 士兵報(bào)數(shù) 75
案例描述 75
知識(shí)需求 76
知識(shí)講解 76
1.?dāng)?shù)組的概念 76
2.一維數(shù)組的定義與初始化 76
3.一維數(shù)組元素的引用 77
案例實(shí)現(xiàn) 77
【案例5-2】 最大值與最小值 78
案例描述 78
案例實(shí)現(xiàn) 78
【案例5-3】 學(xué)生成績(jī)排序 79
案例描述 79
知識(shí)需求 79
知識(shí)講解 79
1.冒泡排序 79
2.選擇排序 81
3.插入排序 82
案例實(shí)現(xiàn) 84
【案例5-4】 縱橫圖 85
案例描述 85
知識(shí)需求 86
知識(shí)講解 86
1.二維數(shù)組的定義與初始化 86
2.二維數(shù)組元素的訪問(wèn) 87
3.二維數(shù)組的內(nèi)存分配 88
案例實(shí)現(xiàn) 89
【案例5-5】 楊輝三角 91
案例描述 91
案例實(shí)現(xiàn) 92
【案例5-6】 矩陣轉(zhuǎn)置 93
案例描述 93
案例實(shí)現(xiàn) 94
【案例5-7】 斐波那契數(shù)列 95
案例描述 95
案例實(shí)現(xiàn) 95
本章小結(jié) 96
本章習(xí)題 97
第6章 函數(shù) 98
【案例6-1】 祖國(guó)生日快樂(lè) 98
案例描述 98
知識(shí)需求 99
知識(shí)講解 99
1.函數(shù)的概念 99
2.函數(shù)的定義 99
3.函數(shù)的調(diào)用過(guò)程 100
4.函數(shù)的調(diào)用方式 101
案例實(shí)現(xiàn) 102
【案例6-2】 簡(jiǎn)易計(jì)算器 102
案例描述 102
知識(shí)需求 103
知識(shí)講解 103
1.函數(shù)名 103
2.參數(shù)列表 103
3.返回值類型 104
案例實(shí)現(xiàn) 105
【案例6-3】 漢諾塔 107
案例描述 107
知識(shí)需求 107
知識(shí)講解 108
遞歸函數(shù) 108
案例實(shí)現(xiàn) 109
【案例6-4】 0.99與1.01的差別 110
案例描述 110
案例實(shí)現(xiàn) 110
【案例6-5】 遠(yuǎn)水不救近火 111
案例描述 111
知識(shí)需求 111
知識(shí)講解 112
1.局部變量 112
2.全局變量 112
案例實(shí)現(xiàn) 113
【案例6-6】 數(shù)據(jù)去重 114
案例描述 114
知識(shí)需求 114
知識(shí)講解 114
數(shù)組作為函數(shù)參數(shù) 114
案例實(shí)現(xiàn) 115
【案例6-7】 體測(cè)成績(jī)的判定 116
案例描述 116
知識(shí)需求 117
知識(shí)講解 117
1.多個(gè)文件之間的變量引用 117
2.多個(gè)文件之間的函數(shù)調(diào)用 118
案例實(shí)現(xiàn) 120
本章小結(jié) 126
本章習(xí)題 126
第7章 指針 128
【案例7-1】 交換內(nèi)存數(shù)據(jù) 128
案例描述 128
知識(shí)需求 129
知識(shí)講解 129
1.認(rèn)識(shí)計(jì)算機(jī)內(nèi)存 129
2.指針的概念 130
3.指針變量的定義與引用 131
案例實(shí)現(xiàn) 133
【案例7-2】 3個(gè)數(shù)的排序 133
案例描述 133
知識(shí)需求 134
知識(shí)講解 134
1.指針作為函數(shù)參數(shù) 134
2.指針的交換 134
案例實(shí)現(xiàn) 135
【案例7-3】 用戶畫像 136
案例描述 136
知識(shí)需求 137
知識(shí)講解 137
1.指針的運(yùn)算 137
2.?dāng)?shù)組名與指針的關(guān)系 138
3.一維數(shù)組指針 139
案例實(shí)現(xiàn) 140
【案例7-4】 快速排序 141
案例描述 141
案例實(shí)現(xiàn) 141
【案例7-5】 模擬Excel表格的功能 143
案例描述 143
知識(shí)需求 144
知識(shí)講解 144
1.二維數(shù)組指針 144
2.函數(shù)指針 145
案例實(shí)現(xiàn) 145
【案例7-6】 問(wèn)卷調(diào)查 147
案例描述 147
知識(shí)需求 148
知識(shí)講解 148
1.動(dòng)態(tài)數(shù)組的概念 148
2.內(nèi)存申請(qǐng) 148
3.內(nèi)存釋放 149
4.內(nèi)存操作 149
案例實(shí)現(xiàn) 150
【案例7-7】 點(diǎn)名冊(cè) 151
案例描述 151
知識(shí)需求 151
知識(shí)講解 151
1.通過(guò)指針引用字符數(shù)組 151
2.指針數(shù)組 152
3.二級(jí)指針 154
案例實(shí)現(xiàn) 155
【案例7-8】 圍棋 156
案例描述 156
案例實(shí)現(xiàn) 156
本章小結(jié) 160
本章習(xí)題 160
第8章 字符串 162
【案例8-1】 取名器 162
案例描述 162
知識(shí)需求 163
知識(shí)講解 163
1.字符數(shù)組 163
2.字符串 164
3.字符串與指針 164
案例實(shí)現(xiàn) 166
【案例8-2】 員工入職 167
案例描述 167
知識(shí)需求 167
知識(shí)講解 167
1.gets()函數(shù) 167
2.puts()函數(shù) 168
案例實(shí)現(xiàn) 169
【案例8-3】 統(tǒng)計(jì)單詞的個(gè)數(shù) 170
案例描述 170
案例實(shí)現(xiàn) 170
【案例8-4】 分隔字符串 171
案例描述 171
知識(shí)需求 172
知識(shí)講解 172
字符串長(zhǎng)度計(jì)算函數(shù) 172
案例實(shí)現(xiàn) 172
【案例8-5】 回文詩(shī) 173
案例描述 173
案例實(shí)現(xiàn) 173
【案例8-6】 你中有我 174
案例描述 174
知識(shí)需求 175
知識(shí)講解 175
字符串查找函數(shù) 175
案例實(shí)現(xiàn) 176
【案例8-7】 文件替換 176
案例描述 176
知識(shí)需求 177
知識(shí)講解 177
1.字符串連接函數(shù) 177
2.字符串復(fù)制函數(shù) 178
案例實(shí)現(xiàn) 179
【案例8-8】 點(diǎn)名冊(cè)的排序 180
案例描述 180
知識(shí)需求 180
知識(shí)講解 180
字符串比較函數(shù) 180
案例實(shí)現(xiàn) 181
【案例8-9】 密碼 182
案例描述 182
知識(shí)需求 183
知識(shí)講解 183
單個(gè)字符操作函數(shù) 183
案例實(shí)現(xiàn) 184
【案例8-10】 去除字符串兩端的空格 187
案例描述 187
案例實(shí)現(xiàn) 187
【案例8-11】 回文字符串 188
案例描述 188
案例實(shí)現(xiàn)(1) 188
案例實(shí)現(xiàn)(2) 189
本章小結(jié) 191
本章習(xí)題 191
第9章 結(jié)構(gòu)體 193
【案例9-1】 名片制作 193
案例描述 193
知識(shí)需求 194
知識(shí)講解 194
1.結(jié)構(gòu)體類型的定義 194
2.結(jié)構(gòu)體變量的定義 195
3.結(jié)構(gòu)體變量的初始化 196
4.結(jié)構(gòu)體變量的存儲(chǔ)方式 196
5.結(jié)構(gòu)體變量成員的訪問(wèn) 197
案例實(shí)現(xiàn) 198
【案例9-2】 員工生日福利 200
案例描述 200
知識(shí)需求 200
知識(shí)講解 200
1.訪問(wèn)嵌套結(jié)構(gòu)體變量的成員 200
2.嵌套結(jié)構(gòu)體的內(nèi)存管理 201
案例實(shí)現(xiàn) 202
【案例9-3】 計(jì)算學(xué)生平均成績(jī) 203
案例描述 203
知識(shí)需求 203
知識(shí)講解 203
1.結(jié)構(gòu)體數(shù)組的定義與初始化 203
2.結(jié)構(gòu)體數(shù)組的訪問(wèn) 204
案例實(shí)現(xiàn) 205
【案例9-4】 打漁曬網(wǎng) 206
案例描述 206
知識(shí)需求 206
知識(shí)講解 206
1.結(jié)構(gòu)體變量作為函數(shù)參數(shù) 206
2.結(jié)構(gòu)體數(shù)組作為函數(shù)參數(shù) 207
3.結(jié)構(gòu)體指針作為函數(shù)參數(shù) 207
4.typedef關(guān)鍵字 207
案例實(shí)現(xiàn) 208
【案例9-5】 角色與權(quán)限 209
案例描述 209
知識(shí)需求 209
知識(shí)講解 209
1.共用體類型的定義 209
2.共用體變量的定義 210
3.共用體變量的初始化和引用 211
案例實(shí)現(xiàn) 212
【案例9-6】 學(xué)生成績(jī)管理系統(tǒng) 213
案例描述 213
案例實(shí)現(xiàn) 213
本章小結(jié) 224
本章習(xí)題 224
第 10章 預(yù)處理 227
【案例10-1】 環(huán)保購(gòu)物袋 227
案例描述 227
知識(shí)需求 228
知識(shí)講解 228
1.不帶參數(shù)的宏 228
2.取消宏 229
案例實(shí)現(xiàn) 229
【案例10-2】 交換數(shù)組元素 230
案例描述 230
知識(shí)需求 231
知識(shí)講解 231
帶參數(shù)的宏 231
案例實(shí)現(xiàn) 232
【案例10-3】 包裝輸出 233
案例描述 233
知識(shí)需求 233
知識(shí)講解 233
文件包含 233
案例實(shí)現(xiàn) 234
【案例10-4】 32還是64? 235
案例描述 235
知識(shí)需求 235
知識(shí)講解 235
#if、#else和#endif指令 235
案例實(shí)現(xiàn) 235
【案例10-5】 勸學(xué) 236
案例描述 236
知識(shí)需求 236
知識(shí)講解 237
1.#ifdef 237
2.#ifndef 237
案例實(shí)現(xiàn) 240
【案例10-6】 拒絕除以0 241
案例描述 241
知識(shí)需求 241
知識(shí)講解 241
1.?dāng)嘌?241
2.?dāng)嘌耘cdebug 241
案例實(shí)現(xiàn) 242
本章小結(jié) 243
本章習(xí)題 243
第 11章 文件管理 245
【案例11-1】 打開(kāi)電子書 245
案例描述 245
知識(shí)需求 246
知識(shí)講解 246
1.計(jì)算機(jī)中的流 246
2.文件的概念 246
3.文件的分類 247
4.文件指針 247
5.文件的打開(kāi)與關(guān)閉 248
案例實(shí)現(xiàn) 250
【案例11-2】 輸出文件內(nèi)容 250
案例描述 250
知識(shí)需求 250
知識(shí)講解 251
1.文件位置指針 251
2.單字符讀寫文件 251
3.單行讀寫文件 252
案例實(shí)現(xiàn) 253
【案例11-3】 班級(jí)通訊錄 254
案例描述 254
案例實(shí)現(xiàn) 254
【案例11-4】 檔案存儲(chǔ) 255
案例描述 255
知識(shí)需求 256
知識(shí)講解 256
1.fread()函數(shù) 256
2.fwrite()函數(shù) 256
案例實(shí)現(xiàn) 256
【案例11-5】 評(píng)判數(shù)學(xué)試卷 258
案例描述 258
知識(shí)需求 259
知識(shí)講解 259
1.fscanf()函數(shù) 259
2.fprintf()函數(shù) 259
案例實(shí)現(xiàn) 260
【案例11-6】 圖書管理系統(tǒng) 262
案例描述 262
案例實(shí)現(xiàn) 262
本章小結(jié) 271
本章習(xí)題 271
附錄:ASCII表 273