了解操作符的那些事(二)

news2025/1/17 3:49:14

小叮当的任意门

  • sizeof 和 数组
  • 关系操作符
  • 逻辑操作符
  • 条件操作符
  • 逗号表达式
  • 下标引用,函数调用和结果成员
    • 下标引用
    • 函数调用
    • 访问一个结构的成员
  • 表达式求值
    • 隐式类型转换
    • 算术转换
    • 操作符的属性

前言:

~ 对一个数的二进制按位取反

*间接访问操作符(解引用操作符)
请添加图片描述这里的int对应的是整型,而a的赋值是小数 这样运行的话可能会丢失数据请添加图片描述这样就没有问题了,打印为3,强制转换。请添加图片描述同样这个无符号整型也是一样。

sizeof 和 数组

这里是引用我们看看最后打印的是什么?

第一个计算的是数组的大小即10乘4=40
第二个也是一样10乘1=10
因为类型不同,即所乘的字节不一样
我们看看后面的
第三个为数组传参,形参可以写成数组,也可以写成指针,但本质上是指针,即打印出来为4/8 看是x86还是x64
第四个同理可得,4/8

下面看一个提问

这里是引用这里是可以的哦
在这里插入图片描述看看运行的行云流水
请添加图片描述本质其实都是一样的
arr[i] 其实就是 *(arr+i)
我由第一个地址就可以顺藤摸瓜知道后面全部的

关系操作符

在这里插入图片描述这比较简单,就不讲了,要注意==和=的区别

逻辑操作符

这里是引用注意区分& | 与他们的区别就可以了请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
同样判断润年也可以
请添加图片描述这样就比较简洁

下面就上一个360笔试题
在这里插入图片描述1 2 3 4
看看你对了吗?
a++ 为后置加加,先应用后++,即 (a++)为0,a为1,又为&& 操作符,有一个为假就是全假,后面的就没有必要再算了。请添加图片描述请添加图片描述
a=1呢?
请添加图片描述
2 3 3 5
这次就是都为真,全部都要计算。

改 || 呢?请添加图片描述
请添加图片描述

这个是有真就是真,但是后面就不给你计算了,也称为短路请添加图片描述
这个呢?请添加图片描述
现在知道电脑也爱偷懒了在这里插入图片描述

条件操作符

这里是引用
具体运行就是这样
请添加图片描述
这个也叫三目操作符,让我想起来了三土老师
在这里插入图片描述是不是感觉太繁杂了
请添加图片描述
在这里插入图片描述所以正确地学习应该是越学越简易才对。

逗号表达式

在这里插入图片描述
在这里插入图片描述要记住最后的结果是最后一个表达式的结果哦请添加图片描述13
请添加图片描述再来看看这个
请添加图片描述
简化
请添加图片描述

下标引用,函数调用和结果成员

下标引用

在这里插入图片描述
请添加图片描述

函数调用

接受一个或者多个操作符,第一个操作符就是函数名,剩余的操作符

访问一个结构的成员

在这里插入图片描述
在这里插入图片描述
有内置类型和自定义类型
在这里插入图片描述请添加图片描述加一个书名号跟加严谨
在这里插入图片描述在这里插入图片描述

在这里插入图片描述在这里插入图片描述
下面的知识点是以前讲过
看看
请添加图片描述
这个是值传递,所以打印的还是20

在这里插入图片描述这个就是传址了,最后为18

表达式求值

在这里插入图片描述

隐式类型转换

请添加图片描述
看看这个是不是打印130呢?
那这就错了,请添加图片描述请添加图片描述char不是整型,3属于int,char与int所存储的字节(比特)不同,硬是要表示的话,就戳断。还有一个叫整型提升
请添加图片描述请添加图片描述

请添加图片描述
在相加的时候就需要整体提升了。在这里插入图片描述是0就填0,是1就填1.

请添加图片描述后面打印的是10进制整数,所以就是三码的转换。
请添加图片描述

这才是真正的结果。为什么不打印130呀?因为这是有范围的哦
请添加图片描述就让我来告诉你为什么范围是这样
请添加图片描述
这表示的是补码哦请添加图片描述
最后正负一起就是
请添加图片描述
下面我们来看看无符号的char
请添加图片描述
请添加图片描述他是变化3个的

请添加图片描述

这样理解也是可以的
主要还是要知道整型提升这个事

下面再来看一题

请添加图片描述
请添加图片描述其实打印的是c,因为int不用提升呀,其他两个一提升就都不一样的了,就这么简单。
在这里插入图片描述
再来一个题看看
请添加图片描述第一个就是普通数组大小,
请添加图片描述后面的看看,都显示了int整型了,这不就明白了

算术转换

在这里插入图片描述
在这里插入图片描述

请添加图片描述

操作符的属性

在这里插入图片描述

其实就是不要乱搞,该用括号的用括号,请添加图片描述看看,这个如果不是数字呢?
请添加图片描述看看如果搞&& 和 || 这俩个让电脑偷懒,那不就完了。

请添加图片描述

看看是先c 还是先–c,后影响c。这结果都是不一样的哦
请添加图片描述这个就是闲的没事做。
请添加图片描述这个你知道先搞哪个fun() 吗?因为static 出函数是不会消失的,累加。
请添加图片描述
请添加图片描述
看看这两种编译器运行的结果都是不一样的,
请添加图片描述
想到了一个隐藏的bug,自己使用专属编译器,是正确的的结果。如果别人要白嫖你代码,那他就也是一样的编译器。就给自己加码了,哈哈

在这里插入图片描述
最后还是要按规范写代码

守得云开见月明
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/10139.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux笔记(3):东山哪吒STU开发板(全志D-1H)开箱初体验helloworld

文章目录1.开发板上电观察串口1.1 从nand flash启动1.2 从SD卡启动2.上传文件到开发板2.1 使用FileZilla软件连接开发板2.2 使用ADB软件双11下单后,经过多日的等待,终于在昨天下午收到了开发板。在等待的过程中,看了一下文档和B站东山老师的视…

Java_封装

目录 1.访问修饰限定符 2.封装扩展之包 导入包中的类 3.自定义包 4.包的访问权限控制举例 5.常见的包 6.通过构造方法进行初始化 面向对象程序三大特性:封装、继承、多态。而类和对象阶段,主要研究的就是封装特性。何为封装呢?简单来…

RPC初识

一、为什么要学习RPC 要回答这个问题,那就必须先了解下 RPC 的使用场景。 只要涉及到网络通信,我们就可能用到RPC 大型分布式系统中:消息队列、分布式缓存、分布式数据库、统一配置中心等,应用程序与这些依赖的中间件都可以通过 …

【Java】SpringCloud基础知识点

SpringCloud什么是SpringCloud有哪些组件EurekaRibbonHystrixZuulConfigFeign什么是SpringCloud SpringCloud是一套分布式微服务的解决方案,Spring Cloud 的各个项目基于 Spring Boot,将 Netflix 的多个框架进行封装,并且通过自动配置的方式…

数据的标准化处理——基于python

数据的标准化处理——基于R归一化(normalization)python实现标准化python实现之前写过用R来进行标准化: 数据的标准化处理——基于R归一化(normalization) 将数据缩放到[0,1]的(min—max Normalization&am…

电脑软件:推荐八款图片处理工具,值得收藏

目录 1、Inpaint 图片去水印神器 2、XnView 图片批量管理工具 3、TinyPNG图片压缩网站 4、IrfanView 5、GIMP 开源图片编辑器 6、Paint.NET 好用的图片编辑软件 7、Optimizilla 图片压缩工具 8、iLoveIMG 在线图片编辑工具 日常办公当中,图片处理是经常要用…

.ttf 字体剔除

想在 游戏/应用 中使用字体,让你的应用提升一个逼格;但是发现一个 .ttf 少则 几兆, 大则 十几兆,这时候可以通过 fontTools,来剔除不需要的畸形字体,保留常用字体; 1. 安装 python 环境 自行安装&#xff…

【JavaSE】类和对象 【this引用和构造方法】(二)

目录 1、this引用 1.1、this的三种用法 1.1.1、this.属性名 1.1.2、this.方法名 1.1.3、this ( ) 访问构造方法 详细讲解 1、this引用 1.1、为什么要有this引用 问题1:形参名不小心与成员变量名形同会发生什么问题? 问题2: 1.2、什…

《前端》css总结(上)

前言: css的定义有很多很多,大家不会的就去这个网站现查一下就好:https://developer.mozilla.org/zh-CN/docs/Web/CSS/text-decoration 文章目录样式定义方式行内样式表(inline style sheet)内部样式表(in…

计算机毕业设计Python+Django的学生作业管理系统

项目介绍 在各学校的教学过程中,学生的作业管理是一项非常重要的事情。随着计算机多媒体技术的发展和网络的普及,“基于网络的学习模式”正悄无声息的改变着传统的教室学习模式,“基于网络的教学平台”的研究和设计也成为教育技术领域的热点…

接口高可用

架构决定系统质量上限,代码决定系统质量下限 接口高可用整体框架 雪崩效应:请求量超过系统处理能力后导致系统性能螺旋快速下降 链式效应:某个故障引起后续一连串的故障 限流 用户请求全流程各个环节都可以限流: 请求端限流&a…

区块链溯源相比传统追溯有什么优点?

区块链溯源:通过使用区块链和物联网技术的结合,记录产品的物流信息,并基于区块链不可篡改的特性把商品的物流信息、质量信息、质检信息等相关商品信息全部记录在上。从而实现了产品全过程的质检、物流、管理等,解决了信息缺乏透明…

01_网络概述

知识点1【分组交换】 知识点2【交换方式】存储-转发 知识点3【网络分层结构】(重要) 知识点4【协议的介绍】 1、IP协议 网际协议(网络层) 2、TCP协议 传输控制协议 (传输层)(重要&#xff…

工程建设行业智能供应链系统:优化产业链运作效率,实现全链路数字化建设

工程建设行业是对建筑工程、线路管道和设备安装工程、建筑装饰装修工程等工程项目进行新建、扩建和改建的行业,对促进国民经济发展和改善人民生活提供了重要的物质技术基础。近年来,我国城镇化的迅速推进为工程建设行业带来了广阔的市场发展空间&#xf…

低压MOS管AONS36344、AONS36348 MOSFET N-CH DFN

特点 沟槽功率MOSFET技术30V 低RDS(ON) 门票费低 高电流能力 符合RoHS和无卤标准 应用 DC/DC转换器在计算、服务器和POL中的应用 电信和工业中的隔离DC/DC转换器 产品参数 1、型号:AONS36344 低压MOS管 类型:单 - N型MOS管 VDS (V)漏极电压:…

阿里P8架构师强推java程序员人手一套116页JVM吊打面试官专属秘籍

说在前面的话 只要是java程序员,肯定对于JVM来说并不陌生,甚至是从熟悉到陌生,为什么这样说呢? 因为你看似熟悉的东西,其实对于源码层级了解得少之又少,到头来只有一种陌生的感觉,使用了吗&…

基于matlab的强化学习QLearning路径规划性能仿真

目录 1.算法概述 2.仿真效果预览 3.核心MATLAB代码预览 4.完整MATLAB程序 1.算法概述 假设我们的行为准则已经学习好了, 现在我们处于状态s1, 我在写作业, 我有两个行为 a1, a2, 分别是看电视和写作业, 根据我的经验, 在这种 s1 状态下, a2 写作业 带来的潜在奖励要比 a1 看…

LeetCode | 一探环形链表的奥秘【快慢双指针妙解BAT等大厂经典算法题】

前言 本文总结了力扣141.环形链表|以及142.环形链表||这两道有关环形链表的求解方案,去求证链表是否带环已经如何找出入环口的结点。 有关环形链表,在BAT等大厂面试中均有出现,一般是属于中等难度的题,需掌握 环形链表| &&…

教你vue-router命令视图应该怎么玩

引言 在VUE实战项目开发中,为了减少代码冗余,便于后期维护,我们经常会把相同布局的代码封装为公共组件,例如移动开发中NavBar导航栏、Tabbar标签栏等公共组件,需要使用时导入、注册、调用即可,但是相对NavB…

JSRPC的三种实现方式

RPC 为远程过程调用,本文通过在浏览器端(服务端)开启一个WebSocket服务,接收命令,执行浏览器网页的加密代码,得到密文。 CMD端(客户端)也开启一个WebSocket服务与浏览器端交互&#…