C/C++——[02] 运算符和表达式
C/C++中表示数据运算的符号称为“运算符”。运算符所用到的操作数个数,称为运算符的“目数”。
C/C++语言的运算符有赋值运算符、算术运算符、逻辑运算符、位运算符等多类。
将变量、常量等用运算符连接在一起,就构成了“表达式”,表达式的计算结果称为“表达式的值”。
C/C++语言中常用的运算符介绍如下:
1. 算术运算符
| 运算符 | 说明 |
| + | 加 |
| - | 减 |
| * | 乘 |
| / | 除 |
| % | 取模 |
| ++ | 自增 |
| -- | 自减 |
2. 赋值运算符
- 简单赋值:
运算符 说明 = 赋值 - 复合算术赋值:
运算符 示例 示例说明 += a += b a = a+b -= a -= b a = a-b *= a *= b a = a*b /= a /= b a = a/b %= a %= b a = a%b - 复合位运算赋值:
运算符 示例 示例说明 &= a &= b a = a&b |= a |= b a = a|b ^= a ^= b a = a^b >>= a >>=b a = a>>b <<= a <<=b a = a<<b
3. 关系运算符
| 运算符 | 说明 |
| > | 大于 |
| < | 小于 |
| >= | 不小于 |
| <= | 不大于 |
| == | 等于 |
| != | 不等于 |
关系运算符用于数值的大小比较,他们都是双目运算符。
关系运算符运算的结果是整型,值只有两种: 0 或非 0。 0 代表关系不成立,非 0 代表关系成立。
4. 逻辑运算符
| 运算符 | 说明 | 目数 |
| && | 与 | 双目 |
| || | 或 | 双目 |
| ! | 非 | 单目 |
5. 位运算符
| 运算符 | 说明 | 目数 |
| & | 按位与 | 双目 |
| | | 按位或 | 双目 |
| ^ | 按位异或 | 双目 |
| ~ | 取反 | 单目 |
| >> | 右移 | 双目 |
| << | 左移 | 双目 |
6. sizeof运算符
“sizeof”是 C/C++语言中的保留字,也是一个运算符。它的作用是求某一个变量占用内存的字节数,有两种用法:
- sizeof(变量名)
- sizeof(类型名)
7. 类型强制转换运算符
强制类型转换运算符的形式是:
(类型名)
它是单目运算符,功能是将其右边的操作数的值转换得到一个类型为“类型名”的值,它不改变操作数的值。
8. 运算符的优先级
一个表达式中可以有多个、多种运算符。不同的运算符优先级不同,优先级决定了表达式该先算哪部分、后算哪部分。
也可以用括号来规定表达式的计算顺序,一般推荐多用括号来表达复杂的表达式,避免出错和提高可读性。
C/C++语言中的运算符优先级列表如下:

补充:运算符 -> 拥有优先级为1。
C/C++——[02] 运算符和表达式的更多相关文章
- Sql Server系列:运算符和表达式
运算符的一些符号,他们能够用于执行算术运算.字符串连接.赋值以及在字段.常量和变量之间进行比较.在SQL Server 2012中,运算符主要由以下6大类:算术运算符.赋值运算符.比较运算符.逻辑运算 ...
- C Primer Plus_第5章_运算符、表达式和语句_编程练习
Practice 1. 输入分钟输出对应的小时和分钟. #include #define MIN_PER_H 60 int main(void) { int mins, hours, minutes; ...
- javascript运算符与表达式
表达式 表达式是关键字.运算符.变量以及文字的组合,用来生成字符串.数字或对象.一个表达式可以完成计算.处理字符.调用函数.或者验证数据等操作. 表达式的值是表达式运算的结果,常量表达式的值就是常量本 ...
- 【C语言学习】《C Primer Plus》第5章 运算符、表达式和语句
学习总结 1.有了一定的语言基础,运算符和表达式这些都大同小异,无外乎赋值运算符(=).算术运算符(+.-.*./.%.++.——)和其他的一下运算符(sizeof.(type)). 2.声明一个参数 ...
- [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式
[.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如 ...
- [Java 基础]运算符和表达式
Java运算符 (1)赋值操作符 赋值操作符(=)表示:取右边的值(即右值),把它复制给左边(即左值). 右值可以是任意的常量.变量或表达式(只要可以生成一个值). 左值必须是一个明确的.已命名的变量 ...
- 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等
[源码下载] 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等 作者:webabcd 介绍不可或缺 Windows Native ...
- Python运算符与表达式
Python运算符包括赋值运算符.算术运算符.关系运算符.逻辑运算符.位运算符.成员运算符和身份运算符. 表达式是将不同类型的数据(常亮.变量.函数)用运算符按照一定得规则连接起来的式子. 算术运算符 ...
- 01-Java基础知识:数据类型与变量、标识符、运算符、表达式
Java基础知识:数据类型与变量.标识符.运算符.表达式 一.数据类型 Java定义了基本数据类型.引用数据类型.自定义类型. 八种基本数据类型:byte (1). short (2). int ( ...
随机推荐
- KMPnext数组自看
emm...无数次再看kmp了 因为一直没做相关的题..看了就忘看了就忘..emm.. next[i]表示去掉第i个元素后,自已的前缀和后缀完全匹配的最大长度 例 字符串 a b a b a b z ...
- nvidia 无显示选项怎么设置全屏游戏
转自:2楼 http://nbbbs.zol.com.cn/41/218_408871.html 网上搜的方法: 1.按键盘上那个windows键+R,输入regedit 2.然后就是下面的步骤了 ...
- CentOS6.5上给curl安装ssl时错误解决
1 在CentOS上使用PHP的curl访问HTTPS页面时,出现错误“Protocol https not supported or disabled in libcurl”. 表示curl未启用h ...
- [模板]2-SAT 问题&和平委员会
tarjan的运用 this is a problem:link 2-SAT处理的是什么 首先,把「2」和「SAT」拆开.SAT 是 Satisfiability 的缩写,意为可满足性.即一串布尔变量 ...
- 使用pt-ioprofile监控数据库io文件读写情况
我们在做IO密集型的应用程序的时候,比如MySQL数据库,通常系统的表现取决于workload的类型. 比如我们要调优,我们就必须非常清楚的知道数据的访问规律,收集到足够的数据,用来做调优的依据. 有 ...
- jbpm3.2创建数据库
因为jbpm3.2的sql脚本有问题,所以我们通过查询来执行是有问题的,所以这里我们通过java代码来执行,这个是没有问题的. 参考博文: http://blog.csdn.net/sz_bdqn/a ...
- animatescroll.min.js ~~~~ jq滚动效果 优化target自定义方法
$(".meun>div[name='meun_nav']>a").eq(1).on("click",function(){ $("bod ...
- 用python + openpyxl处理excel(07+)文档 + 一些中文处理的技巧
sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&am ...
- maven创建spring项目之后,启动报错java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
出错情景:maven中已经加载了spring的核心包,但是项目启动时,报错: org.apache.catalina.core.StandardContext listenerStart严重: Err ...
- 即时通信系统Openfire分析之一:Openfire与XMPP协议
引言 目前互联网产品使用的即时通信协议有这几种:即时信息和空间协议(IMPP).空间和即时信息协议(PRIM).针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)以及XMPP.PRIM与 ...