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

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

(完整版)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 的

和减去 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.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

简单的运算符

算更简洁。

在上面介绍了算数运算符,那么有没有算数运算符的简单化呢? 答:有。

以下表格 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 ) ,当

结果为假时, (数字代表为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

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 代表真。

“!”是一级运算符,并且是从右到左运算的运算符。

下面是例子:

Int a,b;

A=20;

B=10;

Cout<<(a>b)&&(a

Cout<<(a>b)||(a

Cout<b)<

输出结果: (a>b)&&(ab)||(ab):0

请按随意键继续 . . .

让我们分析一下结果:

(a>b)&&(a

1&&0 //a 大于 b ,正确,输出 1.a 不小于 b ,错误,输出 0

1 // 因为两边结果不是为真,所有结果为0

!(a>b)||(a

!1 //a 大于 b ,正确,输出 1.a 不小于 b ,错误,输出 0 1 // 因为“ || ”只要一边为真,结果是为 1

!(a>b) // 首先计算括号, a 是 20 ,b 是 10. !1 // 因为 a 大于 b ,所有输出 1

0 // 因为“!”在对比值为 1 的时候,输出0 ,对比值为0 时,输出 1

以上就是分析过程。

2.6

++,-- ,sizeof 运算符

++,-- 运算符

程序经常会用到类似的运算

++A 或者 A ++

++A 和 A++ 的区别, ++A 是先把 A 加 1 后赋值给 A ,再把 A 传出。 A++ 则是先把 A 传出,再把A+1 赋值给 A。两者的区别如下代码:

int a,b; a=1,b=1;cout<

输出结果:12请按随意键继续. . .

从上面代码与结果看到,A++ 与 ++A 的区别。

--与++ 运算符的不同就是是减 1 ,而返回值的规律和 ++A ,A++ 相同。

2.6.1

Sizeof 运算符

Sizeof 运算符用于数据类型,或变量在内存所占位置大小,语法如下:

Sizeof (数据类型)

Sizeof (变量)

Sizeof 的详细使用如下:

int a;

cout<

输出结果: 4 4

让我分析下意思。

第一个 4 是说明 int 类型占内存的位置大小。第二个4是说明a变量占内存位置大小。有人会问,为什么变量 a 是 4 呢?

答:因为变量 a 是 int 类型,所有占内存位置是 4 。

2.7

运算符“,”

1请按随意键继续 . . .

If 的结果取决于最后的一个条件,3<4 真,所以会输出 1 。在有“,”运算符的判断里,最后一个返回值为关键。

条件运算符“ ?:”

条件运算符配合条件,控制执行结果。语法如下:

(条件 ) ? 结果 1 : 结果 2

当条件成立时 ,执行结果 1, 当条件不成立 ,执行结果 2 。

但是“ ?:”运算符里,可选择执行的结果 1 和结果 2 ,只容许在单行,不能用大括

号扩充。因此,结果 1 和结果 2 的最后是不用再加上“ ;”了。

在程序中,如果使用条件运算符单行执行,就需要在后加上结尾符号。但是在

函数中,并且未成为独立执行,那么最后就不用加上结尾符号。以下分别说明

条件运算符如何以“单行执行”使用,和如何以“函数内执行”或“前置执行”。

相关主题
文本预览
相关文档 最新文档