谭浩强 《C++程序设计(第3版)》 挑错

来源:互联网 发布:域名放godaddy 编辑:程序博客网 时间:2024/06/06 18:28

《C++程序设计(第3版)》

谭浩强 编著

2015年8月第3版

2016年12月第7次印刷



1.P9 例1.4

原文:

#include <iostream>using namespace std;class Student{  private:int num;int score;  public:void setdata(){  cin >> num;   cin >> score;}void display(){  cout << "num=" << num << endl;   cout << "score=" << score << endl;};};Student stud1, stud2;int main(){   stud1.setdata();    stud2.setdata();    stud1.display();    stud2.display();    return 0;}


错误:第15行,display()函数定义完毕后花括号后面不需要使用分号。早期的C++使用分号分隔public和private,现在的编译器不需要了,当然加上也不会报错。


2. P14 第9行

原文:在Windows系统中,目标程序以.obj(object的缩写)作为后缀,在UNIX系统中,以.o作为后缀。

错误:在Windows下可以使用MinGW编译工具,其生成的目标文件也以.o作为后缀。


3. P21 第1行

原文:常量无unsigned型。

错误:常量有unsigned型,在数字后加u或U则说明此常量为无符号型。


4. P51 第12行

原文:

int b = 123456;//对b赋初值(1) cout<<b;//输出:123456(2) cout<<hex<<b;//输出:1e240(3) cout<<setiosflags(ios::uppercase)<<b;//输出:1E240(4) cout<<setw(10)<<b<<','<<b;//输出:123456,13456

错误:

代码行(2)中,hex运算符会一直生效,除非再次改变进制,所以代码行(4)最终的输出仍然是1E240。


5. P54 第3行

原文:scanf(格式控制,输出表列)

应为:scanf(格式控制,输入表列)


6. P57 倒数第2行

原文:而不是字符串“flag”

应为:而不是字符串“true”


7. P70 第11行

原文:using namwspace std;

应为:using namespace std;


8. P76 倒数第6行

原文:Fn =Fn -1 +Fn - 2   (n≥3)

应为:Fn = Fn - 1 + Fn - 2   (n≥3)


9. P106 第17行

原文:例如将例4.6中第4行改为

应为:例如将例4.9中第4行改为


10. P128 倒数第1行

原文:每个学生有4门课的成绩

应为:每个学生有5门课的成绩


11. P131 第2~4行

原文:

    5 0 0 0

    1 0 0 0

    9 0 0 0 

应为:

    1 0 0 0

    5 0 0 0

    9 0 0 0


12. P138 倒数第10行

原文:

    #include <iostream>

应为:

    #include <iostream>

    using namespace std;


13. P148 倒数第13行

原文:

    #include <iostream>

    #include <string>

应为:

    #include <iostream>

    #include <string>

    using namespace std;


0 0