当前位置:文档之家› C++运算符大全与详解(第一版)

C++运算符大全与详解(第一版)

C++运算符大全与详解1.运算符与运算值的解释运算符与运算值是构成一道计算题的主要元素,所谓的运算符,指的是+,-,*,/....等运算符号。

运算值就是运算符操作的资料,例如:1+2 中,1和2都是运算值。

2.一级运算符与二级运算符一个运算符计算时,操作两个运算值,称为二级运算符,例如 1+2 ,操作1和2这两个运算值,执行相加操作。

如此类推,操作一个运算值的将称为一级运算符,而一级运算符是“-”号,相信学过数学的都知道,这个叫做负号,令其数字变成负值,例如:-1 ,如同上列所说,只操作一个运算值。

3.运算公式运算公式是由运算符与运算值结合的公式叫做运算公式,作用是依照指定的运算值进行运算符的计算。

例子如下:Int a,b,c; //声明三个整数变量b=10; //给b赋值10C=1; //给c赋值1A=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算数运算符当你看到上面的表格,你就知道这是算数运算符。

在/一列中,发现实例的7.0 / 2 ,其实加上小数是确保结果正确,不然输出的结果是整数3。

详细情况请看C++变量详细解释系列教程。

当然,“-”号可以作成负数,例如:“-1”。

在执行运算时,有如下两个规则决定运算顺序:1.运算符号运算顺序。

2.运算值的结合规律。

计算算数运算符时,要按照[先乘除后加减]的方式进行运算。

在程序中,运算也是如此,在一段包含加减乘除的运算代码里,顺序与算数相同。

那我们再说说“%”号,此符号在程序中,优先于加减。

使用例子:Int a;a=10*2/5+8-1;Cout<<a<<endl;输出结果: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 中的一小段,主要想在这段说明下简单化的运算符。

此类运算符使运算更简洁。

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

以下表格A的值为9。

以上四个运算符运算顺序是一样,没有谁是优先的。

注意的是,它是从右到左运算的。

例子:int a,b;A=10;B=20;B*=a+=10;输出结果:400请按任意键继续. . .让我们分析下计算过程。

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

B * = a // 此时:B * = 20B = B * a // 此时:B = 20 * 20B // 此时 B = 400以上就是计算过程。

2.4对比运算符对比运算符用于比较两边的的运算值作用,当结果为真时(数字代表为1),当结果为假时,(数字代表为0 )。

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

以下为使用例子:Int a,b;A=10;B=20;Cout<<“a == b 结果:”<<(a==b)<<endl;cout<<“a > b 结果:”<<(a>b)<<endl;Cout<<“a < b 结果:”<<(a<b)<<endl;Cout<<“a >= b 结果:”<<(a>=b)<<endl;Cout<<“a <= b 结果:”<<(a<=b)<<endl;Cout<<“a != b 结果:”<<(a!=b)<<endl;输出结果:A ==B 结果:0A >B 结果:0A <B 结果:1A >=B 结果:0A <=B 结果:1A !=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可以是判断式的执行结果。

下面是例子:Int a,b;A=20;B=10;Cout<<(a>b)&&(a<b)<<endl;Cout<<(a>b)||(a<b)<<endl;Cout<<!(a>b)<<endl;输出结果:(a>b)&&(a<b):0(a>b)||(a<b): 1!(a>b):0请按随意键继续. . .让我们分析一下结果:(a>b)&&(a<b) //首先计算两边括号,a是20,b是10.1&&0 //a大于b,正确,输出1.a不小于b,错误,输出00 //因为两边结果不是为真,所有结果为0(a>b)||(a<b) //首先计算两边括号,a是20,b是10.1||0 //a大于b,正确,输出1.a不小于b,错误,输出01 //因为“||”只要一边为真,结果是为1!(a>b) //首先计算括号,a是20,b是10.!1 //因为a大于b,所有输出10 //因为“!”在对比值为1的时候,输出0,对比值为0时,输出1 以上就是分析过程。

2.6++,--,sizeof 运算符++,-- 运算符程序经常会用到类似的运算那么,有没有简单的写法呢?是有的。

++A和A++的区别,++A是先把A加1后赋值给A,再把A传出。

A++则是先把A传出,再把A+1赋值给A。

两者的区别如下代码:int a,b;a=1,b=1;cout<<a++<<endl<<++b<<endl;输出结果:12请按随意键继续. . .从上面代码与结果看到,A++ 与++A 的区别。

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

2.6.1Sizeof 运算符Sizeof运算符用于数据类型,或变量在内存所占位置大小,语法如下:Sizeof(数据类型)Sizeof(变量)Sizeof 的详细使用如下:int a;cout<<sizeof(int)<<endl;cout<<sizeof(a)<<endl;输出结果:44让我分析下意思。

第一个4是说明int类型占内存的位置大小。

第二个4是说明a变量占内存位置大小。

有人会问,为什么变量a是4呢?答:因为变量a是int类型,所有占内存位置是4。

2.7运算符“,”当想要同时宣告多个数据类别相同的变量时,可以使用“,”分隔变量,以下同时宣告三个变量。

意思代码内,“,”运算符有同行执行的意思,在编写程序代码时以“,”号分隔时,将被视为同一行。

以上代码cout以以逗号分隔,这两个cout讲被视为同一行,因此执行结果是123456。

以上代码结果:1请按随意键继续. . .If的结果取决于最后的一个条件,3<4真,所以会输出1。

在有“,”运算符的判断里,最后一个返回值为关键。

2.8条件运算符“?:”条件运算符配合条件,控制执行结果。

语法如下:当条件成立时,执行结果1,当条件不成立,执行结果2。

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

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

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

但是在函数中,并且未成为独立执行,那么最后就不用加上结尾符号。

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

单行执行“,”运算符的单行执行函数内单行执行前置执行。

相关主题