📕博主介绍:目前大一正在学习c语言,数据结构,计算机网络。
c语言学习,是为了更好的学习其他的编程语言,C语言是母体语言,是人机交互接近底层的桥梁。
本章来学习数组。
让我们开启c语言学习之旅吧
1.操作符分类
算术操作符,移位操作符,位操作符,赋值操作符,单目操作符,关系操作符,逻辑操作符,条件操作符,逗号表达式,下标引用.函数调用和结构成员
本章就是围绕这些操作符来展开讲解。
2.算术操作符
+ - * / %
1. 除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。
2. 对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。
3. % 操作符的两个操作数必须为整数。返回的是整除之后的余数。
例如:
注意:想要得到浮点数,两个操作数必须有一个为浮点数
3.移位操作符
<< 左移操作符
>> 右移操作符
注:移位操作符的操作数只能是整数。
移位操作符移动的是二进制(如果是负整数移动的是补码)
补码的详细讲解请看这篇文章:http://t.csdn.cn/GQF16
3.1右移操作符
#include <stdio.h>
int main()
{
int a = 15;
int b = a >> 1;
return 0;
}
整个移位的操作是怎样完成的呢?结果又是怎样的呢?
请看图分析
移动规则:
首先右移运算分两种:
1.逻辑移位
左边用零填充,右边丢弃
2.算术移位
左边用该值的符号位填充,右边丢弃
注:在c语言中没有明确规定是采用算术右移还是逻辑右移,一般编译器上采用的是算术右移
上面这个问题是不能说明是算术右移还是逻辑右移
算术右移VS逻辑右移
3.2左移操作符
移动规则:左边丢弃,右边补0
警告⚠ :
对于移位运算符,不要移动负数位,这个是标准未定义的。
例如:
int num = 10;
num>>-1;//error
4.位操作符
位操作符
& 按位与
| 按位或
^ 按位异或
注:他们的操作数必须是整数。
按位与
规则:对应的二进制位有0为0,两个同时为1则为1
程序分析
按位或
规则:对应的二进制位有1则为1,两个同时为0才是0
程序分析
按位异或
规则:对应的二进制位相同为0,相异为1
程序分析
由于内容过多放在下期更新