內容簡介
C語言是程式設計師的入門語言,也是許多大學為學生安排的門程式設計課程。本書充分考慮到這一點,在內容的編排上儘量符合初學者的要求,在實例的選擇上從易到難,循序漸進,並且能夠解決一些實際問題。
圖書目錄
第1章C語言概述.............................. 1
1.1 程式與程式設計語言 .................... 1
1.1.1 程式 .................................... 1
1.1.2 程式設計語言..................... 2
1.2 C 語言發展歷史和主要特點.......... 3
1.2.1 C 語言的發展歷史.............. 3
1.2.2 C 語言的主要特點.............. 4
1.3 C 語言的基本結構......................... 4
1.3.1 個程式......................... 5
1.3.2 第二個程式......................... 5
1.3.3 printf使用初步.................. 6
1.3.4 第三個程式......................... 7
1.4 程式的調試.................................... 7
1.4.1 調試步驟 ............................ 7
1.4.2 在 Visual Studio 2010 調試
環境下調試個程式...... 8
小結.......................................................12
習題.......................................................12
第2章C語言的基本知識.................. 13
2.1 變數 ..............................................13
2.2 常量 ..............................................15
2.3 C 語言的數據類型........................16
2.3.1 為什麼要討論數據類型.....16
2.3.2 C 語言有哪些數據類型 .....17
2.3.3 基本數據類型....................17
2.4 不同數據類型的變數說明............18
2.4.1 整型變數 ...........................18
2.4.2 浮點變數...........................19
2.4.3 字元變數 ...........................20
2.5 不同數據類型的常量寫法............20
2.5.1 整型常量 ...........................20
2.5.2 浮點常量 ...........................21
2.5.3 字元常量 ...........................21
2.6 不同數據類型的輸入/輸出...........23
2.6.1 整型數據的輸入/輸出 .......23
2.6.2 浮點數據的輸入/輸出 .......24
2.6.3 字元數據的輸入/輸出 .......25
2.6.4 用 getchar()輸入字元和用
putchar()輸出字元..............26
2.7 不同數據類型數據間的混合運算 27
2.7.1 自動轉換............................28
2.7.2 強制轉換............................28
2.7.3 安全類型轉換與非安全類型
轉換 ...................................29
2.8 字元集和標識符 ...........................30
2.8.1 字元集 ...............................31
2.8.2 標識符 ...............................31
2.9 典型錯誤及典型例題 ...................32
小結.......................................................35
習題.......................................................36
第3章 順序和選擇結構程式設計........37
3.1 結構化程式設計 ...........................37
3.1.1 結構化程式設計的 3 種
基本結構 ...........................37
3.1.2 結構化程式設計思想的
產生 ...................................42
3.2 語句與分程式...............................44
3.3 順序結構程式設計 .......................45
3.4 算術運算符與賦值運算符............46
3.4.1 算術運算符的種類及運算.46
3.4.2 算術表達式及算術運算符
的優先權 ...........................47
3.4.3 算術運算符的結合性.........48
3.4.4 普通賦值運算符 ................48
3.4.5 複合賦值運算符 ................49
3.5 選擇結構程式設計 .......................49
CONTENTS
目錄
2 C語言程式設計(第四版)
3.5.1 問題提出與程式示例 ........49
3.5.2 if 形式................................51
3.5.3 if…else 形式 ......................53
3.5.4 else if 形式.........................55
3.5.5 嵌套的 if 語句....................58
3.6 關係運算符與邏輯運算符............60
3.6.1 關係運算符........................60
3.6.2 邏輯運算符........................61
3.7 增 1/減 1 運算符...........................62
3.8 求位元組數運算符...........................63
3.9 switch 語句....................................65
3.10 條件運算符.................................68
3.11 程式舉例.....................................70
3.12 典型錯誤及典型例題 .................73
小結.......................................................78
習題.......................................................79
第4章 循環結構程式設計..................81
4.1 問題提出與程式示例 ...................81
4.2 while 語句 .....................................83
4.2.1 while 語句的語法和流程圖83
4.2.2 使用 while 語句需要注意
的問題 ...............................84
4.3 do…while 語句..............................86
4.3.1 do…while 語句的語法和
流程圖 ...............................86
4.3.2 使用 do…while 語句
解決問題 ...........................86
4.3.3 使用 do…while 語句需要
注意的問題........................88
4.4 for 語句.........................................89
4.4.1 for 語句的語法和流程圖 ...89
4.4.2 使用 for 語句解決問題 ......90
4.4.3 使用 for 語句需要注意的
問題...................................91
4.5 多重循環 ......................................92
4.6 break 語句在循環語句中的用法 ..94
4.7 continue 語句 ................................96
4.7.1 continue 的用法 .................96
4.7.2 break 與 continue 的區別 ...96
4.8 程式舉例 ......................................97
4.9 典型錯誤及典型例題 .................104
小結.....................................................108
習題.....................................................108
第5章 函式.....................................111
5.1 問題提出與程式示例 .................111
5.2 函式基礎 ....................................112
5.3 函式的定義.................................113
5.3.1 函式的定義形式 ..............113
5.3.2 函式的返回值..................114
5.4 函式調用 ....................................115
5.4.1 函式的調用方式 ..............115
5.4.2 嵌套調用..........................116
5.5 函式聲明 ....................................118
5.6 參數傳遞 ....................................119
5.6.1 形參和實參......................119
5.6.2 形參的數據類型是基本
數據類型 .........................120
5.7 遞歸調用 ....................................121
5.8 變數的存儲類別 .........................126
5.8.1 自動變數與外部變數.......126
5.8.2 靜態變數..........................130
5.8.3 暫存器變數......................132
5.9 典型錯誤及典型例題 .................133
小結.....................................................136
習題.....................................................137
第6章 數組.....................................138
6.1 問題提出與程式示例 .................138
6.2 一維數組 ....................................140
6.2.1 一維數組的定義 ..............140
6.2.2 一維數組的引用 ..............141
6.2.3 一維數組的初始化 ..........141
6.2.4 程式舉例..........................142
6.3 數組作為函式的參數 .................146
6.4 字元串與字元串函式 .................149
3 目 錄
6.4.1 字元數組 .........................149
6.4.2 使用字元串常量初始化
字元數組 .........................150
6.4.3 對字元數組進行輸入/
輸出操作 .........................150
6.4.4 字元串函式......................153
6.4.5 程式舉例 .........................157
6.5 二維數組 ....................................160
6.5.1 二維數組 OP 的定義........160
6.5.2 二維數組的引用 ..............161
6.5.3 二維數組的初始化 ..........162
6.5.4 程式舉例 .........................162
6.6 典型錯誤及典型例題 .................168
小結.....................................................174
習題.....................................................174
第7章 指針.....................................178
7.1 指針類型與指針運算符..............178
7.1.1 指針數據類型..................179
7.1.2 指針運算符&和*的使用..180
7.2 空間的動態分配與指針運算......181
7.2.1 程式示例 .........................181
7.2.2 空指針 .............................182
7.2.3 存儲器申請......................182
7.2.4 存儲器釋放......................184
7.2.5 指針值的算術運算 ..........184
7.3 指針與函式.................................187
7.3.1 形參的數據類型是
指針類型 .........................187
7.3.2 返回指針值的函式 ..........190
7.3.3 指向函式的指針 ..............191
7.4 指針與一維數組.........................195
7.4.1 問題提出與程式示例 ......195
7.4.2 數組名及指針作為
函式參數 .........................197
7.4.3 指針與字元串..................199
7.5 二級指針 ....................................201
7.6 指針數組 ....................................203
7.6.1 問題提出與程式示例.......203
7.6.2 指針數組的定義和使用...204
7.7 指針與二維數組 .........................207
7.7.1 用指針方法操作二維數組
.........................................207
7.7.2 動態的二維數組 ..............209
7.7.3 用指向數組的指針操作
二維數組 .........................211
7.8 命令行參數.................................213
7.9 典型錯誤及典型例題 .................217
小結.....................................................223
習題.....................................................224
第8章 結構體等構造數據類型.........226
8.1 結構體 ........................................226
8.1.1 問題提出與程式示例.......226
8.1.2 結構體的聲明和結構體
變數的定義......................227
8.1.3 結構體成員的引用 ..........228
8.1.4 結構體的初始化 ..............229
8.2 結構體數組.................................230
8.3 結構體與指針.............................231
8.3.1 指向結構體的指針 ..........231
8.3.2 結構體中的成員包含
指針 .................................234
8.3.3 用結構體類型指針
建立鍊表 .........................235
8.4 結構體與函式.............................240
8.4.1 結構體數據作為函式
的參數 .............................240
8.4.2 返回指向結構體的指針
的函式 .............................241
8.5 聯合體 ........................................243
8.5.1 問題提出與程式示例.......243
8.5.2 聯合體的聲明和聯合體
變數的定義......................244
8.5.3 聯合體變數成員的引用...245
8.5.4 指向聯合體變數的指針...246
4 C語言程式設計(第四版)
8.5.5 聯合體變數與函式 ..........247
8.6 枚舉 ............................................249
8.6.1 枚舉的聲明和枚舉變數
的定義 .............................249
8.6.2 枚舉變數的使用 ..............249
8.7 類型定義 ....................................250
8.8 程式舉例 ....................................251
8.9 典型錯誤及典型例題 .................254
小結.....................................................259
習題.....................................................260
第9章 檔案.....................................263
9.1 問題提出與程式示例 .................263
9.2 檔案操作的基本方法和
相關概念.....................................264
9.2.1 數據檔案 .........................264
9.2.2 檔案類型指針..................264
9.2.3 檔案的打開......................265
9.2.4 檔案的關閉......................267
9.2.5 檔案操作順序..................268
9.2.6 C 語言的設備檔案...........269
9.3 檔案的讀/寫操作........................269
9.3.1 fputc()函式與 fgetc()函式..269
9.3.2 fprintf()函式與 fscanf()函式
.........................................273
9.3.3 fread()函式與 fwrite()函式 275
9.3.4 fgets()和 fputs() .................279
9.4 檔案的定位.................................280
9.4.1 檔案的順序存取和
隨機存取 .........................280
9.4.2 rewind()函式.....................280
9.4.3 fseek()函式 .......................281
9.5 程式舉例 ....................................282
小結.....................................................287
習題.....................................................287
第10章 綜合案例............................290
附錄A
作者簡介
林小茶,北京信息科技大學信息管理學院副教授 多年來一直從事程設計類課程的教學工作,有豐富的教學經驗;出版了多本有關程式設計的教材,並有多本教材入選國家十一五規劃教材、北京市精品教材以及精品教材。