C++复习笔记:运算符、数据结构与面试准备

需积分: 3 4 下载量 197 浏览量 更新于2024-08-08 收藏 1.94MB PDF 举报
这篇资源是关于C++编程和数据结构的复习笔记,由作者Laotan在2018年6月编写,主要基于谭浩强的《C++程序设计》和邓俊辉的《数据结构(C++语言版)》等教材以及CSDN博客上的相关文章。笔记旨在帮助C++初学者进行快速复习,特别是为应届毕业生的笔试和面试准备,包含大量面试题目以加深对C++基础概念的理解。 正文: 1. **运算时的数据转换** - 自增自减运算符`++i`和`i++`的区别在于,`++i`会在使用变量之前增加1,而`i++`则是在使用后增加1。例如,`i++`会先输出当前值,然后增加。 - 在表达式中,自增自减运算符从右到左结合,如`-i++`相当于`-(i++)`,意味着先执行自增操作,然后进行负号运算。 - 示例1.1.1展示了`i++`的使用,输出4和3,因为输出是从右到左处理的,先输出未增加的i,然后才增加。 2. **赋值表达式** - 赋值运算符按照自右向左的顺序结合,例如`a=b=c`会先计算`b=c`,然后将结果赋给a。 - 在示例1.1.2中,`z=(x&y)`表示二进制按位与运算,如果x和y都是3,那么z也将是3,因为二进制的3与3按位与的结果还是3。 3. **C++输入输出流** - C++的输入输出操作通过流对象`cout`和`cin`实现。`cout`用于输出,`cin`用于输入,它们都是流对象的一部分。 4. **C++基本知识** - 面向过程编程,包括选择结构(如if-else)、循环(如for,while)和指针的使用。 - 面向对象编程,涉及类的定义、对象的创建、继承、派生和多态性,特别是虚函数在实现多态中的作用。 5. **C++数据结构** - 包括标准模板库(STL)中的向量(Vector)、列表(List)等容器的使用,以及二叉树、图的理论和实现。 - 排序算法的介绍,可能是快速排序、归并排序、冒泡排序等基础排序方法。 6. **作者的建议** - 作者强调了补充C++内存管理、STL库等内容的重要性,这些可以在其另一篇文档中找到。 - 对于非计算机专业背景的人来说,学习C++和数据结构是进入IT领域的基础,但还需要学习更多如算法、操作系统等知识。 - 强调个人努力的重要性,即使面临困难也要坚持学习,提升自我。 这篇复习笔记涵盖了C++语言的核心要素,不仅适合初学者巩固基础,也适用于准备面试的应聘者。不过,作者提醒,仅依赖这份笔记是不够的,需要进一步扩展学习以增强竞争力。