c语言的运算符

 

# 四.运算符

## 1.运算符概念

- 在运算符左边的称为左值,在右边即为右值。
- 优先级问题,有括号先算括号,再加减乘除。
- 结合性问题,有两种:
  - 自左而右
  - 自右而左

- 优先级结合性表

![](C:\Users\Administrator\Documents\markdown文档\C语言\images\运算符对照表.png)

## 2.基本运算符

#### 2.1赋值运算符

在C语言中,”=“为赋值运算符,将等号右边的值赋给左边。

#### 2.2算数运算符

算符运算符包括加减乘除取余,即:‘+’  ‘—’   ‘* ‘  ’/‘  '%',值得注意的是在C语言中*不可以省略,而且/,自动取整,取余的正符只跟被取余的数有关。

#### 2.3位运算符

- 取反运算符:~操作数;一目运算符;取反运算符将整数转换为二进制数,按位取反,即0变1,1变0;
- 位与运算符:操作数1&操作数2;二目运算符;将两个操作数转换为二进制数,然后进行比较,如果两个对应的数都为1,则为1,否则为0;
- 位或运算符:操作数1|操作数2;二目运算符;将两个操作数转换为二进制数,然后进行比较,如果两个对应的两个数都为0,则为0;否则为1;
- 位异或运算符:操作数1^操作数2;二目运算符;将两个操作数转换为二进制数,然后进行比较,如果两个对应的两个数相同时,则运算结果为0;否则为1;

#### 2.4复合运算符

- 扩展赋值运算

  **+=,-=,\*=,/=,%=**

  ```c
  int b,a;
  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
  ```

  

## 3.特殊运算符

- 自增自减:++  ——;运算符在操作数前面则先自增或者减再运算,运算符在操作数后面则先进行运算再自增自减
- 三目运算符:操作数1?操作数2:操作数3;如果操作数1为真则运算结果为操作数2,如果操作数1为假,则运算结果为操作数3;
- 逗号运算符:有效值为最后一个值;
- sizeof运算符:编译器统计字节数;

## 4.逻辑运算符

#### 4.1成立与不成立:

- 在C语言中,0表示不成立,1表示成立。0表示假,非0表示真。

  

  

#### 4.2条件运算符

- 等于 ;==

- 不等于;!=

- 大于等于;> =

- 小于等于;<=

  

#### 4.3逻辑运算符

- 逻辑与;&&:表达式1 && 表达式2,只有所有表达式都为true,则整个表达式的运算结果才为true。根据集合的补集的思想,只要任意表达式为false,则整个表达式的运算结果为false。

- 逻辑或;||:达式1 || 表达式2,只要任意表达式为true,则整个表达式的运算结果为true。

- 逻辑非

- 短路原则:表达式1 || 表达式2 || 表达式3...|| 表达式n,如果表达式1的运算结果为true,则整个表达式的结果为true,同时不会再对后面的表达式2、表达式3到表达式n进行运算判断。如果表达式1的运算结果为false,则根据表达式2的运算结果继续判断。

   表达式1 && 表达式2 && 表达式3...&& 表达式n,如果表达式1的运算结果为false,则整个表达式的结果为false,同时不会再对后面的表达式2、表达式3到表达式n进行运算判断。如果表达式1的运算结果为true,则根据表达式2的运算结果继续判断。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值