c语言中,操作符有很多种,我自己试着总结一下。
首先是分类:
1.算术操作符
2.移位操作符
3.位操作符
4.赋值操作符
5.单目操作符
解引用操作符:
(类型)强制转换
6.关系操作符
7.逻辑操作符
8.条件操作符:
9.逗号表达式:
10.下表引用,函数调用和结构成员
接下来依次介绍这些操作符
1.算术操作符
这个包括 + - * / %
这里需要注意的是/和%的区别,%是取余的意思,如a%b,得到a的余数
加减法和数学中的一样 , 其中乘除法对于整数的结果是整数,对于浮点数的结果是浮点数,但要注意结果打印的格式和精度缺失。
2.移位操作符
左移<<
右移>>
左移操作符移位规则:在32个比特位中补码左边越位抛弃,右边不足补零。
右移操作符移位规则:
首先右移运算分为两种:
1.逻辑移位(基本不用此规则):在32个比特位中补码右边越位抛弃,左边不足补零。
2.算数移位(基本采用此规则):在32个比特位中补码右边越位抛弃,左边不足用原符号补上。
左移 相当于乘法 如下
11 0000 1011
11<<1 0001 0110 22 112^1
11<<2 0010 1100 44 11
2^2
右移 相当于除法 如下
11 0000 1011
11>>1 0000 0101 5 11/2^1
11>>2 0000 0010 2 11/2^2
3.位操作符
位操作符有:
& 按位与
| 按位或
^ 按位异或
注:他们的操作数必须是整数。
a & b的规则为:两数补码同位比较,都为1取1,其余都取零,即a&b得到 00000100

a | b的规则为:两数补码同位比较,有1就取1,都为零才取零,即a | b得到 00010111

a ^ b的规则为:两数补码同位比较,相同取零,不同取1,即a ^ b得到 00010011
4.赋值操作符 =
赋值操作符是一个很棒的操作符,他可以让你得到一个你之前不满意的值
复合赋值:+= -= *= /= %= >>= <<= &= |= ^=
5.单目操作符

!: 对非0的数取反为0,对0取反为1.
& : 若arr是数组名,&arr表示整个数组,若swap是函数名则&swap没有语法错误。int a =1; &a得到的是a的地址
~对一个数二进制取反 10001 01110
前置–++和后置–++的区别 前置先加减再使用 后置先使用再加减
解引用 []自带解引用
强制转换 可能会丢失数据 类型精度不一致
6.关系操作符

7.逻辑操作符
&& 逻辑与
|| 逻辑或
对于&&两边只要有0就停止运算,||两边有真就为真
8.条件操作符
exp1 ? exp2 : exp3
int max = 0;
int a = 5;
int b = 4;
max = a > b ? a:b;//若a>b为真,表达式的值为a,否则为b
9.逗号表达式
逗号表达式,就是用逗号隔开的多个表达式。逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达 式的结果。
10.下表引用,函数调用和结构成员
1.

[] //下表引用:
int arr[10];
arr[9] = 10;//实现下表引用操作符
若有arr[4] = 5和4[arr] = 5;两表达式效果相同,编译不会出错

() //函数调用操作符
有两个操作数,分别为函数名和函数调用的参数
如:test(void) test2(a)

3.访问一个结构的成员

. //结构体名.成员名
-> //结构体指针->成员名

c语言操作符的自我总结hhhhhhhhh相关推荐

  1. C语言——操作符(详解)

    目录 前言 1.操作符的分类 2.算术操作符 2.1.算数操作符的简介 2.2.除法操作符(/)的使用 2.3.取余操作符(%)的使用 3.移位操作符 3.1.什么是移位操作符 3.2.原码.反码和补 ...

  2. C语言操作符详解 隐式类型转换 (整型提升 算数转换)

    目录 一.算术操作符 二.左移操作符 右移操作符 1.二进制序列 2.左移操作符 3.右移操作符 3.1.逻辑运算/算术运算 3.2.对于移位运算符,不要移动负数位,这是标准未定义的 3.3.对于移位 ...

  3. C语言—操作符和表达式

    操作符和表达式 操作符 算术操作符 移位操作符 位操作符 练习: 赋值操作符 单目操作符 关系操作符 逻辑操作符 条件操作符(三目操作符) 逗号表达式 下标引用.函数调用和结构成员的访问操作符 表达式 ...

  4. 【C语言】C语言操作符的分类及应用【超详细讲解】

    指令系统的每一条指令都有一个操作符,它表示该指令应进行什么样性质的操作,不同的指令用操作符这个字段的不同编码来表示,每个编码分别代表一种指令.这篇文章主要给大家介绍了关于C语言中操作符的相关资料,需要 ...

  5. C语言操作符(%,,|,^,<<,>>)

    有目录,可自由选择. 取余符号% 取余符号是求余数,如5%2=1,17%6=5: 但是要注意的是参与取余的2个数都必须为整型数. 与符号&-按二进制位与 如: #include<stdi ...

  6. C语言——操作符详解

    目录 一.算术操作符 二.移位操作符 三.位操作符 四.赋值操作符 五.单目操作符 六.关系操作符 七.逻辑操作符 八.条件操作符 九.逗号表达式 十.下标引用.函数调用和结构成员 以上就是C语言中涉 ...

  7. C语言-操作符是什么?

    目录 操作符 进制 四种进制 进制转换 原码 反码 补码 操作符分类 算术操作符 移位操作符 位操作符 赋值操作符 复合赋值符 单目操作符 关系操作符 逻辑操作符 条件表达式 逗号表达式 下标引用操作 ...

  8. C语言操作符(运算符)详解

    1.C语言的操作符有以下几种类型 2.算数操作符 + - * / %五种 / 分为:整数除法10/3=0   浮点数除法  10.0/3=3.333333(/两边至少有一个操作数为浮点数) %取余/取 ...

  9. C语言操作符(又称运算符)(2)

    2018-01-17 创建人:Ruo_Xiao 开发环境:VS2010 邮箱:xclsoftware@163.com 一.单目操作符 ! ++ - &(取地址) sizeof ~ -- + * ...

  10. C语言操作符(又称运算符)(1)

    2018-01-17 创建人:Ruo_Xiao 开发环境:VS2010 邮箱:xclsoftware@163.com 一.分类 算术操作符.移位操作符.位操作符. 赋值.单目操作符.关系操作符. 逻辑 ...

最新文章

  1. c语言struct_学习了C语言之后还是感觉不会编程,应该怎么办?其实你想错了!...
  2. 无锁缓存,每秒10万并发,究竟如何实现?
  3. 你不得不了解 Helm 3 中的 5 个关键新特性
  4. 为IDOC创建tRFC连接
  5. KillTimer析构函数
  6. 查看xxx.a库架构的命令
  7. Jar包转成Dll的方式(带嵌套的jar也能做) (转)
  8. JPA实体锁定模式的差异
  9. 通俗易懂,先来认识一下Vuex
  10. 动态创建php 类函数或函数
  11. 原生 遍历_ECMAScript 6 入门教程—异步遍历器
  12. linux halcon 加密狗,不安装HALCON下安装运行版U盘加密狗驱动
  13. ae渲染出现错误是什么问题_AE渲染输出损坏怎么解决?教你如何渲染才是正确的...
  14. c语言迷宫闯关游戏大全,C语言实现迷宫小游戏
  15. UV杀菌灯芯片-DLT8P65SA-杰力科创
  16. 极限类题之积分上限的函数的极限
  17. 用计算机弹歌万有引力,2011秋11计算机班物理单元测试题1.doc
  18. 想要出国读博作博后的看过来:德国马普育种所植物与微生物互作方向招收3名博士1名博后
  19. ReentrantLock解锁流程
  20. atx860和java_JAVA 版 ATX-Client

热门文章

  1. vue 实现点击插入输入框_vue把输入框的内容添加到页面的实例讲解
  2. 电子邮箱地址如何注册?个人电子邮箱地址大全
  3. 微软MSBI零基础从数据仓库到商业智能实战(SSIS SSAS SSRS)
  4. 现代网页的灵魂 —— JavaScript
  5. table td 调整margin无效
  6. Java job interview:Linux操作系统的应用(红帽子)分析经验
  7. python查看微信撤回消息_python轻松实现查看微信撤回消息代码实例
  8. CSS模块、筛选模块、文档处理(CUD)模块、事件模块
  9. 基于Java的qq截图工具(毕业设计含源码)
  10. 强化学习——股票预测项目复现