內容簡介
本書主要介紹了C語言的數據類型、運算符和表達式,結構化程式設計語句、數組、函式、指針、複合數據類型、檔案、圖形庫函式等各種的典型內容。全書共10章,前9章分別介紹各種基礎知識,通過大量案例和練習讓讀者掌握所學知識,第10章介紹了兩個綜合項目,分別是不帶圖形界面的管理信息系統和帶圖形界面的迷宮探險遊戲。每章課後配有類型豐富的練習題,都是國家二級考試題,並提供了習題參考答案。 本書對C語言各知識的闡述通俗易懂,習題的選擇難易適當,題型豐富;對於在TC和VC6.0不同環境下運行結果不同的程式,給出兩種環境下的運行結果,方便讀者理解,所有程式均已調試運行通過,運行結果為截屏顯示。
目錄
第1章 C語言概述 1
1.1 程式設計的基本概念 1
1.1.1 程式的概念 1
1.1.2 程式設計的一般過程 2
1.1.3 程式設計的方法 2
1.2 C語言簡介 2
1.2.1 C語言的發展 2
1.2.2 C語言的特點 3
1.2.3 C語言的書寫規則 3
1.2.4 C程式的幾種類型檔案 3
1.3 C語言程式案例 4
1.3.1 第一個C語言程式 4
1.3.2 定義符號常量C語言程式 5
1.3.3 有多個函式的C語言程式 5
1.4 算法 6
1.4.1 算法概述 6
1.4.2 算法的圖形表示 7
1.5 C語言編程環境 8
1.5.1 turbo C 2.0編程環境 8
1.5.2 Visual C++ 6.0編程環境 9
1.5.3 C/C++程式設計學習與實驗系
統編程環境 12
本章小結 14
學生自我完善練習 15
習題1 15
第2章 程式中的數據 17
2.1 數據類型、變數與常量 17
2.1.1 數據類型概述 17
2.1.2 標識符 18
2.1.3 變數的定義、賦值和初始化 19
2.1.4 變數的存儲形式 20
2.1.5 整型及整型常量 22
2.1.6 實型及實型常量 23
2.1.7 字元型及字元型常量、字元串
常量 25
2.1.8 符號常量 27
2.2 運算符與表達式 28
2.2.1 算術運算符與算術表達式 29
2.2.2 自增、自減運算符(++、--) 29
2.2.3 賦值運算符與賦值表達式 31
2.2.4 關係運算符與關係表達式 32
2.2.5 邏輯運算符與邏輯表達式 33
2.2.6 位運算符 35
2.2.7 其他運算符 36
2.3 數據類型轉換及數據的溢出誤差 38
2.3.1 類型轉換概述 38
2.3.2 自動類型轉換 39
2.3.3 賦值類型轉換 40
2.3.4 強制類型轉換 40
2.3.5 數據的溢出和誤差 40
2.4 數據的輸入/輸出 42
2.4.1 格式化輸出函式printf 42
2.4.2 格式化輸入函式scanf 45
2.4.3 字元數據的輸入與輸出 49
2.5 程式案例 50
2.5.1 典型案例——求直角三角形的
周長和面積 50
2.5.2 典型案例——英文大小寫字母的
轉換 51
本章小結 52
學生自我完善練習 52
習題2 54
第3章 程式設計語句 58
3.1 程式的語句與結構 58
3.1.1 程式的語句 58
3.1.2 程式的結構 60
3.1.3 如何設計C語言程式 61
3.1.4 順序結構 61
3.2 選擇結構 62
3.2.1 二選一結構—— if語句 63
3.2.2 多選一結構——switch語句 68
3.3 循環結構 70
3.3.1 程式的設計過程 70
3.3.2 當型循環——while循環 71
3.3.3 直到型循環——do-while循環 72
3.3.4 格式化的當型循環——for循環 73
3.3.5 循環的嵌套 75
3.4 break、continue和goto語句 77
3.4.1 break語句 77
3.4.2 continue語句 79
3.4.3 goto語句 79
3.5 程式案例 80
3.5.1 典型案例——求四則運算表達式
的值 80
3.5.2 典型案例——求1+(1+2)+(1+2+3)+
(1+2+3+4)+…+(1+2+…+n)數列
的和 81
3.5.3 典型案例——猜數字遊戲 82
本章小結 83
學生自我完善練習 83
習題3 85
第4章 數組 91
4.1 數組概念的引入 91
4.2 一維數組 92
4.2.1 一維數組的定義 92
4.2.2 一維數據的元素引用 92
4.2.3 一維數組的賦值方法 92
4.3 二維數組 94
4.3.1 二維數組的定義 94
4.3.2 二維數據的元素引用 95
4.3.3 二維數組的存儲 95
4.3.4 二維數據的賦值方法 96
4.4 字元數組與字元串 97
4.4.1 字元數組的定義、初始化和引用 97
4.4.2 字元串的輸入和輸出函式 98
4.4.3 字元串函式簡介 101
4.5 程式案例 104
4.5.1 典型案例——冒泡法排序 104
4.5.2 典型案例——矩陣的轉置 105
4.5.3 典型案例——列印楊輝三角形 106
本章小結 108
學生自我完善練習 108
習題4 111
第5章 函式 115
5.1 模組化的設計思想 115
5.2 函式的定義、調用和函式聲明 116
5.2.1 函式的定義 116
5.2.2 函式的調用 117
5.2.3 函式的聲明 118
5.3 函式的參數傳遞 120
5.4 函式的嵌套調用 122
5.5 函式的遞歸調用 123
5.6 變數的作用域和存儲類型 126
5.6.1 變數的作用域 126
5.6.2 變數的生存期 126
5.6.3 變數的存儲類型 127
5.7 程式案例 131
5.7.1 典型案例——編寫函式實現
求xn 131
5.7.2 典型案例——設計遞歸函式gcd(x,y),
求x和y的最大公約數 132
5.7.3 典型案例——設計函式驗證任意
偶數為兩個素數之和 133
5.7.4 典型案例——編寫函式實現任意
進制數的轉換 135
本章小結 136
學生自我完善練習 136
習題5 139
第6章 指針 145
6.1 地址和指針的關係 145
6.2 指針的定義和賦值 146
6.2.1 指針變數的定義及初始化 146
6.2.2 指針變數的賦值 146
6.3 指針變數的運算 147
6.3.1 *運算符和&運算符 147
6.3.2 指針的算術運算和關係運算 147
6.4 指針和數組的關係 149
6.4.1 指針與一維數組 149
6.4.2 指針與字元數組 151
6.4.3 指針與二維數組 153
6.4.4 指針數組 155
6.4.5 指向指針的指針——二級指針 156
6.5 指針在函式中的套用 158
6.5.1 函式的參數是指針 158
6.5.2 函式的返回值是指針 159
6.5.3 指向函式的指針 160
6.5.4 帶參數的main函式 162
6.6 程式案例 163
6.6.1 典型案例——用指針實現統計字
符串中各種字元的個數 163
6.6.2 典型案例——多個字元串中找出
最長字元串,並在其他字元串左
邊補'*'號 164
6.6.3 典型案例——將矩陣元素右移,
左側補0 165
本章小結 167
學生自我完善練習 167
習題6 169
第7章 複合的數據類型 174
7.1 結構概念的引入 174
7.2 結構體的描述與存儲 175
7.2.1 結構體的類型定義 175
7.2.2 結構體變數定義及初始化 176
7.2.3 結構體變數的初始化 177
7.2.4 結構體變數和成員的引用及賦值 177
7.2.5 結構變數的空間分配及查看方法 178
7.2.6 結構體類型的嵌套定義 179
7.3 結構體數組和結構體指針的使用 181
7.3.1 結構體數組 181
7.3.2 結構體指針 182
7.4 結構體與函式的關係 184
7.4.1 結構體變數、指針和數組作為函
數參數 184
7.4.2 結構體變數和指針作為函式的返
回值 187
*7.5 鍊表 189
7.5.1 鍊表基礎知識及動態分配函式 189
7.5.2 鍊表的操作 191
7.6 共用體、枚舉和typedef類型定義 195
7.6.1 共用體 195
7.6.2 枚舉 199
7.6.3 typedef聲明新的類型名 201
7.7 程式案例 203
7.7.1 典型案例——用“結構”統計學
生成績,對成績進行排序 203
7.7.2 典型案例——枚舉示例,輸出52
張撲克牌 205
本章小結 206
學生自我完善練習 206
習題7 208
第8章 檔案和編譯預處理 214
8.1 檔案的概念和基本操作 214
8.1.1 檔案的概念 214
8.1.2 檔案的打開和關閉 216
8.2 檔案的讀寫 218
8.2.1 字元的讀寫函式 218
8.2.2 字元串的讀寫函式 219
8.2.3 數據塊的讀寫函式 221
8.2.4 格式化輸入輸出檔案函式 223
8.3 檔案的定位和檢測 226
8.3.1 檔案的定位 226
8.3.2 檔案的檢測 229
8.4 編譯預處理 229
8.4.1 宏定義 230
8.4.2 檔案包含 232
8.4.3 條件編譯 233
8.5 程式案例 235
8.5.1 典型案例——檔案的字元串讀寫
程式,實現人員登錄功能 235
8.5.2 典型案例——檔案中的字數統計
程式 236
本章小結 238
學生自我完善練習 239
習題8 240
*第9章 C語言圖形程式設計基礎 245
9.1 螢幕設定 245
9.1.1 螢幕顯示模式與坐標系 245
9.1.2 圖形驅動程式與圖形模式 247
9.1.3 TC2.0圖形庫函式 248
9.2 圖形處理函式 248
9.2.1 圖形系統管理函式 248
9.2.2 螢幕管理和顏色設定函式 249
9.2.3 畫點函式 251
9.2.4 繪圖函式 252
9.2.5 設定線型函式 254
9.2.6 基本圖形的填充及填充方式的
設定 257
9.3 圖形操作函式 261
9.3.1 圖形視窗操作函式 261
9.3.2 圖形模式下的字元 264
9.4 綜合程式案例 268
9.4.1 典型案例——畫不同粗細、線型
的圖形 268
9.4.2 典型案例——運動的小車動畫 269
本章小結 271
學生自我完善練習 271
習題9 273
第10章 綜合訓練項目 274
10.1 不帶圖形界面綜合項目——管理信息
系統 274
10.1.1 項目功能介紹 274
10.1.2 項目系統結構分析 274
10.1.3 各功能模組功能簡介 274
10.1.4 源程式及運行結果 276
*10.2 圖形界面綜合項目——迷宮探險
遊戲 283
10.2.1 項目功能介紹 283
10.2.2 項目系統結構分析 284
10.2.3 各功能模組功能簡介 284
10.2.4 源程式及運行結果 284
附錄A 常用字元與ASCII碼對照表 294
參考文獻 296