C语言运算符优先级和结合性
C语言运算符优先级和结合性
优先级 |
运算符 |
含义 |
使用形式 |
结合性 |
操作数 |
---|---|---|---|---|---|
1 |
[ ] |
数组下标 |
数组名[整型表达式] |
左结合性 |
|
( ) |
圆括号 |
(表达式) |
|||
. |
成员选择(对象) |
对象.成员名 |
|||
-> |
成员选择(指针) |
对象指针->成员名 |
|||
++ |
后缀自增运算符 |
变量名++ |
单目运算符 |
||
-- |
后缀自减运算符 |
变量名-- |
单目运算符 |
||
2 |
- |
负号运算符 |
-表达式 |
右结合性 |
单目运算符 |
(类型) |
强制类型转换 |
(数据类型)表达式 |
单目运算符 |
||
++ |
前缀自增运算符 |
++变量名 |
单目运算符 |
||
-- |
前缀自减运算符 |
--变量名 |
单目运算符 |
||
* |
取值运算符 |
*指针表达式 |
单目运算符 |
||
& |
取地址运算符 |
&左值表达式 |
单目运算符 |
||
! |
逻辑非运算符 |
!表达式 |
单目运算符 |
||
~ |
按位取反运算符 |
~表达式 |
单目运算符 |
||
sizeof |
长度运算符 |
sizeof 表达式 或 sizeof(类型) |
单目运算符 |
||
3 |
/ |
除法运算符 |
表达式/表达式 |
左结合性 |
双目运算符 |
* |
乘法运算符 |
表达式*表达式 |
双目运算符 |
||
% |
求余运算符 |
整型表达式%整型表达式 |
双目运算符 |
||
4 |
+ |
加法运算符 |
表达式+表达式 |
左结合性 |
双目运算符 |
- |
减法运算符 |
表达式-表达式 |
双目运算符 |
||
5 |
<< |
左移运算符 |
表达式<<表达式 |
左结合性 |
双目运算符 |
>> |
右移运算符 |
表达式>>表达式 |
双目运算符 |
||
6 |
> |
大于运算符 |
表达式>表达式 |
左结合性 |
双目运算符 |
>= |
大于等于运算符 |
表达式>=表达式 |
双目运算符 |
||
< |
小于运算符 |
表达式<表达式 |
双目运算符 |
||
<= |
小于等于运算符 |
表达式<=表达式 |
双目运算符 |
||
7 |
== |
等于运算符 |
表达式==表达式 |
左结合性 |
双目运算符 |
!= |
不等于运算符 |
表达式!=表达式 |
双目运算符 |
||
8 |
& |
按位与运算符 |
整型表达式&整型表达式 |
左结合性 |
双目运算符 |
9 |
^ |
按位异或运算符 |
整型表达式^整型表达式 |
左结合性 |
双目运算符 |
10 |
| |
按位或运算符 |
整型表达式|整型表达式 |
左结合性 |
双目运算符 |
11 |
&& |
逻辑与运算符 |
表达式&&表达式 |
左结合性 |
双目运算符 |
12 |
|| |
逻辑或运算符 |
表达式||表达式 |
左结合性 |
双目运算符 |
13 |
?: |
条件运算符 |
表达式1?表达式2:表达式3 |
右结合性 |
三目运算符 |
14 |
= |
赋值运算符 |
变量 = 表达式 |
右结合性 |
双目运算符 |
/= |
除后赋值运算符 |
变量 /=表达式 |
双目运算符 |
||
*= |
乘后赋值运算符 |
变量 *=表达式 |
双目运算符 |
||
%= |
取模后赋值运算符 |
变量%=表达式 |
双目运算符 |
||
+= |
加后赋值运算符 |
变量+=表达式 |
双目运算符 |
||
-= |
减后赋值运算符 |
变量-=表达式 |
双目运算符 |
||
<<= |
左移后赋值运算符 |
变量<<=表达式 |
双目运算符 |
||
>>= |
右移后赋值运算符 |
变量>>=表达式 |
双目运算符 |
||
&= |
按位与后赋值运算符 |
变量&=表达式 |
双目运算符 |
||
^= |
按位异或后赋值运算符 |
变量^=表达式 |
双目运算符 |
||
|= |
按位或后赋值运算符 |
变量|=表达式 |
双目运算符 |
||
15 |
, |
逗号运算符 |
表达式,表达式,表达式,... |
左结合性 |
运算符
在一个表达式中可能包含多个有不同运算符连接起来的或具有不同数据类型的数据对象,表达式有多种运算,不同的结合顺序可能得出不同结果或者出现运算错误,因为当表达式中含多种运算时,必须按一定顺序进行结合,才能保证运算的合理性和结果的正确性和唯一性。
每种同类型的运算符都有内部的运算符优先级,不同类型的运算符之间也有相应的优先级顺序。一个表达式中既可以包括相同类型的运算符,也可以包括不同类型的运算符或者函数。当多种运算符出现在同一个表达式中时,应该先按照不同类型运算符间的优先级进行运算。可以用括号改变优先级顺序,使得括号内的运算优先于括号外的运算。对于多重括号,总是由内到外强制表达式的某些部分优先运行。括号内的运算总是最优先计算。
优先级
优先级与求值顺序无关。优先级高低从上到下依次递减,表达式的结合次序取决于表达式中各种运算符的优先级。优先级高的运算符先结合,优先级低的运算符后结合,同一行中的运算符的优先级相同。
结合性
当一个运算对象两侧的运算符优先级别相同时,则按运算符的结合性来确定表达式的运算顺序。大多数运算符结合方向是左结合性,只有三类运算符的结合方向是右结合性,即:单目运算符、条件运算符、赋值运算符。结合性是针对两个相邻的优先级相同的运算符而言,而不是表达中的运算对象,运算符是决定左右的基准点,先以前面的运算符构造运算,就是左结合性,反之,就是右结合性 。
操作数
运算符是一种特殊的函数,它们具有一个或多个操作数并返回相应的值。运算符可以是一目、二目或三目的,有多少目就代表有多少个操作数。只有一个运算符的操作数是三目运算符,即:条件运算符。
欢迎大家来加我自己的编程语言交流QQ群群号:387618421
C语言运算符优先级和结合性相关推荐
- c语言运算符优先级结合,C语言运算符优先级及结合性
今天去翻了下C语言运算符的优先级和结合性,发现当初学习的时候就没认真记住,惭愧.发现一篇讲得不错的文章,编辑了下转来供以后翻阅. C语言运算符优先级表(由上至下,优先级依次递减) 运算符 结合性 () ...
- C语言运算符的优先级和结合性方面的试题,C语言运算符优先级与结合性一览表.docx...
C语言运算符优先级和结合性一览表 所谓优先级就是当一个表达式中有多个运算符时,先计算谁,后计算谁.事实上在编程的时候也不需要考虑优先级的问题.因为如果不知道优先级高低的话,加一个括号就可以了,因为括号 ...
- C语言运算符优先级及结合性
今天去翻了下C语言运算符的优先级和结合性,发现当初学习的时候就没认真记住,惭愧.发现一篇讲得不错的文章,编辑了下转来供以后翻阅. C语言运算符优先级表(由上至下,优先级依次递减) 运算符 结合性 () ...
- c语言运算符优先级以及结合性
目录 前言 一.运算符是什么? 定义: 分类: 优先级: 几目运算符: 二.运算符的优先级表 前言 做题的时候总是忘记运算符的优先级和结合性,导致在计算表达式值的时候犹豫不定,所以特别记录一下,忘记的 ...
- c语言运算符优先级结合,C语言运算符优先级和结合性
4. 什么是AJAX 术语Ajax用来描述一组技术,它使浏览器可以为用户提供更为自然的浏览体验.在Ajax之前,Web站点强制用户进入提交/等待/重新显示范例,用户的动作总是与服务器的"思考 ...
- 利用c语言设置密码错误循环,c语言运算符优先级与while循环案例
sizeof可以获取数据类型的内存中的大小(字节) #include #include // standared 标准 // input output 输入/输出 // header 头 .h头文件 ...
- c语言运算符优先级 从右到左,c语言运算符优先级,结合性(左/右结合详解)
重新翻了遍c语言,觉得对c语言运算符结合性有必要提一下,毕竟去年我自己刚学c语言的时候,就没搞明白结合性的问题. 什么是左结合?什么是右结合?它们是干嘛用的?它们是什么时候用的? 本文将围绕这几个问题 ...
- C语言运算符优先级 之 快速记忆6,[快速记忆]C语言/php的运算符优先级(结合性)...
author: selfimpr blog: http://blog.csdn.net/lgg201 mail: lgg860911@yahoo.com.cn 阅读, 看到书中对优先级记忆的精彩讲解, ...
- C 语言运算符优先级
C 语言运算符优先级 优先级 运算符 描述 结合性 1 ++ -- 后缀自增与自减 从左到右 () 函数调用 [] 数组下标 . 结构体与联合体成员访问 -> 结构体与联合体成员通过指针访问 ( ...
最新文章
- mysql 性能和安全性_从源码解读Mysql 5.7性能和数据安全性的提升
- 点击文字label同时选中checkbox radio
- HPE、IBM、ARM以及三星等一众厂商正在联手编织“内存架构”
- windows server 2008 (五)web服务器的搭建和部署
- 不越狱换壁纸_那些不舍得换的手机插画壁纸,你还差几张?
- 移植UE4的Spline与SplineMesh组件到Unity5
- w3cschool菜鸟教程php,JS实例学习笔记——w3cschool+菜鸟教程
- 测试环境搭建-7:安装loadrunner提示此计算机上缺少vc2005_sp1_with_atl_fix_redist解决方法
- PCM音频压缩A-Law算法,uLaw
- Jackson修改字段名和自定义命名策略
- CF1654-G. Snowy Mountain(2900) GOOD
- Unexpected Error: Quitting
- PTA 1075 链表元素分类
- Idea 去掉 mapper.xml 文件的黄色、淡绿色警告
- 21岁日本女星惨遭猥亵,只因自拍瞳孔倒影暴露住址? 一张照片是怎么出卖你的?
- 剑指Offer II --- 2021/9/2
- 蒟蒻のpython(记一个爬虫教程小网站)
- 是手机的速度快还是计算机的发展速度快,什么最影响手机速度?系统和程序
- c语言程序输入中能不能输入中文,如何在C语言中输入中文?
- 掌上考典-----自制的一款安卓版的掌上考试工具
热门文章
- 移动办公、企业-移动办公:移动过程中的办公触手可及-by小雨
- turtle模块还能这样玩?(一条条金龙鱼、雨景)
- python字符串索引位置替换 不搞虚的 直上代码
- 一个事务中 可以查询自己未提交的数据吗_数据库事务
- python 购物车程序_购物车程序python
- 终端输入vue ui没反应---使用vue ui出现的四个问题
- 莫比乌斯带catia建模_用sw2018制作莫比乌斯环图文教程
- 微课|玩转Python轻松过二级(1.3节):编码规范与代码优化建议2
- 微课|中学生可以这样学Python(例8.21):选择法排序
- 董付国老师6本Python系列图书阅读指南