《C/C++程式設計(第2版)》是由張樹粹主編,2012年清華大學出版社出版的高等學校計算機專業精選教材。該教材適合作為普通高等院校、高職高專、各類成人教育院校程式設計基礎課程的教材,也可作為編程人員和參加計算機考試(C /C++模組)的自學者的參考書。
全書共分9章,主要內容包括:概述,基本數據類型及運算符,程式控制結構,數組,函式,指針,構造數據類型,檔案,編譯預處理。此外,附錄還包含了ASCII字元編碼表、C語言運算符的優先權和結合性、常用的C語言庫函式。
基本介紹
- 書名:C/C++程式設計(第2版)
- 作者:主編:張樹粹,副主編:劉迎軍、盧雲宏、胡瀟琨、孟佳娜
- ISBN:9787302285052
- 類別:高等學校計算機專業精選教材
- 頁數:278頁
- 出版社:清華大學出版社
- 出版時間:2012年4月4日
- 裝幀:平裝
- 開本:16開
- 字數:443千字
- CIP核字號:2012064978
成書過程
修訂過程
出版工作
責任編輯 | 封面設計 | 責任校對 | 責任印製 |
---|---|---|---|
白立軍、戰曉雷 | 常雪影 | 白蕾 | 張雪嬌 |
內容簡介
教材目錄
1.1程式設計與高級語言1 1.1.1程式與程式設計1 1.1.2高級語言2 1.2算法2 1.2.1算法的特性3 1.2.2算法表示3 1.3C/C++的發展史與特點4 1.3.1C/C++的發展史4 1.3.2C/C++語言的特點5 1.4C語言程式結構及書寫規則7 1.4.1C程式的基本結構7 1.4.2程式的書寫規則7 1.5C語言的基本詞法7 1.5.1C語言使用的字元集7 1.5.2保留字8 1.5.3預定義標識符9 1.5.4標識符10 1.5.5C語言的詞類10 1.6C語言的基本語句11 1.7標準輸入輸出函式12 1.7.1格式化輸入輸出函式12 1.7.2C++的輸入輸出21 1.7.3非格式化字元輸入輸出函式25 1.8C語言程式的編輯、編譯、連線和執行27 1.9VisualC++的上機環境介紹28 1.9.1VisualC++的安裝和啟動28 1.9.2輸入和編輯源程式28 1.9.3編譯、連線和運行31 1.9.4建立和運行包含多個檔案的程式36 習題42 第2章基本數據類型及運算符45 2.1C/C++的數據類型45 2.2常量45 2.2.1整型常量46 2.2.2實型常量46 2.2.3字元常量46 2.2.4符號常量46 2.2.5字元串常量48 2.3變數48 2.3.1變數的數據類型及其定義48 2.3.2變數的存儲類型及其定義50 2.3.3變數的初始化52 2.3.4基本數據類型的使用53 2.4運算符及表達式56 2.4.1算術運算符和算術表達式57 2.4.2關係運算符和關係表達式58 2.4.3邏輯運算符和邏輯表達式58 2.4.4賦值運算符和賦值表達式60 2.4.5逗號運算符和逗號表達式62 2.4.6變數的自增、自減運算符62 2.4.7長度運算符63 2.4.8混合運算和類型轉換64 2.5綜合運算舉例65 習題67 第3章程式控制結構71 3.1順序結構程式設計71 3.2選擇結構程式設計72 3.2.1if語句的3種形式72 3.2.2條件運算符?:78 3.2.3switch語句實現多分支選擇結構79 3.3循環結構程式設計83 3.3.1當循環程式結構83 3.3.2直到型循環程式結構85 3.3.3次數循環程式結構87 3.3.4循環嵌套與多重循環程式結構88 3.3.53種循環語句的比較90 3.4循環體內使用break語句和continue語句90 3.4.1break語句90 3.4.2continue語句92 3.5goto語句及標號語句93 3.6綜合舉例94 習題97 第4章數組103 4.1一維數組103 4.1.1一維數組定義103 4.1.2一維數組的存儲形式104 4.1.3一維數組元素的引用104 4.1.4一維數組的初始化105 4.1.5一維數組程式設計舉例106 4.2二維數組及多維數組109 4.2.1二維數組及多維數組定義109 4.2.2二維數組及多維數組的存儲形式109 4.2.3二維數組元素的引用110 4.2.4二維數組的初始化110 4.2.5二維數組程式設計舉例111 4.3字元數組與字元串113 4.3.1字元數組與字元串113 4.3.2字元數組的輸入與輸出114 4.3.3字元串處理函式117 4.3.4字元數組程式設計舉例120 4.4數組程式舉例121 習題123 第5章函式129 5.1函式概述129 5.2C語言函式的定義及構成130 5.3函式的調用132 5.3.1函式的調用132 5.3.2C++中函式形參默認值137 5.4C++中的函式重載137 5.5函式間的數據傳遞139 5.5.1值傳遞方式139 5.5.2地址傳遞方式140 5.5.3返回值方式142 5.5.4全局變數傳遞方式143 5.5.5C++中訪問全局變數146 5.6遞歸調用與遞歸函式146 | 5.6.1遞歸函式的特點146 5.6.2遞歸函式的設計148 5.7內部函式和外部函式149 5.7.1內部函式149 5.7.2外部函式150 5.8函式應用程式舉例150 習題155 第6章指針161 6.1地址、指針和指針變數的概念161 6.2指針變數的定義、賦值和引用162 6.2.1指針變數的定義162 6.2.2指針變數的賦值162 6.2.3指針的引用163 6.3指針的運算164 6.3.1指針的賦值運算和算術運算164 6.3.2指針的關係運算166 6.4指針與一維數組166 6.5指針變數作函式參數170 6.6指針與二維數組173 6.6.1二維數組的指針表示方式173 6.6.2行指針變數175 6.7指針數組176 6.7.1指針數組的引用176 6.7.2行指針和指針數組的比較178 6.7.3指針數組處理字元串179 *6.8返回指針值的函式181 *6.9指向指針的指針182 *6.10指向函式的指針變數185 6.11指針程式舉例186 習題189 第7章構造數據類型194 7.1結構體類型194 7.1.1結構體類型的定義194 7.1.2結構體類型變數的定義195 7.1.3結構體類型變數的初始化197 7.1.4結構體類型變數成員的引用198 7.1.5結構體類型數組的定義和初始化199 7.1.6結構體類型數組元素的引用200 7.2指向結構體類型數據的指針變數201 7.2.1指向結構體類型變數的指針201 7.2.2指向結構體類型數組元素的指針204 7.2.3函式間結構體類型數據的傳遞205 7.3動態分配和撤銷記憶體空間206 *7.4結構體類型的套用--鍊表及其操作210 7.4.1鍊表210 7.4.2簡單鍊表210 7.4.3建立動態鍊表211 7.4.4遍歷鍊表213 7.4.5鍊表的插入操作214 7.4.6鍊表的刪除操作214 7.5共用體類型215 7.5.1共用體類型變數的定義215 7.5.2共用體類型變數的引用216 7.6枚舉類型219 7.6.1枚舉類型的定義219 7.6.2枚舉類型變數的引用219 7.7C++中類類型的簡單介紹221 7.7.1類的定義221 7.7.2類的對象變數222 7.7.3對象的公有成員的訪問223 7.7.4構造函式和析構函式225 7.7.5指向對象的指針變數227 *7.8用typedef定義類型的別名228 7.9綜合程式設計舉例(學籍管理程式)229 習題234 第8章檔案241 8.1檔案概述241 8.1.1磁碟檔案名稱241 8.1.2檔案緩衝區242 8.1.3磁碟檔案的打開與關閉242 8.1.4磁碟檔案的數據格式分類242 8.1.5磁碟檔案的讀寫方式分類243 8.1.6設備檔案243 8.2檔案類型及檔案指針243 8.3檔案的打開與關閉函式244 8.3.1打開檔案函式244 8.3.2關閉檔案函式246 8.3.3標準設備檔案的打開與關閉247 8.4檔案的讀/寫函式247 8.4.1檔案尾測試函式247 8.4.2字元讀/寫函式247 8.4.3字元串讀/寫函式249 8.4.4數據讀/寫函式251 8.5檔案應用程式舉例254 習題255 第9章編譯預處理257 9.1宏定義257 9.1.1不帶參數的宏定義257 9.1.2帶參宏的定義和引用260 9.2檔案包含處理262 *9.3條件編譯265 習題267 附錄AASCII字元編碼表270 A.1標準ASCII字元集270 A.2擴充ASCII字元集271 附錄BC語言運算符的優先權和結合性272 附錄C常用的C語言庫函式273 C.1數學函式(要求在源檔案中包含math.h)273 C.2字元和字元串函式(要求在源檔案中包含string.h和ctype.h)274 C.3I/O函式(要求在源檔案中包含stdio.h)274 C.4字元螢幕函式(要求在源檔案中包含conio.h)275 C.5圖形螢幕函式(要求在源檔案中包含graphics.h)276 C.6動態存儲分配函式(要求在源檔案中包含alloc.h和stdlib.h)277 C.7類型轉換函式(要求在源檔案中包含stdlib.h)277 參考文獻278 |
教學資源
- 配套教材
書名 | 書號 | 出版社 | 出版時間 | 作者 |
---|---|---|---|---|
《C/C++程式設計(第2版)實驗與習題解析》 | 9787302285069 | 清華大學出版社 | 2012.06.01 | 張樹粹 |
- 課程資源
教材特色
- 該教材是針對高校計算機及相關專業、非計算機專業計算機教育的程式設計基礎課而編寫的;根據不同層次的教學要求,該教材內容可靈活取捨,而不失其教材內容的科學性與系統性;
- 為使C/C++程式設計的基本概念、基本理論敘述更加通俗易懂,該教材選用了作者積累下來的教學實例,並採用VisualC++6.0編譯系統對所有實例進行了調試;
- 程式設計是一門實踐性很強的課程,不僅要講授程式設計的基本概念和基本理論,而且更要著力培養學生的設計和編程能力。為此,每一章後面都選編了與其教學內容緊密相關的實驗題目;該教材結合了數組、函式、自定義類型等章節內容,設計了一個綜合實例;
- 該教材以面向過程程式設計為主,介紹了C++對C語言的改進,引進了C++的運算符和函式重載,同時,對類和對象的封裝性進行了敘述,為向面向對象編程的實質轉變打下基礎。