您的位置:首页 > 其它

初学c课程笔记整理2-->>运算符

2015-10-19 22:08 218 查看
是什么?有什么用?用在什么地方?(理解) 养成良好的编程习惯; 培养编程思想; 写代码之前应该先分析需求,分析完需求再开始写代码;(写注释)   1.运算符 运算符是告诉编译程序执行特定算术或逻辑操作的符号。      运算符分类: 按照功能划分:        算术运算符        关系运算符与逻辑运算符        按位运算符 运算符根据参与运算的操作数的个数分为 :        单目、双目、三目预算符。 优先级:     (圆括号)优先                     !(非) // 注意                      ↑                     算术运算符 +、-、*、/、%                      ↑                     关系运算符   >、<、<=、>=、==                       ↑                     &&和||  // 注意                       ↑                     赋值运算符   = 、+=、-=、*=、/=、%=   算数运算符  
名称符号说明
加法运算符 + 双目运算符,即应有两个量参与加法运算。如a+b,4+8等。具有左结合性。
减法运算符 - 双目运算符。但“-”也可作负值运算符,此时为单目运算,如-x,-5等具有左结合 性。
乘法运算符 * 双目运算符,具有左结合性。
除法运算符 / 双目运算符,具有左结合性。参与运算量均为整型时,结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型
求余运算符 (模运算符) % 双目运算符,具有左结合性。要求参与运算的量均为整型,不能应用于float或double 类型。求余运算的结果等于两数相除后的余数,整除时结果为0。
  整数除于整数,求出来的结果依然是整数 浮点型赋值给整型会损失小数部分 %两侧必须都为整数 利用%求出来的余数是正数还是负数,由%左边的被除数决定,被除数是正数,余数就是正数,反之则反 ⚠️算数运算注意点 自动类型转换和强制类型转换。

  ⚠️求余预算注意:    m%n 求余,相当于m/n 获取余数     (1)n等于0 无意义     (2)m等于0 结果为0     (3)m>n 正常求余 如:8 % 3 = 2     (4)m<n 结果是m 如:2 % 4 = 2 1 % 4 = 1 3 % 8=3 运算结果的正负性取决于第一个运算数,跟后面的运算数无关 赋值运算符     简单赋值运算符: =     复合赋值运算符: +=、-=、*=、/=、%= 赋值表达式     什么是表达式?      将同类型的数据(如常量、变量、函数等),用运算符号按一定的规则连接起来的有意义 的式子称为表达式。     例如:算术表达式、逻辑表达式、字符表达式等。 表达式的特点:      表达式是一个意义的式子,所以一定有返回值     由“=”连接的式子称为赋值表达式。         例如: x = a + b;        等号=左边只能是变量,不能是常量,下面的写法是错误的:10 = 10 + 5;        凡是表达式可以出现的地方均可出现赋值表达式 赋值运算符的结合性      赋值运算符具有右结合性, 而且优先级比算术运算符低          例如: int a = 3 + 5; 会先计算3 + 5, 然后再把结果赋值给a          例如: int a = b = c = 5; 右结合性可理解为a=(b=(c=5)) 复合赋值运算符     在赋值符“=”之前加上其它二目运算符可构成复合赋值符。     + /= 除后赋值 变量/=表达式 如:a/=3;即a=a/3     + \*= 乘后赋值 变量\*=表达式 如:a\*=3;即a=a*3     + %= 取模后赋值 变量%=表达式 如:a%=3;即a=a%3     + += 加后赋值 变量+=表达式 如:a+=3;即a=a+3     + -= 减后赋值 变量-=表达式 如:a-=3;即a=a-3   前缀表达式:++x, --x;其中x表示变量名,先完成变量的自增自减1运算,再用x的值作为表达式的值;即
“先变后用”
,也就是变量的值先变,再用变量的值参与运算。 后缀表达式:x++, x--;先用x的当前值作为表达式的值,再进行自增自减1运算。即
“先用后
变”
,也就是先用变量的值参与运算,变量的值再进行自增自减变化。
  • int num = 3  
      ++a a++
    表达式值 4 3
    变量num值 4
    ⚠️ 注意
自增、自减运算只能用于单个变量,只要是标准类型的变量,不管是整型、实型,还是字符型变量等,但不能用于表达式或常量。如:++(a+b), 与5++, const int N=0; N++; 等都是错误 的。 而i+++j++、++i+(++j)、++a+b++、++array[--j]等,这些都是合法的。 sizeof运算符 sizeof可以用来计算一个变量或一个常量、一种数据类型所占的内存字节数         格式: 用法:sizeof(常量/变量)   ⚠️ 注意: sizeof不是一个函数, 是一个运算符. “,”逗号运算符         格式:表达式1,表达式2,表达式3...  ⚠️注意: 逗号表达式的运算过程是:先算表达式1,再算表达式2,依次算到表达式n 整个逗号表达式的值是最后一个表达式的值   关系运算符 在程序中经常需要比较两个量的大小关系,以决定程序下一步的工作。比较两个量的运算符称为关系运算符。
序号 运算符结合性
1 > 大于 如:a>b a>3 5>4 1>2 左结合
2 < 小于 如:a<c d<3 2<5 左结合
3 >= 大于等于 如: a>=1 d>=c 左结合
4 <= 小于等于 如: a<=0 i<=19 左结合
5 == 等于 i==3 a==b 左结合
6 != 不等于 a!=b c!=5 左结合
关系运算符的运算结果只有2种:如果条件成立,结果就为1,也就是“真”;如果条件不成立,结果就为0,也就是“假”。(判定常用) ⚠️关系运算符优先级 关系运算符中==、!=的优先级相等,<、<=、>、>=的优先级相等,且前者的优先级低于后者   逻辑运算符     C语言中提供了三种逻辑运算符:    &&(与运算) 左结合性        ||(或运算)    左结合性        !(非运算)     > 逻辑运算的结果只有2个:“真”为1,“假”为0 逻辑与 格式:     “条件A && 条件B” 运算结果:     只有当条件A和条件B都成立时,结果才为1,也就是“真”;其余情况的结果都为0,也就是“假”。因此,条件A或条件B只要有一个不成立,结果都为0,也就是“假”     口诀:一假则假 逻辑或 -格式:     “条件A || 条件B” 运算结果:     当条件A或条件B只要有一个成立时(也包括条件A和条件B都成立),结果就为1,也就是“真”;只有当条件A和条件B都不成立时,结果才为0,也就是“假”。      口诀:一真为真 逻辑非 格式:     “! 条件A”  运算结果:     其实就是对条件A进行取反:若条件A成立,结果就为0,即“假”;若条件A不成立,结果就为1,即“真”。也就是说:真的变假,假的变真。     口诀:真变假,假变真      按位运算符 用于二进制的运算,所以放在进制详细叙述。 按位与 "&" 按位或 "|" 左移 ">>" 右移 "<<"

转载于:https://www.cnblogs.com/dreamWanweidong/p/4893259.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
-->
新的分享
章节导航