初识操作符
—这篇博客我们先初步的介绍一些操作符,先全面的认识一下操作符,以便后面学习的时候更好的消化知识
文章目录
.算数操作符
C语言是这样表示基本算数操作符的:
+(加)-(减)*(乘)/(除)%(取模,取余)
注意点:/和*使用的时候,如果两端都是整数就执行整数除法(乘法),得到的结果只能是整数,如果想要得到小数,操作符两边必须有一个数是小数才能得到一个小数结果
%取模在后面的学习也经常用到,例如我们要得到一个整数123456里面的第四位数,我们可以利用%解决
a / 100 的结果就是1234,1234%10取余我们就可以得到4,不管需要哪位上的数,我们都可以调整后获得这个数字
移位操作符
(>>)右移操作符(<<)左移操作符,左右移动二进制位,具体是怎么样的我们不详细讲,今天只用了解基础
.位操作符
&(按位与) |(按位或) ^(按位异或)
涉及到指针,我们也只先认识一下,后面来详细讲解
赋值操作符
= ,+=,-=,*=,/=,&=,^=, |=, >>=, <<=
+=的意思就是a=a+5;后面的赋值操作符都是这个意思,当我们都理解那些操作符了(&=,^=, |=, >>=, <<=)的意思就很好理解了
单目操作符
单目操作符:! ,- , + ,& ,sizeof , ~ , – , ++ , *
a+b:+号有两个操作数,叫双目操作符
+2: +只有一个操作数,叫单目操作符
!: 在C语言中,我们是怎么表示真假的,0表示假,非零表示真,!的作用就是把真变成假,假变成真
++ --前后置的理解
(类型)强制类型转换
int a = 3.14; //a是整型,3.14却是浮点型
int a = (int)3.14; //将3.14强制转换成int类型
关系操作符
== (等于) , >(大于) , <(小于) , <=(小于等于) ,=>(大于等于) , ! =(不等于)
这里和数学上的意义都是一样的,没有什么过多介绍的
逻辑操作符
&&(逻辑与) ||(逻辑或)
int a = 0;
int b = 1;
int c = a&&b; //有一个值为0(假)结果就为0,只有都为真,c的结果才为真
int c = a||b; //有一个值为真(非零)结果就为真,都为假,c的结果才为假
老师让你和张三搬书,你和张三才能完成这件事,少一个人不行(&&)
老师让你或者张三扫地,你和张三有一个人就能完成这件事,只要有一个人扫地就行(||)
三目操作符
exp1 ?exp2 :exp3
exp1成立,exp2计算,整个表达式的结果是:exp2的结果
exp1不成立,exp3计算,整个表达式的结果是:exp3的结果
int main()
{
int a = 1;
int b = 2;
int max = 0;
max = a > b ? a : b;//求两个整型的较大值
printf("%d", max);
return 0;
}
a>b成立max的值就是a,不成立max的值就是b
逗号表达式
int main()
{
int a = 5;
int b = 2;
int max = 3;
int d = (a = b + 2, max = a - 1, b += a + max);
//逗号表达式是从左向右依次计算的
//整个表达式的结果就是最后一个表达式的结果
printf("%d", d);
return 0;
}
下标引用操作符
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9 };//这里的【】是数组规定的写法
printf("%d", arr[5]);
//这里的【】叫下标引用操作符,这里打印的是6,因为下标是从0开始的
return 0;
}
函数调用操作符
int main()
{
int a = 0;
printf("%d",a );//调用函数时,函数名后面的()就是函数调用操作符
return 0;
}
调用函数必须后面有(),不然他就不是函数,前面我们提到sizeof是关键字,因为它的格式可以写为 sizoef 5,所以它是关键字而不是库函数
int main()
{
int a = 0;
printf("%d",sizeof 5 );
return 0;
}
这几天疫情反扑,大家一定做好防护,没事的呆着老老实实的一起学习吧