【c语言】-- 操作符汇总

【c语言】-- 操作符汇总_第1张图片

博主介绍:目前大一正在学习c语言,数据结构,计算机网络。

c语言学习,是为了更好的学习其他的编程语言,C语言是母体语言,是人机交互接近底层的桥梁。

本章来学习数组。

让我们开启c语言学习之旅吧

1.操作符分类

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

本章就是围绕这些操作符来展开讲解。

2.算术操作符

+        -        *        /        % 

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

例如:

【c语言】-- 操作符汇总_第2张图片

 注意:想要得到浮点数,两个操作数必须有一个为浮点数

​​​​​​  3.移位操作符       

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

移位操作符移动的是二进制(如果是负整数移动的是补码)

补码的详细讲解请看这篇文章:http://t.csdn.cn/GQF16

3.1右移操作符

#include 
int main()
{
	int a = 15;
	int b = a >> 1;
	return 0;
}

整个移位的操作是怎样完成的呢?结果又是怎样的呢?

请看图分析

【c语言】-- 操作符汇总_第3张图片

移动规则:

首先右移运算分两种:

1.逻辑移位

   左边用零填充,右边丢弃

2.算术移位

   左边用该值的符号位填充,右边丢弃 

注:在c语言中没有明确规定是采用算术右移还是逻辑右移,一般编译器上采用的是算术右移 

上面这个问题是不能说明是算术右移还是逻辑右移

算术右移VS逻辑右移

【c语言】-- 操作符汇总_第4张图片

3.2左移操作符

移动规则:左边丢弃,右边补0

【c语言】-- 操作符汇总_第5张图片

警告⚠ :
对于移位运算符,不要移动负数位,这个是标准未定义的。
例如:

int num = 10;
num>>-1;//error

4.位操作符 

位操作符

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

 


按位与

规则:对应的二进制位有0为0,两个同时为1则为1

【c语言】-- 操作符汇总_第6张图片

 程序分析

【c语言】-- 操作符汇总_第7张图片

  


按位或

   规则:对应的二进制位有1则为1,两个同时为0才是0

【c语言】-- 操作符汇总_第8张图片

程序分析

【c语言】-- 操作符汇总_第9张图片


  按位异或

   规则:对应的二进制位相同为0,相异为1

【c语言】-- 操作符汇总_第10张图片

程序分析

【c语言】-- 操作符汇总_第11张图片


由于内容过多放在下期更新

你可能感兴趣的:(c语言,c++,数据结构)