C 高級程式設計(第二版)

C 高級程式設計(第二版)

C++程式設計語言同時支持面向過程和面向對象編程,全書以C++標準為藍本,以實際案例為支撐來闡釋學生學習過程中晦澀難懂的概念,並將多年來教學過程中學生遇到的難以掌握的知識點以重點突出或錯誤解釋的方式列出。

圖書簡介

C++程式設計語言同時支持面向過程和面向對象編程,全書以C++標準為藍本,以實際案例為支撐來闡釋學生學習過程中晦澀難懂的概念,並將多年來教學過程中學生遇到的難以掌握的知識點以重點突出或錯誤解釋的方式列出。整本書的語言通俗易懂,每個章節的開始都以一個短小有趣的引發好奇心的說明引導學生進入本章節內容的學習。整個內容按照循序漸進的方式展開,引領學生從C++的面向過程編程逐步過渡到C++的面向對象編程,實現學習點上的由易到難的順利過渡。本書內容包括緒論、數據類型與基本輸入輸出、控制語句、函式與預處理、數組、指針與引用、自定義數據類型、類、靜態成員與友元、繼承與派生、多態性、輸入輸出流、模板、鍊表、異常處理和項目開發指南。

在書中每一章的最後,都有一個較為大型和完整的編程實例,涉及網路、密碼學、計算機病毒、數據結構、算法設計、圖形學等各門課程的一些入門知識,在鞏固所學知識的同時,也讓學生對這些課程有了初步的感性認識,以便後繼課程的學習。

本書適用於高校計算機專業程式設計課程教學,也適用於自學成才的讀者,在本書的指導下,讀者可以逐步由不入門到初級程式設計師到高級程式設計師,並從中體會到學習編程的無限樂趣,為成為一名真正的程式設計師打下堅實的基礎。

圖書目錄

第1章緒論

1.1電腦程式設計語言

1.1.1程式設計語言的演變

1.1.2C++程式設計語言的發展

1.2程式設計方法

1.2.1面向過程程式設計

1.2.2面向對象程式設計

1.3計算機信息的存儲與表示

1.3.1數據在計算機中的表示

1.3.2數據單位

1.3.3不同形式數據的表示方法

1.4C++程式結構與開發過程

1.4.1C++程式的開發流程

1.4.2第一個C++程式

1.4.3C++程式設計環境

1.4.4帶命令行參數的程式

1.5C++的詞和規則

1.5.1C++的字元集

1.5.2詞與詞法規則

1.6編程實例——程式設計方法比較

習題1

第2章數據類型、表達式與基本輸入輸出

2.1數據類型基本概念

2.1.1C++數據類型的種類

2.1.2整型和實型

2.1.3數值的範圍

2.1.4有符號數和無符號數

2.1.5有符號數和無符號數的範圍區別

2.1.6本章用到的關鍵字

2.2C++基本數據類型

2.2.1整型、實型和字元型

2.2.2布爾型和無類型

2.2.3為數據類型起別名

2.2.4sizeof的使用

2.3變數

2.3.1變數概述

2.3.2變數的定義

2.3.3賦值語句

2.3.4變數的初始化

2.4常量

2.4.1整型常量

2.4.2字元常量和字元串常量

2.4.3邏輯常量

2.4.4枚舉常量...

2.4.5實型常量

2.4.6地址常量

2.5符號常量

2.5.1為什麼需要符號常量

2.5.2const與#define的比較

2.6基本輸入輸出

2.6.1cout輸出流

2.6.2cin輸入流

2.7運算符和表達式

2.7.1C++語言運算符的種類

2.7.2算術運算符

2.7.3賦值運算符

2.7.4關係運算符

2.7.5邏輯運算符

2.7.6位運算符

2.7.7條件運算符

2.7.8逗號運算符

2.7.9運算符的優先權及結合性

2.8編程實例——獲取IP位址並計算網路號等信息

2.8.1背景

2.8.2原始碼及程式解釋

習題2

第3章語句和控制結構

3.1順序結構

3.1.1表達式語句

3.1.2函式調用語句

3.1.3複合語句

3.1.4空語句

3.1.5賦值語句

3.2選擇結構

3.2.1if…else語句和if語句

3.2.2多路分支

3.2.3程式套用舉例

3.3循環結構

3.3.1while語句

3.3.2do…while語句

3.3.3for語句

3.3.43種循環語句的選用

3.3.5循環的嵌套

3.4控制轉移

3.4.1break語句

3.4.2continue語句

3.4.3goto語句

3.4.4return語句

3.5編程實例——凱撒加/解密和維吉尼亞加/解密

3.5.1背景

3.5.2原始碼及程式解釋

習題3

第4章函式

4.1函式概述

4.2預定義函式

4.3自定義函式

4.3.1函式的定義

4.3.2函式的返回值

4.3.3函式參數和傳值調用

4.3.4函式定義和函式聲明的區別

4.4函式的重載

4.5帶默認參數的函式

4.6內聯函式

4.7函式的嵌套調用

4.8函式的遞歸調用

4.9局部變數與全局變數

4.10變數的存儲類別

4.10.1自動變數

4.10.2靜態局部變數

4.10.3暫存器變數

4.10.4外部變數和靜態外部變數

4.11預處理命令

4.11.1檔案包含

4.11.2條件編譯

4.12編程實例——Hanoi(漢諾)塔問題

習題4

第5章數組

5.1一維數組

5.1.1定義和引用一維數組

5.1.2數組的初始化

5.1.3數組下標越界

5.1.4一維數組和循環

5.1.5一維數組的套用

5.2多維數組

5.2.1定義和引用二維數組

5.2.2二維數組的初始化

5.2.3二維數組的套用

5.2.4多維數組簡單介紹

5.3字元數組

5.3.1定義和引用一維字元數組

5.3.2一維字元數組的初始化

5.3.3多維字元數組

5.3.4字元數組的輸入與輸出

5.3.5字元數組處理函式

5.4string類型

5.4.1定義和初始化string類型變數

5.4.2string對象的使用

5.5數組在函式中的套用

5.5.1數組元素作為函式參數

5.5.2整個數組作為函式參數

5.6編程實例——大整數加減運算

5.6.1設計思路

5.6.2原始碼和程式解釋

習題5

第6章指針和引用

6.1指針與指針變數

6.1.1指針的概念

6.1.2定義指針變數

6.1.3引用指針變數

6.1.4無名變數

6.1.5指針作為函式參數

6.2數組與指針

6.2.1指向數組元素的指針

6.2.2指針變數作為函式參數接收數組地址

6.3字元串與指針

6.4const修飾指針

6.4.1指向常量的指針

6.4.2指針常量

6.5引用

6.5.1引用的基本概念

6.5.2引用的套用

6.6動態數組

6.7其他指針

6.7.1函式指針

6.7.2指向指針的指針

6.7.3指針數組

6.8編程實例——選擇法排序

習題6

第7章自定義數據類型

7.1結構體類型

7.1.1結構體類型的聲明

7.1.2結構體變數的定義、初始化及使用

7.1.3結構體數組的定義、初始化及使用

7.1.4結構體作為函式參數

7.2共用體

7.2.1共用體變數的定義與初始化

7.2.2共用體變數的使用

7.3枚舉類型

7.3.1枚舉類型變數的定義與初始化

7.3.2枚舉類型變數的使用

7.4typedef聲明

7.5編程實例——遞歸下降語法分析器

7.5.1算法介紹

7.5.2程式原始碼

習題7

第8章類

8.1類的聲明

8.1.1類類型的聲明

8.1.2對象的定義

8.1.3類的訪問屬性

8.1.4取值函式和賦值函式

8.1.5內聯成員函式

8.1.6this指針

8.2構造函式和析構函式

8.2.1構造函式

8.2.2拷貝構造函式

8.2.3析構函式

8.3組合對象

8.3.1組合對象概述

8.3.2構造函式和析構函式在組合對象中的使用

8.4對象數組

8.4.1對象數組的定義

8.4.2對象數組的初始化

8.5對象指針

8.5.1對象指針的定義與使用

8.5.2指向對象成員的指針

8.6編程實例——學生成績排名

8.6.1算法介紹

8.6.2程式原始碼

習題8

第9章靜態成員與友元

9.1變數的使用

9.1.1作用域

9.1.2可見性

9.1.3生存期

9.2類的靜態成員

9.2.1靜態數據成員

9.2.2靜態成員函式

9.3類的友元

9.3.1友元函式

9.3.2友元類

9.4const修飾符

9.4.1const修飾變數

9.4.2const修飾引用

9.4.3const修飾對象

9.4.4const修飾類中的成員

9.5編程實例——緩衝區溢出

9.5.1背景

9.5.2程式原始碼

習題9

第10章運算符重載

10.1重載二元運算符

10.1.1成員函式實現運算符重載

10.1.2友元函式實現運算符重載

10.2重載一元運算符

10.3>>和<<運算符重載

10.3.1<<運算符重載

10.3.2>>運算符重載

10.4重載運算符限制與設計規則

10.5編程實例——矩陣及向量間的運算

10.5.1背景

10.5.2程式原始碼

習題10

第11章繼承與派生

11.1類的繼承與派生

11.1.1繼承與派生的概念

11.1.2派生類的聲明

11.1.3繼承方式

11.1.4派生類中的構造函式和析構函式

11.1.5重定義成員函式

11.1.6構造函式和析構函式的調用順序

11.2二義性問題

11.3虛基類

11.3.1虛基類的聲明

11.3.2虛基類的構造函式

11.4編程實例——銀行賬戶管理系統

11.4.1需求分析與數據結構設計

11.4.2程式原始碼

習題11

第12章多態

12.1upcast

12.2後期綁定與虛函式

12.3重新定義和超載

12.4VPTR和VTABLE

12.5關於運算效率的考慮

12.6純虛函式與抽象類

12.7純虛函式的定義

12.8編程實例——虛函式實現求不同圖形的面積

習題12

第13章輸入輸出流

13.1流的概念

13.1.1與I/O流類庫有關的頭檔案

13.1.2iostream頭檔案中的重載運算符

13.2輸入輸出格式控制

13.2.1ios類中的枚舉常量

13.2.2ios類中的成員函式

13.2.3iomanip頭檔案中的控制符

13.3字元I/O

13.3.1get函式

13.3.2put函式

13.3.3getline函式

13.4其他成員函式

13.4.1ignore函式

13.4.2eof函式

13.4.3peek函式

13.4.4putback函式

13.5檔案和檔案I/O

13.5.1檔案的概念

13.5.2檔案流類與檔案流對象

13.5.3檔案的打開與關閉

13.5.4I/O對象的條件狀態

13.5.5ASCII檔案的訪問

13.5.6二進制檔案的訪問(選讀)

13.6編程實例——ini檔案的讀/寫

13.6.1ini檔案結構

13.6.2原始碼和程式解釋

習題13

第14章模板

14.1函式模板

14.1.1函式模板的定義

14.1.2函式模板的套用

14.2類模板

14.2.1類模板的定義

14.2.2類模板的套用

14.3編程實例——複數類的定義和實現

習題14

第15章鍊表

15.1鍊表概述

15.2單鍊表類的定義

15.3鍊表結點的訪問

15.4鍊表結點的插入

15.5鍊表結點的刪除

15.6鍊表實例——簡單的鍊表操作

習題15

第16章異常處理

16.1C++錯誤處理

16.2C++異常處理機制

16.2.1異常處理機制的3個部分

16.2.2異常處理的語法

16.2.3自定義異常類

16.2.4多個throw和catch

16.2.5catch(…)

16.2.6異常規範

16.3編程實例——病毒的自我複製

習題16

第17章項目開發指南

17.1項目管理基礎

17.1.1項目與項目管理

17.1.2項目流程

17.1.3項目實施管理

17.2項目開發團隊

17.2.1項目團隊組成

17.2.2項目團隊要求

17.3項目的研發

17.3.1軟體版本控制

17.3.2程式編寫規範

17.3.3功能設計說明書的撰寫

17.3.4程式設計與實現

17.3.5單元測試

17.3.6提交代碼

17.3.7功能維護

習題17

參考文獻

相關詞條

熱門詞條

聯絡我們