C/C++——操作符总结

C语言操作符总结

对C语言里的操作符进行一个总结
操作符列表:

  1. 算术操作符
  2. 移位操作符
  3. 位操作符
  4. 赋值操作符
  5. 单目操作符
  6. 关系操作符
  7. 逻辑操作符
  8. 条件操作符
  9. 逗号操作符
  10. 下标引用·函数调用·结构成员

算术操作符

+ - */ %

‘ / ’号操作符:
1.作用于整型量时,会自动消除四舍五入的量,如:111/10=11,个位上的1被四舍五入消除了。
2.当两边的操作数都是整数时,执行整数除法;两边是浮点数,执行浮点数除法
‘ % ’号操作符:
1.操作数必须为整型,返回的是两个操作数的余数,如:101%10=1
用例:
‘ / ’ 和‘ % ’组合使用的技巧,前者可以消除一个整型数的最后一位,后者可以通过“余进制数”取出整型数的最后一位,通过循环可以将一个整数的每一位都拿到。
实例:
查找水仙花数(自幂数)

移位操作符

<< 左移位符
>> 右移位符

左移位符
最左边的一位被丢弃,右边补0

int n = 10;

n在内存中的变化
000000000000000000001010
n << 1;
000000000000000000010100

右移位符
右移位分为两种:
1:逻辑右移
左边用0补充,右边的丢弃。
2:算术右移
左边用该值的符号位代替,右边的丢弃。

注意事项
不能对负数移位,这个是不被标准定义的。

单目操作符

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

sizeof 和 strlen的区别
1.sizeof是操作符 strlen是库函数
2.strlen求有效字符长度,不算 \0
sizeof算的是变量(类型)的大小

sizeof使用技巧

 int a=1;                                    
//可以sizeof(a)				
//也可以sizeof(int)				

 int arr[10]={0};
//可以sizeof(arr)
//也可以sizeof(int [10])

关系操作符

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

注意 == 和 = 前者是判等后者是赋值 意义不同

逻辑操作符

逻辑操作符:

&&  逻辑与
||  逻辑或

条件操作符

X1 ? X2 : X3

例子

min = (a < b) ? a : b  //将A和B中较小的那个赋给min

逗号表达式

A , B , C , D ;

从左向右依次执行,最终结果为最后一个表达式的结果

int main(){
	int a = 1;
	int b= 2;
	int c= (a < b , a > b);
	int d =(a < b , b = a + b);
}
//C的值为a > b的结果 即 1
//d的值为b = a + b的结果 即 3

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

1.下标引用操作符

//操作数:数组名 + 值
array [ 8 ] = 1;
// [] 的两个操作数就是array和8

2.函数调用操作符

//"()" 操作数:函数名+传的参数
void swap(&a,&b){}
//swap 和 ab都是操作数

3.访问一个结构的成员

 结构体.成员名 
 -> 结构体指针->成员名

如:ListNode->cur;

猜你喜欢

转载自blog.csdn.net/qq_42685588/article/details/84635866