算数运算符
基本的算数运算有加法、减法、乘法、除法和取模(求余数),对应的算数运算符分别为:+、-、*、/、%。至于用法,大家应该耳熟能详,这里不再过多赘述。
自增与自减运算符
运算符 | 说明 |
---|---|
++ | 自增运算符,将数值增加一 |
- - | 自减运算符,将数值减少一 |
该运算符主要有前置和后置两种用法,很多人在刚开始接触的时候不知道区别,这里详细介绍一下:
eg:i=2; a=i++;
这里是先把 i 的值赋给 a,然后i再加一,最后的结果是a=2,i=3;
而i=2; a=++i;
这里是 i 的值先加一,然后再将 i 赋给 a,最后的结果是a=3,i=3。
强制类型转换运算符
强制类型转换的两种形式:
- (类型名)(表达式):如果表达式是单个变量可以不用括号
- 类型名(表达式)
使用:
/*第一种用法*/
(double)a //将a转成double类型
(int)(x+y) //将x+y转成整型
/*第二种用法*/
double(a)
int(x+y)
关系运算符
运算符 | 描述 |
---|---|
== | 检查两个操作数的值是否相等,如果相等则条件为真 |
!= | 检查两个操作数的值是否相等,如果不相等则条件为真 |
> | 检查左操作数是否大于右操作数的值,如果是则条件为真 |
< | 检查左操作数是否小于右操作数的值,如果是则条件为真 |
>= | 检查左操作数是否大于等于右操作数的值,如果是则条件为真 |
<= | 检查左操作数是否小于等于右操作数的值,如果是则条件为真 |
关系运算符表达式的值是“真”和“假”,用“1”和“0”来表示。
位运算符
运算符 | 描述 |
---|---|
& | 按位与,两个操作数同一位都是1结果才为1,其他的均为0 |
丨 | 按位或,两个操作数同一位都是0结果才为0,其他的均为1 |
^ | 按位异或,两个操作数同一位不同时为1则对应结果为1,否则为0 |
~ | 按位取反,将操作数转化为二进制表示,然后将二进制为由1变为0,由0变为1 |
>> | 二进制右移运算符,若a=0000 1000,b=a>>3,则b=0000 0001 |
<< | 二进制左移运算符,若a=0000 1000,b=a<<3,则b=0100 0000 |
逻辑运算符
运算符 | 描述 |
---|---|
&& | 逻辑与运算符,两个操作数都是非0值,这条件为真 |
丨丨 | 逻辑或运算符,两个操作数有任意一个条件非0,则条件为真 |
! | 逻辑非运算符,如果为真则将其转为假,反之亦然 |
条件运算符
条件运算符?:
是一个三目运算符
语法:
表达式1 ? 表达式2:表达式3
如果满足表达式1的条件,则求解结果为表达式2,否则为表达式3.
eg:文章来源:https://www.toymoban.com/news/detail-706716.html
// 求a,b中的最大值
max=a>b?a:b;
赋值运算符
“=”就是赋值运算符,把右边的操作数赋值给左边的操作数。
注意:文章来源地址https://www.toymoban.com/news/detail-706716.html
- 赋值不是等号,具有方向性
- “左值”必须是放在内存中可以访问且可以合法修改值的存储单元,通常只能是变量名
- “右值”可以是常量,也可以是变量或者表达式,但一定要能取得确定的值
- 如果赋值运算符两侧的类型不一样,但是都是数值型或者字符型,在赋值时会自动进行类型转换;将浮点型数据(包括单、双精度)赋给整型变量时,舍弃其小数部分
复合赋值运算符
运算符 | 描述 |
---|---|
+= | 加且赋值运算符,a+=b相当于a=a+b |
-= | 减且赋值运算符,a-=b相当于a=a-b |
*= | 乘且赋值运算符,a*=b相当于a=a*b |
/= | 除且赋值运算符,a/=b相当于a=a/b |
%= | 求模且赋值运算符,a%=b相当于a=a%b |
<<= | 左移且赋值运算符,c<<=2相当于c=c<<2 |
>>= | 右移且赋值运算符,c>>=2相当于c=c>>2 |
&= | 按位与且赋值运算符,c&=2相当于c=c&2 |
^= | 按位异或且赋值运算符,c^=2相当于c=c ^2 |
丨= | 按位或且赋值运算符,c丨=2相当于c=c丨2 |
到了这里,关于C++学习之运算符与表达式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!