c++运算符大全

算术运算符

+ (加法): 用于两个数值的相加。

- (减法): 用于两个数值的相减,或表示负数。

* (乘法): 用于两个数值的相乘。

/ (除法): 用于两个数值的相除。

% (取模): 用于求两个整数相除的余数。


关系运算符

== (等于): 检查两个表达式的值是否相等。

!= (不等于): 检查两个表达式的值是否不相等。

> (大于): 检查左操作数是否大于右操作数。

< (小于): 检查左操作数是否小于右操作数。

>= (大于等于): 检查左操作数是否大于或等于右操作数。

<= (小于等于): 检查左操作数是否小于或等于右操作数。


逻辑运算符

&& (逻辑与): 如果两个操作数都为真,则结果为真。

|| (逻辑或): 如果两个操作数中至少有一个为真,则结果为真。

! (逻辑非): 反转操作数的逻辑状态,如果操作数为真,则结果为假;如果操作数为假,则结果为真。


位运算符

& (按位与 Bitwise AND)

描述:对两个整数的二进制表示进行按位与操作。只有当两个相应的位都为1时,结果位才为1,否则为0。
示例:5 & 3(二进制表示为101 & 011)的结果是1(二进制表示为001),因为只有最低位两个数都为1。

| (按位或 Bitwise OR)

描述:对两个整数的二进制表示进行按位或操作。如果两个相应的位中至少有一个为1,结果位就为1。
示例:5 | 3(二进制表示为101 | 011)的结果是7(二进制表示为111),因为每一位至少有一个数为1。

^ (按位异或 Bitwise XOR)

描述:对两个整数的二进制表示进行按位异或操作。如果两个相应的位值相同,则结果位为0;如果不同,则结果位为1。
示例:5 ^ 3(二进制表示为101 ^ 011)的结果是4(二进制表示为100),因为只有最低位两个数的值不同。

~ (按位取反 Bitwise NOT)

描述:对整数的二进制表示进行按位取反操作。将所有的1变为0,所有的0变为1。
示例:~5(二进制表示为~101)的结果是-6(二进制表示为-110),因为在二进制中,-6的补码是1010,取反后得到0101,即5的按位取反。

<< (左移 Left Shift)

描述:将左操作数的二进制表示向左移动指定的位数(右操作数指定的位数)。右边移出的位置用0填充。
示例:6 << 2(二进制表示为110 << 2)的结果是72(二进制表示为11000),因为6的二进制表示向左移动两位相当于乘以2^2。

>> (右移 Right Shift)

描述:将左操作数的二进制表示向右移动指定的位数(右操作数指定的位数)。对于无符号数,左边填充0;对于有符号数,根据符号位进行符号扩展。
示例:7 >> 2(二进制表示为111 >> 2)的结果是1(二进制表示为001),因为7的二进制表示向右移动两位相当于除以2^2。


赋值运算符

= (简单赋值): 

将右操作数的值赋给左操作数。

+= (加后赋值): 左操作数与右操作数相加,然后将结果赋值给左操作数。

-= (减后赋值): 左操作数与右操作数相减,然后将结果赋值给左操作数。

*= (乘后赋值): 左操作数与右操作数相乘,然后将结果赋值给左操作数。

/= (除后赋值): 左操作数除以右操作数,然后将结果赋值给左操作数。

%= (取模后赋值): 左操作数与右操作数取模,然后将结果赋值给左操作数。

&= (按位与后赋值): 左操作数与右操作数按位与,然后将结果赋值给左操作数。

|= (按位或后赋值): 左操作数与右操作数按位或,然后将结果赋值给左操作数。

^= (按位异或后赋值): 左操作数与右操作数按位异或,然后将结果赋值给左操作数。

<<= (左移后赋值): 左操作数左移右操作数指定的位数,然后将结果赋值给左操作数。

>>= (右移后赋值): 左操作数右移右操作数指定的位数,然后将结果赋值给左操作数。


其他运算符

sizeof: 返回某个类型或变量的大小(以字节为单位)。

:: (作用域解析运算符): 用于指定类或命名空间的作用域。

-> (指针访问运算符): 用于访问指针指向的对象的成员。

. (成员访问运算符): 用于访问对象的成员。

++ (递增): 增加操作数的值,可以作为前缀或后缀。

-- (递减): 减少操作数的值,可以作为前缀或后缀。

? : (条件运算符): 也称为三元运算符,用于基于条件表达式的结果选择两个值中的一个。

(), (函数调用): 用于调用函数。

[] (下标运算符): 用于访问数组或容器的元素。

  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C语言中,运算符有不同的优先级。根据引用和引用的信息,C语言中运算符的优先级从高到低分为以下几个等级: 一级:括号()、[]、对象选择->、. 二级:!非、强制类型转换(int)、自增自减–、取值*、取址&、取反-、取长度sizeof() 三级:算术运算符——乘除余% 加减 四级:左移<<、右移>>运算符 五级:比较运算符:>、>=、<、<=、== 六级:普通逻辑运算符(双目运算符):&、|、&&、|| 七级:三目运算符:?: 八级:赋值运算符=;(/=,*=,%=, =,-=) 九级:逗号运算符。 此外,根据引用的信息,还有一些操作符是从左向右结合的,包括函数调用、数组下标、取成员、类型转换、后置运算符等。 综上所述,这些是C语言中运算符的优先级和结合性规则。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [C++运算符的优先级](https://blog.csdn.net/ITJAVAtao/article/details/120597987)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [c++运算符优先级归纳](https://blog.csdn.net/zhaominyong/article/details/126268983)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值