谭浩强C++教程:处理特殊情况与高效编程

需积分: 42 1 下载量 5 浏览量 更新于2024-08-24 收藏 8.81MB PPT 举报
清华大学谭浩强的C++教程是一本针对C++编程初学者和进阶者的实用教材,该教程关注于特殊情况进行讲解,以帮助学生深入理解这门语言。以下是主要内容的详细阐述: 1. 特殊情况处理: - 当链表为空时,教程强调了正确处理这种情况的重要性,即函数应返回空指针,表示链表中没有元素。 - 删除头结点的情况也被提及,此时需要调整头指针,使其指向下一个结点,以保持链表的完整性。 - 当链表中不存在要删除的结点时,教程会引导学生如何优雅地返回错误或提示信息,显示程序的健壮性。 2. C++语言背景与发展: - C++起源于20世纪70年代,由Dennis Ritchie和Brian Kernighan基于B语言发展而来,最初是为编写UNIX操作系统而设计的。C++继承了C语言的优点,同时引入面向对象特性,使其在实用性和灵活性上更胜一筹。 3. C++的主要特点: - 结构化:C++支持模块化编程,语言简洁,使得它适用于大型系统开发和小型控制程序,甚至科学计算。 - 高级与低级结合:C++具有高级语言的易读性和面向对象特性,同时也保留了C语言的底层操作能力,包括丰富的运算符和位运算。 - 可移植性:C++编写的程序可在不同型号和性能级别的计算机上运行,减少了移植成本。 - 自由度与挑战:尽管语法结构相对宽松,这为高级开发者提供了更大的设计空间,但对初学者来说,理解和掌握C++可能需要更多的时间和练习。调试过程可能会遇到挑战,但理解语法规则有助于提高编程和调试能力。 4. 谭浩强C++教程的重点: 谭浩强的教程注重实践和理论相结合,特别关注处理这些特殊情况以及教授如何使用C++进行高效、结构化的编程。学生将通过实例学习链表操作、错误处理以及如何利用C++语言的优势来编写高质量的代码。 这个教程不仅涵盖了C++的基本语法和概念,还着重培养读者在实际编程中的问题解决能力,尤其是在处理特殊情况时的应对策略。对于想要深入学习C++或者提升编程技巧的学生来说,这是一本不可多得的参考资料。

#include<iostream> using namespace std; class Book { private: string bookname; string authtors; string publishing_house; int pages; double price; public: Book() { bookname = ""; authtors = ""; publishing_house = ""; pages = 0; price = 0; } Book(string bk, string auth, string pub, int pag,double pri) { bookname = bk; authtors = auth; publishing_house = pub; pages = pag; price = pri; } ~Book(){} string getBookname() const { return bookname; } void setBookname(char*name){ bookname=name; } string getAuthtors() const { return authtors; } void setAuthtors(char* auth) { authtors = auth; } string getPublishing_house() const { return publishing_house; } void setPublishing_house(char* pub) { publishing_house = pub; } int getPages() const { return pages; } void setPages(int pag) { pages = pag; } double getPrice() const { return price; } void setPrice(double pri) { price = pri; } }; int main() { Book book1("《C++程序设计》", "谭浩强编著", 485, "清华大学出版社", 36.00); Book book2("《吹牛大王历险记》", "拉斯伯等编著", 149, "天津人民出版社", 12.80); cout << "书名:" << book1.getBookname() << endl; cout << "作者:" << book1.getAuthtors() << endl; cout << "页数:" << book1.getPages() <<"页"<< endl; cout << "出版社:" << book1.getPublishing_house() << endl; cout << "价格:" << book1.getPrice() <<"元"<< endl; cout << endl; cout << "书名:" << book2.getBookname() << endl; cout << "作者:" << book2.getAuthtors() << endl; cout << "页数:" << book2.getPages() << "页" << endl; cout << "出版社:" << book2.getPublishing_house() << endl; cout << "价格:" << book2.getPrice() << "元" << endl; return 0; }这个代码如何修改

2023-05-19 上传