c语言基础入门—初识C语言之运算符(操作符)
小职 2021-12-30 来源 : 阅读 59 评论 0

摘要:本篇主要介绍了c语言基础入门—初识C语言之运算符(操作符),通过具体的内容展现,希望对C语言开发的学习有一定的帮助。

本篇主要介绍了c语言基础入门—初识C语言之运算符(操作符),通过具体的内容展现,希望对C语言开发的学习有一定的帮助。

c语言基础入门—初识C语言之运算符(操作符)

首先,说起操作符,有算术操作符、赋值操作符、关系操作符、单目操作符等等一系列的操作符,接下来给大家简单的了解一下各种操作符,并给出自己的理解和需要注意的地方,那么接下来,开始进入学习环节啦!


算术操作符:+       -        *        /        %


算数操作符就是以上五种,其中大部分大家都见过,但是乘(*)和除(/)尤其要注意,可不是我们数学中的✖和➗哦,注意这点就行。然后就是取余(%)了,这个符号意思是取结果的余数,比如7/3=2余1,那么7%3就等于1了,大家明白了没有呀,这就是算术操作符的内容。


移位操作符:>>    <<


移位操作符包括>>和<<两种,其中>>是右移操作符,<<是左移操作符,注意这里的左移和右移都是指二进制位的移动,因为计算机中所有信息都是以二进制形式存放的。


说起二进制,就是指有32个0或1组成的一串数,例如a=3:00000000……00000011,运算过程是:1*2^1+1*2^0=3(^号指几次方)


a<<1,就变成了:00000000……00000110,结果就为:1*2^2+1*2^1=6


a>>1,就变成了:00000000……00000001,结果就为:1*2^0=1


这便是移位操作符。


位操作符:&        |        ^   


其中&是按位与,|是按位或,^是按位异或,这三个也是二进制的操作符哦,接下来解释一下具体用法


&:如果 x 和 y 都为 1,则得到 1;如果 x 或 y 任何一个为 0,或都为0,则得到 0,简记为:同为1则为1


|:如果 x 或 y 为 1,或都为 1,则得到 1;如果 x 和 y 都为 0,则得到 0,简记为:有1则为1


^:如果 x 或 y 的值不同,则得到 1;如果两个值相同,则得到 0,简记为:相同为0,相异位1


下面举个例子,大家就可以明显看到区别啦


c语言基础入门—初识C语言之运算符(操作符)

赋值操作符:=   +=   -=   /=   %=    >>=    <<=   |=    &=  


大家可以看出来,赋值操作符有很多很多,上面所举的只是部分,大家可以注意到,=我们都知道,但+=,-=等符号是以前我们从未见到的,其实很简单


a+=2的意思就是a=a+2


b-=3的意思就是b=b-3


以此类推……


尤其注意,这里的=是赋值符,与下面的关系操作符中的==会搞混,下面关系操作符中会详细说明的。


 单目操作符:! -    +    &    sizeof    ~     --    ++    *     .    (类型)


说起单目操作符,顾名思义,就是只有一个操作数的操作符,与之相对应的是双目操作符,即有两个操作数的,例如a++,++就是单目操作符;a+b,+就是双目操作符,接下来便详细说明各个操作符的作用,认真学哦。


这里先说一个概念,在C语言中0表示假,非0表示真


!是逻辑反操作,举个例子,int a = 0(0表示假),那么!0就表示真,在一个值前面加上!,就会真变假,假变真。


-,+:注意注意,这里的-,+表示的是负值,正值,并不是加减的意思,如+2,-3等等


&,* .:取地址操作符,间接访问操作符(解应用操作符)这个符号在后面指针部分会详细讲到,大家敬请期待呀!!


sizeof:是一个计算操作数的类型长度的操作符(单位是字节byte),例如:


c语言基础入门—初识C语言之运算符(操作符)


打印出来结果如下

c语言基础入门—初识C语言之运算符(操作符)



 至于int类型长度为什么是4,请大家关注我前面发的初识C语言之数据类型部分。


~:对一个数的二进制按位取反,将原来的0变为1,1变为0,例如1的二进制:0……00000001,那么~以后,变为:1……11111110,就ok啦


--,++:++和--可以大致理解位+1,-1,并且这里的++和--分为前置和后置两种,前置的是先使用,后++或--,后置的是先++或--,后使用,具体是什么意思呢,看下面解释。

c语言基础入门—初识C语言之运算符(操作符)



 大家注意看,上面首先给出a的值是1,然后打印a++是前置++,那么根据我们的口诀,前置++先使用,后++,因为先使用所以先打印的就是a的值1,接着++,下一个打印的就是++以后的值2。


接着我们看一下++a的情形,是如何先++,后使用的

c语言基础入门—初识C语言之运算符(操作符)



 大家通过观察可以看到,第一次打印,先++,a+1变为2,再打印,所以打印出来就是2,第二次打印的自然就是++以后的值2啦。


--与++的情形类似,大家可以想想,并上机实践实践,这里再强调一下,一定要多上机实践啊xdm,上机才能使自己掌握知识掌握的更好喔!!


(类型):强制类型转换,比如下图的例子

c语言基础入门—初识C语言之运算符(操作符)



大家观察上图,a开始是float类型的,然后定义一个int类型的b,将a强制类型转换为int,1.25就会变为整型1,所以打印出来的b是1。


以上便是单目操作符的全部内容啦。 


关系操作符:>    >=    <     <=   !=    ==


这里的>,<,>=,<=大家都了解,我就不过多解释了,后面的!=就是不等于,==就是等于


这里讲一讲=和==的区别,大家通过分类可以清楚看出=是赋值操作符,而==是关系操作符,那么我们在代码中如果想表示谁和谁是否相等时,应该用的是关系操作符==,如果想表示的是把一个数赋值给另一个数,就自然用的是=啦,大家是否能辨别清楚呢


 逻辑操作符:&&    ||


&&:逻辑与

1、当&&左边为假,则不再进行右边的判断,结果为假;

2、当&&左边为真,判断右边,右边为假,结果为假;右边为真,结果为真;

c语言基础入门—初识C语言之运算符(操作符)



 如上图所示,是有关逻辑与的,大家可以先观察结果,想一想为什么,然后再看下面的解释,看看是不是一样的想法。


首先第一个,a = ++a && b++中,&&左边的++a为真,所以左右两边的表达式都要执行,++a后a为2,b++后b为3,左右两边都为真,所以a的值最终为1,所以打印的第一个结果为1 3;


接着看第二个,c = --a && ++b中,&&左边的--a为0,左边为假,所以就不用执行右边的了,所以a变为0,b不变仍为3,由于&&左边为假,所以结果为假,所以c就为0,因此打印的结果为0 3 0。


这里重点提醒一下,&&操作符若是左边为假,则右边无需执行,这是易错点哦,牢牢记住这一点!!


||:逻辑或

1、当||左边为真,则不再进行右边的判断,结果为真

2、当||左边为假,判断右边,右边为假,结果为假;右边为真,结果为真

c语言基础入门—初识C语言之运算符(操作符)



 上图是有关逻辑或的运算,大家照常先算算看和答案相同吗,再看下面的解释。


首先看a = ++a || b++,||左边为++a等于2,为真,则不进行右边的判断b++了,结果为真,即a最终为1,而b不变,仍为2,所以打印出来为1 2.


接着看c = --a || ++b,||左边为--a等于0,为假,所以左右都做判断,左边为0,右边++b为3,所以结果为真,即c为真,故c等于1,所以打印结果为0 3 1。


逻辑或||操作符,需要注意的便是若左边为真,则不用进行右边的判断,这个也是很容易忽视的点哦,一定注意注意再注意!


这便是逻辑与和逻辑或操作符具体讲解,想必大家已经很好的理解了吧(◦˙▽˙◦)


 条件操作符:exp1?exp2:exp3


exp1?exp2:exp3的意思是,若exp1成立,则计算exp2,整个表达式结果是exp2的结果


若exp1不成立,则计算exp3,整个表达式结果是exp3的结果


举个简单的例子:

 


int a = 5;

 

int b = 2;

 

int c = a>b?a:b;

上面的意思就是,a>b成立,所以c的值就取a,所以c就等于5。


当然啦,大家有没有观察到,条件操作符有三个操作数,所以属于三目操作符哦


逗号表达式:exp1,exp2,exp3……expn


逗号表达式的意思就是几个表达式中间用逗号连接,整个表达式的结果取最后一个表达式的结果,但是前面的表达式必须都算一遍,因为前面的表达式,有可能影响后面的表达式的结果哦


举个例子,上截图

c语言基础入门—初识C语言之运算符(操作符)



 图中d后面是条件表达式,先算a+=5,算出a=15,再算b+=a,算出b=35,最后算c=a+b,算出c=15+35=50,故最后d的结果就是50.


观察上式,最后一个表达式的结果取决去前面的表达式运行后的结果,所以即使整个表达式的结果取最后一个表达式的结果,也必须按顺序算一遍的。


下标引用,函数调用,结构成员操作符:[ ]    ()      .     ->


下标引用操作符:[ ]常用于数组,例如:


int arr[5]={ 0 };

arr[4] = 5;

它的操作数的数组名和下标哦!


函数调用操作符:()


int my_min(int x,int y)

{

    return x>y?y:x;

}

 

int main()

{

    int min =my_min(5,8);

    printf("%d",min);

    return 0;

}

图中的my_min后面的()就是典型的函数调用操作符了


在例子中它的操作数有三个:函数名,5,8


结构成员操作符:.      ->


结构成员操作符会在我们后面要学习的结构体中大量出现,所以会在结构体学习中再做重点解释,敬请期待


208小时视频教程,995份干货资料,领取资料+高薪就业咨询V:z_zhizuobiao

c语言基础入门—初识C语言之运算符(操作符)

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    ICP许可  沪B2-20190160