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