C语言中的运算和运算符
一、运算符的优先级和结合性
1,优先级
运算符一览表中,运算符越靠上,优先级越高。
2,结合性
假如用O表示需要两个操作数的双目运算符,那么对于表达式aObOc:
左结合运算符会将表达式解释为 (aOb)Oc 【左结合性】
右结合运算符会将表达式解释为 aO(bOc) 【右结合性】
总结:遇到优先级相同的运算符时,结合性指明了表达式应从左往右运算还是从右往左运算。
二、运算符一览表
优先级 |
运算符 |
形式 |
名称 |
结合性 |
1 |
() |
x(y) |
函数调用运算符 |
左 |
1 |
[] |
X[y] |
下标运算符 |
左 |
1 |
. |
x.y |
.运算符(句点运算符) |
左 |
1 |
-> |
x->y |
->运算符(箭头运算符) |
左 |
1 |
++ |
x++ |
后置递增运算符 |
左 |
1 |
-- |
y-- |
后置递减运算符 |
左 |
2 |
++ |
++x |
前置递增运算符 |
右 |
2 |
-- |
--y |
前置递减运算符 |
右 |
2 |
sizeof |
sizeof x |
sizeof运算符 |
右 |
2 |
& |
&x |
单目运算符&(取址运算符) |
右 |
2 |
* |
*x |
单目运算符*(指针运算符) |
右 |
2 |
+ |
+x |
单目运算符+ |
右 |
2 |
- |
-x |
单目运算符- |
右 |
2 |
~ |
~x |
~运算符(按位求补运算符) |
右 |
3 |
! |
!x |
逻辑非运算符 |
右 |
3 |
() |
(x)y |
类型转换运算符 |
右 |
4 |
* |
x * y |
双目运算符* |
左 |
4 |
/ |
x / y |
/运算符 |
左 |
4 |
% |
x % y |
%运算符 |
左 |
5 |
+ |
x + y |
双目运算符+ |
左 |
5 |
- |
x - y |
双目运算符- |
左 |
6 |
<< |
x << y |
<<运算符 |
左 |
6 |
>> |
x >> y |
>>运算符 |
左 |
7 |
< |
x < y |
<运算符 |
左 |
7 |
<= |
x <= y |
<=运算符 |
左 |
7 |
> |
x > y |
>运算符 |
左 |
7 |
>= |
x >= y |
>=运算符 |
左 |
8 |
== |
x == y |
==运算符 |
左 |
8 |
!= |
x != y |
!=运算符 |
左 |
9 |
& |
x & y |
按位与运算符 |
左 |
10 |
^ |
x ^ y |
按位异或运算符 |
左 |
11 |
| |
x | y |
按位或运算符 |
左 |
12 |
&& |
x && y |
逻辑与运算符 |
左 |
13 |
|| |
x || y |
逻辑或运算符 |
左 |
14 |
? : |
x ? y : z |
条件运算符 |
右 |
15 |
= |
x = y |
基本赋值运算符 |
右 |
15 |
+= -= *= /= <<= >>= &= ^= |= |
复合赋值运算符 |
右 |
|
16 |
, |
x , y |
逗号运算符 |
左 |
转载于:https://www.cnblogs.com/OctoptusLian/p/8527307.html
C语言中的运算和运算符相关推荐
- c语言中的*和运算符*,C语言中的运算和运算符
[Asp.Net MVC]日常---路由 想要这样的路由 不带id:http://test.mymong.com/Home/List.html 带id:http://test.mymong.com/H ...
- python中比较运算符用于比较两个数_python中的运算和运算符
运算和运算符 运算: 由一个以上的值经过变化得到新值得过程,就是运算. 运算符: 用于运算的符号,就是运算符 运算的分类: 1.算数运算 2.比较运算/关系运算 3.赋值运算 4.逻辑运算 5.位运算 ...
- python中的运算和运算符
运算和运算符 运算: 由一个以上的值经过变化得到新值得过程,就是运算. 运算符: 用于运算的符号,就是运算符 运算的分类: 1.算数运算 2.比较运算/关系运算 3.赋值运算 4.逻辑运算 5.位运算 ...
- C语言中的移位运算乘法,C语言中 移位操作运算
移位规律: 左移时总是移位和补零.右移时无符号数是移位和补零,此时称为逻辑右移;而有符号数大多数情况下是移位后补最左边的位(也就是补最高有效位),移几位就补几位,此时称为算术右移.(其实跟扩展逻辑一样 ...
- java异或运算结果数据类型_java中的数据类型和运算符的总结归类。
首先学习java肯定先要了解java的发展史,以及java的特点,常见的dos命令,jdk的安装,如何开发java程序等等一下概念行的东西,这里面我都不一一说了. 今天这一章主要想总结一下java中的 ...
- C#中的表达式和运算符
欢迎您成为我的读者,希望这篇文章能给你一些帮助. 前言 今天和大家一起学习下C#中的表达式和运算符,都是很基础的知识点. 在日常的编码过程中,对于表达式和运算符我们每天都在使用.比如像下面的代码 in ...
- c语言中位运算之布尔运算
c语言中位运算中的布尔运算有:&.|.~.^ &:按位与 |:按位或 ~:按位非 ^:按位异或,相同为0,相异为1. 计算规则如下: 位的逻辑运算的作用: 使用位向量做集合编码: 使用 ...
- python计算复数的辐角_Python 自定义类中的函数和运算符重载
如果你曾在字符串(str)对象上进行过 + 或 * 运算,你一定注意到它跟整数或浮点数对象的行为差异: >>> # 加法 >>> 1 + 2 3 >>& ...
- c语言位运算负数的实例_一招教你学会C语言中位运算
程序中的所有数在计算机内存中都是以二进制的形式储存的.位运算说穿了,就是直接对整数在内存中的二进制位进行操作.注意,位运算只针对于整数进行操作. 运算符号 运算规则 1.&与运算:对应两个二进 ...
最新文章
- 视频光流估计综述:从算法原理到具体应用
- juniper M320路由器基本配置
- 起航,第一个程序——还是LED灯
- python diango 并发_python - django Model 并发写数据出现重复值
- python获取最近N天工作日列表、节假日列表
- 每天一个Linux命令(17)--whereis命令
- Win10系统局域网中的其他电脑能Ping通但是无法访问本地IIS发布的网站
- Qt工作笔记-使用QpropertyAnimation实现控件上下滑动的效果
- android游戏渠道支付,Android渠道支付隐患及推荐解决方案
- GPU Pro 2 ------ Volume Decals
- keystone环境搭建(源码方式+yum方式)(ocata版本)
- 计算机应用技术基础考试分值,计算机一级考试内容包括哪些 试题分值上是如何分布的...
- MYSQL索引和权限管理
- Linux系统管理初步(六)设置计划任务
- springboot中得注解_SpringBoot 中的基本注解
- 学完计算机技术的感受,计算机培训心得体会
- 做正确的事和正确的做事的区别
- JavaScript实现页面动态添加图片
- 如何利用cyclone对SPC560离线烧写
- Git-git命令:全局设置用户名邮箱配置