当前位置:文档之家› (完整版)C++运算符大全与详解.doc

(完整版)C++运算符大全与详解.doc

C++ 运算符大全与详解 1. 运算符与运算值的解释 运算符与运算值是构成一道计算题的主要元素,所谓的运算符 ,指的是 +,- , *, /.... 等运算符号。运算值就是运算符操作的资料,例如: 1+2 中, 1 和 2 都是 运算值。 2. 一级运算符与二级运算符 一个运算符计算时,操作两个运算值,称为二级运算符,例如 1+2 ,操作 1 和 2 这两个运算值,执行相加操作。如此类推,操作一个运算值的将称为一级运 算符,而一级运算符是“ -”号,相信学过数学的都知道,这个叫做负号,令其 数字变成负值,例如: -1 ,如同上列所说,只操作一个运算值。 3. 运算公式

运算公式是由运算符与运算值结合的公式叫做运算公式,作用是依照指定的运算值进行运算符的计算。例子如下 :

Int a,b,c; // 声明三个整数变量 b=10; // 给 b 赋值 10 C=1; // 给 c 赋值 1

A=b+c; //b+c 的结果赋值给 a

// 注意, C++ 大小写是有区分的,由于 wps 的关系,自动大写了,我也不太会用 wps 这些工作软件

4. 运算符的顺序 运算公式中预算符的计算顺序,称为运算符的顺序,比如在日常生活数学老师和我们说,先乘除后加减,运算符的优先顺序我会在后文排序出表格。

5. 运算符的结合 一个运算公式内,运算符顺序相同时,按照一般的计算规律,有从左到右和从 右到左两种顺序,以加减运算为例子,2+3-4 中先计算 2+3 ,之后用 2+3 的

1 和减去 4 ,5-4 ,有关规律请参照后文。 2.1 运算符 2.2 “=”运算符的解释 在学生时代,老师对我们说, “=”号是等于的作用,但是在程序当中, “ =”号

的功能会和老师所说的“等于”不同,所有,我们不能以“等于”这个观点去 理解程序的“ =”号。 请看如下代码 : Int a,b,c; B=1; c=2; A=b+c; 以上代码的意思是如果使用“等于”观念来思考,可能觉得没什么差别,就是 位置改变了。 请看如下代码: Int a; A=a+1; 当看了此段代码,你在用“等于”观念来思考,你会觉得,一切都觉得很奇怪。 这时候你就应该用程序的观念去思考这段代码。 现在,我很大家说明程序的“ =”号,在你宣告一个变量时,那个变量就是你系 统内存里面的一小部分,但是我们如何输入一些信息到变量呢 ? 这时候我们需 要“ =”号,例如 a=1; 就是把数字 1 放进了变量 a 里面,所以“ =”号起的作 用是赋值,例如 小明给小红一支笔 。因此,“等于”观念的“ =”号和程序里的

“=”号是不同的。 2.3 算数运算符 运算符号 名称 运算规律 程序例子 实例 + 加法 从左到右 A + B 7 + 2 - 减 法 从 左 到 右 A - B 7 - 2 * 乘 法 从 左 到 右 A * B 7 * 2 / 除 法 从 左 到

2 右 A / B 7.0 / 2 %求余 从左到右 A % B 7 % 2 当你看到上面的表格,你就知道这是算数运算符。 在 / 一列中,发现实例的 7.0 / 2 ,其实加上小数是确保结果正确,不然输出

的结果是整数 3 。详细情况请看 C++ 变量详细解释系列教程。

当然,“- ”号可以作成负数,例如: “ -1 ”。 在执行运算时,有如下两个规则决定运算顺序 : 1. 运算符号运算顺序。 2. 运算值的结合规律。 计算算数运算符时,要按照 [先乘除后加减 ]的方式进行运算。

在程序中,运算也是如此,在一段包含加减乘除的运算代码里,顺序与算数相同。那我们再说说 “% ”号,此符号在程序中,优先于加减。

运算顺序 运算符号 运算规律 先 * ,/ ,% 从左到右 后 +, - 从左到右 使用例子: Int a; a=10*2/5+8-1; Cout<输出结果: 11 请按任意键继续 . . .

那我们现在分析下过程。 1.10 * 2 / 5 + 8 - 1 // 先 乘除 , 后 加 减 2.20 / 5 + 8 - 1 // 从 左到 右 计

算 3.4 + 8 - 1 // 从左到右计算 4.12 - 1 // 从左到右计算 5.11 // 结果

这就是程序的计算过程。 2.3.1 简单的运算符 这是 2.3 中的一小段,主要想在这段说明下简单化的运算符。此类运算符使运 3 算更简洁。 在上面介绍了算数运算符,那么有没有算数运算符的简单化呢 ? 答:有。 以下表格 A 的值为 9 。

运算符号 运算规律 运算例子 原式 结果 += 从右到左 A += 3 A=A+3 12 -= 从 右 到 左 A -= 3 A=A-3 6 *= 从 右 到 左 A *= 3 A=A*3 27 /= 从 右 到 左 A /= 3 A=A/3 3

以上四个运算符运算顺序是一样,没有谁是优先的。注意的是,它是从右到左运算的。

例子: int a,b; A=10; B=20; B*=a+=10; 输出结果: 400 请按任意键继续 . . .

让我们分析下计算过程。 B * = a + = 10 // 原式

B * = (a = a + 10) // 从右到左, 而且顺序相同, 加上括号是为了分辨, 括号不

起作用。 B * = a // 此时: B * = 20

B = B * a // 此时: B = 20 * 20 B // 此时 B = 400

以上就是计算过程。 2.4 对比运算符 对比运算符用于比较两边的的运算值作用,当结果为真时 (数字代表为 1 ) ,当

4 结果为假时, (数字代表为 0 ) 。 运算符号 运算符名称 运算规律 例子 == 等于 从左到右 A == B > 大于 从左到 右 A > B < 小于 从左到右 A < B >= 大于或等于 从左到右 A >= B <= 小于或

等于 从左到右 A <= B != 不等于 从左到右 A != B

说明一下,由于字体问题, “== ”号看上去像“ =”, 其实“ == ”号是两个“ =” 组成的。

以下为使用例子 : Int a,b; A=10; B=20; Cout<< “a == b 结果 :”<<(a==b)<

cout<< “a > b 结果 :”<<(a>b)<

Cout<< “a < b 结果 :” <<(a

Cout<< “a >= b 结果 :”<<(a>=b)<

Cout<< “a <= b 结果 :”<<(a<=b)<

Cout<< “a != b 结果 :” <<(a!=b)<

输出结果: A == B 结果: 0

A > B 结果: 0

A < B 结果: 1

5 A >= B 结果: 0

A <= B 结果: 1 A != B 结果: 1 请按任意键继续 . . . 那么我们来分析一下这段代码吧。 上面我已经说过,当真为 1 ,假为 0 。 A == B,A 是 10 ,B 是 20 ,怎么可能等于呢, 所有结果为 0 ,即为假。 A > B,A 是 10 ,B 是 20 ,B 大于 A ,所有结果为 0 ,即为假。 A < B,A 是 10 ,B 是 20 ,B 大于 A,所以结果为 1 ,即为真。 A >= B,A 是 10 ,B 是 20 ,因为 A 不大于 B ,也不等于 B ,所以结果为 0 ,即 为假。 A <= B,A 是 10 ,B 是 20 ,因为 A 小于 B ,但不等于 B ,所以结果为 1 , 即为真。 A != B,A 是 10 ,B 是 20 , A 不等于 B ,所以结果为 1 ,即为真。 对于上面的分析, 可能你产生疑问为什么 A <= B 结果是 1 呢? 答:因为 “<= ” 号和 “>= ”号 只要实现了其中一个条件就行。 2.5 逻辑运算符 C++ 的逻辑运算符于条件中执行真,假值运算,以计算结果的真或假控制程序 过程。执行运算时,结果为 0 代表假, 1 代表真。

“!” 是一级运算符,并且是从右到左运算的运算符。 上面中,逻辑运算符操作的运算值 A ,B 可以是判断式的执行结果。 6 下面是例子: Int a,b; A=20; B=10; Cout<<(a>b)&&(aCout<<(a>b)||(aCoutb)&&(ab)||(ab):0 请按随意键继续 . . . 让我们分析一下结果 :

(a>b)&&(a首先计算两边括号, a 是 20 , b 是 10. 1&&0 //a 大于 b ,正确,输出 1.a 不小于 b ,错误,输出 0 1 // 因为两边结果不是为真,所有结果为 0

!(a>b)||(a首先计算两边括号, a 是 20 ,b 是 10. !1 //a 大于 b ,正确,输出 1.a 不小于 b ,错误,输出 0 1 // 因为“ || ”只要 一边为真,结果是为 1 !(a>b) // 首先计算括号, a 是 20 ,b 是 10. !1 // 因为 a 大于 b ,所有输出 1 0 // 因为 “!”在对比值为 1 的时候,输出 0 ,对比值为 0 时,输出 1 以上就是分析过程。

7

相关主题