《程式設計基礎(C語言)(第2版)》是由高克寧等編著,2013年清華大學出版社出版的“十二五”普通高等教育本科國家級規劃教材、高等學校計算機基礎教育規劃教材、教育部-英特爾精品課程配套教材、遼寧省精品課程配套教材。該教材適合作為高等院校理工科學生教材,也可作為計算機培訓教材。
該教材共15章,以C語言為依託,介紹了程式設計的基本方法和技術,以程式設計思想、程式設計語言、程式設計技術和軟體工程管理四條主線組織相關內容。
基本介紹
- 書名:程式設計基礎(C語言)(第2版)
- 作者:高克寧、李金雙、趙長寬、柳秀梅、徐彬
- ISBN:9787302325536
- 類別:“十二五”普通高等教育本科國家級規劃教材
- 頁數:426頁
- 出版社:清華大學出版社
- 出版時間:2013年8月1日
- 裝幀:平裝
- 開本:16開
- 字數:690千字
- CIP核字號:2013109925
成書過程
修訂情況
出版工作
責任編輯 | 封面設計 | 責任校對 | 責任印製 |
---|---|---|---|
袁勤勇 | 傅瑞學 | 李建莊 | 何芊 |
內容簡介
教材目錄
第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.7NS圖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版)》 | 9787302330684 | 清華大學出版社 | 2013.08.01 | 高克寧等 |
- 課程資源