本書的主要內(nèi)容包括軟件開發(fā)綜述、C語言程序基本概念、C語言的基本數(shù)據(jù)類型、運算符及表達式、程序的三種基本結(jié)構(gòu)、函數(shù)、數(shù)組、指針、趣味程序設(shè)計等。每章提供了適量的針對性強的習題及新穎的實驗卡及總結(jié)卡。
本書可用作學時較少的理、工科專業(yè)學生學習C語言程序設(shè)計及參加計算機二級考試的教材,也可作為初學者的參考書。
第1章 軟件開發(fā)綜述及C程序初步
1.1 軟件開發(fā)綜述 /1
1.1.1 計算機工作原理 /1
1.1.2 計算機語言 /1
1.1.3 軟件工程 /4
1.1.4 國產(chǎn)軟件的現(xiàn)狀 /5
1.2 C語言程序簡介 /6
1.2.1 C語言出現(xiàn)的歷史背景 /6
1.2.2 C語言程序示例 /6
1.2.3 C語言中的函數(shù) /7
1.2.4 C語言的元素 /7
1.2.5 程序的輸入、編輯和調(diào)試 /8
習題和實驗 /11
第2章 C語言的數(shù)據(jù)
2.1 數(shù)據(jù)類型 /14
2.2 數(shù)據(jù)的存儲 /15
2.2.1 字符數(shù)據(jù) /15
2.2.2 數(shù)值數(shù)據(jù) /16
2.3 數(shù)據(jù)在程序中的表示 /17
2.3.1 常量 /17
2.3.2 變量 /18
2.4 整型數(shù)據(jù) /19
2.4.1 整型常數(shù) /19
2.4.2 整型變量 /20
2.4.3 整型數(shù)據(jù)的存儲與溢出 /20
2.5 實型數(shù)據(jù) /22
2.5.1 實型常量 /22
2.5.2 實型變量 /22
2.5.3 實型數(shù)據(jù)的存儲和舍入誤差 /22
2.6 字符型數(shù)據(jù) /23
2.6.1 字符常量 /23
2.6.2 字符變量 /24
2.6.3 字符串常量 /25
習題和實驗 /25
第3章 運算符和表達式
3.1 算術(shù)運算符及算術(shù)表達式 /28
3.1.1 算術(shù)運算符 /28
3.1.2 算術(shù)表達式 /29
3.1.3 數(shù)據(jù)類型轉(zhuǎn)換 /30
3.2 運算符的優(yōu)先級與結(jié)合性 /31
3.3 賦值運算符和賦值表達式 /32
3.3.1 賦值運算符 /32
3.3.2 類型轉(zhuǎn)換 /32
3.3.3 復(fù)合的賦值運算符 /33
3.4 逗號運算符和逗號表達式 /34
3.5 位運算 /35
習題和實驗 /36
第4章 順序結(jié)構(gòu)程序設(shè)計
4.1 C語句概述 /40
4.2 格式輸出函數(shù) /41
4.3 格式輸入函數(shù) /43
4.4 其它輸入、輸出函數(shù) /45
4.5 算法及其表示方法 /45
4.5.1 算法的五大特性 /46
4.5.2 算法的表示方法 /46
4.6 順序結(jié)構(gòu)程序設(shè)計舉例 /48
習題和實驗 /48
第5章 選擇結(jié)構(gòu)程序設(shè)計
5.1 關(guān)系運算符和關(guān)系表達式 /53
5.1.1 關(guān)系運算符及其優(yōu)先順序 /53
5.1.2 關(guān)系表達式 /53
5.2 邏輯運算符和邏輯表達式 /54
5.2.1 邏輯運算符及其優(yōu)先順序 /54
5.2.2 邏輯表達式 /54
5.3 if語句 /56
5.4 條件運算符和條件運算表達式 /59
5.5 switch語句 /60
習題和實驗 /61
第6章 循環(huán)結(jié)構(gòu)程序設(shè)計
6.1 循環(huán)結(jié)構(gòu) /65
6.2 while語句 /65
6.3 do-while語句 /67
6.4 for語句 /68
6.5 break語句和continue語句 /70
習題和實驗 /71
第7章 循環(huán)結(jié)構(gòu)程序應(yīng)用
7.1 循環(huán)嵌套 /75
7.2 其它應(yīng)用例子 /77
習題和實驗 /80
第8章 模塊化程序設(shè)計
8.1 模塊化程序設(shè)計 /83
8.2 自定義函數(shù) /84
8.2.1 函數(shù)定義的一般形式 /84
8.2.2 函數(shù)的參數(shù)和返回值 /85
8.2.3 函數(shù)的調(diào)用 /85
8.2.4 定義函數(shù)的位置 /86
8.2.5 函數(shù)之間的通訊 /86
8.3 函數(shù)應(yīng)用舉例 /86
8.4 函數(shù)的嵌套和遞歸調(diào)用 /88
習題和實驗 /91
第9章 變量的存儲屬性和預(yù)編譯命令
9.1 變量的存儲屬性 /93
9.1.1 自動(auto)變量 /93
9.1.2 寄存器(register)變量 /95
9.1.3 靜態(tài)(static)變量 /95
9.1.4 用extern聲明外部變量 /97
9.2 編譯預(yù)處理 /98
9.2.1 宏替換 /98
9.2.2 文件包含處理 /100
習題和實驗 /101
第10章 數(shù)組
10.1 數(shù)組 /104
10.2 一維數(shù)組 /104
10.2.1 一維數(shù)組的定義 /104
10.2.2 一維數(shù)組的引用 /105
10.2.3 一維數(shù)組的初始化 /106
10.3 排序與查找 /107
10.3.1 排序 /107
10.3.2 查找 /112
習題和實驗 /113
第11章 二維數(shù)組和字符數(shù)組
11.1 二維數(shù)組 /117
11.1.1 二維數(shù)組的定義 /117
11.1.2 二維數(shù)組元素的引用 /117
11.1.3 二維數(shù)組元素的初始化 /118
11.1.4 二維數(shù)組應(yīng)用舉例 /118
11.2 字符數(shù)組與字符串 /122
11.2.1 字符數(shù)組與字符串的相關(guān)概念 /122
11.2.2 字符數(shù)組與字符串的輸入和輸出 /123
11.2.3 字符串函數(shù) /124
11.3 數(shù)組與函數(shù) /125
習題和實驗 /126
第12章* 數(shù)組趣味程序
12.1 井字棋游戲 /130
12.1.1 分析設(shè)計 /130
12.1.2 編制程序 /131
12.2 數(shù)字螺旋方陣 /134
12.3 猴子選大王 /136
習題和實驗 /138
第13章 指針
13.1 地址和指針的概念 /142
13.2 指針變量 /143
13.2.1 定義方式 /143
13.2.2 指針變量的引用方式 /143
13.2.3 指向指針的指針 /145
13.3 指針與函數(shù) /145
13.3.1 用指針當函數(shù)參數(shù) /145
13.3.2 指針函數(shù) /146
13.3.3 指向函數(shù)的指針 /147
習題和實驗 /148
第14章 指針與數(shù)組
14.1 一維數(shù)組與指針 /152
14.2 二維數(shù)組與指針 /154
14.2.1 指向二維數(shù)組元素的指針變量 /154
14.2.2 指向二維數(shù)組首元素地址的指針變量 /154
14.2.3 指向二維數(shù)組中某個一維數(shù)組的指針變量 /155
14.3 字符串與指針 /156
14.4 指針數(shù)組 /158
習題和實驗 /159
第15章 結(jié)構(gòu)體與共用體
15.1 結(jié)構(gòu)體 /164
15.2 結(jié)構(gòu)體數(shù)組 /166
15.3 指向結(jié)構(gòu)體類型數(shù)據(jù)的指針 /167
15.4 共用體 /169
15.5 用typedef定義類型 /171
習題和實驗 /173
第16章 鏈表
16.1 動態(tài)存儲分配 /175
16.2 鏈表 /177
16.2.1 利用結(jié)構(gòu)體變量構(gòu)成鏈表 /177
16.2.2 訪問鏈表 /178
16.2.3 插入和刪除結(jié)點 /180
習題和實驗 /181
第17章 文件
17.1 文件概述 /185
17.2 文件類型指針 /186
17.3 與文件操作相關(guān)的函數(shù) /186
17.3.1 打開文件函數(shù) /186
17.3.2 關(guān)閉文件函數(shù) /187
17.3.3 讀寫文件中字符的函數(shù) /187
17.3.4 讀寫文件中字符串的函數(shù) /189
17.3.5 讀寫文件中數(shù)據(jù)塊的函數(shù) /190
17.3.6 對文件格式化讀寫的函數(shù) /191
17.3.7 隨機讀寫文件 /192
17.3.8 檢測文件的函數(shù) /193
習題和實驗 /194
第18章 編制小型比賽選手計分系統(tǒng)
18.1 需求分析 /197
18.2 遞增式開發(fā) /198
18.2.1 設(shè)計主控模塊 /199
18.2.2 設(shè)計顯示用戶菜單的模塊 /200
18.2.3 設(shè)計其它模塊 /200
習題和實驗 /205
第19章 二級考試上機試題舉例
19.1 程序填空題 /206
19.2 程序修改題 /209
19.3 程序設(shè)計題 /211
第20章* 復(fù)雜數(shù)據(jù)類型應(yīng)用舉例
20.1 線性表的實現(xiàn) /215
20.1.1 順序結(jié)構(gòu)線性表的程序?qū)崿F(xiàn) /216
20.1.2 線性鏈表的程序?qū)崿F(xiàn) /221
20.2 廣義表的實現(xiàn) /225
20.3 二叉樹的實現(xiàn) /230
附錄
附錄1 部分習題和實驗的答案及提示 /232
附錄2 編制C語言程序時應(yīng)注意的問題 /249
附錄3 C語言常用系統(tǒng)函數(shù) /258