程式設計基礎(C語言)(第2版)(2013年清華大學出版社出版的圖書)

程式設計基礎(C語言)(第2版)(2013年清華大學出版社出版的圖書)

《程式設計基礎(C語言)(第2版)》是由高克寧等編著,2013年清華大學出版社出版的“十二五”普通高等教育本科國家級規劃教材、高等學校計算機基礎教育規劃教材、教育部-英特爾精品課程配套教材、遼寧省精品課程配套教材。該教材適合作為高等院校理工科學生教材,也可作為計算機培訓教材。

該教材共15章,以C語言為依託,介紹了程式設計的基本方法和技術,以程式設計思想、程式設計語言、程式設計技術和軟體工程管理四條主線組織相關內容。

基本介紹

  • 書名:程式設計基礎(C語言)(第2版)
  • 作者:高克寧、李金雙、趙長寬、柳秀梅、徐彬
  • ISBN:9787302325536
  • 類別:“十二五”普通高等教育本科國家級規劃教材
  • 頁數:426頁
  • 出版社:清華大學出版社
  • 出版時間:2013年8月1日
  • 裝幀:平裝
  • 開本:16開
  • 字數:690千字
  • CIP核字號:2013109925
成書過程,修訂情況,出版工作,內容簡介,教材目錄,教學資源,教材特色,作者簡介,

成書過程

修訂情況

為適應國家“卓越工程師教育培養計畫”提出的“遵循工程的集成與創新特徵,以強化工程實踐能力、工程設計能力與工程創新能力為核心,重構課程體系和教學內容”的人才培養和課程改革要求,並針對第1版套用過程中出現的問題,作者對教材內容進行了較大幅度的調整。
該次修訂工作,由高克寧教授組織;具體分工如下:第1、2、5章由高克寧負責,第3、4、9、13章由李金雙負責,第6、8、10、11章由柳秀梅負責,第7、12、14、15章由趙長寬負責。案例的編寫工作由徐彬和張昱老師完成,得到了雒興剛教授、張引博士的幫助。

出版工作

2013年8月1日,該教材由清華大學出版社出版。
出版社工作人員
責任編輯封面設計責任校對責任印製
袁勤勇
傅瑞學
李建莊
何芊

內容簡介

該教材共15章,以C語言為依託,介紹了程式設計的基本方法和技術,以程式設計思想、程式設計語言、程式設計技術和軟體工程管理四條主線組織相關內容,主要內容包括計算機及程式設計概述,基本數據類型,常量及變數,運算符與表達式,輸入輸出,程式控制結構,數組,函式,指針,結構體、共用體與枚舉類型,預編譯和宏定義,檔案,程式設計思想及範例,面向對象程式設計,並行程式設計與MPI,個體軟體開發過程管理;並以兩個實例的逐步完善講解貫穿全書。

教材目錄

第1章計算機及程式設計概述1
1.1概述1
1.2計算機基本原理1
1.3指令與程式2
1.3.1指令3
1.3.2程式3
1.3.3軟體3
1.4計算機套用簡介4
1.5程式設計語言5
1.5.1機器語言6
1.5.2彙編語言6
1.5.3高級語言6
1.6問題求解與算法設計8
1.6.1問題求解8
1.6.2算法定義9
1.6.3算法設計10
1.6.4算法的複雜性10
1.6.5偽代碼10
1.6.6流程圖11
1.6.7NS圖12
1.6.8統一建模語言13
1.7程式設計思想13
1.7.1程式設計基本步驟13
1.7.2結構化程式設計14
1.7.3面向對象程式設計15
1.7.4並行程式設計16
1.7.5程式設計思想前沿17
1.8C語言概述17
1.8.1C語言的特點17
1.8.2簡單的C程式設計18
1.8.3C語言程式結構20
1.8.4C程式的開發過程21
1.9案例22
1.9.1固體密度測量問題22
1.9.2超市收銀系統24
練習題25
第2章基本數據類型、常量及變數26
2.1概述26
2.2信息編碼與存儲27
2.2.1數值27
2.2.2字元29
2.3標識符30
2.3.1關鍵字31
2.3.2自定義標識符31
2.4數據類型31
2.4.1整型32
2.4.2實型32
2.4.3字元型33
2.5常量33
2.5.1整型常量33
2.5.2實型常量34
2.5.3字元常量34
2.5.4字元串常量36
2.5.5符號常量36
2.6變數37
2.6.1變數聲明37
2.6.2變數初始化39
2.6.3變數賦值40
2.6.4const修飾符41
2.7數據溢出與計算精度41
2.8其他語言的基本數據類型43
2.8.1C++語言的基本類型43
2.8.2Java語言的基本類型43
2.8.3C#語言的基本類型44
2.9數據類型與程式移植45
2.10案例46
2.10.1固體密度測量問題46
2.10.2超市收銀系統47
練習題48
第3章運算符與表達式50
3.1概述50
3.2算術運算符與算術表達式51
3.3關係運算符與關係表達式52
3.4邏輯運算符與邏輯表達式53
3.5賦值運算符與賦值表達式54
3.6++/--運算符與自增/自減表達式56
3.7條件運算符與條件表達式57
3.8逗號運算符與逗號表達式58
3.9sizeof運算符58
3.10類型轉換59
3.10.1隱式轉換59
3.10.2顯式轉換60
*3.11位運算符和位運算61
3.11.1位邏輯運算61
3.11.2移位運算63
3.11.3複合位運算及補位原則64
3.12表達式運算64
3.13其他語言中的運算符與表達式64
3.14案例65
3.14.1固體密度測量問題65
3.14.2超市收銀系統66
練習題67
第4章輸入輸出68
4.1概述68
4.2printf函式68
4.2.1printf函式的調用格式68
4.2.2printf函式的格式控制字元串70
4.3scanf函式73
4.3.1scanf函式的調用格式73
4.3.2scanf函式的格式控制字元串74
4.4字元輸入與輸出76
4.5圖形輸出77
4.5.1圖形處理函式78
4.5.2圖形界面接口81
4.6案例82
4.6.1固體密度測量問題82
4.6.2超市收銀系統83
練習題84
第5章程式控制結構86
5.1概述86
5.2基本語句87
5.2.1表達式語句87
5.2.2函式調用語句88
5.2.3空語句88
5.2.4複合語句88
5.2.5順序結構套用89
5.3選擇控制語句90
5.3.1if語句90
5.3.2if else語句92
5.3.3if…else if語句93
5.3.4switch語句95
5.3.5分支結構套用99
5.4循環控制語句101
5.4.1while語句102
5.4.2for語句104
5.4.3do while語句107
5.4.4循環的本質108
5.4.5幾種循環語句的比較110
5.4.6循環結構套用111
5.5其他控制語句113
5.5.1goto語句113
5.5.2break語句114
5.5.3continue語句115
5.5.4goto、break、continue語句的區別115
5.6語句嵌套117
5.6.1條件分支嵌套結構117
5.6.2循環嵌套結構119
5.7案例120
5.7.1固體密度測量問題120
5.7.2超市收銀系統122
練習題124
第6章數組126
6.1概述126
6.2一維數組127
6.2.1一維數組定義127
6.2.2一維數組初始化128
6.2.3一維數組引用129
6.2.4一維數組套用130
6.3二維數組132
6.3.1二維數組定義132
6.3.2二維數組初始化133
6.3.3二維數組引用134
6.3.4二維數組套用134
6.4高維數組137
6.5字元數組與字元串138
6.5.1字元數組138
6.5.2字元串139
6.5.3字元串輸入輸出140
6.5.4常用字元串處理函式142
6.5.5字元數組與字元串套用143
6.6數組與數據存儲145
6.6.1一維數組的存儲145
6.6.2二維數組的存儲146
6.6.3高維數組的存儲146
6.6.4字元串的存儲147
6.7案例147
6.7.1固體密度測量問題147
6.7.2超市收銀系統148
練習題149
第7章函式151
7.1概述151
7.2函式定義153
7.2.1函式返回值153
7.2.2函式定義的通用格式154
7.2.3無返回值函式156
7.2.4有返回值的函式157
7.3函式聲明158
7.3.1庫函式聲明159
7.3.2用戶自定義函式聲明159
7.4參數傳遞161
7.4.1形式參數與實際參數161
7.4.2值拷貝傳遞機制164
7.4.3地址拷貝傳遞機制166
7.4.4數組作為函式參數167
7.5函式調用169
7.5.1函式調用的一般形式170
7.5.2函式調用的方式171
7.6函式的嵌套調用與遞歸調用172
7.6.1嵌套調用172
7.6.2遞歸調用174
7.7變數的作用域和存儲類型175
7.7.1局部變數與全局變數176
7.7.2變數的存儲類型179
7.7.3變數的生存期與作用域180
7.8內部函式與外部函式181
7.9程式結構182
7.9.1單檔案單函式結構182
7.9.2單檔案多函式結構183
7.9.3多檔案多函式結構184
7.10案例185
7.10.1固體密度測量問題185
7.10.2超市收銀系統187
練習題189
第8章指針191
8.1概述191
8.2指針和指針變數192
8.2.1指針變數聲明192
8.2.2指針變數的賦值及初始化193
8.2.3指針變數的引用193
8.3指針運算194
8.3.1指針運算符194
8.3.2算術運算195
8.3.3關係運算196
8.3.4指針類型轉換197
8.4數組和指針198
8.4.1用指針訪問數組元素198
8.4.2指向多維數組的指針200
8.5字元串和指針203
8.5.1指針處理字元串203
8.5.2使用字元指針變數與字元數組的區別204
8.6函式和指針206
8.6.1指針作為函式參數206
8.6.2指針作為函式的返回值210
8.6.3指向函式的指針212
8.7指針數組214
8.7.1指針數組定義214
8.7.2帶參數的main函式217
8.8數組指針218
8.9指向指針的指針220
8.10記憶體管理221
8.10.1記憶體管理函式221
8.10.2動態記憶體分配套用223
8.11案例227
8.11.1固體密度測量問題227
8.11.2超市收銀系統229
練習題231
第9章結構體、共用體與枚舉類型233
9.1概述233
9.2結構體類型234
9.2.1結構體定義234
9.2.2結構體變數的聲明和初始化235
9.2.3結構體變數的引用238
9.2.4結構體變數作為函式參數和函式返回值240
9.2.5結構體數組241
9.2.6結構體類型指針244
9.3共用體246
9.3.1共用體的定義246
9.3.2共用體變數的聲明246
9.3.3共用體變數的賦值和引用247
9.4枚舉類型248
9.5類型重定義250
9.6再議數據類型與存儲252
9.7鍊表254
9.7.1鍊表定義254
9.7.2鍊表基本操作256
9.8案例258
9.8.1固體密度測量問題258
9.8.2超市收銀系統260
練習題262
第10章預編譯和宏定義263
10.1概述263
10.2#define命令263
10.2.1不帶參數的宏定義263
10.2.2帶參數的宏定義265
10.3#include命令268
10.4條件編譯270
10.4.1#ifdef…#else…#endif270
10.4.2#ifndef…#else…#endif270
10.4.3#if…#else…#endif271
10.5其他指令272
10.6預定義宏275
10.7案例275
10.7.1固體密度測量問題275
10.7.2超市收銀系統277
練習題279
第11章檔案280
11.1概述280
11.2文本檔案與二進制檔案280
11.2.1文本檔案281
11.2.2二進制檔案281
11.3檔案定義282
11.4檔案打開與關閉283
11.4.1檔案打開283
11.4.2檔案關閉285
11.5檔案讀寫285
11.5.1單字元讀寫286
11.5.2字元串讀寫287
11.5.3格式化讀寫288
11.5.4數據塊讀寫290
11.6檔案定位函式293
11.6.1fseek函式293
11.6.2rewind295
11.6.3ftell295
11.7檔案狀態跟蹤295
11.7.1feof函式295
11.7.2ferror函式296
11.7.3clearerr296
11.8案例297
11.8.1固體密度測量問題297
11.8.2超市收銀系統299
練習題301
第12章程式設計思想及範例303
12.1概述303
12.2求和/求積問題303
12.2.1多項式計算304
12.2.2數列求和305
12.3遍歷問題307
12.4疊代問題312
12.4.1二分法312
12.4.2牛頓疊代法314
12.5排序問題316
12.5.1直接插入排序316
12.5.2起泡法排序317
12.5.3選擇排序319
12.6查找問題320
12.6.1順序查找320
12.6.2折半查找321
12.7遞歸問題漢諾塔323
12.8字元串處理325
12.8.1字元串長度計算325
12.8.2字元串拷貝326
12.8.3字元串連線326
12.9矩陣運算328
12.9.1矩陣加減運算328
12.9.2矩陣乘法329
12.9.3矩陣轉置331
12.9.4高斯消去法求解線性方程組333
12.10棧操作336
練習題338
第13章面向對象程式設計339
13.1概述339
13.1.1模組化設計339
13.1.2代碼封裝340
13.2面向對象程式設計342
13.3類與對象343
13.3.1類343
13.3.2對象344
13.3.3類在C++中的實現345
13.4面向對象的語言實現347
13.4.1類的繼承347
13.4.2屬性349
13.4.3方法352
13.4.4虛函式354
13.5面向對象的問題與UML建模356
13.5.1靜態建模用例356
13.5.2靜態建模類和對象357
13.5.3動態建模活動圖358
13.5.4動態建模順序圖359
第14章並行程式設計與MPI367
14.1概述367
14.2並行算法367
14.2.1並行問題367
14.2.2並行算法設計368
14.3並行程式設計369
14.3.1並行程式設計模型369
14.3.2進程369
14.3.3創建進程370
14.3.4訊息傳遞370
14.4MPI程式設計基礎374
14.4.1MPI簡介374
14.4.2簡單MPI程式設計375
14.4.3MPI函式館375
14.5MPI初始化與關閉376
14.5.1初始化MPI環境376
14.5.2關閉MPI環境377
14.6MPI訊息傳遞378
14.6.1獲取進程標識378
14.6.2獲取通信域內的進程數量378
14.6.3訊息傳送379
14.6.4訊息接收379
第15章個體軟體開發過程管理388
15.1概述388
15.2編碼規範定義388
15.3MPI編碼規範389
15.3.1標識符命名規範389
15.3.2函式或過程規範390
15.4ANSI C程式編碼規範390
15.4.1代碼結構與組織391
15.4.2注釋393
15.4.3標識符命名規範395
15.4.4代碼風格與排版396
15.5代碼重用技術398
15.5.1源程式檔案398
15.5.2靜態庫398
15.5.3動態程式庫400
15.5.4組件技術402
15.6軟體生命周期模型403
15.7CMM簡介405
15.8PSP簡介406
15.9PSP0級406
15.9.1計畫過程管理407
15.9.2開發過程管理407
15.9.3總結過程管理408
15.9.4PSP0過程文檔409
15.9.5PSP0.1級410
15.10軟體開發計畫412
15.10.1軟體開發計畫基本內容413
15.10.2制定個體軟體開發計畫413
15.10.3PSP軟體開發計畫過程413
15.11PSP1級415
15.11.1規模估算415
15.11.2任務計畫416
15.11.3進度計畫416
15.12PSP2級417
15.12.1代碼評審417
15.12.2設計評審418
15.12.3缺陷預防419
15.12.4PSP2改進419
附錄AC語言中的關鍵字420
附錄BASCII碼錶421
附錄C運算符和結合方向423
參考文獻425
(註:目錄排版順序為從左列至右列

教學資源

  • 配套教材
該教材有配套的實驗與測試教材——《程式設計基礎(C語言)實驗指導與測試(第2版)》。
書名書號出版社出版時間作者
《程式設計基礎(C語言)實驗指導與測試(第2版)》
9787302330684
清華大學出版社
2013.08.01
高克寧等
  • 課程資源
該教材配備的教學網站提供了相關的電子課件、程式原始碼、授課講義、實踐指導、程式示例、課程案例、試題庫等教學資源等教學資源。

教材特色

該教材為配合“推動基於問題的學習、基於項目的學習、基於案例的學習等多種研究性學習方法,加強學生創新能力訓練”的教學改革需要,該次修訂增加了專業套用相關的工程性案例和練習題,並對第1版中的內容進行了精簡,修訂了錯誤。同時,為適應網路化學習的需要,對課程網站進行全新的設計,突出了“知識點”在課程學習資源組織中的重要作用。

作者簡介

高克寧,女,工學博士,東北大學計算中心教育技術與雲計算研究所長、教授、中國計算機學會辦公自動化專業委員會委員、中國計算機學會高級會員、美國ACM學會會員。主要研究領域為Web信息處理、社會網路。

相關詞條

熱門詞條

聯絡我們