內容簡介
C語言課程是我國許多高校為學生開設的第一門程式設計語言課程。C語言具有很強的實用性,它既可用來編寫系統軟體,也可用來編寫各種套用軟體。 本書主要內容包括:C語言概述,數據類型、運算符與表達式,程式設計初步,選擇結構程式的設計,循環結構程式的設計,數組,函式,預處理命令,指針,結構體與其他數據類型,位運算,檔案等。書中涵蓋了大量的程式設計實例,通過對實例的學習,讀者能夠更好地掌握運用C語言進行程式設計的方法和技巧。 本書既可作為高等院校套用型本科專業學生的教材,也可供自學者以及參加C語言計算機等級考試者閱讀參考。 為了使讀者更好地掌握C語言,清華大學出版社還出版了與本教材配套的學習指導與實驗輔導教材:《C語言程式設計學習指導與實驗教程(第三版)》
圖書目錄
第1章 C語言概述 1
1.1 C語言的發展歷史簡介 1
1.2 C語言的特點 1
1.3 C語言源程式舉例 2
1.4 C程式的編輯、編譯、連線和運行 4
1.5 習題 5
第2章 數據類型、運算符與表達式 6
2.1 C語言的數據類型 6
2.2 常量和變數 6
2.2.1 常量 6
2.2.2 變數 7
2.3 整型數據 7
2.3.1 整型常量 7
2.3.2 整型變數 8
2.3.3 整型數據的輸入輸出 9
2.4 實型數據 10
2.4.1 實型常量 10
2.4.2 實型變數 10
2.4.3 實型數據的輸入輸出 10
2.5 字元型數據 11
2.5.1 字元型常量 11
2.5.2 字元串常量 12
2.5.3 字元型變數 12
2.5.4 字元數據的輸入輸出 12
2.6 算術運算符和算術表達式 14
2.6.1 算術運算符 14
2.6.2 算術表達式 14
2.6.3 不同數據類型間的混合運算 15
2.7 賦值運算符和賦值表達式 16
2.7.1 賦值運算符 16
2.7.2 賦值表達式 16
2.7.3 賦值表達式的類型轉換 17
2.8 其他運算符和表達式 19
2.8.1 自增、自減運算符 19
2.8.2 逗號運算符和逗號表達式 20
2.8.3 求位元組數運算符 21
2.9 習題 21
第3章 程式設計初步 23
3.1 C語句概述 23
3.1.1 C語句的種類 23
3.1.2 C程式的賦值語句 24
3.2 順序結構程式設計 25
3.3 數據的輸入與輸出 26
3.3.1 printf函式 26
3.3.2 scanf函式 30
3.3.3 getchar、putchar及getch函式 32
3.4 程式設計舉例 34
3.5 習題 34
第4章 選擇結構程式的設計 37
4.1 關係運算符和關係表達式 37
4.1.1 關係運算符及其優先次序 37
4.1.2 關係表達式 37
4.2 邏輯運算符和邏輯表達式 38
4.2.l 邏輯運算符及其優先次序 38
4.2.2 邏輯表達式 38
4.3 if 語句 40
4.3.1 if語句的3種形式 40
4.3.2 條件運算符 42
4.4 switch 語句 44
4.5 if語句和switch語句的嵌套形式 45
4.5.1 if語句的嵌套 45
4.5.2 switch語句的嵌套 46
4.6 程式設計舉例 47
4.7 習題 50
第5章 循環結構程式的設計 53
5.1 while語句和do-while語句構成的循環 53
5.1.1 while語句 53
5.1.2 do-while語句 54
5.2 for語句構成的循環 55
5.3 嵌套循環結構的概念和實現 57
5.4 break語句和continue語句 59
5.4.1 break語句 59
5.4.2 continue語句 60
5.5 goto語句和用goto語句構成循環 61
5.6 程式設計舉例 61
5.7 習題 64
第6章 數組 67
6.1 一維數組 67
6.1.1 一維數組的定義 67
6.1.2 一維數組元素的引用和初始化 68
6.1.3 一維數組程式設計舉例 69
6.2 二維數組 73
6.2.1 二維數組的定義 73
6.2.2 二維數組元素的引用和初始化 74
6.2.3 二維數組程式設計舉例 76
6.3 字元數組與字元串 78
6.3.1 字元數組的定義 78
6.3.2 字元數組元素的引用和初始化 78
6.3.3 字元串 79
6.3.4 字元數組元素的輸入輸出 79
6.3.5 處理字元串的函式 81
6.3.6 字元數組程式設計舉例 85
6.4 習題 89
第7章 函式 92
7.1 函式概述 92
7.2 函式的定義 93
7.3 函式的參數和函式的返回值 94
7.3.1 形式參數和實際參數 94
7.3.2 函式的返回值 95
7.4 函式的調用 96
7.4.1 函式調用的一般形式 96
7.4.2 函式調用的方式 97
7.4.3 函式調用的說明 97
7.5 函式的嵌套和遞歸調用 98
7.5.1 函式的嵌套調用 98
7.5.2 函式的遞歸調用 100
7.6 數組作為函式的參數 103
7.7 局部變數和全局變數 105
7.7.1 局部變數 105
7.7.2 全局變數 105
7.8 變數的存儲類別 106
7.8.1 靜態存儲變數和動態存儲變數 106
7.8.2 局部變數的存儲 107
7.8.3 全局變數的存儲 109
7.9 內部函式和外部函式 110
7.9.1 內部函式 111
7.9.2 外部函式 111
7.10 程式設計舉例 112
7.11 習題 115
第8章預處理命令 118
8.1宏定義 118
8.1.1不帶參數的宏定義 118
8.1.2帶參數的宏定義 120
8.2“檔案包含”處理 121
8.3條件編譯 124
8.4習題 125
第9章指針 128
9.1指針的基本概念 128
9.1.1指針變數的定義 128
9.1.2指針變數的引用 129
9.2指針與一維數組 131
9.2.1指向一維數組的指針變數 131
9.2.2通過指針引用一維數組元素 132
9.2.3指針使用的幾個細節 134
9.3指針與字元串 135
9.3.1字元串的表現形式 135
9.3.2字元型指針變數作函式參數 136
9.3.3字元指針變數與字元數組的區別 138
9.4指針與二維數組 139
9.4.1二維數組的指針 139
9.4.2行指針變數 140
9.4.3二維數組的指針作函式參數 141
9.5指針數組與多級指針的概念 142
9.5.1指針數組 142
9.5.2多級指針 144
9.6指針與函式 145
9.6.1指針變數作為函式的參數 145
9.6.2函式的指針 147
9.6.3返回指針值的函式 149
9.7命令行參數 151
9.7.1命令行參數的概念 151
9.7.2命令行參數的處理 151
9.8程式設計舉例 153
9.9習題 156
第10章結構體與其他數據類型 158
10.1結構體的概念 158
10.2結構體類型變數和數組 159
10.2.1結構體類型變數 159
10.2.2結構體類型數組 162
10.3指向結構體的指針 164
10.4使用指針處理鍊表 166
10.4.1記憶體分配和釋放函式 167
10.4.2單向鍊表的操作 168
10.5共用體和枚舉類型 173
10.5.1共用體 173
10.5.2枚舉類型 176
10.6用typedef聲明類型 177
10.7程式設計舉例 178
10.8習題 180
第11章位運算 182
11.1位運算符 182
11.2位運算 182
11.2.1按位取反運算 182
11.2.2左移運算 183
11.2.3右移運算 184
11.2.4按位“與”運算 185
11.2.5按位“或”運算 185
11.2.6按位“異或”運算 186
11.3位運算套用舉例 187
11.4位段結構 189
11.5習題 191
第12章檔案 193
12.1檔案概述 193
12.1.1檔案 193
12.1.2數據檔案的存儲形式 193
12.1.3標準檔案與非標準檔案 194
12.1.4檔案類型指針 194
12.2檔案的打開與關閉 195
12.2.1打開檔案的函式fopen 195
12.2.2關閉檔案的函式fclose 197
12.3檔案的定位和檢測 197
12.3.1檔案的順序讀寫和隨機讀寫 197
12.3.2rewind函式和fseek函式 198
12.3.3feof函式和ftell函式 199
12.3.4ferror函式和clearerr函式 199
12.4檔案的讀寫 200
12.4.1fgetc函式和fputc函式 200
12.4.2fread函式和fwrite函式 202
12.4.3fscanf函式和fprintf函式 204
12.4.4fgets函式和fputs函式 205
12.5程式設計舉例 206
12.6習題 210
附錄AVisualC++6.0使用方法簡介 213
附錄BC語言關鍵字 217
附錄C運算符的優先權及其結合性 217
附錄DC的常用函式館 219
附錄EASCII碼錶 226
參考文獻 230