基础概念
-----------------ASP.Net+Unity开发、.Net培训、期待与您交流!--------------------
一、 算术运算
1)+(加) 除了加法运算,还能表示正号:+10
2)-(减) 除了减法运算,还能表示负号:-10
3)*(乘) 注意不是x,而是*
4) /(除) 不是÷,而是/
5)%(取余) 注意的是%运算两边必须都为整数,正负性取决于左侧的数值;
注意点:自动类型转换
int a = 1.1; 大类型转化为小的,会丢失精度;
int b = 1.1 + 2;
自动类型提升
int b = 1.1 +3; 将3提升为double类型
强制类型转换
double a = (double)1/2;
结合方向为从左向右;
二,赋值运算
1) = a = 1 赋值运算是将值给a这个变量;
2)+= a+=1 相当于a = a + 1;
3)- = a-=1 相当于a = a - 1;
4) *= a*=3-1 相当于 a = a*(3 - 1);
5) / = a /=3+1 相当于 a = a/(3 + 1);
6) % = a %= 2 相当于 a = a % 2;
还可以连续赋值如:a=b=c;
三,关系运算符
1.条件真假
在C语言中,条件成立称为“真”,条件不成立称为“假”,因此,判断条件是否成立,就是判断条件的“真假”。
C语言规定:在C语言中,任何数值都有真假性,任何非0值都为“真”,只有0才为“假”;
2.关系比较
关系运算符的运算结果只有2种:如果条件成立,结果就为1,也就是“真”;如果条件不成立,结果就为0,也就是“假”。
3.条件运算符
>(大于),<(小于),>=(大于等于),<=(小于等于),==(等于),!=(不等于);
4.优先级
关系运算符中==、!=的优先级相等,<、<=、>、>=的优先级相等,且前者的优先级低于后者;
关系运算符结合方向:从左到右;
关系运算符小于算数运算符;
四、逻辑运算符
1)&&(逻辑与)
格式:条件A && 条件B
运算结果:只有当条件A和条件B都成立时,结果才为1,也就是“真”,其余为假;
运算过程:条件A成立,接着再判断条件B是否成立:如果条件B成立,“条件A && 条件B”的结果就为1,即“真”,如果条件B不成立,结果就为0,即“假”;
条件A不成立,就不会再去判断条件B是否成立:因为条件A已经不成立了,不管条件B如何,“条件A && 条件B”的结果肯定是0,也就是“假”;
2)||(逻辑或)
格式:条件A || 条件B
运算结果:当条件A或条件B只要有一个成立时,结果就为1,也就是“真”;只有当条件A和条件B都不成立时,结果才为0,也就是“假”。
运算过程:条件A成立,就不会再去判断条件B是否成立:因为条件A已经成立了,不管条件B如何,“条件A || 条件B”的结果肯定是1,也就是“真”;
条件A不成立,接着再判断条件B是否成立:如果条件B成立,“条件A || 条件B”的结果就为1,即“真”,如果条件B不成立,结果就为0,即“假”;
3)!(逻辑非)
注意的是逻辑与只要1假都为假,逻辑或为只要1真都为真,逻辑非1就为0,0就为1且运算方向自右向左;
五,三目运算符
格式;int a > b ? a : b
运算过程:a > b,那么输出a,否则输出b;
六,sizeof()
括号里可以是变量、常量、数据类型,作用是输出字节数;
七,自增自减
格式:a++,++a,b--,--b
运算:a++即为a = a + 1;
--b即为b = b - 1;
注意:a++与++a区别为:a++为先将a的值拷一份,再将a的值加1,然后将拷的值参与运算,++a为将a的值先加八、小结
在参加运算;当许多运算符在一起的时候,我们就要制定运算的先后顺序;
我们就要判断运算顺序:小括号() > 负号- > ! > 算数运算符 > 关系运算符 > && > || ;
久.二进制
我们所有的数据在电脑中都是以0或1的方式存储,就是二进制存储,除了二进制,还有八进制和十六进制存储;
1)二进制
特点:逢二进一,以0b开头;
二进制转十进制: 0b10011 = 2^4*1 + 2^3*0 + 2^2*0 + 2^1*1 + 2^0*1 = 19;
2)八进制
特点:逢八进一,以0开头;
八进制转二进制: 035 = 011 101;
将八位进制的每一位换成3个二进制;
3)16进制
特点:逢十六进一,以0x开;
二进制转十六进制: 0x9e = 1001 1110;
将十六位进制每一位换成4个二进制位;
输出格式:
带符号的十进制输出 %d
不带符号的八进制输出 %o
不带符号的十六进制输出 %x
不带符号的十进制输出 %u
十.位运算
1. & 按位与
运算方式:只有对应的两个二进位均为1时,结果位才为1,否则为0。
二进制中,与1相&就保持原位,与0相&就为0
2. | 按位或
3. ^ 按位异或
4. ~ 取反
对二进制的每一位去反,即1变 0,0变1;
5. << 左移
运算方式:把二进位全部左移n位,高位丢弃,低位补0。左移n位其实就是乘以2的n次方由于左移是丢弃最高位,0补最低位,所以符号位也会被丢弃,左移出来的结果值可能会改变正负
6.>> 右移
运算方式:就是把二进位全部右移n位,保持符号位不变。右移n位其实就是除以2的n次方
-----------------ASP.Net+Unity开发、.Net培训、期待与您交流!--------------------