C语言操作符包括
目录
1.算术运算符
算术运算符包括有+(加法) -(减法) *(乘法) / (除法)++(自增)--(自减) %(求余取模) i++和++i是有区别的 i++是先计算再自增,++i是先自增再计算,--也是一样的道理,i--是先计算再自增,--i是先自增再计算。取模是取余数,
2.关系运算符
关系运算符包括<(小于) >(大于) ==(等于) >= (大于等于) <=(小于等于) !=(不等于)
大于号和小于号就和数学中的用法差不多, 但是C语言中的等于和数学中的等于可不一样,C语言是中的等于是赋值运算符,==这个才是等于,千万不要记错了,有很多bug可能就是这么写出来的。 C语言的 不等于 和数学中的不等于也是不一样的 ,但是用法基本相同,符号是不同的,要逐渐改变自己固定思维。
3.逻辑运算符
逻辑运算符包括或(||) 且(&&) 非(!)
逻辑运算符一般用于if语句中用来判断怎么执行语句的,当然逻辑运算符有时候也可以被条件运算符所替代,算法思想是差不多的,只是语句的简洁度会有差别。逻辑运算符和位操作符是不一样的逻辑运算符是判断两个条件的,位操作符是比较变量的二进制的,所以逻辑运算符和位操作符的区别是很大的。或表示两者有一个为真就为真,且表示两者都为真才为真。
4.位操作运算符
前面也说过了位操作符和逻辑运算符是完全不一样的东西,位操作符有&(位与)|(位或) ~(位非) ^(位异或) <<(左移) >>(右移),位操作符比较的都是内存中的01,以下面的图为例解释
左移操作符
右移操作符
位非运算符的记忆规则~(A) = -(A+1)、按位异跟上面类似就是看二进制,两者如果相同则为0如果是10则为1
5.赋值运算符
赋值运算符有简单的赋值运算=;复合的算术运算符+= -= *= /= %=
简单的用代码来描述一下复合运算符
+=可以用代码来表示
int i ;
int sum ;
sum +=i;
int i =0;
int sum = 0;
sum=sum+i;
这两个代码是相同的作用,-= *= /= %= 也是同样的作用
复合位运算赋值包括&= |= ^= >>= <<=
这个复合位运算赋值和复合算术运算符类似,左移右移在上面都有介绍。
6.条件运算符
上面也说过逻辑判断可以用条件运算符来替代例如
x>y?x:y
这个代码段的意思是如果x>y那么就输出x,else输出y
7.逗号运算符
逗号运算符就比较简单了,就是从左向右依次计算,最后输出最后一个值
(x+1,y+4,x+5,x*3)
就如上图从左向右依次计算就行
8.指针运算符
指针运算符有两个 一个是*用来获取内容&是用来获取地址的
只有c语言和c++可以使用指针来更改内容,这也是c语言和c++强大的原因,但是另一方面,c语言和c++的指针也成功的老程序员们频频出先bug,更是劝退了很多的初学者
&这个有点像按位与,但是一定要区分好他们的区别,如果在scanf函数内的变量前面有&这个符号,那么它代表取地址。
9.求字节运算符
sizeof可以用来求整个数组的字节长度然后再/首字符的字节长度就可以得到一个变量。然后就可以用这个变量在函数里面进行计算了
总结
今天主要重新学习了操作符,学了之后才知道,自己的无知,要努力