C/C++常見編程問題及解答

C/C++常見編程問題及解答

《C/C++常見編程問題及解答》是2012年5月清華大學出版社出版的圖書,作者是夏永祥、史志才。

基本介紹

  • 中文名:C/C++常見編程問題及解答
  • 作者:夏永祥、史志才
  • 出版時間:2012年5月
  • 出版社:清華大學出版社
  • ISBN:9787302281344
  • 定價:35 元
內容簡介,圖書目錄,

內容簡介

本書針對C/C++和面向對象程式設計中的常見錯誤,結合大量實例進行解析,注重實用性,使讀者容易理解,快速掌握。每個例子都給出了題目要求、錯誤代碼、編譯結果、問題分析、正確代碼及其運行結果。其中在編譯結果中給出了編譯器提供的錯誤和警告信息,以幫助讀者判斷錯誤所在。本書所附光碟中包括書中所有例題、課後練習及其答案的原始碼。
本書適用於計算機、自動化等專業的本科生和研究生,以及電腦程式員和廣大C/C++初學者。

圖書目錄

第1章 初學者常見問題3
問題1 字母大小寫混淆3
問題2 容易混淆的字元4
問題3 在代碼中使用了中文字元6
問題4 丟失或添加多餘的分號7
問題5 丟失或添加多餘的大括弧8
問題6 混亂的縮進和對齊11
練習113
第2章 基本數據類型15
問題7 整型常量的第一個字元為0引起的誤解19
問題8 將字元常量與字元串常量混淆19
問題9 混淆“/”和“\\” 20
問題10 缺少強制類型轉換 22
問題11 類型轉換降低精度23
練習224
第3章 存儲類26
問題12 在使用變數前未定義或未初始化28
問題13 錯誤理解靜態變數的作用域29
問題14 全局變數的錯誤聲明31
問題15 濫用全局變數33
練習333
第4章 運算符35
問題16 分母為037
問題17 對實型變數進行“求余”運算38
問題18 “=”與“==”混淆39
問題19 ""&”與“&&"" , ""|”與“‖"" 混淆40
問題20 ""++"" 、 ""--”的前置和後置方式41
問題21 運算符優先權錯誤42
練習443
C/C++常見編程問題及解答第5章 流程控制45
問題22 邏輯表達式或關係表達式錯誤48
問題23 if-else嵌套不配對50
問題24 分號導致的流程變化52
問題25 switch語句:case後面缺少break54
問題26 忽視了while和do-while語句在細節上的區別56
問題27 濫用goto語句57
練習559
第6章 函式61
問題28 使用庫函式前沒有包含頭檔案61
問題29 使用函式之前未聲明62
問題30 函式實參格式不對63
問題31 錯誤的返回值65
問題32 遞歸時設定了錯誤的邊界條件65
練習667
第7章 C語言預處理程式69
問題33 宏定義格式錯誤71
問題34 帶參數的宏替換錯誤72
問題35 把宏調用混同於函式調用73
問題36 宏定義中多餘的空格74
練習775
第8章 指針和數組76
問題37 數組越界79
問題38 定義數組時誤用變數80
問題39 動態分配記憶體空間不夠82
問題40 記憶體泄漏83
問題41 訪問懸空指針85
練習886
第9章 結構和聯合88
問題42 結構的嵌套89
問題43 結構與聯合混淆91
練習992
第10章 輸入和輸出94
問題44 printf和scanf的參數設定96
問題45 錯誤的檔案打開和關閉方式98
練習10100第二部分 C++常見編程問題
第11章 命名空間103
問題46 C++標準程式庫的命名空間104
問題47 名字衝突104
練習11107
第12章 C++語言的輸入輸出108
問題48 ""<<"" 、 "">>”混淆108
問題49 cout運算符優先權錯誤109
練習12110
第13章 動態記憶體的分配與釋放111
問題50 new/delete與malloc/free混用111
問題51 沒有釋放動態分配的記憶體空間113
問題52 一個指針被delete時,沒有指向最初的地址114
問題53 重複釋放已釋放的空間116
問題54 重複delete同一指向的多個指針117
問題55 delete指向某一普通變數的指針118
練習13119
第14章 引用122
問題56 引用的聲明和初始化錯誤123
問題57 引用作為參數的錯誤用法124
問題58 引用作為返回值的錯誤用法126
練習14127
第15章 const修飾符129
問題59 用const定義常量的錯誤130
問題60 const參數錯誤131
問題61 const成員函式錯誤132
練習15133
第16章 字元串135
問題62 使用string類型未引用名字空間135
練習16136
第17章 C++語言中函式的新特性137
問題63 內聯函式定義錯誤138
問題64 函式的預設參數定義錯誤139
問題65 函式重載錯誤140
問題66 函式的預設參數造成的二義性142
練習17143
第三部分 面向對象程式設計常見編程問題
第18章 類與對象147
問題67 類的定義格式錯誤149
問題68 對象和類的訪問錯誤150
問題69 在類體中進行數據成員的初始化152
問題70 成員函式實現時缺少作用域運算符154
問題71 缺少引用性說明156
問題72 構造函式/析構函式不應該有返回值158
問題73 多餘的析構函式159
問題74 構造函式預設參數導致的二義性161
問題75 創建對象時缺少相應的構造函式162
問題76 默認的拷貝構造函式導致的記憶體問題163
問題77 靜態數據成員初始化錯誤166
問題78 靜態成員函式引用非靜態數據成員167
問題79 局部類定義錯誤169
問題80 嵌套類定義錯誤171
練習18174
第19章 友元180
問題81 把友元函式當作類的成員181
問題82 在類外定義友元函式時多餘的friend關鍵字183
問題83 友元關係不具有交換性184
問題84 友元關係不具有傳遞性186
練習19188
第20章 繼承機制191
問題85 基類成員在派生類中的訪問許可權192
問題86 派生類中由基類說明的數據成員應由基類的構造函式初始化196
問題87 多繼承的二義性問題198
問題88 截切問題201
練習20203第21章 多態和虛函式207
問題89 運算符重載時不可臆造新的運算符209
問題90 運算符重載時不能改變運算符運算元的個數211
問題91 自增、自減運算符的重載: 前綴運算和後綴運算的混淆212
問題92 重載了不允許重載的運算符214
問題93 運算符重載為友元函式時的參數個數215
問題94 不能重載為友元函式的運算符217
問題95 左運算元是常數時的運算符重載219
問題96 虛函式不能是靜態成員函式222
問題97 虛函式必須是類的成員函式,不能是友元223
問題98 構造函式不能是虛函式225
問題99 將基類析構函式聲明為非虛函式225
問題100 在構造函式和析構函數裡調用虛函式227
問題101 重載虛函式導致的問題229
問題102 在構造函式和析構函式中調用純虛函式231
問題103 實例化抽象類232
問題104 派生類必須實現所有純虛函式才是具體類,否則仍是抽象類234
練習21237
附錄 練習答案242
參考文獻250

相關詞條

熱門詞條

聯絡我們