书目《现代C.程序设计》
C、C++及其区别可参考资料:https://www.cnblogs.com/Amedeo/p/6246013.html
-
(一)相对C来说
1、C++是面向对象的编程语言,采用面向对象的程序设计思想
2、函数方面:
C++允许函数重载(函数名相同、参数类型必须不同、返回值可以不同);
C++允许函数拥有默认参数;
C++允许函数被声明为内联函数;
C++允许函数使用利用引用参数(&)的传引用调用;
3、C++可以使用类和对象:
输入输出流类iostream(其中ostream和istream是iostream的派生类);
字符串类string;
数值类valarray(一维数组工具,可以求最大最小值等)和complex(复数)等;
4、C++允许操作符重载 ;
5、C++可以使用名字空间std,该名字空间中定义了标准C++库; -
(二)C/C++是编译语言
1、其“语法正确”的源代码被编译器生成机器码(也叫目标代码),机器码和库代码被连接器连接起来生成可执行文件,这个可执行文件才是真正可运行的。
2、如果使用符合ISO C++的标准化语言,在不同机器之间进行转换时,代码可移植(无需修改源代码),重新编译和连接即可生成新的可执行文件;但是代码里使用了和操作系统相关的非标准库的话,需要修改源代码并重新编译和连接,才能生成新的可执行文件——所以C++代码从windows转linux是个很麻烦的事情。 -
(三)C++中的操作符
1、求余操作必须用在整数上;
2、两个整数相除的结果是整数;
3、自增量操作符和自减量操作符用在赋值语句中时,需注意操作符用作前缀时,先计算后赋值,操作符用作后缀时,先赋值后计算;
4、上表列举了操作符的类型,下表展示了操作符的优先级:
操作符 | 操作符类型 |
---|---|
= | 赋值操作符 |
* / + - % | 算术操作符 |
++ - - | 自增量操作符/自减量操作符 |
+= -= *= /= | 累计操作符 |
& | ^ ~ >> << | 位操作符 |
& | 地址操作符 |
* | 间接寻址操作符 |
< <= > >= == != | 关系操作符 |
&& || ! | 逻辑操作符 |
? : | 条件操作符 |
[ | 数组操作符 |
. | 访问操作符 |
-> | 指针引用操作符 |
:: : | 作用域操作符 |
优先级 | 操作符类型 | 操作符 | 结合律 |
---|---|---|---|
最高 | 关键(基本)操作符 | () [] . -> | 从左到右 |
一元操作符 | ++ - - & * ! | 从右到左 | |
算术操作符 | * / % | 从左到右 | |
算术操作符 | + - | 从左到右 | |
关系操作符 | < <= > >= | 从左到右 | |
关系操作符 | == != | 从左到右 | |
逻辑操作符 | && | 从左到右 | |
逻辑操作符 | || | 从左到右 | |
最低 | 赋值操作符 | = | 从右到左 |