【初级】C语言 您所在的位置:网站首页 c语言的运算符号顺序是什么 【初级】C语言

【初级】C语言

2023-04-23 04:56| 来源: 网络整理| 查看: 265

1.操作符分类

算术操作符 移位操作符 位操作符 赋值操作符 单目操作符 关系操作符 逻辑操作符 条件操作符 逗号表达式 下标引用、函数调用和结构成员

2.算术操作符

+            -              *         /         %

/ 操作符:整型的除法 1/2  -->0

                浮点型的除法 1.0/2      1/2.0--->0.5

%操作符:取模操作符两端必须是整数

3.移位操作符

移位操作符移动的是二进制位。

> 右移操作符 注:移位操作符的操作数只能是整数

 整数的二进制表示有三种 源码,

反码,

补码

正的整数的源码,反码,补码相同。

负的整数的源码,反码,补码是要计算的。

最高位0表示正数,1表示负数

 整数在内存中存储的是补码。

 左移操作符有乘二的效果。

左移右移只针对整数,不支持浮点数。

右移操作符:

(1)算术移位:右边丢弃,左边补原符号位

(2)逻辑移位:右边丢弃,左边补0

 对于移位运算符,不要移动负数位。这个是标准未定义的。

4.位操作符

& // 按位与 | // 按位或 ^ // 按位异或 注:他们的操作数必须是整数。

// & - 按(2进制)位与:有0都为0,都是1按位与后才是1

// | - 按(2进制)位或:只要有1就是1,都为0按位或后才是0

// ^ - 按(2进制)位异或 - 相同为0,相异以1

按位与:

 按位或:

按位异或:

 按位异或举例:

//不能创建临时变量(第三个变量),实现两个数的交换。 //3^3 = 0 -> a^a=0 //011 //011 //000 //0^5=5 -> 0^a = a //000 //101 //101 //3^3^5 = 5 //3^5^3 = 5 //异或操作符支持交换律 //011 //101 //110 //011 //101 //只适用于整型,有局限性,可读性不高 //int main() //{ // int a = 3; // int b = 5; // // printf("交换前:a=%d b=%d\n", a, b); // a = a ^ b;//a=3^5 // b = a ^ b;//3^5^5 --> b=3 // a = a ^ b;//3^5^3 --> a=5 // // printf("交换后:a=%d b=%d\n", a, b); // // return 0; //} // //int main() //{ // int a = 3; // int b = 5; // //这种方法会有溢出的问题 // printf("交换前:a=%d b=%d\n", a, b); // a = a + b; // b = a - b; // a = a - b; // printf("交换后:a=%d b=%d\n", a, b); // // return 0; //} //int main() //{ // int a = 3; // int b = 5; // int c = 0;//空瓶 // // printf("交换前:a=%d b=%d\n", a, b); // c = a; // a = b; // b = c; // printf("交换后:a=%d b=%d\n", a, b); // // return 0; //} 5.赋值操作符

复合赋值符

+= -= *= /= %= >>= =



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有