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 |
逗号运算符 |
左 |
C语言中的运算和运算符的更多相关文章
- Javascript学习2 - Javascript中的表达式和运算符
原文:Javascript学习2 - Javascript中的表达式和运算符 Javascript中的运算符与C/C++中的运算符相似,但有几处不同的地方,相对于C/C++,也增加了几个不同的运算符, ...
- Sql Server中的谓词和运算符
谓词和运算符配合使用是我们得到理想数据的最佳途径. 一.浅谈谓词 谓词的概念:一个运算结果为True.False或Unknown的逻辑表达式.它的运用范围有:where子句.Having子句.Chec ...
- C语言中复数运算及调用blas,lapack中复数函数进行科学计算
C语言中常用的数据类型主要int, float ,double ,char 等,但在科学运算中复数扮演着重要角色.这里讲下C语言中的复数运算以及如何调用blas,lapack库中的复数函数来进行科学计 ...
- javascript 核心语言笔记 4 - 表达式和运算符
表达式(expression)是 JavaScript 中的一个短语(phrases),JavaScript 解释器会将其计算(evaluate)出一个结果.程序中的常量.变量名.数组访问等都是表达式 ...
- C语言中 移位操作运算
移位规律: 左移时总是移位和补零.右移时无符号数是移位和补零,此时称为逻辑右移;而有符号数大多数情况下是移位后补最左边的位(也就是补最高有效位),移几位就补几位,此时称为算术右移.(其实跟扩展逻辑一样 ...
- 教学日志:javaSE-java中的数据类型和运算符
一.java中的标识符 /* 标识符的命名规范: 硬性要求: 1.必须以字母._下划线.美元符$开头 2.其它部分可以是字母.下划线"_".美元符"$"和数字的 ...
- C语言中位运算异或“∧”的作用
1.概念异或运算符"∧"也称XOR运算符.它的规则是若参加运算的两个二进位同号,则结果为0(假):异号则为1(真).即 0∧0=0,0∧1=1, 1^0=1,1∧1=0.运算 ...
- 2、JS中的表达式和运算符
一.表达式 1.原始表达式:2.14,“test”,true/false,null……复合表达式:10*20…… 2.数组.对象的初始化表达式:new Array(1,2),[1,undefined, ...
- java语言基础(变量和运算符)
java八大基本数据类型: 整型{ int(整型) short(短整型) long(长整型)} 浮点型{ float(浮点型) double(双精度)} 布尔{boolean} ...
随机推荐
- [翻译] Dremel made simple with Parquet
首先自己的 blog 好久没有写技术相关的东西了,今天又动笔了,好高兴!然后转载请注明出处.最后开始正题: 原文:Dremel made simple with Parquet | Twitter E ...
- SQL Server 2008 R2升级到SQL Server 2012 SP1
1.建议对生产环境对的数据库升级之前做好备份,以防不测. 2.从SQL Server 2008 R2 升级到SQL Server 2012 SP1,需要先安装SQL Server 2008 R2 的S ...
- 设计模式之原型模式(深入理解OC中的NSCopying协议以及浅拷贝、深拷贝)
原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象.原型模式其实就是从一个对象再创建另一个可定制的对象,而且不需知道任何创建的细节. 比如说,有一个Person类,有firstN ...
- 确保安全的HTTPS(对HTTP加密的几种技术,前端面试常问)第一篇
HTTP固然足够好,但是在安全方面有着很大隐患: 1.与服务器进行通信使用的是明文,内容可能会被窃听(HTTP协议本身并不具备加密功能,所以无法对请求和响应的内容进行加密) 2.使用HTTP协议的服务 ...
- java基础篇---Servlet监听器
在写此篇前,看了一下园友写的,感觉其基础知识归纳的十分全面,我在此就不累赘的写了,链接地址(http://www.cnblogs.com/sherryueda/p/4273169.html), 我就写 ...
- SpringBoot使用AutoConfiguration自定义Starter
https://segmentfault.com/a/1190000011433487
- Creating a Physical Standby Database 11g
1.Environment Item Primary database standby database Platform Redhat 5.4 Redhat 5.4 Hostname gc1 gc2 ...
- 【WPF】在MenuItem中下划线“_”显示不正常
MenuItem的Header显示文字时发现一个问题,字符串中的第一个下划线“_”不能显示.如果该下划线前面是一个英文字母,则下划线会跑到该字母下方.(是中文汉字则不会) 查到原因是第一个下划线“_” ...
- C语言 · 最长单词
算法提高 最长单词 时间限制:1.0s 内存限制:512.0MB 编写一个函数,输入一行字符,将此字符串中最长的单词输出. 输入仅一行,多个单词,每个单词间用一个空格隔开.单词仅由小 ...
- 前端CSS - 相对定位,绝对定位,固定定位
前端CSS - 相对定位,绝对定位,固定定位 1.1 相对定位 position:relative 相对定位,就是微调元素位置的.让元素相对自己原来的位置,进行位置的微调. 也就是说,如果一个盒子想进 ...