首页>少儿编程>C++运算符的运算优先级以及位运算
C++运算符的运算优先级以及位运算
优先级与结合性
1,同一优先级的运算符,运算次序由结合方向决定。例如:"*"与"/"具有相同的优先级,其结合方向都是自左向右,因此3*5/4的运算次序就是先乘后除;负号运算符"-"和前置运算符"++"为同一优先级,结合方向为自右向左,因此,-++i相当于-(++i);
2,不同的运算符有不同运算对象个数双目运算符就要求在运算符两侧各有一个运算对象(如3+2,5—1等)。单目运算符只能在运算符的一侧出现一个运算对象(如-a,i++,-i,sizeof(int),*p等)。条件运算符是c++中唯一一个三目运算符,如a>b?a:b。
3,结合性自右向左的运算符,自增自减(前置),条件运算符,以及下表中的第2和第14行。
运算符优先表
优先级 |
运算符 |
描述 |
1 |
() [] -> . |
从左到右的成员访问和函数调用 |
2 |
! ~ ++ -- (type) * & |
逻辑非、位求反、自增、自减、一元加减、类型转换、取地址、间接引用 |
3 |
* / % |
乘法、除法、取模 |
4 |
+ - |
加法、减法 |
5 |
<< >> |
左移、右移 |
6 |
< <= > >= |
关系运算符 |
7 |
== != |
相等性运算符 |
8 |
& |
位与 |
9 |
^ |
位异或 |
10 |
| |
位或 |
11 |
&& |
逻辑与 |
12 |
|| |
逻辑或 |
13 |
?: |
条件运算符 |
14 |
= += -= *= /= %= |
赋值和复合运算符 |
15 |
, |
逗号运算符 |
位运算
位运算,是一种对运算对象按二进制位进行操作的运算。位运算不允许只操作其中的某一位,而是对整个数据按二进制位进行运算。位运算的对象只能是整型数据(含字符型),运算结果仍是整型。
位运算的优先级:
~ 位求反
<< , >> ~位偏移
& 位与
^ 位异或
| 位或
符号 |
描述 |
运算规则 |
& |
与 |
两个位都为1时,结果才为1 |
| |
或 |
两个位都为0时,结果才为0 |
^ |
异或 |
两个位相同为0,相异为1(助记:见不得人成双成对) |
~ |
取反 |
0变1,1变0 |
<< |
左移 |
各二进位全部左移若干位,高位丢弃,低位补0 |
>> |
右移 |
各二进位全部右移若干位,对无符号数,高位补0,有符号数,各编译器处理方法不一样,有的补符号位(算术右移),有的补0(逻辑右移) |
标签: c++
移动端可扫我直达哦~
推荐阅读
2024-11-03
P11242碧树:叶子越远,枝干越长,已有的枝干再长一片叶子不影响枝干长度,最终就是枝干的长度加上叶子的总数。枝干总长取决于最远的那片叶子,叶子的总数题目中已经提供。P11248矩阵移动:三层循环,最内层循环k表示分别修改0、1、2、...
少儿编程
c++
2024-10-26
2024年的CSP-J/S复赛依旧没有杭州以外的考点,全省的OIER齐聚杭州,也是盛况空前。我们家是被分到了杭州师范大学的下沙校区,全程约140+公里,高德导航显示2小时能到。考虑考试当天可能拥堵,过早起床也怕孩子考场犯困,所以订了前...
少儿编程
c++
2024-09-27
链接只是跳转到noi官网,并不是什么第三方的数据库,所以需要预先登陆noi官方网站哦。2024年复赛(2024年10月27日)成绩还没有出,仅尝试放链接备用。复赛接口csp-j复赛查分接口csp-s复赛查分接口2024年初赛(2024...
少儿编程
c++
2024-09-24
在oiwiki学习01背包,虽然完成并通过了题目(洛谷P2871),但总感觉似懂非懂,干脆在画图软件上推演了一下,于是就有了这篇笔记。所谓01背包,一般是给定一个固定容量的容器(背包),并提供固定件数的物品,每件物品有各自的体积(或称...
少儿编程
c++
2024-09-23
洛谷公开题单csp-j复赛练习用题单题目一览
CSP-J 400分 题单总结
知识点/类型
T1
T2
T3
T4
队列
...
少儿编程
c++
2024-09-17
在洛谷刷题,会遇到各种各种的输入情况,有的时候需要按个输入,而有时则需要按行输入,偶尔也有前一行按个输入,后一行按行输入这样的需求。Windows系统中,换行是由两个字符\r\n组成的。 \r为回车,其ASCII码是13,作用是回到当...
少儿编程
c++
2024-08-24
数学应用P1348 Couple number这里给大家演示一下平方差公式化简的步骤(a+b)(a-b) =a(a-b)+b(a-b) =a^2-ab+ab-b^2 =a^2-b^2∴ 由此式反推回去a^2-b^2=(a+b)(a-b...
少儿编程
c++
2024-08-23
在C++中,set 是一个容器,用于存储唯一元素,且按特定顺序排序。其具备自动排序,快速查找,去重,插入效率高的特点。以下是定义和使用 set 的基本方法:#include<iostream>
#include<se...
少儿编程
c++
2024-08-23
map与unordered_mapC+提供 map 与unordered_map 两种关联容器,可以将key与value关联起来。 map 与unordered_map 区别:1.底层实现原理map:map内部实现了一个红黑树,该结构...
少儿编程
c++
2024-08-23
这是一篇洛谷题号P1157题目的题解笔记,该题解的作者是feecle6418,自己写了一大段程序之后看到这么简洁的方式求组合,感觉还是挺挫败的。关键是,看完了题解还看不太懂......#include<bits/stdc++.h...
少儿编程
c++
2024-08-08
变量定义#define ll long longfor循环#define for(i,a,b) for(int i=a;i<=b;i++)
少儿编程
c++
2024-07-22
洛谷刷题的时候遇到了一些位运算的题目,看得一头雾水,于是临时起意,单独开一篇习题集,用来记录刷题过程中遇到的位运算相关习题。文章准备分为两部分,前半部分为一些常用技巧,后半部分为习题记录,随时补充。位运算的若干技巧位运算的习题集习题部...
少儿编程
c++