C语言运算符的优先级与结合性
结合性:左结合是从左到右依次执行,右结合是从右到左依次执行。
|
优先级 |
运算符 |
名称或作用 |
运算类型 |
结合方向 |
特点 |
|
1 |
() [] -> . |
小括号运算符 下标运算符 指向结构成员运算符 结构成员运算符 |
左结合 |
||
|
2 |
! ~ ++,-- - (类型) *,& sizeof |
逻辑非运算符 按位取反运算符 自增/减运算符 负号运算符 类型转换运算符 指针/取地址运算符 求类型长度运算符 |
单目运算 |
右结合 |
|
|
3 |
*,/,% |
乘法/除法/求余运算符 |
双目运算、算术运算 |
左结合 |
乘除取余优先于加减 |
|
4 |
+,- |
加法/减法运算符 |
双目运算、算术运算 |
左结合 |
|
|
5 |
<<,>> |
左移/右移运算符 |
双目运算、位运算 |
左结合 |
位移低于算术运算 |
|
6 |
<,<=,>,>= |
小于/小于等于/大于/大于等于 |
双目运算、关系运算 |
左结合 |
大小比较优先于等于比较 |
|
7 |
==,!= |
判等/判不等运算符 |
双目运算 |
左结合 |
|
|
8 |
& |
按位与 |
双目运算、位运算 |
左结合 |
|
|
9 |
^ |
按位异或 |
双目运算、位运算 |
左结合 |
|
|
10 |
| |
按位或 |
双目运算、位运算 |
左结合 |
|
|
11 |
&& |
逻辑与 |
双目运算、逻辑运算 |
左结合 |
且的优先级高于或 |
|
12 |
|| |
逻辑或 |
双目运算、逻辑运算 |
左结合 |
|
|
13 |
?: |
条件运算符 |
三目运算 |
右结合 |
|
|
14 |
=,+=,-=,*=,/=,%= >>=,<<=,&=,^=,|= |
赋值运算符 |
双目运算 |
右结合 |
|
|
15 |
, |
逗号运算符(顺序求值运算符) |
左结合 |
C语言运算符的优先级与结合性的更多相关文章
- [转]说说C语言运算符的“优先级”与“结合性”
补充自己的一点理解: 1.关于++i 与 i++的区别. ++i 和 i++如果是单独使用的语句,即二者后面均加上分号,或者其他单独使用的语句,没有任何区别.例如: for(i=0;i<100; ...
- 说说C语言运算符的“优先级”与“结合性”
论坛和博客上常常看到关于C语言中运算符的迷惑,甚至是错误的解读.这样的迷惑或解读大都发生在表达式中存在着较为复杂的副作用时.但从本质上看,仍然是概念理解上的偏差.本文试图通过对三个典型表达式的分析,集 ...
- [c语言]运算符的优先级与结合性
c语言中运算符的优先级和结合性常常被人混淆一谈,本文目的在于简单谈谈两者的区别.本文举几个简单的例子说明,这些运算符也特别常用. 首先要明白的是:优先级决定表达式中各种不同的运算符起作用的优先次序:而 ...
- C语言的运算符的优先级与结合性+ASCII表
[0]README 0.1) 内容来源于 C程序设计语言, 旨在整理出C语言的运算符的优先级与结合性, 如下图所示(哥子 记了大半年都没有记住,也是醉了,每次都要去翻): Alert)以下内容转自:h ...
- C语言运算符和优先级
关于C语言运算符和优先级,经整理众多博客资料汇入自己的实战,如下: a.算术运算 C语言一共有34种运算符,包括常见的加减乘除运算. 1) 加法:+ 还可以表 ...
- swift:高级运算符(位运算符、溢出运算符、优先级和结合性、运算符重载函数)
swift:高级运算符 http://www.cocoachina.com/ios/20140612/8794.html 除了基本操作符中所讲的运算符,Swift还有许多复杂的高级运算符,包括了C语和 ...
- C语言左值,运算符的优先级以及结合性探讨
刚刚开始看一本书.<C陷阱与缺陷>,相信学习C语言的大家都对这本书有耳闻.今天看到了里面的贪心法则.也即在读到一个字符后,尽可能多的读入更多的字符,直到读入的字符组成的字符串已经不可能再组 ...
- C语言运算符的优先级
熟悉C语言的同学都知道,C语言众多的运算符及繁琐难记的优先级总是搞得我们这些C初学者头大.那么本文就 对C语言中所有的运算符进行汇总,并对其优先级进行一定的介绍. 这里虽然对所有C运算符的优先级进行了 ...
- c语言中 *p++ 和 (*p)++ 有什么区别?以及C语言运算符的优先级。整理。
*p++是指下一个地址. (*p)++是指将*p所指的数据的值加一. C编译器认为*和++是同优先级操作符,且都是从右至左结合的,所以*p++中的++只作用在p上,和*(p++)意思一样:在(*p)+ ...
随机推荐
- 02.JS数据类型与数据类型转换
前言: 学习一门编程语言的基本步骤 (01)了解背景知识 (02)搭建开发环境 (03)语法规范 (04)常量和变量 (05)数据类型 (06)数据类型转换5.数据类型——datatype 数据 ...
- 全文检索以及Lucene的应用
全文检索 一.什么是全文检索? 就是在检索数据,数据的分类: 在计算机当中,比如说存在磁盘的文本文档,HTML页面,Word文档等等...... 1.结构化数据 格式固定,长度固定,数据类型固定等等, ...
- Ajax工作原理及优缺点
1. Ajax是什么? 全称是 asynchronous javascript and xml,是已有技术的组合,主要用来实现客户端与服务器端的异步通信效果(无需重新加载整个网页的情况下),实现页面的 ...
- opencv —— threshold、adaptiveThreshold 固定阈值 & 自适应阈值 进行图像二值化处理
阈值化 在对图像进行处理操作的过程中,我们常常需要对图像中的像素做出取舍与决策,直接剔除一些低于或高于一定值的像素. 阈值分割可以视为最简单的图像分割方法.比如基于图像中物体与背景之间的灰度差异,可以 ...
- 硬件知识整理part1--电阻E系列行业规范
仁者,人心也,义者,人路也. --孟子 “ E ”表示“指数间距”(Exponential Spacing) 在上个20世纪的电子管时代,电子元器件厂商为了便于元件规格的管理和选用.大规模生产的电 ...
- Python基础之程序暂停
当我们执行某些程序时,由于机器速度很快导致肉眼无法直接看到执行结果时程序便停止运行.这时候我们迫切需要在程序中暂停,专业术语叫做阻塞.下面列举几种常用的程序暂停方法: input()用法:直接在欲等待 ...
- 大二网课ing学习周记
行稳致远,久久为功! 一个概念套着一个概念哦!码就是关键字,标识属性是也! 1.什么是主码和外码,请举例说明. 关键字也叫码! 首先,在一个关系中,能惟一标识元组的属性or最小属性集称为关系的候选码. ...
- SV 类继承的多态性问题(NVDIA2019笔试)
1.原题 class class_a; virtual function void print_name(); $display("this is class_a"); endfu ...
- Jackson使用指南
Jackson常用注解 序列化注解 @JsonAnyGetter 像普通属性一样序列化Map public class ExtendableBean { public String name; pri ...
- CodeForces - 1105D 多源搜索
#include<bits/stdc++.h> using namespace std; typedef long long ll; struct node{ int x,y; ll se ...