输出结果:
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。
运算棉
运算规律
运算例子
原式
结果
上
从右到左
A+二3
A=A+3
12
-=
从右到左
A-=3
AfA-3
6
从右到左
A*-3
27
/=
从右到左
A/=3
2A/3
3
运算符号运算规律运算例子原式结果+=从右到左A+=3A=A+312亠从右到左A-=3A=A-36*=从右到左A*=3A=A*327/=从右到左A/=3A=A/33
以上四个运算符运算顺序是一样,没有谁是优先的。
注意的是,它是从右到左运算的。
例子:
inta,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*20B//此时B=400
以上就是计算过程。
2.4
对比运算符
对比运算符用于比较两边的的运算值作用,当结果为真时(数字代表为1),当结果为假时,(数字代表为0)。
运算彬
运算符名称
运算规律
例子
=
等于
从左到右
A=B
>
大于
从左到右
A>B
<
小于
从斤到右
A
>=
大于或等于
从左到右
A>=B
<=
小于或等于
从左到右
A<=B
1=
■
不等于
从左到右
A>=D
运算符号运算符名称运算规律例子==等于从左到右A==B>大于从左到右A>Bv小于从左到右A=大于或等于从左到右A>=B<=小于或等于从左到右A<=B!
=不等于从左到右A!
=B
说明一下,由于字体问题,“==”号看上去像,其实号是两个
组成的。
以下为使用例子:
Inta,b;
A=10;
B=20;
Cout<<"a.==b结果:
”<<(a==b)<cout<<>b结果:
”<<(a>b)<Cout<<"a.vb结果:
,<<(a
Cout<<"a.>=b结果:
”<<(a>=b)<Cout<<<=b结果:
”<<(a<=b)<Cout<<"a!
=b结果:
”<<(a!
=b)<输出结果:
A==B结果:
0
A>B结果:
0
A
1
A>=B结果:
0
A<=B结果:
1
A!
=B结果:
1请按任意键继续….
那么我们来分析一下这段代码吧。
上面我已经说过,当真为1,假为0。
A==B,A是10,B是20,怎么可能等于呢,所有结果为0,即为假。
A>BA是10,E是20,E大于A,所有结果为0,即为假。
A
A>=B,A是10,B是20,因为A不大于E,也不等于E,所以结果为0,即为假。
A<=B,A是10,E是20,因为A小于E,但不等于E,所以结果为1,即为真。
A!
=B,A是10,E是20,A不等于E,所以结果为1,即为真。
对于上面的分析,可能你产生疑问为什么A<=B结果是1呢?
答:
因为“<=”号和“>=”号只要实现了其中一个条件就行。
2.5
逻辑运算符
C++的逻辑运算符于条件中执行真,假值运算,以计算结果的真或假控制程序过程。
执行运算时,结果为0代表假,1代表真。
运算榕
名称
运算规徉
例子
说明
且
从左到右
A&&B
当A和B两者为真时,输出结果为
1>否则0
II
或者
从左到石
A||B
当A或B其中一个为真时,输出结果为1.否则0
1
■
相反
从右到左
!
A
当功真时,输出结果为0。
当劝假时.输出结果为1
“!
”是一级运算符,并且是从右到左运算的运算符。
上面中,逻辑运算符操作的运算值A,E可以是判断式的执行结果。
下面是例子:
Inta,b;
A=20;
B=10;
Cout<<(a>b)&&(a
Cout<<(a>b)||(a
Cout<
(a>b)<输出结果:
(a>b)&&(a
0(a>b)||(a
1!
(a>b):
O
请按随意键继续••・
让我们分析一下结果:
(a>b)&&(a
1//因为两边结果不是为真,所有结果为0
!
(a>b)||(a
!
1//Q大于b,正确,输出13不小于b,错误,输出01//因为只要一边为真,结果是为1
!
(a>b)//首先计算括号,Q是20,b是10.!
1//因为Q大于b,所有输出10//因为“!
”在对比值为1的时候,输出0,对比值为0时,输出1
以上就是分析过程。
让我们分析一下结果:
0
好腿分耐程。
2.6
++,—,sizeof运算符
++,—运算符
程序经常会用到类似的运算
那么.有没有谕单的写袪呢?
罡有的。
或者
++A或者A++
++A和A++的区别,++A是先把A加1后赋值给A,再把A传出。
A++则是先把A传出,再把A+1赋值给A。
两者的区别如下代码:
inta,b;a=l,b=l;cout<输出结果:
12请按随意键继续.…
从上面代码与结果看到,A++与++A的区别。
—与++运算符的不同就是是减1,而返回值的规律和++A,A++相同。
2.6.1
Sizeof运算符
Sizeof(数据类型)
Sizeof(变量)
Sizeof的详细使用如下:
inta;
cout<输出结果:
44
让我分析下意思。
2.7
竜忠代码内运算符有同行执行的意思.在编写程序代码时以号分隔时•将被视为同—行。
[CougV'l23冷coutyv”4S6”;
以上代码“讥以以逗号分隔.这两个wir训祓视为同一年因山做行结畢是・«o
{
运算符“,”
1请按随意键继续•・・
If的结果取决于最后的一个条件,3<4真,所以会输出1。
在有“,”运算符的判断里,最后一个返回值为关键。
2.8
条件运算符
条件运算符配合条件,控制执行结果。
语法如下:
(条件)P结果1:
结果2
当条件成立时,执行结果1,当条件不成立,执行结果2。
但是“?
:
”运算符里,可选择执行的结果1和结果2,只容许在单行,不能用大括号扩充。
因此,结果1和结果2的最后是不用再加上“;”了。
在程序中,如果使用条件运算符单行执行,就需要在后加上结尾符号。
但是在函数中,并且未成为独立执行,那么最后就不用加上结尾符号。
以下分别说明条件运算符如何以“单行执行”使用,和如何以“函数内执行”或“前置执行”O
昏亍执行
运算符的单行执行
■
翻内单行执行
強执行