C語言程序設計教程

姜成志、何明、史健婷、王麗芬等編著書籍

《C語言程序設計教程》是2011年清華大學出版社出版的圖書,作者是姜成志、何明、史健婷、王麗芬。

內容簡介


本書是根據教育部高等學校計算機基礎課程教學指導委員會於2009年10月發布的《高等學校計算機基礎教學發展戰略研究報告暨計算機基礎課程教學基本要求》的指導精神,側重於“語言級程序設計”層面而編寫的一門C語言程序設計基礎教程。本書系統地介紹了C語言的基本知識和程序設計方法,並且為了有利於讀者進一步學習C++或Visual C++,本書選擇Microsoft Visual C++ 6.0作為C程序的集成開發環境。本書既注重理論知識,又注重程序設計方法的訓練,突出了實踐性與實用性,內容安排循序漸進,深入淺出,有利於讀者對C語言基本知識的掌握和程序設計能力的提高。本書可供高等學校計算機專業和非計算機專業本科生和專科生作為學習C語言程序設計的教材,也可供參加計算機等級考試的讀者學習與參考。

目錄


第1章計算機語言及C語言概述 1
1.1計算機語言和計算機程序 1
1.2C語言概述 3
1.2.1C語言的產生和發展 3
1.2.2C語言的特點 4
1.2.3C程序的結構 5
1.2.4C程序的格式特點 8
1.3C程序的運行步驟與運行環境 8
1.3.1C程序的運行步驟 8
1.3.2VisualC++6.0集成開發環境 9
1.3.3用VisualC++6.0運行C程序 13
習題1 18
第2章演演算法及演演算法的流程圖表示 19
2.1演演算法的概念及特性 19
2.1.1演演算法的概念 19
2.1.2演演算法的特性 20
2.2演演算法的流程圖表示 20
2.2.1傳統流程圖 20
2.2.2結構化程序的3種基本結構 22
2.2.3結構化流程圖 22
習題2 23
第3章C語言的數據類型 24
3.1計算機存儲信息的方法 24
3.1.1位、位元組及內存地址 24
3.1.2數值數據的表示 24
3.1.3字元數據的表示 27
3.2C語言的數據類型 28
3.3常量與變數 28
3.3.1標識符 28
3.3.2常量 29
3.3.3變數 30
3.4整型數據 31
3.4.1整型數據的分類 31
3.4.2整型常量 32
3.4.3整型變數 32
3.5實型數據 33
3.5.1實型數據的分類 33
3.5.2實型常量 33
3.5.3實型變數 33
3.6字元型數據 34
3.6.1字元常量 34
3.6.2字元變數 35
3.6.3字元串常量 36
3.7變數的初始化 37
習題3 38
第4章簡單的C程序設計 41
4.1數據的輸入與輸出 41
4.1.1格式輸出函數printf 41
4.1.2格式輸入函數scanf 45
4.1.3字元輸出函數putchar 49
4.1.4字元輸入函數getchar 49
4.2C運算符與表達式概述 50
4.3基本算術運算符與算術表達式 51
4.3.1基本算術運算符 51
4.3.2算術表達式 51
4.4賦值運算符與賦值表達式 52
4.4.1賦值運算符與賦值表達式 52
4.4.2複合賦值表達式 53
4.4.3賦值語句 53
4.5自增、自減運算符及其表達式 54
4.6逗號運算符與逗號表達式 54
4.7數據類型的轉換 55
4.7.1自動轉換 55
4.7.2強制轉換 55
4.8複合語句與空語句 55
4.8.1複合語句 55
4.8.2空語句 56
4.9順序程序設計舉例 56
習題4 58
第5章選擇結構程序設計 61
5.1關係運算符與關係表達式 61
5.1.1關係運算符 61
5.1.2關係表達式 61
5.2邏輯運算符與邏輯表達式 62
5.2.1邏輯運算符 62
5.2.2邏輯表達式 62
5.3if語句 64
5.3.1if語句的語法及流程 64
5.3.2if語句的嵌套 66
5.4條件運算符與條件表達式 71
5.5switch語句 71
習題5 73
第6章循環結構程序設計 76
6.1while語句 76
6.2do-while語句 79
6.3for語句 81
6.4循環嵌套 84
6.5break語句和continue語句 85
6.5.1break語句 85
6.5.2continue語句 86
6.6goto語句 87
習題6 88
第7章數組 90
7.1一維數組 90
7.1.1一維數組的定義 90
7.1.2一維數組的初始化 92
7.1.3一維數組元素的引用 92
7.1.4一維數組程序舉例 94
7.2二維數組 97
7.2.1二維數組的定義 97
7.2.2二維數組的初始化 98
7.2.3二維數組元素的引用 98
7.2.4二維數組程序舉例 99
7.2.5多維數組 102
7.3字元數組 102
7.3.1字元數組的定義 102
7.3.2字元數組的初始化 103
7.3.3字元數組的格式輸入與輸出 104
7.3.4字元串處理函數 106
7.3.5字元數組應用舉例 109
習題7 111
第8章函數 117
8.1模塊化程序設計思想及函數分類 117
8.1.1模塊化程序設計思想 117
8.1.2函數的分類 117
8.2系統函數 118
8.3用戶自定義函數 118
8.3.1函數的定義 118
8.3.2函數的參數和函數的返回值 121
8.3.3函數的調用 123
8.4函數的嵌套調用 126
8.5數組作為函數參數 129
8.6函數的遞歸調用 132
8.7變數的作用域與存儲類別 135
8.7.1局部變數和全局變數 135
8.7.2變數的存儲類別 138
習題8 144
第9章指針 150
9.1指針與指針變數的概念 150
9.2指向簡單變數的指針變數 151
9.2.1指針變數的定義 151
9.2.2指針變數的引用 152
9.2.3指針作為函數的參數 155
9.3利用指針處理數組 158
9.3.1指針與一維數組 158
9.3.2指針與二維數組 164
9.4利用指針處理字元串 167
9.5返回指針值的函數 170
9.6指針數組與帶有參數的main函數 171
9.6.1指針數組 171
9.6.2帶有參數的main函數 172
9.7指向“指針變數”的指針變數 174
9.8指向函數的指針變數 176
習題9 179
第10章結構體、共用體和枚舉類型 184
10.1結構體類型與變數的定義 184
10.1.1結構體類型的定義 184
10.1.2結構體類型的嵌套定義 186
10.1.3結構體變數的初始化 187
10.2結構體類型變數的引用 188
10.3結構體數組 191
10.4指向結構體變數的指針變數 192
10.5共用體 195
10.5.1共用體類型的說明和變數定義 195
10.5.2共用體變數的引用 196
10.6枚舉類型數據 198
10.6.1枚舉類型的定義 198
10.6.2枚舉類型變數的聲明 198
10.6.3枚舉類型變數的使用 199
10.7typedef命令的使用 200
習題10 202
第11章編譯預處理 206
11.1宏定義 206
11.1.1不帶參數的宏 206
11.1.2帶參數的宏 208
11.1.3終止宏 211
11.2文件包含 212
11.3條件編譯 214
11.3.1#if命令 215
11.3.2#ifdef命令 215
11.3.3#ifndef命令 216
習題11 216
第12章文件 219
12.1文件概述 219
12.1.1文件的概念及文件分類 219
12.1.2文件系統 220
12.1.3文件指針 221
12.2文件的打開與關閉 222
12.2.1文件的打開 222
12.2.2文件的關閉 224
12.3文件的讀寫 224
12.3.1字元讀寫函數 224
12.3.2字元串讀寫函數 226
12.3.3格式化讀寫函數 228
12.3.4數據塊讀寫函數 230
12.4文件讀寫指針的定位及文件檢測 234
12.4.1文件讀寫位置指針的概念 234
12.4.2文件讀寫位置指針的定位 235
12.4.3文件的檢測 238
習題12 240
第13章位運算 243
13.1位運算符 243
13.1.1位運算符的簡介 243
13.1.2位運算符的應用 243
13.2位段 248
習題13 251
附錄AASCII碼錶 253
附錄BC語言常用關鍵字表 254
附錄C運算符優先順序與結合性表 255
附錄DC語言庫函數 257
參考文獻 262