前言
- 单目:只需要一个操作数;双目:需要两个操作数;三目:需要三个操作数
- 常用运算符优先级:1.有括号的优先级最高;2.自增、自减、取地址、非、取反、强制类型转换、等;3.算数运算符:先乘除后加减;4.比较运算符;5.逻辑运算符;6.逗号运算符
详细运算符关系可以参考以下链接
https://blog.csdn.net/ITJAVAtao/article/details/120597987
- 要注意运算是自左向右还是自右向左
一、算术运算符
+ - * / %(取余运算,必须是整型变量),后三个的优先级高于前二个。
二、自增、自减运算符
int m , n;//定义m,n
m = 4;//初始化m
n = m++;//赋值,先n=m;再m++
cout << "m=" << m << ",n= " << n << "\n";//输出结果
m = 4;
n = m--;//赋值,先n=m;再m--
cout << "m=" << m << ",n= " << n << "\n";
m = 4;
n = ++m;//赋值,先m++,再n=m
cout << "m=" << m << ",n= " << n << "\n";
m = 4;
n = --m;//赋值,先m--,再n=m
cout << "m=" << m << ",n= " << n << "\n";
运算结果如下:
三、关系运算符(> , < , >= , <= ; ==, !=)
关系运算符的结果为逻辑值:真(1);假(0)
例如:int a=3,b=4,k;
a<b;//结果为真
k=a!=b; //结果为k=1
采用从左到右的顺序进行比较
例如:int a=3,b=4,c=5;
a>b>c;//先比较a>b为假,即0;再比较0和c的大小,则表达式的结果为假,及0
四、逻辑运算符(!,&&, ||)
逻辑与:全1出1,有0出0
逻辑或:全0出0;有1出1
注意:C++求解时,不一定所有的运算都被执行,当已经可以确定整个表达式的值以后,其余运算不再进行。
例如:x>y&&x<z;//先计算x>y,如果为0则结束,如果为1,则继续计算x<z,再判断表达式的值
五、赋值运算符
= += -= *= /= %=
例如:
int b=3,k=4;
b*=k; //b=b*k=12
六、条件运算符
y=x>=0?a*x+b:x; //表示当x>=0时,y=a*x+b,否则y=x;
七、混合运算时类型转换两种形式
1.显示转换:
例如:(int)a+b //将a转化成整型
2.隐式类型转换:
char,和short会自动转化成int;
float会自动转化double
int——unsigned——long——double由低到高会自动转化,即表达式中存在高等级的数据类型,则表达式结果会自动变成高等级类型。意味着,如果表达式中有double型变量,则表达式结果会是double型。
另外:
int n=6.18;//则n会取到整型,即n=6
double f=78;//则f=78.0,即自动变为double类型
以上为中国大学慕课C++程序设计,如有需要可打开以下链接观看