三目运算符_C语言知识点:运算符的优先级和结合性
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。
C语言内置了丰富的运算符,大体可分为10类:算术运算符、关系运算符、逻辑运算符、位操作运算符、赋值运算符、条件运算符、逗号运算符、指针运算符、求字节数运算符和特殊运算符。
根据运算符可操作的操作数的个数,可把运算符分为一元运算符、二元运算符和多元运算符(一般三元)。
1、算数运算符
用于数值计算,包括:加(+)、减(-)、乘(*)、除(/)、求余(%)、自增(++)、自减(--)。
2、关系运算符
用于比较运算,包括:大于(>)、小于(=)、小于等于(<=)、不等于(!=)。
3、逻辑运算符
用于逻辑运算,包括:与(&&)、或(||)、非(!)。
4、位操作运算符
按二进制位进行运算,包括:位与(&)、位或(|)、位非(~)、 位异或(^)、左移(<>)。
5、赋值运算符
用于赋值运算,包括:简单赋值(=)、复合算术赋值(+=、-=、*= 、/=、%=)以及复合位运算赋值(&=、|=、^=、>>=、<<=)等。
6、条件运算符
用于条件求值,三目运算符:(x > y) ? x : y。C语言中有且只有这一个三目运算符。
7、逗号运算符
用于把若干表达式组合成一个表达式:表达式1 , 表达式2。
8、指针运算符
用于取内容(*)和取地址(&)两种运算。
9、求字节数运算符
用于计算数据类型所占的字节数(sizeof)。
10、特殊运算符
包括括号()、数组下标[]、成员(-> 和 .)等。
比如式子“x = 1 + 2 * 3 / 4”,需要先计算乘再计算除,然后是加,最后是赋值。这里介绍下关于运算符在参与运算过程中的两个概念:
- 优先级:当不同运算符优先级不同时,先计算谁后计算谁
- 结合性:当不同运算符优先级相同时,先计算谁后计算谁
运算符的优先级和结合性
作为初学者,当一个表达式中有多个运算符时,如果不知道哪个优先级高哪个优先级低就可以查一下优先级表,等用的时间长了自然而然就记住了。而且,事实上在编程的时候也不需要考虑优先级的问题。因为如果不知道优先级高低的话,加一个括号就可以了,因为括号( )的优先级是最高的。
另外,大多数运算符的结合性都是从左往右。从右向左的一个是单目运算符,另一个是三目运算符,还有一个就是双目运算符中的赋值运算符=。运算符的“结合性”也不用死记,在不断使用中就记住了。
扩展阅读:
C语言:一种高效、易学的编程语言
C语言的内存分配方式:堆和栈
C程序中常见的与内存相关的错误
GCC编译C语言程序的全过程
C语言中静态库和动态库简介
三目运算符_C语言知识点:运算符的优先级和结合性相关推荐
- C语言的运算符的优先级与结合性+ASCII表
[0]README 0.1) 内容来源于 C程序设计语言, 旨在整理出C语言的运算符的优先级与结合性, 如下图所示(哥子 记了大半年都没有记住,也是醉了,每次都要去翻): 0.2) 再补充下 Java ...
- [c语言]运算符的优先级与结合性
c语言中运算符的优先级和结合性常常被人混淆一谈,本文目的在于简单谈谈两者的区别.本文举几个简单的例子说明,这些运算符也特别常用. 首先要明白的是:优先级决定表达式中各种不同的运算符起作用的优先次序:而 ...
- c语言左值中有运算符,C语言左值,运算符的优先级以及结合性探讨
刚刚开始看一本书.<C陷阱与缺陷>,相信学习C语言的大家都对这本书有耳闻.今天看到了里面的贪心法则.也即在读到一个字符后,尽可能多的读入更多的字符,直到读入的字符组成的字符串已经不可能再组 ...
- c语言 异或_C语言知识点:运算符的优先级和结合性
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号. C语言内置了丰富的运算符,大体可分为10类:算术运算符.关系运算符.逻辑运算符.位操作运算符.赋值运算符.条件运算符.逗号运算符.指针运算符.求 ...
- 说说C语言运算符的“优先级”与“结合性”
本文链接:https://blog.csdn.net/steedhorse/article/details/5903974 论坛和博客上常常看到关于C语言中运算符的迷惑,甚至是错误的解读.这样的迷惑或 ...
- c++ 位运算_C语言之运算符
运算符代表的是各种各样的运算(操作) 已知的运算符:+ - * / =(赋值) 1.运算符的分类 运算符的分类方法很多,通常用功能或者操作数个数进行分类 功能:算数运算符 逻辑运算符 位运算符 地址运 ...
- c语言共有几种运算符_C语言的运算符和表达式有哪些
C语言的运算符和表达式有哪些 C语言的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统 ...
- C语言中运算符的优先级问题(如何巧妙记忆运算符的优先级顺序)
文章目录 C语言中的运算符 C语言中运算符的优先级 帮助记忆优先级的方法 先粗分 再细分 最后吃透 因不明确优先级而造成的常见问题 C语言中的运算符 C语言中的运算符说多也多,说不多也不多,包括以下运 ...
- C语言运算符的优先级和结合性
刚学习C语言的同学看到优先级和结合性往往是一脸懵懂. 其实,所谓优先级,就是表达式中有不同的运算符,我们该就先计算哪一个?例如,a+b*c,先计算乘法,再计算加法. 所谓结合性,就是表达式中的相同类型 ...
最新文章
- 在同一台电脑上弄分布(异步)式训练
- 还应该如何实现“模板化函数指针”?
- Why Java Sucks and C# Rocks(3):Attribute与Annotation
- 第二十二章:动画(十五)
- 机器学习:结点的实现,决策树代码实现(二)
- hadoop常用命令总结
- 好久不更新这个博客了。
- 以前看过一个压缩过的.exe,运行会播放长达半小时的动画,却只有60KB,个人认为其中的原理...
- PC顶级后次世代和主流次世代图像引擎技术规格表
- 12种JavaScript MVC框架之比较
- 网页制作,改变你的思维方式
- Atitit 企业战略目标的艺术 目录 1. 企业战略目标	1 2. 特点 ▪ 宏观性 ▪ 长期性 ▪ 全面性 稳定性	1 3. 内容	2 3.1. 彼得·德鲁克在《管理实践》一书中提出了八个
- hadoop运维笔记
- Qt 之 模仿 QQ登陆界面——样式篇
- 如何复位———异步复位,同步释放的方式,而且复位信号低电平有效(转)
- [IOI2019] 景点划分
- python常用单词读法-Python常用单词
- 【网络安全】Centos7安装杀毒软件----ClamAV
- 分布式 | 拜占庭将军问题
- javascript 中的纯函数
热门文章
- 自己动手写TCC7901的GPIO驱动
- catia linux下载64位,CATIA V5 CATSysDemon.exe缓冲区溢出漏洞
- python 读取outlook_如何用 Python 读取 Outlook 中的电子邮件
- 鸿蒙os开源邀请全球开发者,全场景无缝连接 鸿蒙OS开源邀请全球开发者共助生态发展...
- Sharepoin学习笔记—架构系列--03 Sharepoint的处理(Process)与执行模型(Trust Model) 2
- [转载]使用消息队列实现分布式事务-公认较为理想的分布式事务解决方案
- Java中泛型Class《T》、T与Class《?》
- sqlserver连接字符串_10分钟使用EF Core连接MSSQL数据库
- c++ vs release没有exe_未来安全 | 第一次Geant4培训总结 | 有没有你关注的问题呢?...
- 【HDU - 6186】CS Course(按位与,按位或,按位异或的区间统计,二进制拆位)