1算数操作符号、 -、 *、 /、和-用来完成加法和减法例如例如运算符*用来算乘法例如运算符/用来算除法除号两端都是整数执行除法则结果也是整数上面示例中尽管变量x的类型是float浮点数但是6 / 4得到的结果是1.0而不是1.5。原因就在于 C 语言里面的整数除法是整除只会返回整数部分丢弃小数部分。如果希望得到浮点数的结果两个运算数必须至少有一个浮点数这时 C 语言就会进行浮点数除法。则 3.0/2 结果就为1.5了。再介绍一下%运算符%表示求模(余)运算即返回两个整数相除的余值。这个运算符只能用于整数不能用于浮点数。2 赋值操作符和复合赋值在变量创建的时候给一个初始值叫初始化在变量创建好后再给一个值这叫赋值。如下在C语言当中提供了更简便的算法同理还有a-3代表aa-3这里是C语言中的符合赋值符号3.单目操作符3.1和--是一种自增的操作符又分为前置和后置--是一种自减的操作符也分为前置--和后置--。代表自己自身加13.1.1前置计算口诀先1后使用3.1.2后置计算口诀先使用后13.1.3前置--如果你听懂了前置那前置--是同理的只是把加1换成了减1。计算口诀先-1后使用3.1.4后置--计算口诀先使用后-14.移位运算符4.1 左移左移规则左边抛弃、右边补00000 1010 二进制表示10左移后变成0001 0100 二进制表示20左移两次变成0010 1000 二进制表示40左移1次 相当于10乘2左移2次 相当于乘10乘2*2小结关于带符号整数左移C语言标准规定导致符号位改变的带符号整数的左移操作属于“未定义行为” (Undefined Behavior, UB)。C标准不保证结果一定是那个负数值。编译器可以做任何处理包括产生一个警告、得到预期的负数值、得到一个完全意外的值甚至在某些极端情况下导致程序崩溃。4.2 右移右移规则左边用原该值的符号位填充右边丢弃大白话左边补符号位符号位原来是1就补1 原来是0就补0。此时为正数符号位是0结果是5此时为负数符号位是1结果仍然是-15. 位操作符5.1 按位与int num1 -3; 1000 0011 原码 反码 1111 1100 补码 1111 11011111 1101int num2 5; 0000 0101 只要比特位上有0按位与的结果就为0int num1 nmu2 0000 0101 二进制代表55.2|按位或int num1 -3; 1000 0011 原码 反码 1111 1100 补码 1111 11011111 1101int num2 5; 0000 0101 只要比特位上有1按位与的结果就或1int num1 | nmu2 1111 1101 二进制代表-35.3^按位异或int num1 -3; 1000 0011 原码 反码 1111 1100 补码 1111 11011111 1101int num2 5; 0000 0101 对应比特位上一样用0表示不一样用1表示。int num1 ^ nmu2 1111 1000 二进制代表-8特殊 n^n0 两个数字一样异或出来就是00000 00010000 0001----------------0000 0000 等于00^nn 0和任何数异或出来都为本身0000 00000000 0001------------------0000 0001 等于本身5.4~按位取反int num1 -3; 1000 0011 原码 反码 1111 1100 补码 1111 11011111 1101int num2 ~num 1 0000 0010 按位取反后的补码 代表26.逗号表达式逗号表达式规则逗号表达式就是用逗号隔开的多个表达式。逗号表达式会从左向右依次计算所有子表达式整个表达式的最终结果是最后一个子表达式的结果。7. 关系运算符 、 、 、 、 、 !大于 大于等于 小于 小于等于 等于 不等于关系运算符用于比较表达式。如果关系为真则结果为1如果为假则结果为0。我们将在选择结构中重点讲解其应用。例如8. 逻辑运算符 逻辑运算符逻辑运算符包含逻辑与、逻辑或||、逻辑非!。这些运算符通常与关系运算符结合使用用于构建更复杂的条件判断我们将在后续的“选择结构”章节中详细讲解。