C/C++程序設(shè)計教程——面向過程分冊(第4版)
定 價:59.8 元
叢書名:高等教育計算機學(xué)科"應(yīng)用型"教材
- 作者:鄭秋生
- 出版時間:2020/10/1
- ISBN:9787121397332
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP312.8
- 頁碼:364
- 紙張:
- 版次:01
- 開本:16開
《C/C++程序設(shè)計教程》系列教材分為面向過程和面向?qū)ο髢蓚分冊。面向過程分冊系統(tǒng)闡述了C++語言中過程化程序設(shè)計的思想、語法、方法。主要內(nèi)容包括C++程序設(shè)計的基礎(chǔ)知識,基本數(shù)據(jù)類型和表達(dá)式,C++的程序控制語句,數(shù)組與函數(shù),指針和引用,用戶定義數(shù)據(jù)類型、文件等內(nèi)容。書中內(nèi)容講解清晰,實例豐富,力避代碼復(fù)雜冗長,注重算法設(shè)計和程序設(shè)計思想。簡短的實例特別有助于初學(xué)者更好地理解、把握解決問題的精髓,幫助讀者快速掌握程序設(shè)計的基本方法。 本教材的特點是實例豐富,重點突出,敘述深入淺出,分析問題透徹,既有完整的語法,又有大量的實例,突出程序設(shè)計的算法、方法,將C語言程序設(shè)計和C++語言程序設(shè)計進(jìn)行有機統(tǒng)一。特別適合作為計算機學(xué)科各應(yīng)用型本科、專科的C語言程序設(shè)計和C++語言程序設(shè)計教材,也可作為其他理工科各專業(yè)的教材及相關(guān)技術(shù)人員的自學(xué)參考書。 本教材配有免費課件資源,有需要的讀者可到華信教育資源網(wǎng)(www.hxedu.com.cn)下載使用。
中原工學(xué)院院長、教授、碩士生導(dǎo)師。教育部高等學(xué)校計算機科學(xué)與技術(shù)專業(yè)教學(xué)指導(dǎo)分委員會專家工作組成員,中國計算機學(xué)會教育專委委員,河南計算機學(xué)會常務(wù)理事,河南省計算機安全保密學(xué)會常務(wù)理事,河南省高等學(xué)校計算機教育研究會理事。
目 錄
第1章 C/C++概述 1
1.1 計算機程序設(shè)計語言的發(fā)展 3
1.1.1 機器語言階段 3
1.1.2 匯編語言階段 3
1.1.3 高級語言階段 4
1.1.4 從C到C++ 5
1.2 過程化程序設(shè)計 5
1.3 面向?qū)ο蟮某绦蛟O(shè)計 6
1.3.1 基本概念 7
1.3.2 面向?qū)ο蟪绦蛟O(shè)計的特點 7
1.4 簡單的C/C++程序介紹 8
1.5 程序開發(fā)的過程 11
1.6 C/C++上機實踐 12
1.6.1 Visual Studio 2013集成
開發(fā)環(huán)境 12
1.6.2 開發(fā)C/C++的程序過程 15
1.7 使用Dev C++創(chuàng)建項目 17
1.7.1 創(chuàng)建項目 18
1.7.2 程序的運行和調(diào)試 19
實驗一 設(shè)計第一個C/C++應(yīng)用程序 20
習(xí)題1 22
第2章 數(shù)據(jù)類型、運算符和表達(dá)式 23
2.1 保留字和標(biāo)識符 25
2.1.1 保留字 25
2.1.2 標(biāo)識符 25
2.2 數(shù)據(jù)類型 25
2.3 常量與變量 27
2.3.1 常量 27
2.3.2 變量 29
2.4 基本運算符和表達(dá)式 30
2.4.1 基本運算符和表達(dá)式簡介 30
2.4.2 算術(shù)運算符和算術(shù)表達(dá)式 31
2.4.3 賦值運算符和賦值表達(dá)式 32
2.4.4 關(guān)系運算符和關(guān)系表達(dá)式 33
2.4.5 邏輯運算符和邏輯表達(dá)式 34
2.4.6 位運算符和位運算表達(dá)式 35
2.4.7 條件運算符和條件表達(dá)式 37
2.4.8 逗號運算符和逗號表達(dá)式 37
2.4.9 sizeof運算符和sizeof
表達(dá)式 37
2.5 數(shù)據(jù)類型轉(zhuǎn)換 37
2.5.1 隱式轉(zhuǎn)換 38
2.5.2 顯式轉(zhuǎn)換 38
2.6 簡單的輸入/輸出實現(xiàn)方法 38
2.6.1 格式化輸入/輸出——scanf()
和printf() 38
2.6.2 I/O流 41
2.6.3 cin 42
2.6.4 cout 42
2.6.5 輸出控制符 43
2.7 認(rèn)識上機過程中的錯誤 45
實驗二 C/C++語言基礎(chǔ)練習(xí) 46
習(xí)題2 48
第3章 C/C++流程控制 51
3.1 算法與流程圖 53
3.1.1 算法的概念 53
3.1.2 算法的描述 53
3.2 語句和程序的三種基本結(jié)構(gòu) 54
3.2.1 語句 54
3.2.2 程序的三種基本結(jié)構(gòu) 55
3.2.3 結(jié)構(gòu)化算法 55
3.3 順序結(jié)構(gòu)程序 56
3.4 選擇結(jié)構(gòu)程序 57
3.4.1 if語句 57
3.4.2 嵌套if語句 59
3.4.3 switch語句 61
3.5 循環(huán)結(jié)構(gòu)程序設(shè)計 63
3.5.1 while語句 63
3.5.2 do-while語句 66
3.5.3 for語句 68
3.5.4 循環(huán)的嵌套 70
3.5.5 跳轉(zhuǎn)語句 73
3.5.6 三種循環(huán)的比較 75
3.6 常用算法及應(yīng)用實例 75
3.6.1 累加與累乘 75
3.6.2 求最大數(shù)、最小數(shù) 76
3.6.3 求素數(shù) 77
3.6.4 窮舉法 79
3.6.5 遞推與迭代 80
3.7 應(yīng)用實例 83
3.8 程序的調(diào)試 85
3.8.1 進(jìn)入調(diào)試 86
3.8.2 單步調(diào)試 86
3.8.3 查看變量、表達(dá)式的值 87
3.8.4 停止調(diào)試 87
實驗三 程序控制結(jié)構(gòu) 88
習(xí)題3 91
第4章 函數(shù) 95
4.1 函數(shù)的定義 97
4.1.1 函數(shù)定義 97
4.1.2 函數(shù)的返回值 98
4.2 函數(shù)的調(diào)用 99
4.2.1 函數(shù)調(diào)用的形式及過程 99
4.2.2 函數(shù)的聲明 100
4.2.3 函數(shù)調(diào)用的參數(shù)傳遞方式 102
4.3 函數(shù)的嵌套調(diào)用和遞歸調(diào)用 104
4.3.1 函數(shù)的嵌套調(diào)用 104
4.3.2 函數(shù)的遞歸調(diào)用 105
4.4 內(nèi)聯(lián)函數(shù)和函數(shù)重載 110
4.4.1 內(nèi)聯(lián)函數(shù) 110
4.4.2 函數(shù)重載 111
4.5 函數(shù)的參數(shù) 115
4.5.1 函數(shù)參數(shù)的求值順序 115
4.5.2 具有默認(rèn)參數(shù)值的函數(shù) 116
4.6 應(yīng)用實例 117
4.7 函數(shù)的調(diào)試 122
實驗四 函數(shù)的基本操作與應(yīng)用 124
習(xí)題4 127
第5章 作用域和存儲類型 131
5.1 作用域 133
5.1.1 作用域分類 133
5.1.2 局部變量與全局變量 135
5.1.3 動態(tài)存儲方式與靜態(tài)存儲
方式 139
5.2 變量的存儲類型 140
5.2.1 自動類型 140
5.2.2 寄存器類型 141
5.2.3 靜態(tài)類型 142
5.2.4 外部類型 145
5.3 編譯預(yù)處理 146
5.3.1 宏定義命令 146
5.3.2 文件包含命令 149
5.3.3 條件編譯命令 149
5.4 程序的多文件組織 151
5.4.1 頭文件 151
5.4.2 多文件結(jié)構(gòu) 151
5.4.3 多文件結(jié)構(gòu)程序示例 152
5.5 多文件程序的創(chuàng)建與調(diào)試 154
實驗五 作用域和存儲類型應(yīng)用 156
習(xí)題5 159
第6章 數(shù)組 161
6.1 數(shù)組的概念 163
6.1.1 數(shù)組與數(shù)組元素 163
6.1.2 數(shù)組的維數(shù) 163
6.2 一維數(shù)組的定義及應(yīng)用 163
6.2.1 一維數(shù)組的定義和初始化 163
6.2.2 一維數(shù)組的操作 165
6.2.3 數(shù)組的越界問題 166
6.2.4 一維數(shù)組的應(yīng)用 166
6.2.5 基于范圍的for循環(huán) 170
6.3 字符數(shù)組的定義及應(yīng)用 171
6.3.1 字符數(shù)組和字符串 171
6.3.2 字符串處理函數(shù) 173
6.3.3 字符數(shù)組應(yīng)用舉例 175
6.4 二維數(shù)組 177
6.4.1 二維數(shù)組的定義 177
6.4.2 二維數(shù)組的初始化 178
6.4.3 二維字符數(shù)組 180
6.4.4 二維數(shù)組應(yīng)用 181
6.5 數(shù)組作為函數(shù)參數(shù) 185
6.5.1 向函數(shù)傳遞一維數(shù)組 185
6.5.2 向函數(shù)傳遞二維數(shù)組或多維
數(shù)組 188
6.6 數(shù)組應(yīng)用實例 189
6.7 斷點調(diào)試方法 191
實驗六 數(shù)組 199
習(xí)題6 202
第7章 結(jié)構(gòu)體、共用體和枚舉類型 209
7.1 結(jié)構(gòu)體的定義及使用 211
7.1.1 結(jié)構(gòu)體的定義 211
7.1.2 結(jié)構(gòu)體變量的定義 212
7.1.3 結(jié)構(gòu)體變量的使用 214
7.1.4 結(jié)構(gòu)體變量的初始化 215
7.1.5 結(jié)構(gòu)體數(shù)組 215
7.1.6 結(jié)構(gòu)體和函數(shù) 220
7.2 共用體的定義與使用 221
7.2.1 共用體的概念 221
7.2.2 共用體變量的定義 222
7.2.3 共用體變量的使用 222
7.3 枚舉類型 224
7.4 typedef定義類型 226
7.5 應(yīng)用實例 227
7.6 程序調(diào)試 231
7.6.1 結(jié)構(gòu)體變量各成員變量的
內(nèi)存分配情況 232
7.6.2 共用體變量各數(shù)據(jù)成員的
內(nèi)存分配情況 233
實驗七 結(jié)構(gòu)體、共用體和枚舉類型 234
習(xí)題7 236
第8章 指針和引用 239
8.1 指針與指針變量 241
8.1.1 地址與指針的概念 241
8.1.2 指針變量 242
8.1.3 指針變量的運算 246
8.1.4 void指針 248
8.1.5 C++11的擴展 249
8.2 指針與數(shù)組 249
8.2.1 一維數(shù)組與指針 249
8.2.2 二維數(shù)組與指針 251
8.2.3 指向數(shù)組的指針 253
8.2.4 指針數(shù)組 254
8.2.5 指向指針的指針 255
8.3 字符指針與字符串 256
8.3.1 字符數(shù)組與字符指針 256
8.3.2 字符指針數(shù)組 258
8.4 動態(tài)內(nèi)存分配和釋放 258
8.4.1 C++中堆的使用 259
8.4.2 C語言中動態(tài)分配空間的
函數(shù) 261
8.5 指針與函數(shù) 262
8.5.1 指針變量與數(shù)組名作函數(shù)
參數(shù) 262
8.5.2 返回值為指針類型的函數(shù) 267
8.5.3 函數(shù)指針 268
8.6 const指針 271
8.6.1 指向常量的指針變量的定義
與使用 271
8.6.2 指針常量 272
8.6.3 指向常量的指針常量 273
8.7 結(jié)構(gòu)體指針 273
8.7.1 結(jié)構(gòu)體指針的概念 273
8.7.2 指向結(jié)構(gòu)體數(shù)組元素的
指針 274
8.7.3 結(jié)構(gòu)體指針作為函數(shù)參數(shù) 275
8.8 鏈表 277
8.8.1 鏈表概述 277
8.8.2 鏈表的基本操作 278
8.9 引用 285
8.9.1 引用及聲明方法 285
8.9.2 用引用作為函數(shù)的參數(shù) 287
8.9.3 如何使一個被調(diào)函數(shù)同時
返回多個值 288
8.9.4 用const限定引用 289
8.9.5 用引用作為函數(shù)返回值 290
8.9.6 引用總結(jié) 291
8.10 綜合應(yīng)用實例 291
8.11 上機調(diào)試 296
8.11.1 指針變量值的調(diào)試查看 296
8.11.2 函數(shù)地址的調(diào)試查看 297
8.11.3 引用的調(diào)試查看 298
8.12 小結(jié) 299
實驗八 指針和引用 299
習(xí)題8 302
第9章 文件 307
9.1 C語言文件概述 309
9.2 文件結(jié)構(gòu)體與文件指針 310
9.3 文件的打開與關(guān)閉 311
9.3.1 文件的打開(fopen
函數(shù)) 311
9.3.2 文件的關(guān)閉(fclose
函數(shù)) 312
9.4 文件的讀寫 313
9.4.1 按字符讀寫文件(fgetc和
fputc函數(shù)) 313
9.4.2 字符串的讀寫(fgets和fputs
函數(shù)) 317
9.4.3 格式化的讀寫(fscanf和
fprintf函數(shù)) 319
9.4.4 數(shù)據(jù)塊的讀寫(fread和
fwrite函數(shù)) 322
9.5 文件的定位 324
9.5.1 位置指針復(fù)位(rewind
函數(shù)) 325
9.5.2 位置指針隨機定位(fseek
函數(shù)) 326
9.5.3 檢測當(dāng)前位置指針的位置(ftell
函數(shù)) 329
9.6 文件的檢測 329
9.6.1 文件讀寫錯誤檢測(ferror
函數(shù)) 329
9.6.2 清除文件錯誤標(biāo)志(clearerr
函數(shù)) 330
9.6.3 文件結(jié)束檢測(feof
函數(shù)) 330
9.7 常用文件操作函數(shù)小結(jié) 330
9.8 程序設(shè)計舉例 331
9.9 上機調(diào)試 337
實驗九 文件 342
習(xí)題9 344
附錄A ASCII碼表 347
附錄B C++的庫函數(shù) 349
參考文獻(xiàn) 352