当前位置:首页 > 科技  > 软件

【C语言】操作符有几种?你真的知道吗?

来源: 责编: 时间:2023-10-27 09:15:18 222观看
导读前言C语言一经出现就以其功能丰富,表达能力强,灵活方便,应用面广等特点迅速在全世界普及和推广,很多人都开始了学习C语言。想要学好C语言,就必须要去了解C语言中的各种操作符!一、操作符是什么?操作符是一种运算符号,用于执行

前言

C语言一经出现就以其功能丰富,表达能力强,灵活方便,应用面广等特点迅速在全世界普及和推广,很多人都开始了学习C语言。7lu28资讯网——每日最新资讯28at.com

想要学好C语言,就必须要去了解C语言中的各种操作符!7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

一、操作符是什么?

操作符是一种运算符号,用于执行程序代码运算,用来表示某种数据关系。7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

二、操作符分类

【1】算数操作符

  • +——两个数相加
  • -——一个数减另一个数
  • *——两个数相乘
  • /——分子除以分母
  • %——取模(取余),得到整除后的余数
  • ++——自增运算符,整数值增加 1
  • --——自减运算符,整数值减少 1

重点注意 /操作符 和 %操作符。7lu28资讯网——每日最新资讯28at.com

1、除法操作符

7lu28资讯网——每日最新资讯28at.com

两个操作数都是整数的话,执行的是整数除法。如:10/2=5(整数)7lu28资讯网——每日最新资讯28at.com

两个操作数只要有一个浮点型的话,执行的是小数除法。如:10/3.0=3.333333(小数)7lu28资讯网——每日最新资讯28at.com

2、取模操作符

操作数必须是整数,如果是浮点型,编译器会报错!7lu28资讯网——每日最新资讯28at.com

【2】移位操作符

<<左移位操作符7lu28资讯网——每日最新资讯28at.com

>>右移位操作符7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

注意:7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

  • 移位操作符的操作数只能是整数。
  • 移位操作符是对操作数的二进制位进行移位。

2.1、<<左移操作符

7lu28资讯网——每日最新资讯28at.com

移动规则:左边抛弃,右边补07lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com


7lu28资讯网——每日最新资讯28at.com

2.2、>>右移位操作符

7lu28资讯网——每日最新资讯28at.com

移动规则:7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

  • 逻辑移位:左边用0填充,右边丢弃。
  • 算术移位:左边用原该值的符号移位,右边丢弃。

警告对于移位操作符,不要移动负数位,这个是未定义的。7lu28资讯网——每日最新资讯28at.com

如:7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

int num = 10;num << -1;//错误做法num >> 1;//正确做法

【3】位操作符

  • &按位与
  • |按位或
  • ^按位异或

位:指二进制位7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

例如:7lu28资讯网——每日最新资讯28at.com

00000000000000000000000000000011——3的补码7lu28资讯网——每日最新资讯28at.com

111111111111111111111111111111111011—— -5的补码7lu28资讯网——每日最新资讯28at.com

00000000000000000000000000000011——3 & -5 = 37lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

规则:7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

  • 按位与:对应的二进制位有0,则为0
  • 按位或:对应的二进制位有1,则为1
  • 按位异或:对应的二进制位,相同位0,相异为1

练习:7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

先分别将1和2的二进制位写出来,再进行分析,并不难理解。7lu28资讯网——每日最新资讯28at.com

【4】赋值操作符

符号:=7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

简单的赋值操作符,把右边操作符的值赋给左边操作数。7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

注意:“ = ” 是赋值,“ == ” 才是判断两个数是否相等,不能混用。7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

注意:左边的?操作数必须是变量,不能是常量或表达式。7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

  • 此外,= 还会与算数操作符 “ + ”,“ - ”,“ * ”,“ / ” 结合使用。

例如:“ += ”,“ -= ”,“ *= ”,“ /= ”7lu28资讯网——每日最新资讯28at.com

【5】单目操作符

  • !——逻辑反操作
  • -——负值
  • +——正值
  • &——取地址
  • sizeof——计算操作数的类型长度(以字节为单位)
  • ~——对一个数的二进制按位取反
  • - -——前置、后置- -
  • ++——前置、后置++
  • *——间接访问操作符(解引用操作符)
  • (类型)——强制类型转换

注意sizeof与数组的关系7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

【6】关系操作符

  • <——小于
  • <=——小于等于
  • >——大于
  • >=——大于等于
  • ==——等于
  • !=——不等于

注意在编程的过程中==和=不要写错。7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

【7】逻辑操作符

  • &&——与,如果两个操作数均为非0,则表达式的值为1,反之为0
  • ||——或,如果两个操作数至少有一个为非0,则表达式的值为1,反之为0
  • !——非,如果两个操作数均为非0,则表达式的值为,反之亦反

在C语言中,0代表假(False),1代表真(True)7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

所以也可以这样理解:7lu28资讯网——每日最新资讯28at.com

&&是“与”的意思,需要两端的表达式的值都为true,该式的值才为true。7lu28资讯网——每日最新资讯28at.com

||是“或”的意思,两端的表达式的值只要有一端为true,该式的值就为true。!是“非”的意思,将该式的真值换成相反的真值,即false和true互换。7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

【8】条件操作符(三目操作符)

三目运算符也叫条件运算符,是由一个问号和一个冒号组成。7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

  • 结构:exp1?exp2:exp3

7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

程序的流程是:7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

先执行表达式1,如果表达式1的结果如果为真,那么执行表达式2,并且这个整体的运算式的结果是表达式2的结果;7lu28资讯网——每日最新资讯28at.com

如果表达式1的结果如果为假,执行表达式3,运算式的结果是表达式3的结果。7lu28资讯网——每日最新资讯28at.com

【9】逗号操作符

看到标题,我们可能会感到好奇,怎么逗号也会是运算符?7lu28资讯网——每日最新资讯28at.com

其实一开始呀,我也没注意到这点,直到我做到了一道题,才发现了这个有趣的知识点。7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

思考题: 下面的y都分别为什么值?7lu28资讯网——每日最新资讯28at.com

int y=3;int y=(1,2,3);int y=(x=1+2),(3+4);int y=((x=3+4),(1+2));7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

对,y都为 37lu28资讯网——每日最新资讯28at.com

第二个y,因为y的值是整条语句的值,而整条语句的值是最后那个逗号后面的值。7lu28资讯网——每日最新资讯28at.com

第三个y,我们可以看成为 y=x=1+2;这样就可以很清楚地看到,y就是等于 37lu28资讯网——每日最新资讯28at.com

第四个y,跟第二个一样,是最后那个逗号后面的值,即,y=(1+2)。7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

小归纳:一条语句理论上是有?返回值的,如果语句里面有多个逗号,则以最后一个逗号后面的表达式值为返回值!7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

【10】下标引用、函数调用和结构成员

1、[ ] 下标引用操作符`

7lu28资讯网——每日最新资讯28at.com

操作数:一个数组名 + 一个索引值7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

int arr[10];//创建数组arr[9]=10;//使用下标引用操作符//[ ]的两个操作数是arr和9

2、( )函数调用操作符

接受一个或多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

3、访问一个结构的成员

7lu28资讯网——每日最新资讯28at.com

  • .——结构体.成员名
  • ->——结构体指针->成员名

三、运算符优先级(汇总)

C语言运算符优先级 详细列表

7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

7lu28资讯网——每日最新资讯28at.com

本文链接://www.dmpip.com//www.dmpip.com/showinfo-26-15332-0.html【C语言】操作符有几种?你真的知道吗?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Spring的BeanFactory与FactoryBean的区别,你现在懂了吗?

下一篇: 优雅的使用String字符串处理各种类型转换

标签:
  • 热门焦点
  • 轿车从天而降电动车主被撞身亡 超速抢道所致:现场视频让网友吵翻

    轿车从天而降电动车主被撞身亡 超速抢道所致:现场视频让网友吵翻

    近日,上海青浦区法院判决轿车从天而降电动车主被撞身亡案,轿车车主被判有期徒刑一年。案件显示当时男子驾驶轿车在上海某路段行驶,前车忽然转弯提速超车,
  • 三言两语说透设计模式的艺术-简单工厂模式

    三言两语说透设计模式的艺术-简单工厂模式

    一、写在前面工厂模式是最常见的一种创建型设计模式,通常说的工厂模式指的是工厂方法模式,是使用频率最高的工厂模式。简单工厂模式又称为静态工厂方法模式,不属于GoF 23种设计
  • 让我们一起聊聊文件的操作

    让我们一起聊聊文件的操作

    文件【1】文件是什么?文件是保存数据的地方,是数据源的一种,比如大家经常使用的word文档、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存数据,它既可以保
  • 零售大模型“干中学”,攀爬数字化珠峰

    零售大模型“干中学”,攀爬数字化珠峰

    文/侯煜编辑/cc来源/华尔街科技眼对于绝大多数登山爱好者而言,攀爬珠穆朗玛峰可谓终极目标。攀登珠峰的商业路线有两条,一是尼泊尔境内的南坡路线,一是中国境内的北坡路线。相
  • 腾讯盖楼,字节拆墙

    腾讯盖楼,字节拆墙

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之&ldquo;想重温暴刷深渊、30+技能搭配暴搓到爽的游戏体验吗?一起上晶核,即刻暴打!&rdquo;曾凭借直播腾讯旗下代理格斗游戏《DNF》一
  • 冯提莫签约抖音公会 前“斗鱼一姐”消失在直播间

    冯提莫签约抖音公会 前“斗鱼一姐”消失在直播间

    来源:直播观察提起&ldquo;冯提莫&rdquo;这个名字,很多网友或许听过,但应该不记得她是哪位主播了。其实,作为曾经的&ldquo;斗鱼一姐&rdquo;,冯提莫在游戏直播的年代影响力不输于现
  • 认真聊聊东方甄选:如何告别低垂的果实

    认真聊聊东方甄选:如何告别低垂的果实

    来源:山核桃作者:财经无忌爆火一年后,俞敏洪和他的东方甄选依旧是颇受外界关心的&ldquo;网红&rdquo;。7月5日至9日,为期5天的东方甄选&ldquo;甘肃行&rdquo;首次在自有App内直播,
  • iQOO Neo8 Pro抢先上架:首发天玑9200+ 安卓性能之王

    iQOO Neo8 Pro抢先上架:首发天玑9200+ 安卓性能之王

    经过了一段时间的密集爆料,昨日iQOO官方如期对外宣布:将于5月23日推出全新的iQOO Neo8系列新品,官方称这是一款拥有旗舰级性能调校的作品。随着发布时
  • Windows 11发布,微软一改往常对老机型开放的态度

    Windows 11发布,微软一改往常对老机型开放的态度

    距离 Windows 11 发布已经过去一周,在过去一周里,很多数码爱好者围绕其对 Android 应用的支持、对老机型的升级问题展开了激烈讨论。与以往不同的是,在这次大
Top
Baidu
map