求大學計算機教育中C 程式設計的教程

2021-06-29 20:43:12 字數 10294 閱讀 5447

1樓:ccclll花花

內 容 簡 介

本書全面介紹程序導向程式設計與物件導向程式設計的基本理念與方法。藉助大量的示例程式,從介紹c++的語言基礎開始,逐步過渡到物件導向程式設計。最後以一個常見的例項介紹了從問題描述到類的設計的過程,並對高校圖書管理系統的具體實現做了分析。

全書共分11章,第1~7章主要介紹了程序導向程式設計方法與思路,包括c++中的內建資料型別、控制結構、函式、指標。第8~10章著重討論物件導向程式設計的理念,包括c++中的類、運算子過載、繼承、多型。第11章以具體例項介紹了類設計的一般過程。

全書提供了大量應用例項,每章後均附有習題。

本書從基本概念講起,適合沒有程式設計經驗的讀者學習。同樣也適合作為高等院校計算機相關專業的c++語言教材和公共課的程式語言教材。

教材封面:

目錄

第1章 c++語言基礎... 10

1.1計算機與程式... 10

1.2機器語言、組合語言與高階語言... 11

1.3 c++的起源與發展... 11

1.4 ansi c++. 12

1.5 c++程式設計的典型步驟... 12

1.6c++程式的基本結構... 13

1.6.1簡單c++程式之一:顯示字串... 13

1.6.2用cout輸出資訊... 14

1.6.3簡單c++程式之二:顯示兩個整數之和... 14

1.6.4簡單c++程式之三:顯示任意兩個整數之和... 15

1.6.5簡單c++程式之四:顯示整數的立方... 16

1.6.6簡單c++程式之小結... 17

1.7瞭解標準庫、標頭檔案與名字空間... 18

1.8簡單輸入和輸出格式控制... 20

1.9常見錯誤分類... 20

1.10物件導向的基本概念... 22

1.11uml簡介... 23

習題一... 24

第2章 變數、型別、表示式... 26

2.1字符集與識別符號... 26

2.1.1字符集... 26

2.1.2識別符號... 26

2.2資料型別... 27

2.2.1資料型別分類... 27

2.2.2資料型別、變數與字面常量... 28

2.2.3基本資料型別... 29

2.2.4變數的儲存類別... 33

2.3識別符號常量... 33

2.4運算子... 34

2.4.1算術運算子和算術表示式... 36

2.4.2賦值運算子和表示式... 36

2.4.3自增、自減運算子... 37

2.5隱式型別轉換與顯式型別轉換... 38

2.6常量與列舉... 39

習題二... 40

第3章 演算法與控制結構... 41

3.1演算法簡介與演算法的描述... 41

3.1.1演算法的概念... 41

3.1.2 演算法的特點... 41

3.1.3演算法的分類... 41

3.1.4演算法的構成... 42

3.1.5 演算法的表示... 42

3.2關係運算與邏輯運算... 45

3.3分支結構... 46

3.3.1  if語句... 46

3.3.2switch語句... 50

3.4 while與do...whie迴圈結構... 53

3.4.1 while語句... 54

3.4.2 do-while語句... 56

3.5 for迴圈結構... 57

3.6迴圈的巢狀... 60

3.7 break語句 和continue 語句... 62

3.8結構化程式設計總結... 63

習題三... 70

第4章  陣列與字串... 73

4.1 一維陣列... 73

4.1.1 一維陣列的定義... 73

4.1.2 一維陣列的引用... 74

4.1.3 一維陣列的初始化... 75

4.1.4 一維陣列的應用舉例... 76

4.2 二維陣列... 80

4.2.1 二維陣列的定義... 80

4.2.2 二維陣列的引用... 81

4.2.3 二維陣列的初始化... 81

4.2.4 多維陣列... 82

4.2.5 二維陣列應用舉例... 83

4.3 字元陣列和c風格的字串... 86

4.3.1 字元陣列... 86

4.3.2 c風格的字串... 87

4.4 c++的字串... 92

4.4.1 string類... 92

4.4.2. c++字串處理函式... 95

4.4.3字串的應用舉例... 97

4.5 本章小結... 99

習題四... 99

第5章  函式... 100

5.1 模組化程式設計思想... 100

5.2 標準庫與標頭檔案... 101

5.3 函式定義與呼叫... 104

5.3.1函式的概念... 105

5.3.2函式定義... 105

5.3.3函式呼叫... 106

5.3.4函式原型... 109

5.4 形參、實參與返回值... 111

5.5 帶預設形參值的函式... 115

5.6 變數的作用域... 116

5.7 變數的儲存類別... 119

5.8 陣列作為函式的引數... 122

5.8.1 一維陣列作為函式引數... 122

5.8.2 多維陣列作為函式引數... 124

5.9 遞迴函式... 125

5.9.1 遞迴函式... 125

5.9.2遞迴與迴圈的比較... 128

5.10 函式應用舉例... 128

5.11 本章小結... 132

習題五... 133

第6章 指標... 135

6.1指標基本概念... 135

6.1.1指標與指標變數的概念... 135

6.2指標操縱有名量——單值變數... 136

6.2.1指標變數的宣告... 136

6.2.2指標運算子*與&. 136

6.2.4指標運算... 140

1.賦值運算... 140

2.算術運算... 141

3. 關係運算... 141

6.3指標操縱有名量——陣列變數... 142

6.3.1指向陣列的指標... 142

6.4指標操縱無名儲存單元——動態記憶體分配... 149

6.5指標與函式... 151

6.6 指標陣列... 158

6.7指向指標的指標... 158

習題六... 160

第7章  結構體... 163

7.1結構體型別定義... 163

7.2結構體變數的定義和使用... 164

7.2.1結構體變數定義... 164

7.2.2 結構體變數的初始化... 167

7.2.3 結構體變數的使用... 167

7.3  結構體陣列... 169

7.3.1 結構體陣列定義... 169

7.3.2結構體陣列應用舉例... 170

7.4結構體指標... 174

7.4.1結構體指標... 174

7.4.2靜態連結串列... 175

7.5  結構體變數作為函式引數... 178

7.6  c和c++中結構體的區別... 182

7.7  結構體例項... 183

習題七... 184

第8章  類與物件... 186

8.1  現實世界中的物件與類... 186

8.2  類的定義與物件的簡單建立... 187

8.2.1類的定義... 187

8.2.2物件的建立... 188

8.3成員函式的類內與類外實現方法... 189

8.3.1成員函式的類內實現... 189

8.3.2成員函式的類外實現... 190

8.4訪問許可權——資訊隱藏... 191

8.4.1public與private. 191

8.4.2set函式(一個引數與多個引數)與get函式(一個或多個返回值)... 192

8.4.3介面與實現的分離... 196

8.5 物件的建立與銷燬... 199

8.5.1建構函式... 199

8.5.2解構函式... 205

8.5.3建構函式與解構函式呼叫順序... 205

8.6常物件與常成員函式... 207

8.7建構函式與物件成員... 211

8.8靜態資料成員... 213

8.9  this指標... 216

8.9.1指標與類... 216

8.9.2this指標... 216

8.10淺拷貝與深拷貝... 219

8.10.1拷貝建構函式... 219

8.10.2淺拷貝與深拷貝... 223

8.11例項分析:儲蓄賬戶第一個版本... 226

習題八... 231

第9章 友元與運算子過載... 234

9.1友元... 234

9.1.1為什麼使用友元... 234

9.1.2使用友元... 235

9.2運算子過載... 236

9.2.1為什麼使用運算子過載... 236

9.2.2運算子過載規則... 237

9.2.3使用成員函式過載longtime類的運算子... 238

9.2.4使用友元函式過載longtime類的運算子... 241

9.2.5 成員函式過載運算子與友元函式過載運算子的比較... 243

9.2.6過載自增++與自減--運算子... 243

9.2.7過載運算子<<   和  >>. 246

9.2.8過載=  和下標運算子[ ] 248

習題九... 252

第10章 繼承與多型... 253

10.1現實世界中的繼承與c++中的繼承概念... 253

10.2派生類的定義... 255

10.2.1派生類的定義... 255

10.3繼承方式... 256

10.3.1繼承方式... 256

10.3.2從基類到派生類... 260

10.4派生類建構函式與解構函式... 260

10.4.1派生類的建構函式... 260

10.4.2派生類物件的構造順序... 261

10.4.3派生類對基類的重定義... 263

10.5繼承與組合... 266

10.6多型與虛擬函式... 269

10.6.1基類與派生類之間的轉換——向上型別轉換... 269

10.6.2 什麼是多型... 273

10.6.3虛擬函式... 274

10.7純虛擬函式與抽象基類... 276

習題十... 283

第11章綜合例項分析... 285

11.1從問題描述到類的設計... 285

11.2儲蓄賬戶的第2個版本... 288

11.3儲蓄賬戶的第3個版本... 293

11.4高校圖書管理系統第1個版本... 299

習題十一... 307

部分習題:

(4)假設英文字母“abcdefghijklmnopqrstuvwxyz”分別代表百分之1,2,3, 4, 5 ,6 ,7 ,8, 9 ,10, 11, 12 ,13, 14, 15 ,16, 17, 18 ,19 ,20, 21, 22 ,23 ,24 ,25, 26.計算 hardwork、knowledge、attitude(三個單詞均大寫)分別代表多少?

12.輸出下列口訣:

13.編寫程式輸出以下數學式子。

1*8+1=9

12*8+2=98

123*8+3=987

1234*8+4=9876

12345*8+5=98765

123456*8+6=987654

1234567*8+7=9876543

12345678*8+8=98765432

123456789*8+9=987654321

14. 編寫程式輸出以下數學式子。

9x9+7=88

98x9+6=888

987x9+5=8888

9876x9+4=88888

98765x9+3=888888

987654x9+2=8888888

9876543x9+1=88888888

98765432x9+0=888888888

本書寫作風格主要體現在以下三方面。

1、該書重在學生程式設計的邏輯思維和系統思維能力培養,不拘泥於語法細節,以夠用為度、學以致用。以力求使學生在掌握程式設計基本思想、方法的基礎上,提高實踐操作能力,為今後後續相關課程的打下堅實的基礎。

2、該書邏輯嚴謹,章節的前後順序經過精心組織設計,並輔以知識結構框圖幫讀者理清各個知識點間的聯絡;

3、該書內容豐富,通俗易懂。通過使用日常生活中淺顯的道理,循序漸進、由淺入深,解析c++之道。

本書共分為十一章, 包括第1章 c++語言基礎、第2章 變數、型別、表示式、第3章 演算法與控制結構、第4章  陣列與字串、第5章  函式、第6章 指標、第7章  結構體、第8章  類與物件、第9章 友元與運算子過載、第10章 繼承與多型、第11章綜合例項分析。本書每章均配有一定數量的習題,以方便學生課後練習。

有關c++程式設計學習遇到的問題以及對教材編寫的意見與建議,讀者可以發到作者電子郵箱[email protected] 或通過qq(qq號:2072883998)與我們交流,我們會及時地解答讀者的疑問或建議。

計算機C語言程式設計問題

include include 不能有分號 zv r r pih 大小寫要區分開 printf c d s d qs d qv d zv d 錯的太離譜,需要在雙引號後加c,s,qs,qv,zv還有在圓括號外加上 還有你把所有變數都定義成int型別是不合適的,因為不僅精度太低,而且pi是雙精度的。型...

誰有做好的大學計算機基礎實踐教程面向計算思維與問題求解的第六章已經做好的

計算機老師有做好的大學計算機基礎實踐教程面向計算思維與問題求解的第六章 計算思維與計算機是什麼關係 一般認為,在計算機沒有出現之前,人類的思維體系中就有了計算思維。例如,原始人將普通石頭改造成可用的工具過程中,會考慮工具製作的細節。美國的周以真教授舉的 做飯的例子 屬於作業排程。在計算機未出現之前,...

的計算機程式語言是什麼,最新的計算機程式語言是什麼?

計算機程式語言 用於人與計算機之間通訊的語言 計算機程式語言有幾種?都是什麼?計算機程式語言 用於人與計算機之間通訊的語言 機器語言,cpu直接執行的語言,由0和1組成,通常不由人來編寫,而是有彙編工具或者高階語言編譯器生成 組合語言,開發工具包括masm,tasm等等 高階語言,目前最常見的是程序...