• 自增自减

  • 赋值


1.位

按位与:按位与“&”运算符,将两个运算量对应的二进制逐一按位进行逻辑与运算。每一个二进制数都要参与运算,包括符号位。

按位与
  0 0 0 0 0 0 1 1  
& 0 0 0 0 0 1 0 1  
  0 0 0 0 0 0 0 1 +1

按位或:按位或“|”运算符,将两个运算量对应的二进制逐一按位进行逻辑或运算。每一个二进制数都要参与运算,包括符号位。

按位或
  0 0 0 0 0 0 1 1  
& 0 0 0 0 0 1 0 1  
  0 0 0 0 0 1 1 1 +7

按位异或:按位异或“^”运算符,将两个运算量对应的二进制逐一按位进行逻辑异或运算。每一个二进制数都要参与运算,包括符号位。异或预算规则:相异为真,相同为假

按位异或
  0 0 0 0 0 0 1 1  
^ 0 0 0 0 0 1 0 1  
  0 0 0 0 0 1 1 0 +6

按位取反:按位取反“~”运算符是一元运算符,其结果是将运算量的每个二进制位逐一取反。每一个二进制数都要参与运算,包括符号位。

~ 0 0 0 0 0 0 1 1    
  1 1 1 1 1 1 0 0    
(补码) -- 1 1 1 1 1 0 0    
  -- 0 0 0 0 0 1 1 +1  
  -- 0 0 0 0 1 0 0   --4

0(正)取反后为1(负),补码之后,最左则的:“1”写为“--”,而负的补码要得到真正的机械数,方法为每位取反,末位+1,后续照常。

左移:左移运算符是一个二元运算符,需要两个运算量参与,且两个都必须是整数。如a<<n,其意义是将a按照二进制向左移动n位,变量a二进制的最高位n位舍弃,最低的n位用0补齐。

+3<<1
0 0 0 0 0 0 1 1  
0 0 0 0 0 1 1 0 +6

右移:与左移类似是二元运算符,目的是将运算量按二进制位右移。右移一位时,最低位舍弃。最高位补齐的数值,需要根据运算量的类型决定。如果运算量是一个有符号整数则补其符号位,如果是无符号的整数则最高位为补0.

0 0 0 0 0 0 1

1

 
0 0 0 0 0 0 0 1 +1

自增自减

(1)自增自减运算符是一元运算符,运用是使变量的值+1或-1,只能对变量进行运算。

++i,--i   在使用i之前,先使i的值加1/减1        先增减后运算

i++,  i--    在使用i之后,使i的值加1/减1          先运算后增减

int i=3,j;
j=++i   //i的值先变成4,再赋给j,j的值为4int i=3,j;
j=i++   //先将i的值3赋给j,j的值为3,然后i变为4int i=3;
printf("%d",++i);     //输出4int i=3;
prinft("%d",i++);     //输出3

结合性:自右向左。

如:i=2;  j=-i++;

等价于:j=-(i++);   

即:j=-i;  i++

"++"与"-"是同优先级,所以i的值为3,j的值为2


赋值

优先级:!>算术>关系>&&和||>赋值

结合性:自右向左

注意:格式左边一定是一个变量,格式右边可以是任意的表达式。表达式计算结果的数据类型应当和变量的数据类型相同。

例:x=(y=12)/4       y=12 ,x=3

x=y=12/4           y=3,x=3

x=(y=12/4)         y=3,y=3

(x=y)=12/4

复合赋值运算符

复合赋值运算符由赋值运算符之前再加一个双目运算符构成。

一般格式:表达式1op=表达式2等价于:表达式1=表达式1 op 表达式2

a+=b-1  等价于a=a+(b-1)

C语言中的10种复合运算符

*= /= += %= -=
<<= >>= &= |= ^=

例如:x+=3   等价于x=x+3

y*=x+6           等价于y=y*(x=6),而不是y=y*x+6

复合赋值运算符的优先级:与=同一优先级

结合性:自右向左

计算:  a=12,a+=a-=a*12

#includ "stdio.h"
int main()
{ int a=12;a+=a-=a*12;printf("a=%d",a);
}

整理为 a+=a=a-(a*12)

a+=a

a=a+a

最后a=-264

c语言初学——运算符和表达式相关推荐

  1. C语言基本运算符和表达式

    C语言基本运算符和表达式 运算符的种类.优先级和结合性 运算符的种类 1.算术运算符 2.关系运算符 3.逻辑运算符 4.位操作运算符 5.赋值运算符 6.条件运算符 7.逗号运算符 8.指针运算符 ...

  2. c语言 4则运算符,C语言学习之路之四-----------C语言的运算符与表达式

    C语言的运算符与表达式 运算符与表达式 C语言的运算符又称为操作符,是数据间进行运算的符号.C语言的运算符按运算类型可分为赋值运算符.算术运算符.逻辑运算符.关系运算符.位运算符.指针运算符和取成员运 ...

  3. c语言共有几种运算符_C语言的运算符和表达式有哪些

    C语言的运算符和表达式有哪些 C语言的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统 ...

  4. C语言的运算符和表达式

    C语言的运算符和表达式 一.分类 C语言一共有34种运算符,10种运算类型,本节我们要掌握的有 算术运算符(+.-../.%). 关系运算符(>.>=.==.!=.<.<=). ...

  5. C语言运算符与表达式课件,C语言课件(运算符和表达式).ppt

    C语言课件(运算符和表达式).ppt 运算符与表达式第二讲 运算符和表达式,引例 概念及分类 优先级和结合性 算术运算 关系运算 逻辑运算 位运算 赋值运算符 逗号运算符 条件运算符,引例,引例 问题 ...

  6. c语言运算符与表达式ppt,C语言基本运算符与表达式.ppt

    <C语言基本运算符与表达式.ppt>由会员分享,可在线阅读,更多相关<C语言基本运算符与表达式.ppt(39页珍藏版)>请在人人文库网上搜索. 1.a,1,基本运算符和表达式, ...

  7. c语言分量运算符举例,第2章C语言基础-运算符及其表达式摘要.ppt

    第2章C语言基础-运算符及其表达式摘要 * * * C语言程序设计 C语言程序设计 模仿练习 #include void main() { int n1=10; float n2=3.7; char ...

  8. c语言程序设计运算符及表达式,c语言程序设计3第3章运算符和表达式

    1.第3章 运算符和表达式,3.1 表 达 式 3.2 运算符及表达式 3.3 运算符优先级和结合性,3.1 表 达 式,C语言的表达式分为基本表达式和复杂表达式. 基本表达式是由以下单项构成的,即: ...

  9. C语言关系运算符及其表达式

    关系运算符 < 小于 > 大于 >= 大于等于 <= 小于等于 == 等于 != 不等于 前四种优先级相同>后两种种优先级相同 关系表达式 由关系运算符连成的表达式 关系 ...

最新文章

  1. Kafka文件存储机制及offset存取
  2. Linux版本划分——基于打包方式
  3. 2020CCPC(秦皇岛) - Kingdom‘s Power(树形dp+贪心)
  4. 绿米空调伴侣接入iobroker_普通空调用它变成互联网智能空调,你觉得怎么样?...
  5. android 中如何模拟back键
  6. 云服务器 怎样修改地域,云服务器 怎样修改地域
  7. python作业表达式求值_用Python3实现表达式求值
  8. 升级npm之后,保存的位置仍然在C盘,不在自己规定的盘下
  9. Redis实战(十三)Redis的三种集群方式
  10. SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别 及动态查询中的标识符函数QUOTENAME
  11. 机器人避障技术解读 与解决方案
  12. Qt编写onvif搜索和云台控制工具源码
  13. 大牛给计算机专业学生的 7 个建议
  14. 教务管理系统登陆显示不出验证码图片求哥帮助一下
  15. 如何批量修改云服务器BCC实例名称
  16. MATLAB提取图片点击处的坐标代码(仅供参考)
  17. CodeForces 1216CodeForces 1221 A~D
  18. Codeforces 940E Cashback
  19. 扫雷-下载-规则介绍
  20. WOT干货大放送:大数据架构发展趋势及探索实践分享

热门文章

  1. 创建json数组与json数组渲染到HTML
  2. 路由实验5多区域OSPF
  3. 机器学习实战:Python基于支持向量机SVM-RFE进行分类预测(三)
  4. 安卓动画的简单实现方法(Animation和AnimationDrawable)
  5. 人工智能热潮_团结与增强现实热潮
  6. 反编译“微软纸牌集合”资源文件
  7. 【CV】图像标准化与归一化
  8. LeetCode42题,单调栈、构造法、two pointers,这道Hard题的解法这么多?
  9. 如何设置自定义任务栏图标_轻松自定义Windows 7任务栏图标
  10. rabbitmq的java官方文档