C語(yǔ)言是編程者的入門(mén)語(yǔ)言,也是許多大學(xué)的**門(mén)程序設(shè)計(jì)課程。本書(shū)充分考慮到這一點(diǎn),通過(guò)案例式的教學(xué)方式,在案例設(shè)計(jì)上從易到難,循序漸進(jìn),讓初學(xué)者可以在做中學(xué),學(xué)中做。
《C語(yǔ)言程序設(shè)計(jì)案例式教程》共分為10章,用案例詮釋了C語(yǔ)言的基礎(chǔ)語(yǔ)法知識(shí)和C語(yǔ)言核心內(nèi)容,具體內(nèi)容包括C語(yǔ)言概述、數(shù)據(jù)類(lèi)型與運(yùn)算符、結(jié)構(gòu)化程序設(shè)計(jì)、函數(shù)、數(shù)組、指針、字符串、編譯和預(yù)處理、結(jié)構(gòu)體和共用體、文件等。書(shū)中遵循【案例描述】?【案例分析】?【必備知識(shí)】?【案例實(shí)現(xiàn)】的順序,全方位進(jìn)行知識(shí)講解和操作指導(dǎo)。
本書(shū)配套教學(xué)PPT、題庫(kù)、教學(xué)視頻、源代碼、教學(xué)案例、教學(xué)設(shè)計(jì)等資源。
本書(shū)既可作為高等院校本、專(zhuān)科相關(guān)專(zhuān)業(yè)的教材,也可作為計(jì)算機(jī)愛(ài)好者的自學(xué)讀物。
1. 本書(shū)*大的賣(mài)點(diǎn)在于采用純案例式的教學(xué)方法,用具體、形象的案例一點(diǎn)一滴地教會(huì)讀者各個(gè)知識(shí)點(diǎn),全書(shū)涵蓋了C 語(yǔ)言程序設(shè)計(jì)的常用技術(shù),提供了63 個(gè)趣味案例、6 個(gè)階段案例、19 道經(jīng)典思考題。
2. 本書(shū)提供免費(fèi)教學(xué)資源,包括10 個(gè)精美教學(xué)PPT、723 道測(cè)試題、長(zhǎng)達(dá)15小時(shí)的教學(xué)視頻等。
黑馬程序員,傳智播客旗下高端IT教育品牌,成立于2006年,它是由中國(guó)Java培訓(xùn)**人張孝祥老師發(fā)起,聯(lián)合全球*大的中文IT社區(qū)CSDN、中關(guān)村軟件園共同創(chuàng)辦的一家專(zhuān)業(yè)教育機(jī)構(gòu)。辦學(xué)至今,我們一直堅(jiān)守著“為千萬(wàn)人少走彎路而著書(shū),為中華軟件之崛起而講課”的辦學(xué)理念,堅(jiān)持培養(yǎng)優(yōu)秀軟件應(yīng)用工程師的宏偉目標(biāo)。
第1章 C語(yǔ)言概述 1
1.1 C語(yǔ)言的歷史和特點(diǎn) 2
1.1.1 C語(yǔ)言的起源與發(fā)展 2
1.1.2 C語(yǔ)言的特點(diǎn) 3
1.2 開(kāi)發(fā)環(huán)境 4
1.2.1 主流開(kāi)發(fā)工具介紹 4
1.2.2 Visual Studio 2013下載與安裝 5
1.3 第一個(gè)C程序:HelloWorld 8
1.4 本章小結(jié) 13
第2章 數(shù)據(jù)類(lèi)型與運(yùn)算符 14
【案例1】看!它們都是100 15
必備知識(shí) 15
1.進(jìn)制 15
2.進(jìn)制轉(zhuǎn)換 16
【案例2】小明的故事 18
必備知識(shí) 19
1.常量的概念 19
2.變量的定義 19
3.變量的數(shù)據(jù)類(lèi)型 20
4.printf()函數(shù)和scanf()函數(shù) 20
【案例3】大小寫(xiě)轉(zhuǎn)換 24
必備知識(shí) 24
ASCII碼 24
【案例4】有容乃大 25
必備知識(shí) 25
sizeof運(yùn)算符 25
【案例5】求周長(zhǎng)和面積 26
必備知識(shí) 26
表達(dá)式 26
【案例6】算術(shù)運(yùn)算 27
必備知識(shí) 27
1.算術(shù)運(yùn)算符 27
2.?dāng)?shù)據(jù)類(lèi)型轉(zhuǎn)換 28
【案例7】自增與自減 31
必備知識(shí) 31
1.自增自減運(yùn)算符 31
2.運(yùn)算符優(yōu)先級(jí) 31
【案例8】偷天換日 33
必備知識(shí) 34
位運(yùn)算符 34
【案例9】比大小 36
必備知識(shí) 37
1.關(guān)系運(yùn)算符 37
2.三目運(yùn)算符 37
【案例10】從尾到頭 39
本章小結(jié) 40
第3章 結(jié)構(gòu)化程序設(shè)計(jì) 41
【案例1】畫(huà)“圖” 42
必備知識(shí) 42
1.算法的概念 42
2.流程圖 42
【案例2】三只小豬 44
必備知識(shí) 44
1.if語(yǔ)句——單分支結(jié)構(gòu) 44
2.if…else語(yǔ)句——雙分支結(jié)構(gòu) 45
3.if…else if…else語(yǔ)句——多分支結(jié)構(gòu) 45
【案例3】自動(dòng)販賣(mài)機(jī) 47
必備知識(shí) 48
1.switch條件語(yǔ)句 48
2.跳轉(zhuǎn)語(yǔ)句(break、continue、goto) 48
【案例4】冰雹猜想 51
必備知識(shí) 51
1.while循環(huán)語(yǔ)句 51
2.do…while循環(huán)語(yǔ)句 52
【案例5】水仙花數(shù) 54
必備知識(shí) 54
for循環(huán)結(jié)構(gòu)語(yǔ)句 54
【案例6】百錢(qián)百雞 57
必備知識(shí) 57
循環(huán)的嵌套 57
【案例7】擲骰子 59
必備知識(shí) 60
隨機(jī)數(shù) 60
【案例8】九九乘法表 62
【案例9】自守?cái)?shù) 63
【案例10】回文素?cái)?shù) 64
【案例11】薪水問(wèn)題 66
本章小結(jié) 68
第4章 函數(shù) 69
【案例1】求平均值 70
必備知識(shí) 70
1.函數(shù)的定義 70
2.函數(shù)調(diào)用時(shí)的數(shù)據(jù)傳遞 71
【案例2】遠(yuǎn)水不救近火 73
必備知識(shí) 73
局部變量與全局變量 73
【案例3】計(jì)算器 76
必備知識(shí) 77
1.函數(shù)調(diào)用 77
2.函數(shù)的調(diào)用方式 77
【案例4】兔子數(shù)列 81
必備知識(shí) 82
遞歸 82
【案例5】漢諾塔 83
【案例6】綜合案例——RSA
算法 85
【案例7】綜合案例——體測(cè)成績(jī)
判定 88
本章小結(jié) 95
第5章 數(shù)組 96
【案例1】最大值和最小值 97
必備知識(shí) 97
1.一維數(shù)組的定義與初始化 97
2.一維數(shù)組的引用 98
【案例2】投票 100
【案例3】神奇魔方陣 102
必備知識(shí) 103
1.二維數(shù)組的定義與初始化 103
2.二維數(shù)組的引用 104
【案例4】校園十大歌手 106
必備知識(shí) 107
1.?dāng)?shù)組作為函數(shù)參數(shù) 107
2.冒泡排序法 107
【案例5】楊輝三角 109
【案例6】兔子去哪了 111
【案例7】矩陣轉(zhuǎn)置 113
【案例8】雙色球 115
本章小結(jié) 117
第6章 指針 118
【案例1】爸爸在哪兒 119
必備知識(shí) 119
1.指針與指針變量 119
2.指針變量的引用 120
【案例2】猜寶游戲 122
必備知識(shí) 123
1.指針作為函數(shù)參數(shù) 123
2.指針的交換 123
【案例3】幻方 126
必備知識(shí) 126
1.指針和一維數(shù)組 126
2.內(nèi)存分配 128
3.內(nèi)存回收 129
【案例4】快速排序 131
【案例5】數(shù)據(jù)表 133
必備知識(shí) 134
1.指針與二維數(shù)組 134
2.函數(shù)指針 136
【案例6】點(diǎn)名冊(cè) 139
必備知識(shí) 139
1.通過(guò)指針引用字符串 139
2.指針數(shù)組 140
3.二級(jí)指針 141
【案例7】綜合案例——天生
棋局 145
本章小結(jié) 149
第7章 字符串 151
【案例1】字符串替換 152
必備知識(shí) 152
1.字符數(shù)組 152
2.字符串概念 153
3.字符串與指針 154
4.字符數(shù)組與字符指針 155
【案例2】刪除字符串中的子串 157
必備知識(shí) 157
1.gets()函數(shù) 157
2.puts()函數(shù) 158
【案例3】到底有多少單詞 159
【案例4】在指定位置插入字符 161
必備知識(shí) 161
1.字符串連接函數(shù) 161
2.字符串復(fù)制函數(shù) 162
【案例5】禁用strcpy() 163
【案例6】那些字符串 164
必備知識(shí) 165
1.字符串比較函數(shù) 165
2.選擇排序算法 165
【案例7】你中有我 167
必備知識(shí) 167
字符串查找函數(shù) 167
【案例8】密碼疑云 170
【案例9】回文字符串 171
本章小結(jié) 174
第8章 編譯和預(yù)處理 175
【案例1】最簡(jiǎn)單的預(yù)處理 176
必備知識(shí) 176
不帶參數(shù)的宏定義 176
【案例2】第二簡(jiǎn)單的預(yù)處理 178
必備知識(shí) 178
帶參數(shù)的宏定義 178
【案例3】文件包含 180
必備知識(shí) 180
文件包含命令的形式 180
【案例4】32還是64? 181
必備知識(shí) 182
#if/#else/#endif指令 182
【案例5】神奇的#include
183
必備知識(shí) 183
1.#ifdef指令 183
2.#ifndef指令 183
本章小結(jié) 184
第9章 結(jié)構(gòu)體和共用體 185
【案例1】學(xué)生信息存取 186
必備知識(shí) 186
1.結(jié)構(gòu)體類(lèi)型和結(jié)構(gòu)體變量 186
2.typedef——給數(shù)據(jù)類(lèi)型取別名 191
【案例2】結(jié)構(gòu)體指針 192
必備知識(shí) 193
結(jié)構(gòu)體指針變量 193
【案例3】求學(xué)生平均成績(jī) 194
必備知識(shí) 194
1.結(jié)構(gòu)體數(shù)組的定義 194
2.結(jié)構(gòu)體數(shù)組的初始化 195
3.結(jié)構(gòu)體數(shù)組的引用 196
4.結(jié)構(gòu)體數(shù)組指針 196
【案例4】師生信息統(tǒng)計(jì)表 198
必備知識(shí) 198
1.共用體數(shù)據(jù)類(lèi)型的定義 198
2.共用體變量的定義 199
3.共用體變量的初始化和引用 200
【案例5】打魚(yú)還是曬網(wǎng) 202
【案例6】初識(shí)鏈表 204
必備知識(shí) 204
1.什么是鏈表 204
2.鏈表的基本操作 205
【案例7】綜合案例——學(xué)生成績(jī)
管理系統(tǒng) 209
本章小結(jié) 219
第10章 文件 220
【案例1】保存學(xué)生信息 221
必備知識(shí) 221
1.計(jì)算機(jī)中的流 221
2.文件 222
3.文件的緩沖區(qū) 222
4.文件指針 223
5.文件的打開(kāi)與關(guān)閉 223
6.寫(xiě)文件 224
【案例2】讀取學(xué)生信息 227
必備知識(shí) 227
1.讀文件 227
2.文件位置指針 228
【案例3】刪除指定學(xué)生信息 231
【案例4】綜合案例——文件加密 234
【案例5】綜合案例—圖書(shū)管理
系統(tǒng) 238
本章小結(jié) 247
附錄A ASCII碼表 248
附錄B 運(yùn)算符的優(yōu)先級(jí)和
結(jié)合性 250
附錄C 常用字符串處理函數(shù) 252
附錄D 常用內(nèi)存操作函數(shù) 254
附錄E 常用文件處理函數(shù) 256