C程式設計教程——理論與實踐

C程式設計教程——理論與實踐

《C程式設計教程——理論與實踐》是2011年1月清華大學出版社出版的圖書,作者是劉維富。

基本介紹

  • 書名:C程式設計教程——理論與實踐
  • 作者:劉維富
  • ISBN:9787302229582
  • 定價:38元
  • 出版社:清華大學出版社
  • 出版時間:2011年1月
內容簡介,圖書目錄,

內容簡介

本書中的理論篇按C語言實際編程能力形成的兩個關鍵期,將C語言課堂教學內容分為兩大單元,即結構化程埋跨臘序設計(第想擔燥兵1~4章)和模組化程槳槳巴序設計(第5~10章),知識體系按知識鏈最佳化。以典型範例程式為主體,適時闡述有關程式設計的思想、方法、C語言語法、基本算法和編程技巧,理論聯繫實際,注重讀者實際編程能力的培養。不迴避教學和實際編程中的難點,想方設法地將內容講清講透,力求使讀者突破難點,學以致用。
實踐篇與理論篇配套,包括實驗指導。前12個實驗與課堂教學同步,每個實驗包括調試題、編程題和選做題;第13個實驗可用於課程設計。C語言程式開發環境。介紹主流的C程式集成開發環境--Visual C++ 6.0和等級考試的上機環境--Turbo C 2.0.
全書按C語言標準(C89)編寫。精心設計的例題、調試題、編程題對讀者深入理解、準確掌握和熟練運用C語言極具參考價值和挑戰性。
本書不僅適合作為高校學生學習C語言的教材,而且適合程式設計的初學者或有一定基礎、希望突破編程難點的讀者參考。

圖書目錄

理論與實踐 上篇 理 論 篇
第1章 C語言概述3
1.1 C語言的起源和發展 3
1.2 C語言的主要特點 4
1.3 C編譯器 4
1.4 C語言程式設計 5
1.5 C語言程式的開發步驟和上機調試流程 7
習題 8
第2章 數漿騙霉據類型、運算符和表達式9
2.1 C語言的字元集、關鍵字和標識符 9
2.1.1 C語言的字元集 9
2.1.2 標識符和關鍵字 9
2.2 C語言的基本數據類型 10
2.2.1 基本數據類型 11
2.2.2 常量 13
2.2.3 變數 16
2.3 運算符與表達式 18
2.3.1 算術運算符與算術表達式 19
2.3.2 ++和--運算符 22
2.3.3 賦值運算符與賦值表達式 22
2.3.4 數據類型轉換 23
2.3.5 關係運算符與關係表達式 25
2.3.6 邏輯運算符與邏輯表達式 25
2.3.7 逗號運算符 26
2.3.8 條嚷悼件運算符 27
2.3.9 sizeof運算符 27
2.3.10 位運算符 28
2.4 常用庫函式 29
2.4.1 數學庫函式 29
2.4.2 偽隨機函式 31
習題 31
C程式設計教程--理論與實踐 第3章 基本類型數據的輸入和輸出33
3.1 C語言凶巴棕兵的輸入輸出 33
3.2 字元輸入輸出函式 33
3.3 格式化輸出函式printf 34
3.3.1 printf函式概述 34
3.3.2 printf函式的格式說明 35
3.3.3 printf函式的使用 37
3.4 格式化輸入函式慨格恥scanf 40
3.4.1 scanf函式概述 40
3.4.2 scanf函式的格式說明 41
3.4.3 scanf函式的使用 42
3.5 程式舉例 44
習題 46
第4章 流程控制49
4.1 算法 49
4.1.1 算法的概念 49
4.1.2 算法舉例 50
4.1.3 算法的特性 50
4.1.4 算法的表達 50
4.1.5 三種基本流程控制結構 51
4.2 C語言的語句 52
4.3 選擇結構語句 52
4.3.1 條件語句 53
4.3.2 開關語句 57
4.4 循環結構語句 60
4.4.1 while語句 61
4.4.2 do…while語句 62
4.4.3 for語句 63
4.4.4 循環語句小結 66
4.5 轉向語句 68
4.5.1 break語句 68
4.5.2 continue語句 70
4.5.3 goto語句簡介 70
4.5.4 exit函式 71
4.6 程式舉例 71
4.7 程式調試簡介 78
4.7.1 程式的錯誤類型 78
4.7.2 程式調試 79
習題 79
第5章 函式81
5.1 函式定義和調用 81
5.1.1 函式定義 81
5.1.2 函式調用 83
5.1.3 函式原型 85
5.2 標識符的作用域 88
5.2.1 塊作用域(局部作用域) 88
5.2.2 檔案作用域(全局作用域) 89
5.2.3 函式原型作用域 90
5.2.4 函式作用域 91
5.3 變數的存儲種類 91
5.3.1 自動變數 92
5.3.2 暫存器變數 92
5.3.3 外部變數 93
5.3.4 靜態變數 95
5.3.5 小結 97
5.4 指針基礎 97
5.4.1 地址的概念 98
5.4.2 指針的概念 98
5.4.3 指針變數 98
5.4.4 指針做函式的參數 99
5.4.5 指針做函式的返回值 101
5.5 遞歸函式 102
5.6 模組化程式設計方法 106
習題 111
第6章 編譯預處理115
6.1 檔案包含 115
6.2 宏 117
6.2.1 不帶參數的宏 117
6.2.2 帶參數的宏 119
6.3 條件編譯 121
6.4 程式的多檔案組織 125
6.4.1 程式的多檔案組織方法 125
6.4.2 多檔案程式舉例 125
6.4.3 多檔案程式的編譯和連結 126
習題 127
第7章 數組129
7.1 一維數組 129
7.1.1 一維數組的定義、引用和初始化 129
7.1.2 一維數組的賦值和輸入輸出 131
7.1.3 一維數組做函式參數 133
7.1.4 排序 136
7.1.5 查找 140
7.1.6 大整數運算和高精度運算 144
7.2 二維數組 148
7.2.1 二維數組的定義 148
7.2.2 二維數組的引用 149
7.2.3 二維數組的初始化 149
7.2.4 二維數組的賦值和輸入輸出 150
7.2.5 套用舉例 151
7.3 字元數組 153
7.3.1 字元數組的定義、初始化和使用 153
7.3.2 字元數組的輸入和輸出 155
7.3.3 字元串處理函式 158
7.3.4 套用舉例 161
習題 165
第8章 指針171
8.1 指針的運算 171
8.1.1 指針的賦值 171
8.1.2 指針的算術運算 173
8.1.3 指針的關係運算 174
8.1.4 指針值的輸出 175
8.2 指針與數組 176
8.2.1 指針與一維數組 176
8.2.2 指針與多維數組 177
8.2.3 指針與字元串 180
8.3 指針數組和指向指針的指針變數 182
8.3.1 指針數組 182
8.3.2 指向一維數組的指針變數 185
8.3.3 指向指針的指針變數 186
8.4 指針與函式 187
8.4.1 數組做函式的參數 187
8.4.2 帶參數的main函式 190
8.4.3 返回值為指針的函式 193
8.4.4 指向函式的指針及通用算法設計 194
8.5 指針參數傳遞與數據安全 197
8.5.1 const變數 197
8.5.2 const指針做函式參數 198
8.6 void型指針及通用類型程式設計 200
8.7 堆記憶體的申請、使用和釋放 203
8.7.1 malloc函式和free函式 204
8.7.2 套用舉例 205
8.8 參數個數可變的函式 208
習題 212
第9章 自定義數據類型215
9.1 結構體 215
9.1.1 結構體類型的定義 216
9.1.2 結構體變數的定義 216
9.1.3 結構體變數的使用 218
9.1.4 位域 223
9.2 單向鍊表 227
9.2.1 單向鍊表的概念 227
9.2.2 單向鍊表的建立和基本操作 228
9.3 共用體 233
9.3.1 共用體類型的定義 233
9.3.2 共用體類型變數的定義和使用 233
9.4 枚舉 237
9.4.1 枚舉類型的定義 238
9.4.2 枚舉類型變數的定義 238
9.4.3 枚舉類型變數的使用 239
9.5 類型別名 243
習題 245
第10章 檔案247
10.1 基本概念 247
10.1.1 位元組流 247
10.1.2 檔案 247
10.1.3 緩衝 248
10.1.4 檔案指針 248
10.2 檔案的打開與關閉 249
10.2.1 檔案的打開 249
10.2.2 檔案的關閉 250
10.3 文本檔案的讀寫 250
10.3.1 fputc函式和fgetc函式 251
10.3.2 fgets函式和fputs函式 254
10.3.3 fprintf函式和fscanf函式 255
10.4 二進制檔案的讀寫 257
10.4.1 fread函式和fwrite函式 257
10.4.2 檔案的位置指針與隨機讀寫 258
10.5 出錯狀態的檢測和清除 263
10.5.1 ferror函式 263
10.5.2 clearerr函式 263
10.6 綜合套用舉例 263
習題 267
下篇 實 踐 篇
第11章 實驗指導271
11.1 實驗目的與要求 271
11.2 實驗一 VC++6.0 IDE與C語言程式開發 273
11.3 實驗二 基本數據的輸入輸出 279
11.4 實驗三 選擇結構 280
11.5 實驗四 循環結構 282
11.6 實驗五 函式 284
11.7 實驗六 遞歸 286
11.8 實驗七 數組 288
11.9 實驗八 字元串 291
11.10 實驗九 指針(1) 293
11.11 實驗十 指針(2) 295
11.12 實驗十一 結構體與單向鍊表 298
11.13 實驗十二 檔案 302
11.14 實驗十三 綜合 304
第12章 Visual C++ 6.0 集成開發環境307
12.1 Visual C++的集成開發環境 307
12.1.1 選單欄 307
12.1.2 工具列 312
12.1.3 工作區視窗 314
12.1.4 文本編輯器和編輯選單 315
12.1.5 檔案選單 317
12.1.6 Build選單 318
12.2 Visual C++開發C語言程式的基本過程 319
12.2.1 創建C語言程式的方式 319
12.2.2 源程式的編輯與格式化 322
12.2.3 多檔案程式的組織 323
12.2.4 程式的編譯、連結和運行 323
12.3 程式調試 324
12.3.1 程式的錯誤類型 324
12.3.2 編譯錯誤、連結錯誤的查看和修改 325
12.3.3 運行錯誤、邏輯錯誤的判斷與調試 326
12.3.4 基本調試手段 327
12.3.5 集成開發環境的跟蹤調試功能 329
12.4 Visual C++的幫助功能 333
第13章 Turbo C 2.0集成開發環境335
13.1 Turbo C 2.0的安裝 335
13.2 TC環境的啟動與退出 336
13.3 TC環境的工作界面介紹 337
13.4 編輯源程式 339
13.5 編譯、連線和運行程式 341
13.6 設定TC工作環境 347
13.7 程式調試方法 348
13.8 TC選單項的功能 352
13.8.1 File選單 352
13.8.2 Edit命令 353
13.8.3 Run選單 355
13.8.4 Compile選單 355
13.8.5 Project選單 356
13.8.6 Debug選單 356
13.8.7 Break/watch選單 357
13.8.8 Options選單 357
13.8.9 常用熱鍵 360
13.9 常見錯誤信息 362
13.9.1 嚴重錯誤 362
13.9.2 一般錯誤 362
13.9.3 警告 366
13.10 在線上幫助 367
附錄A ASCII碼錶370
附錄B 數制371 B.1 數制的基本概念 371
B.2 不同數制之間數的相互轉換 372
附錄C 實數的表示法374
附錄D C語言常用標準庫函式376 D.1 數學庫函式 376
D.2 字元處理函式 377
D.3 字元串處理函式 378
D.4 記憶體操作函式 379
D.5 標準輸入輸出庫函式 379
D.6 通用函式 381
D.6.1 堆記憶體分配函式 381
D.6.2 偽隨機函式 381
D.6.3 數據轉換函式 382
D.6.4 其他函式 382
D.7 訪問函式可變參數的宏 383
D.8 時間和日期函式 384
附錄E C99簡介385
參考文獻386
3.4 格式化輸入函式scanf 40
3.4.1 scanf函式概述 40
3.4.2 scanf函式的格式說明 41
3.4.3 scanf函式的使用 42
3.5 程式舉例 44
習題 46
第4章 流程控制49
4.1 算法 49
4.1.1 算法的概念 49
4.1.2 算法舉例 50
4.1.3 算法的特性 50
4.1.4 算法的表達 50
4.1.5 三種基本流程控制結構 51
4.2 C語言的語句 52
4.3 選擇結構語句 52
4.3.1 條件語句 53
4.3.2 開關語句 57
4.4 循環結構語句 60
4.4.1 while語句 61
4.4.2 do…while語句 62
4.4.3 for語句 63
4.4.4 循環語句小結 66
4.5 轉向語句 68
4.5.1 break語句 68
4.5.2 continue語句 70
4.5.3 goto語句簡介 70
4.5.4 exit函式 71
4.6 程式舉例 71
4.7 程式調試簡介 78
4.7.1 程式的錯誤類型 78
4.7.2 程式調試 79
習題 79
第5章 函式81
5.1 函式定義和調用 81
5.1.1 函式定義 81
5.1.2 函式調用 83
5.1.3 函式原型 85
5.2 標識符的作用域 88
5.2.1 塊作用域(局部作用域) 88
5.2.2 檔案作用域(全局作用域) 89
5.2.3 函式原型作用域 90
5.2.4 函式作用域 91
5.3 變數的存儲種類 91
5.3.1 自動變數 92
5.3.2 暫存器變數 92
5.3.3 外部變數 93
5.3.4 靜態變數 95
5.3.5 小結 97
5.4 指針基礎 97
5.4.1 地址的概念 98
5.4.2 指針的概念 98
5.4.3 指針變數 98
5.4.4 指針做函式的參數 99
5.4.5 指針做函式的返回值 101
5.5 遞歸函式 102
5.6 模組化程式設計方法 106
習題 111
第6章 編譯預處理115
6.1 檔案包含 115
6.2 宏 117
6.2.1 不帶參數的宏 117
6.2.2 帶參數的宏 119
6.3 條件編譯 121
6.4 程式的多檔案組織 125
6.4.1 程式的多檔案組織方法 125
6.4.2 多檔案程式舉例 125
6.4.3 多檔案程式的編譯和連結 126
習題 127
第7章 數組129
7.1 一維數組 129
7.1.1 一維數組的定義、引用和初始化 129
7.1.2 一維數組的賦值和輸入輸出 131
7.1.3 一維數組做函式參數 133
7.1.4 排序 136
7.1.5 查找 140
7.1.6 大整數運算和高精度運算 144
7.2 二維數組 148
7.2.1 二維數組的定義 148
7.2.2 二維數組的引用 149
7.2.3 二維數組的初始化 149
7.2.4 二維數組的賦值和輸入輸出 150
7.2.5 套用舉例 151
7.3 字元數組 153
7.3.1 字元數組的定義、初始化和使用 153
7.3.2 字元數組的輸入和輸出 155
7.3.3 字元串處理函式 158
7.3.4 套用舉例 161
習題 165
第8章 指針171
8.1 指針的運算 171
8.1.1 指針的賦值 171
8.1.2 指針的算術運算 173
8.1.3 指針的關係運算 174
8.1.4 指針值的輸出 175
8.2 指針與數組 176
8.2.1 指針與一維數組 176
8.2.2 指針與多維數組 177
8.2.3 指針與字元串 180
8.3 指針數組和指向指針的指針變數 182
8.3.1 指針數組 182
8.3.2 指向一維數組的指針變數 185
8.3.3 指向指針的指針變數 186
8.4 指針與函式 187
8.4.1 數組做函式的參數 187
8.4.2 帶參數的main函式 190
8.4.3 返回值為指針的函式 193
8.4.4 指向函式的指針及通用算法設計 194
8.5 指針參數傳遞與數據安全 197
8.5.1 const變數 197
8.5.2 const指針做函式參數 198
8.6 void型指針及通用類型程式設計 200
8.7 堆記憶體的申請、使用和釋放 203
8.7.1 malloc函式和free函式 204
8.7.2 套用舉例 205
8.8 參數個數可變的函式 208
習題 212
第9章 自定義數據類型215
9.1 結構體 215
9.1.1 結構體類型的定義 216
9.1.2 結構體變數的定義 216
9.1.3 結構體變數的使用 218
9.1.4 位域 223
9.2 單向鍊表 227
9.2.1 單向鍊表的概念 227
9.2.2 單向鍊表的建立和基本操作 228
9.3 共用體 233
9.3.1 共用體類型的定義 233
9.3.2 共用體類型變數的定義和使用 233
9.4 枚舉 237
9.4.1 枚舉類型的定義 238
9.4.2 枚舉類型變數的定義 238
9.4.3 枚舉類型變數的使用 239
9.5 類型別名 243
習題 245
第10章 檔案247
10.1 基本概念 247
10.1.1 位元組流 247
10.1.2 檔案 247
10.1.3 緩衝 248
10.1.4 檔案指針 248
10.2 檔案的打開與關閉 249
10.2.1 檔案的打開 249
10.2.2 檔案的關閉 250
10.3 文本檔案的讀寫 250
10.3.1 fputc函式和fgetc函式 251
10.3.2 fgets函式和fputs函式 254
10.3.3 fprintf函式和fscanf函式 255
10.4 二進制檔案的讀寫 257
10.4.1 fread函式和fwrite函式 257
10.4.2 檔案的位置指針與隨機讀寫 258
10.5 出錯狀態的檢測和清除 263
10.5.1 ferror函式 263
10.5.2 clearerr函式 263
10.6 綜合套用舉例 263
習題 267
下篇 實 踐 篇
第11章 實驗指導271
11.1 實驗目的與要求 271
11.2 實驗一 VC++6.0 IDE與C語言程式開發 273
11.3 實驗二 基本數據的輸入輸出 279
11.4 實驗三 選擇結構 280
11.5 實驗四 循環結構 282
11.6 實驗五 函式 284
11.7 實驗六 遞歸 286
11.8 實驗七 數組 288
11.9 實驗八 字元串 291
11.10 實驗九 指針(1) 293
11.11 實驗十 指針(2) 295
11.12 實驗十一 結構體與單向鍊表 298
11.13 實驗十二 檔案 302
11.14 實驗十三 綜合 304
第12章 Visual C++ 6.0 集成開發環境307
12.1 Visual C++的集成開發環境 307
12.1.1 選單欄 307
12.1.2 工具列 312
12.1.3 工作區視窗 314
12.1.4 文本編輯器和編輯選單 315
12.1.5 檔案選單 317
12.1.6 Build選單 318
12.2 Visual C++開發C語言程式的基本過程 319
12.2.1 創建C語言程式的方式 319
12.2.2 源程式的編輯與格式化 322
12.2.3 多檔案程式的組織 323
12.2.4 程式的編譯、連結和運行 323
12.3 程式調試 324
12.3.1 程式的錯誤類型 324
12.3.2 編譯錯誤、連結錯誤的查看和修改 325
12.3.3 運行錯誤、邏輯錯誤的判斷與調試 326
12.3.4 基本調試手段 327
12.3.5 集成開發環境的跟蹤調試功能 329
12.4 Visual C++的幫助功能 333
第13章 Turbo C 2.0集成開發環境335
13.1 Turbo C 2.0的安裝 335
13.2 TC環境的啟動與退出 336
13.3 TC環境的工作界面介紹 337
13.4 編輯源程式 339
13.5 編譯、連線和運行程式 341
13.6 設定TC工作環境 347
13.7 程式調試方法 348
13.8 TC選單項的功能 352
13.8.1 File選單 352
13.8.2 Edit命令 353
13.8.3 Run選單 355
13.8.4 Compile選單 355
13.8.5 Project選單 356
13.8.6 Debug選單 356
13.8.7 Break/watch選單 357
13.8.8 Options選單 357
13.8.9 常用熱鍵 360
13.9 常見錯誤信息 362
13.9.1 嚴重錯誤 362
13.9.2 一般錯誤 362
13.9.3 警告 366
13.10 在線上幫助 367
附錄A ASCII碼錶370
附錄B 數制371 B.1 數制的基本概念 371
B.2 不同數制之間數的相互轉換 372
附錄C 實數的表示法374
附錄D C語言常用標準庫函式376 D.1 數學庫函式 376
D.2 字元處理函式 377
D.3 字元串處理函式 378
D.4 記憶體操作函式 379
D.5 標準輸入輸出庫函式 379
D.6 通用函式 381
D.6.1 堆記憶體分配函式 381
D.6.2 偽隨機函式 381
D.6.3 數據轉換函式 382
D.6.4 其他函式 382
D.7 訪問函式可變參數的宏 383
D.8 時間和日期函式 384
附錄E C99簡介385
參考文獻386

相關詞條

熱門詞條

聯絡我們