C++运算符优先级

优先级

运算符
运算符具有优先级和结合性。
优先级:
级别高的先运算,级别低的后运算。例如: *
/ 高于 + -
结合性:
自左向右结合还是自右向左结合。例如:1+2+3,
+自左向右结合
在这里插入图片描述

多元运算符

运算符根据运算符对操作数的要求不同,分成:
一元运算符:
仅需要一个操作数的运算符,例如++等
二元运算符:
需要两个操作数的运算符,例如:+、-、*、/等,
形如“ 操作数1 运算符 操作数2 ”
三元运算符:
需要三个操作数的运算符,只有条件运算符“?:”。

算术运算符1

C++中提供了两个特殊的运算符:++,–表示将操
作数减1。
++、–运算符根据操作数的位置不同,又称为前置
(++i)和后置(i++)
1、前置(++i):
先自身加1,然后再将加1的值作为(++i)表达式
的值;
2、后置(i++):
将i作为(i++)表达式的值,然后自身再加1。

算术运算符2

在C++中可以将算术运算符和赋值运算符结合在一
起进行运算,因此C++还提供5种复合的赋值运算符
+=,-=,=,/= 和%=。
例如:
x+=y 相当于 x = x+y
x-=y 相当于 x = x-y
x
=y 相当于 x = x*y
x/=y 相当于 x = x/y
x%=y 相当于 x = x%y

逻辑运算符

逻辑运算符有&&、||、! 三种;这些运算符
的优先级由高到低依次为
1、!
2、&&
3、||
除了逻辑非,逻辑运算的级别低于关系运
算。
逻辑表达式的结果类型也为bool,值只能为
true或false,屏幕显示为1或0。

位运算符1

一般高级语言:byte
C语言: bit
C++语言中提供了六个位运算符,可以对
整数进行位操作,分别是按位与(&),按位
或(|),按位异或(^),按位取反(~),左
移位(<<),右移位(>>)

按位或(|)
按位或操作的作用是将两个操作数对应的每一位分
别进行逻辑或操作。
例如:计算3 | 5
3:0 0 0 0 0 0 1 1
5:0 0 0 0 0 1 0 1
——————————
3 |5:0 0 0 0 0 1 1 1
例如:
将int a;的低字节置1: a = a | 0xff;

位运算符2

左移<<:
按照指定的位数将一个二进制数值向左移
动。左移后,低位补0,移出的高位舍弃。
右移>>:
按照指定的位数将一个二进制数值向右移
动,右移后,移出的低位舍弃。
如果是无符号数则高位补0,如果是有符
号数则高位补符号位或0,在VC++6.0环境下高
位补符号位

例子
char a= -8;
a =a>>2

位运算符3

在C++中可以将位运算符和赋值运算符结合在一起
进行运算,因此C++还提供另外5种运算符&=,|=,
^=
,<<=和>>=。
例如:
x&=y 相当于 x = x&y
x|=y 相当于 x = x|y
x^=y 相当于 x = x^y
x<<=y 相当于 x = x<>=y 相当于 x = x>>y

隐式类型转换

逻辑运算符要求参与运算的操作数为bool类型,如
果是其他类型,则系统自动将其转换成bool类型,转
换规则:0为false,非0为true。
赋值运算符要求“=”左右两边的操作数数据类型相
同,如果类型不一致,则自动将右边的操作数类型向
着左边的操作数类型转换。
例如:
int i=3.15;
cout<<i<<endl;

强制类型转换

强制类型转换通过是类型说明符和括号来实现的
显式转换,其语法格式为:
(数据类型名)表达式
或 数据类型名(表达式)
例如:
int i=97;
cout<<(char)i<<endl;
float f=3.75;
cout<<(int)f<<endl;

IO流的格式控制1

库文件 iomanip
常用控制符:
setfill© 设置填充字符
setw(n) 设置域宽为n

设置输出宽度和填充字符
setw(n)
设置域宽,即设置“<<”符号后面的数据占
用的屏幕宽度。
setfill©
设置填充字符,即“<<”符号后面的数据长
度小于域宽时,使用什么字符进行填充

例子1
在这里插入图片描述

例子2
在这里插入图片描述

IO流的格式控制2

C++默认输出浮点数的有效位为6位,那么要想控
制输出的数据的长度,该如何呢?
比如:float f=3.1234567;如何让显示结果为
3.12?
C++提供了setprecision(int n)可以控制显示浮点
数的有效位

例子1
在这里插入图片描述

I/O流的格式控制3

如何控制指数表示的小数个数?
setiosflags(ios::scientific)控制符使用指数方
式显示浮点数,将setprecision(int n)和
setiosflags(ios::scientific)结合,可以使用
setprecision(int n)控制指数表示法的小数位数。

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值