小鱼儿网站做啥用的,wordpress xiu5.3,河南制作网站公司,不属于网络营销的特点1.23 运算符概述 运算符#xff0c;在数学中常见的加减乘除之类的符号#xff0c;那么在C在编程语言中呢#xff0c;将使用特定的符号或标记对操作数进行操作以生成结果。用算术运算符将运算对象(也称操作数)连接起来的、符合C 语法规则的式子#xff0c;称为C 算术表达式运…1.23 运算符概述 运算符在数学中常见的加减乘除之类的符号那么在C在编程语言中呢将使用特定的符号或标记对操作数进行操作以生成结果。用算术运算符将运算对象(也称操作数)连接起来的、符合C 语法规则的式子称为C 算术表达式运算对象包括常量、变量、函数返回值等以下是一些常见的运算符概述 注ab,a就是左边的操作数b就是右边的操作数
1.算术运算符
加法运算符将两个操作数相加例如 a b。减法运算符-从左操作数中减去右操作数例如 a - b。乘法运算符*将两个操作数相乘例如 a * b。除法运算符/将左操作数除以右操作数例如 a / b。取模运算符%返回两个操作数相除的余数例如 a % b。 : ab,相当于 a ab; - : a-b,相当于 a a-b; * : a*b,相当于 a a*b; 注意号右边的看成一个整体例如a*23; 实际为aa*(23) / : a/b,相当于 a a/b; % : a/b,相当于 a a%b;
1.1 对于 / 符号 1.取整符号 /
例如7/2 3,7除以2商为3余数为1那取整就是取的商的结果,3 这里的是我们数学意义上的在计算机里我们要比较需要使用比较运算符 双等于号 2.除法符号 /
例如7/2.0 3.5此时除数为浮点类型所以我们的被除数7使用/符号表示的为除法运算并且根据浮点数的小数点保留相应的位数。
1.2 对于取模运算 % 例如7%2 1,7除以2.商为3余数为2取模就是取的除不尽的余数如果除尽的就是0除不尽的就是拿的是余数2
1.2.1 产生随机数
这里引用千锋教育网络基础班的资料解释一下取模的一些用法 2.一些复合运算的案例 这里要考虑优先级从右往左----------------依次计算
int a 3; a a-a*a;根据表达式 a a-a*a;其运算结果和过程如下1. 首先根据赋值运算符的优先级规则先执行乘法赋值运算 a*a。- 乘法赋值运算 a*a 将 a 乘以自身的值结果为 9。- 此时的表达式变为 a a-9;。2. 接着执行减法赋值运算 a-9。- 减法赋值运算 a-9 将 a 减去 9 的值结果为 9-90。- 此时的表达式变为 a0;。3. 最后执行加法赋值运算 a0。- 加法赋值运算 a0 将 a 加上 0 的值结果为 0(0)0。- 所以最终的赋值结果是 a 等于 0。综上所述根据给定的表达式 a a-a*a; 其运算结果是 0。
程序运行 2.关系运算符比较运算符
相等运算符检查两个操作数是否相等例如 a b。不等运算符!检查两个操作数是否不相等例如 a ! b。大于运算符检查左操作数是否大于右操作数例如 a b。小于运算符检查左操作数是否小于右操作数例如 a b。大于等于运算符检查左操作数是否大于或等于右操作数例如 a b。小于等于运算符检查左操作数是否小于或等于右操作数例如 a b。
3.逻辑运算符
逻辑与运算符当两个操作数都为真在代码里面是叫True时返回真。如果任一操作数为假在代码里面是叫False则返回假例如 a b。逻辑或运算符||当任一操作数为真时返回真。如果两个操作数都为假则返回假例如 a || b。逻辑非运算符!将操作数的逻辑值取反例如 !a。
4.赋值运算符
简单赋值运算符将右操作数的值赋给左操作数例如 a b。复合赋值运算符例如加法赋值运算符、减法赋值运算符-、乘法赋值运算符*等。 5.区分什么是单目、双目、三目 如果运算符需要一个运算对象 就叫单目运算符 如果运算符 需要两个运算对象 就叫双目运算符 如果运算符 需要三个运算对象 就叫三目运算符 如果运算符 需要多个运算对象 就叫多目运算符 6. 复合运算符
常见的复合运算符包括 加法赋值运算符将右操作数的值加到左操作数并将结果赋给左操作数例如 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。 1.23.6 按位“与”以及 按位取反
1.按位“与”
语法:全1为1 有0为0 特点:和1相与保持不变 和0相与为0 场景: 将指定位 清0
例如 1100 10101011 1100
-----------------1000 1000
注代码中需要将这样二进制的转成16进制单片机开发经常使用 2.按位“或” |
语法:有1为1全0为0
特点:和1或置1和0或 保持不变两个只要有一个1就是1有0不管原来是啥还是啥
场景:将指定位 置1 1100 1010
| 1011 1100
-----------------1111 1110
3.按位取反 “~”
语法0变1,1变0
例如
~1011 1101 0100 0010
1.23.7 按位“异或”运算符
1.按位异或 ^
语法:相同为0,不同为1 特点:和1异或取反,和0异或保持不变 场景:将指定位发生翻转
例如 1100 1010
^ 1011 1100
-----------------0111 1110
1.23.8 左移、右移运算符
1.左移运算符
左移:左边丢弃 右边补0 移动的位数 不要超过 自身位的宽度
例如dataNum 1011 1101
现在执行 dataNum 3; 则dataNum 1110 1000 向左移动3位右边补0
例如代码中int data 1010的二进制是1010 记住转十进制4位就是8421十进制从左往右
那么0000 1010 2;左移两位变成0010 1000 328 40 2.右移运算符
右移:右边丢弃 左边补0负数补1
引用千锋教育c基础班资料笔记中内容 不管是算术右移、还是逻辑右移都是编译器决定我们使用者是无法确定的。
无符号数:右边丢弃左边补0有符号数: 正数:右边丢弃左边补0 负数:右边丢弃左边补0(逻右移) 负数:右边丢弃 左边补1 (算术右移) 引用千锋教育c基础班资料笔记中案例
下图就是我自己使用的计算机的右移策略是算术右移 今天先到这里有问题的打在评论区或者私聊我。谢谢支持mua爱大家