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] 运算符和表达式的更多相关文章

  1. Sql Server系列:运算符和表达式

    运算符的一些符号,他们能够用于执行算术运算.字符串连接.赋值以及在字段.常量和变量之间进行比较.在SQL Server 2012中,运算符主要由以下6大类:算术运算符.赋值运算符.比较运算符.逻辑运算 ...

  2. C Primer Plus_第5章_运算符、表达式和语句_编程练习

    Practice 1. 输入分钟输出对应的小时和分钟. #include #define MIN_PER_H 60 int main(void) { int mins, hours, minutes; ...

  3. javascript运算符与表达式

    表达式 表达式是关键字.运算符.变量以及文字的组合,用来生成字符串.数字或对象.一个表达式可以完成计算.处理字符.调用函数.或者验证数据等操作. 表达式的值是表达式运算的结果,常量表达式的值就是常量本 ...

  4. 【C语言学习】《C Primer Plus》第5章 运算符、表达式和语句

    学习总结 1.有了一定的语言基础,运算符和表达式这些都大同小异,无外乎赋值运算符(=).算术运算符(+.-.*./.%.++.——)和其他的一下运算符(sizeof.(type)). 2.声明一个参数 ...

  5. [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式

    [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如 ...

  6. [Java 基础]运算符和表达式

    Java运算符 (1)赋值操作符 赋值操作符(=)表示:取右边的值(即右值),把它复制给左边(即左值). 右值可以是任意的常量.变量或表达式(只要可以生成一个值). 左值必须是一个明确的.已命名的变量 ...

  7. 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等

    [源码下载] 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等 作者:webabcd 介绍不可或缺 Windows Native  ...

  8. Python运算符与表达式

    Python运算符包括赋值运算符.算术运算符.关系运算符.逻辑运算符.位运算符.成员运算符和身份运算符. 表达式是将不同类型的数据(常亮.变量.函数)用运算符按照一定得规则连接起来的式子. 算术运算符 ...

  9. 01-Java基础知识:数据类型与变量、标识符、运算符、表达式

    Java基础知识:数据类型与变量.标识符.运算符.表达式 一.数据类型 Java定义了基本数据类型.引用数据类型.自定义类型. 八种基本数据类型:byte (1). short (2).  int ( ...

随机推荐

  1. 题解 P2089 【烤鸡】

    看到这个题一共也就pow(3,10)=59049次循环,那不就暴力了嘛! 虽然说正解是动归和搜索, 但是搜索和暴力枚举的差距真心不大(不好好学习qwq). 看到楼上又说到 答案需要数据存储的问题, 这 ...

  2. linux系统常见命令以及操作

    2.安装xshell,安装完打开,配置回话,输入名称(随便).SSH.主机(打开linux,点击右上角电脑图标system etho进行联网,打开终端输入ifconfig回车,找到inet add地址 ...

  3. 51NOD 1559:车和矩形——题解

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1559 波雷卡普有一个n×m,大小的棋盘,上面有k个车.他又放了q个矩形在 ...

  4. Codeforces Round #406 (Div. 2)滚粗记

    A 一看到题,不是一道解不定方程的裸题吗,调了好久exgcd. 其实一个for就好了啊 B 一直WA ON TEST 7真是烦,一想会不会是编号太大了,又写了一个map版本,无用. 调了好久好久才发现 ...

  5. LCA的倍增算法

    LCA,即树上两点之间的公共祖先,求这样一个公共祖先有很多种方法: 暴力向上:O(n) 每次将深度大的点往上移动,直至二者相遇 树剖:O(logn) 在O(2n)预处理重链之后,每次就将深度大的沿重链 ...

  6. Hbase(二)hbase建表

    一.建表高级属性 下面几个 shell 命令在 hbase 操作中可以起到很到的作用,且主要体现在建表的过程中,看 下面几个 create 属性 1.bloomfilter 布隆过滤器 默认是 NON ...

  7. Codeforces 585D. Lizard Era: Beginning(meet in the middle)

    一眼题...这个数据范围也太明显了吧... suma1==suma2 && sumb1==sumb2 && sumc1==sumc2 相当于suma1-sumb1==s ...

  8. Spring MVC入门示例

    1.新建一个Java Web项目 2.导入jar包 3.在WEB-INF下面建一个hello.jsp页面. <%@ page language="java" import=& ...

  9. Chiaki Sequence Revisited HDU - 6304 lowbit找规律法

    Problem Description Chiaki is interested in an infinite sequence a1,a2,a3,..., which is defined as f ...

  10. python的StringIO模块

    StringIO经常被用来作字符串的缓存,因为StringIO的一些接口和文件操作是一致的,也就是说同样的代码,可以同时当成文件操作或者StringIO操作. 一.StringIO中的常用方法 1.r ...