简单了解C语言操作符

操作符

分类

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

    算术操作符

 +    -   *   /  %
  1. 除了了%操作符之外,其他的⼏几个操作符可以作⽤用于整数和浮点数。
  2. 对于/操作符如果两个操作数都为整数,执⾏行行整数除法。⽽而只要有浮点数执⾏行行的就是浮点数 除法。
  3. %操作符的两个操作数必须为整数。返回的是整除之后的余数。

移位操作符

<< 左移操作符 
>> 右移操作符

左移操作符
左边抛弃、右边补0

右移操作符
移位规则
首先右移运算分两种:
1. 逻辑移位
左边用0填充,右边丢弃
2. 算术移位
左边用原该值的符号位填充,右边丢弃

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

位操作符

位操作符有:

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

不能创建临时变量量(第三个变量量),实现两个数的交换。
比如这个是错误的。

#include <stdio.h> 
int main() 
{    int a = 10;    i
nt b = 20;    
a = a^b;    
b = a^b;    
a = a^b;    
printf("a = %d  b = %d\n", a, b);    
return 0; 
}

赋值操作符

赋值操作符是⼀一个很棒的操作符,他可以让你得到⼀一个你之前不不满意的值。也就是你可以给⾃自⼰己 重新赋值。
符合操作符

+= 
-= 
*= 
/= 
%= 
>>= 
&= 
|= =

单目操作符

!           逻辑反操作 
-           负值 
&           取地址 
sizeof      操作数的类型⻓长度(以字节为单位) 
~           对⼀一个数的⼆二进制按位取反 
--          前置、后置--
++          前置、后置++ 
*           间接访问操作符(解引⽤用操作符) 
* (类型)       强制类型转换

sizeof和数组之前说过。
一堆数组输出的时候用sizeof的用法

关系操作符

> 
>= 
<
<= 
!=      ⽤用于测试“不不相等” 
==      ⽤用于测试“相等”

警告
在编程的过程中== 和=不不⼩小⼼心写错,导致的错误。

逻辑操作符

&&          逻辑与 
||          逻辑或

1.&是按位与操作,如果两个相应的二进制位都为1,那该位的结果值就是1,否则为0,即0&0=0,0&1=0,1&1=1,1&0=0。
&&是逻辑与运算符,a&&b,若a、b为真,则a&&b,
1&2—–>0
1&&2—->1
2、|是按位或操,如果两个相应的二进制位中只要有一个为1,则该位结果就是1,即为0|1=1、1|1=1、1|0=1、0|0=0。
||是逻辑或运算符,a||b,若a、b中有一个为真,则a||b结果为真。
1|2—–>3
1||2—->1

条件操作符

exp1 ? exp2 : exp3
表示是否是exp1,如果是 运行exp2,否则运行exp3.

逗号表达式

exp1, exp2, exp3, …expN

逗号表达式,就是⽤用逗号隔开的多个表达式。 逗号表达式,从左向右依次执⾏行行。整个表达式的结果是最后⼀一个表达式的结果。
比如
int a = 1;
int b = 2;
int c = (a>b, a=b+10, a, b=a+1);
c=2

下标引用、函数调用和结构成员

1.[ ]
操作数:⼀一个数组名 + ⼀一个索引值
2.( ) 函数调⽤用操作符 接受⼀一个或者多个操作数:第⼀一个操作数是函数名,剩余的操作数就是传递给函数的参数。
3.访问⼀一个结构的成员

. 结构体.成员名 
-> 结构体指针->成员名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值