C语言操作符总结

在C语言中,操作符分为以下几类:算术操作符,位移操作符,位操作符,赋值操作符,单目操作符,关系操作符,逻辑操作符,条件操作符,逗号表达式,下标引用、函数调用和结构成员。
算术操作符: + , - , * , / , %
1. 除了%操作符之外,其他的几个操作符可以作用于整数和浮点数。
2. 对于/操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就 是浮点数除法。
3. %操作符的两个操作数必须为整数。返回的是整除之后的余数。
移位操作符:<< 左移位 , >> 右移位
移位操作符移的是二进制位。
左移操作符移位规则:左边抛弃,右边补0。
这里写图片描述
右移运算分为两种:1.逻辑移位 左边用0补充,右边丢弃; 2.算术移位 左边用原该值得符号位填充,右边丢弃。
这里写图片描述
位操作符: & (按位与),|(按位或),^(按位异或)
举个例题:如果不能创建临时变量(第三个变量),实现两个数的交换

#include <stdio.h>
int main()
{
    int a = 10;
    int b = 20;
    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 a = 10;
int x = 0;
int y = 20;
复合赋值符: +=, -=, *= , /= ,%= ,>>= , <<= ,&= , |= ,^=
单目操作符: ! (逻辑取反) , -, +, &(取地址), sizeof,~(按位取反), –,++,*,()
sizeof(数组名)——数组名表示整个数组,表达式求的是整个数组的大小,单位是字节。
&arr——数组名表示整个数组,表示求的是整个数组的地址,除此之外,所有的数组名都是首元素的地址。
关系操作符:>,>=,<,<=,!=,==
逻辑操作符:&&(逻辑与),||(逻辑或)
注意逻辑与和按位与,逻辑或和按位或的区别:
1&2—–>0
1&&2—->1
1|2—–>3
1||2—->1

#include<stdio.h>
int main() 
{     
    int i = 0,a=0,b=2,c =3,d=4;   
    i = a++&&++b&&d++;       //1,2,3,4
    //i = a++||++b||d++;     //1,3,3,4  
    printf("a = %d\n b = %d\n c = %d\nd = %d\n", a, b, c, d);     
    return 0;
} 

条件操作符:exp1 ? exp2 : exp3

if(a>5)
b=3;
else
b=-3;

转换成条件表达式,是什么样

if(a>5;b=3:b=-3

逗号表达式:exp1, exp2, exp3, …expN
逗号表达式,就是用逗号隔开的多个表达式。 逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。
下标引用、函数调用和结构成员
1.[ ]
操作数:一个数组名+一个索引值

   int arr[10];
   arr [9] = 10;
   [ ]arr9

2.( ) 函数调用操作符
接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数 的参数。
3.访问一个结构的成员
.结构体.成员名
->结构体指针->成员名
操作符的属性
1.操作符的优先级;
2.操作符的结核性;
3.是否控制求值顺序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值