複製鏈接
請複製以下鏈接發送給好友

c程序設計

(2009年清華大學出版社出版的圖書)

鎖定
《c程序設計》是2009年清華大學出版社出版的圖書,作者是喬林。
中文名
c程序設計
作    者
喬林
出版社
清華大學出版社
出版時間
2009年5月1日
定    價
26 元
開    本
16 開
ISBN
9787302196327

c程序設計內容簡介

本書內容包括C語言概述、數據類型與數據對象、運算與操作、基本程序結構、分支結構、循環結構、函數、算法、程序組織、數組、結構體與共用體、指針、字符串、文件和鏈表。通過強調那些程序設計中起重要作用的思想與技術,使讀者體會並初步掌握實用程序的設計與開發能力。計算機程序設計基礎是高等學校計算機基礎課程中的核心課程。本書以C程序設計語言為基礎,注重講解程序設計與軟件開發的基本概念、方法和思路,培養讀者的基本編程能力、邏輯思維和抽象思維能力。
本書可作為高等院校計算機及理工類各專業、成人教育學院程序設計課程的教材,也可作為計算機應用開發人員及相關人員自學參考書。

c程序設計編輯推薦

《C程序設計》可作為高等院校計算機及理工類各專業、成人教育學院程序設計課程的教材,也可作為計算機應用開發人員及相關人員自學參考書。

c程序設計圖書目錄

第1章 C語言概述1
1.1 C語言簡介1
1.1.1 C語言歷史1
1.1.2 C語言特點1
1.2 C語言的關鍵字與標識符2
1.2.1 字符集2
1.2.2 標識符2
1.2.3 關鍵字3
1.3 C程序基本結構4
1.3.1 Hello World4
1.3.2 數據對象6
1.3.3 C程序的結構特點8
1.4 C程序開發流程9
1.4.1 頭文件與源文件的編輯9
1.4.2 源文件的編譯9
1.4.3 目標文件的鏈接10
1.4.4 程序調試與執行10
1.5 Turbo C 3.0上機環境與基本操作10
1.5.1 Turbo C 3.0上機環境簡介10
1.5.2 文件的創建和保存11
1.5.3 源文件的編輯13
1.5.4 編譯與鏈接13
1.5.5 程序的執行14
1.6 Visual C++ 6.0上機環境與基本操作15
1.6.1 Visual C++ 6.0上機環境簡介16
1.6.2 文件的創建和保存16
1.6.3 源文件的編輯17
1.6.4 編譯與鏈接17
1.6.5 程序的執行18
習題118第2章 數據類型與數據對象20
2.1 數據類型概述20
2.2 整數類型21
2.2.1 整數類型數據對象21
2.2.2 整數類型的取值範圍22
2.3 實數類型22
2.3.1 double類型的使用22
2.3.2 float類型的使用23
2.3.3 實數類型的取值範圍23
2.4 字符類型24
2.4.1 字符類型的取值範圍24
2.4.2 字符類型數據對象的使用25
2.5 常數25
2.5.1 文字常數26
2.5.2 符號常數28
2.6 變量30
2.6.1 變量的定義30
2.6.2 變量的使用30
2.6.3 變量的特徵31
2.6.4 變量的賦值31
2.6.5 變量的初始化33
2.7 常量33
2.8 用户自定義類型34
2.8.1 枚舉類型34
2.8.2 typedef關鍵字35
習題236第3章 運算與操作37
3.1 表達式37
3.1.1 操作數37
3.1.2 操作符與表達式求值37
3.2 算術操作符38
3.2.1 基本算術操作符38
3.2.2 遞增遞減操作符38
3.3 賦值操作符39
3.3.1 賦值操作符與賦值表達式39
3.3.2 複合賦值表達式40
3.4 表達式求值41
3.4.1 表達式的一般求值規則41
3.4.2 操作符的優先級與結合性41
3.5 逗號操作符43
3.6 混合運算與類型轉換43
3.6.1 隱式類型轉換43
3.6.2 顯式類型轉換44
習題345第4章 基本程序結構46
4.1 語句與註釋46
4.1.1 簡單語句46
4.1.2 複合語句46
4.1.3 空語句47
4.1.4 註釋47
4.2 字符輸入輸出47
4.2.1 字符數據對象的輸出48
4.2.2 字符數據對象的輸入48
4.3 格式化輸出49
4.3.1 printf函數的基本用法49
4.3.2 格式描述符49
4.3.3 輸出精度與格式對齊51
4.4 格式化輸入55
4.4.1 scanf函數的基本用法55
4.4.2 取址操作符57
4.4.3 輸入時的場寬57
4.5 程序的順序結構58
4.5.1 順序結構示例58
4.5.2 條件表達式58
習題459第5章 分支結構61
5.1 邏輯值61
5.2 關係操作符與關係表達式61
5.2.1 關係操作符及其優先級61
5.2.2 關係表達式62
5.3 邏輯操作符與邏輯表達式62
5.3.1 邏輯操作符及其優先級63
5.3.2 邏輯表達式63
5.3.3 複雜邏輯表達式64
5.4 if分支結構65
5.4.1 簡單if分支結構65
5.4.2 if-else語句66
5.4.3 if-else if-else語句67
5.5 switch分支結構71
5.5.1 switch語句71
5.5.2 break語句73
5.6 分支結構的嵌套75
5.6.1 if與switch結構的互相嵌套75
5.6.2 if分支結構的多重嵌套75
習題577第6章 循環結構79
6.1 循環結構概述79
6.2 while循環80
6.2.1 while語句80
6.2.2 while循環示例80
6.3 for循環82
6.3.1 簡單for循環82
6.3.2 for循環與while循環的關係83
6.3.3 複雜for循環83
6.3.4 “更簡單的”for循環84
6.4 循環流程控制85
6.4.1 break語句85
6.4.2 continue語句86
6.5 循環嵌套87
6.6 程序結構化88
6.6.1 程序結構化的基本概念88
6.6.2 結構化程序設計的基本原則88
6.6.3 理解程序的整體思路89
6.6.4 自頂向下逐步求精89
習題690第7章 函數92
7.1 函數調用92
7.1.1 庫函數的調用方法92
7.1.2 函數原型93
7.2 函數定義94
7.2.1 函數定義的一般格式94
7.2.2 函數的返回值95
7.2.3 返回BOOL值的函數96
7.3 函數參數97
7.3.1 形式參數與實際參數97
7.3.2 參數傳遞機制98
7.3.3 函數調用棧框架100
7.3.4 函數的嵌套調用102
7.4 全局數據對象與局部數據對象102
7.4.1 局部數據對象102
7.4.2 全局數據對象103
7.4.3 靜態局部數據對象104
7.5 函數與程序模塊化106
習題7107第8章 算法108
8.1 算法概述108
8.1.1 算法的基本概念108
8.1.2 算法的基本特徵109
8.2 算法描述110
8.2.1 偽代碼110
8.2.2 流程圖111
8.3 算法設計114
8.3.1 最大公約數問題115
8.3.2 素性判定問題116
8.4 算法效率117
8.4.1 最大公約數算法的效率117
8.4.2 素性判定算法的效率118
8.4.3 素性判定算法的除蟲任務119
8.4.4 效率!效率!120
8.5 遞歸算法121
8.5.1 遞歸函數的基本概念121
8.5.2 遞歸函數設計122
8.5.3 遞歸與循環123
8.5.4 漢諾塔問題124
8.5.5 遞歸算法設計的一般策略126
習題8128第9章 程序組織130
9.1 頭文件與源文件130
9.1.1 源文件130
9.1.2 頭文件131
9.1.3 頭文件的包含方法131
9.1.4 頭文件的包含測試132
9.2 工程項目文件管理133
9.2.1 Turbo C環境下的工程文件管理133
9.2.2 Visual C++環境下的工程文件管理135
9.3 常用標準庫函數138
9.3.1 stdio庫138
9.3.2 math庫138
9.3.3 ctype庫140
9.3.4 stdlib庫142
9.4 作用域與生存期144
9.4.1 量的作用域與可見性145
9.4.2 量的存儲類與生存期146
9.4.3 靜態函數147
9.4.4 聲明與定義147
9.5 多文件程序開發示例148
9.5.1 單文件版本148
9.5.2 多文件版本153
習題9157第10章 數組158
10.1 一維數組158
10.1.1 一維數組數據對象的定義158
10.1.2 一維數組的存儲表示159
10.1.3 一維數組數據對象的初始化159
10.2 數組元素操作160
10.2.1 數組元素的訪問160
10.2.2 數組元素的下標161
10.3 數組與函數162
10.3.1 一維數組作為函數參數162
10.3.2 數組參數傳遞規範165
10.4 多維數組167
10.4.1 多維數組數據對象的定義167
10.4.2 多維數組數據對象的初始化167
10.4.3 多維數組的存儲表示168
10.4.4 多維數組元素的訪問168
習題10170第11章 結構體與共用體171
11.1.1 結構體類型的定義171
11.1.2 結構體類型的存儲佈局172
11.1.3 結構體類型的嵌套173
11.2 結構體變量174
11.2.1 結構體變量的定義174
11.2.2 結構體變量的初始化175
11.3 結構體應用175
11.3.1 結構體成員的訪問175
11.3.2 結構體與數組177
11.3.3 結構體與函數178
11.4 庫與接口179
11.4.1 有理數庫180
11.4.2 接口設計原則184
11.5 共用體184
11.5.1 共用體的基本概念184
11.5.2 共用體成員的存儲185
11.5.3 結構體與共用體的嵌套186
習題11188第12章 指針189
12.1 指針變量189
12.1.1 地址與值189
12.1.2 指針變量的定義190
12.1.3 指針變量的初始化190
12.1.4 指針值NULL191
12.1.5 指針數據對象與目標數據對象的訪問191
12.1.6 指針類型194
12.2 指針與函數195
12.2.1 指針作為函數參數195
12.2.2 指針與常量197
12.2.3 指針與函數返回值199
12.3 指針操作199
12.3.1 數據對象地址的計算199
12.3.2 指針加減操作200
12.3.3 指針遞增遞減操作201
12.3.4 指針關係操作202
12.4 指針與數組203
12.4.1 指針作為函數參數203
12.4.2 指針與數組的可互換性206
12.4.3 多維數組作為函數參數207
12.5 函數指針208
12.5.1 函數指針的基本概念208
12.5.2 函數指針類型209
12.5.3 函數指針的使用方法210
12.5.4 void類型210
12.6 查找與排序211
12.6.1 排序211
12.6.2 查找214
習題12216
第13章 字符串218
13.1 字符數組218
13.1.1 字符數組的定義218
13.1.2 字符數組的初始化218
13.1.3 字符數組的內部表示219
13.2 字符指針220
13.2.1 字符指針的定義與初始化220
13.2.2 字符指針的內部表示221
13.2.3 字符'\\0'222
13.2.4 字符指針與字符數組的差異223
13.3 字符串與函數223
13.3.1 字符串作為函數參數223
13.3.2 字符串作為函數返回值225
13.4 字符串庫226
13.4.1 字符串的長度226
13.4.2 字符串的複製與合併227
13.4.3 字符串的比較228
13.4.4 字符串的查找229
13.5 動態存儲管理229
13.5.1 內存分配概述229
13.5.2 動態內存分配230
13.5.3 動態內存釋放231
習題13232第14章 文件233
14.1 文件的基本概念233
14.1.1 什麼是文件233
14.1.2 文件類型233
14.1.3 文件指針234
14.2 文件函數234
14.2.1 fopen函數234
14.2.2 fclose函數235
14.2.3 feof函數與EOF宏236
14.2.4 ferror函數236
14.2.5 fflush函數與fflushall函數237
14.2.6 fseek函數237
14.2.7 ftell函數238
14.2.8 rewind函數238
14.2.9 訪問文件的基本策略238
14.3 面向字符的文件讀寫操作238
14.3.1 fputc函數與fgetc函數238
14.3.2 面向字符的文件讀寫舉例239
14.4 面向文本行的文件讀寫操作240
14.4.1 fputs函數與fgets函數240
14.4.2 面向文本行的文件讀寫舉例241
14.5 格式化信息的文件讀寫操作241
14.5.1 fprintf函數241
14.5.2 fscanf函數242
14.6 面向信息塊的文件讀寫操作244
14.6.1 fwrite函數與fread函數244
14.6.2 面向信息塊的文件讀寫舉例246
習題14248第15章 鏈表249
15.1 指針與結構體249
15.1.1 指針作為結構體的成員249
15.1.2 指向結構體的指針251
15.2 鏈表概述252
15.2.1 鏈表的基本概念252
15.2.2 鏈表與鏈表結點的表示253
15.2.3 鏈表基本操作集256
15.3 鏈表的創建與銷燬257
15.3.1 鏈表的創建257
15.3.2 鏈表的銷燬258
15.4 結點的插入與刪除259
15.4.1 結點的插入操作259
15.4.2 結點的刪除操作261
15.5 鏈表的遍歷262
15.5.1 鏈表結點數據的輸出操作262
15.5.2 使用函數指針實現鏈表遍歷263
15.5.3 鏈表庫應用264
習題15266
參考文獻268 [1] 
參考資料
  • 1.    目錄  .清華大學出版社[引用日期2015-09-06]