C语言--操作符

news2024/11/20 20:31:40

文章目录

  • 一、数据的存储
  • 二、算术操作符
  • 三、移位操作符
    • 左移位操作符<<
    • 右移操作符
  • 四、位操作符
  • 五、赋值操作符
  • 六、单目操作符
    • sizeof
    • 前后置++
  • 七、关系操作符

一、数据的存储

如果想要准确的掌握每个操作符的作用,那么首先需要理解数据在计算机中的存储和运算规则。

  • 我们的数据以二进制原码形式进入计算机,在计算机中储存时变为补码形式,当再次显示的时候又会变为原码形式
  • 正数的原反补相同
  • 负数:原码除符号位(0为正,1为负)外取反变为反码(0变为1或1变为0),反码加一变为补码
  • 计算机的运算时数据已经转为补码形式,也就是说数据是以补码进行的。

二、算术操作符

算数操作符就是我们常见的那几种:
(+,-,*,/,%)

  1. 出了%以外,其他操作符可以作用于整数和浮点数。
  2. 对于/操作符如果两个操作数都为整数,执行整数除法,而只要有浮点数执行的就是浮点数除法
  3. %操作符的两个操作数必须位整数。返回的是整除之后的余数。

三、移位操作符

左移位操作符<<

以为规则:左边抛弃,右边补0

int num = 10;
其原反补码为:
00000000000000000000000000001010
int num = -10;
其原码为:
00000000000000000000000000001010
反码为:
01111111111111111111111111111010
补码为:
01111111111111111111111111111011

右移操作符

移位规则:

  1. 逻辑移位:左边用0填充,右边丢弃
  2. 算数移位:左边用原该值的符号填充,右边丢弃。

四、位操作符

int a = 0;
int b = 0
-----------------------------
&     //按位与
a&b
两个为1才为1,否则为0
-----------------------------
|     //按位或
a|b
两个为0才为0,否则为1
-----------------------------
^     //按位异或
a^b
相同为0,不同为1 
-----------------------------
☃️他们的操作数必须都为为整数

五、赋值操作符

int a = 0;
int b = 1;
a=b //意思为把b的值赋给a(支持连等,从右向左依次赋值)
# 六、复合赋值符

int x = 10;
x = x+10;//与下面等价
x +=10;//复合赋值符

六、单目操作符

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

sizeof

既是操作符又是关键字,用于计算所占内存大小,单位为字节,sizeof内部的数据不进行运算
在这里插入图片描述

前后置++

七、关系操作符

>
>=
<
<=
!=   //用于测试不相等
==   //用于测试相等

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

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

相关文章

解决智能化的最后「一公里」:深度解读小匠物联产测系统

作者 | 牧之 编辑 | 小沐 出品 | 智哪儿 zhinaer.cn测试是智能家电等产品走向交付的最后一个环节。与普通产品相比&#xff0c;智能化产品由于功能多元&#xff0c;涉及模组通信和编程&#xff0c;其可能存在问题的点位也多了起来。而作为专业的AIoT智能化解决方案服务商&#…

三、Flex布局简介

目录 一、Flex布局简介 什么是flex布局&#xff1f; flex属性 二、视图层 View WXML 三、会议OA项目-首页 一、Flex布局简介 布局的传统解决方案&#xff0c;基于盒状模型&#xff0c;依赖 display属性 position属性 float属性 什么是flex布局&#xff1f; 1) Flex是…

电脑Tab键有什么功能?分享Tab键的6个妙用

Tab键tabulator key 的缩写&#xff0c;意思是跳格键。基本用法是可以用来绘制无边框的表格&#xff0c;还可以在单词间留下间隔&#xff0c;一般等于八个空格的长度。但是您知道电脑Tab键有什么功能吗&#xff1f;以下一些关于Tab键的使用和功能的介绍&#xff0c;希望这些可以…

Kibana:圣诞老人使用 Kibana Dashboards 驾驶他的雪橇!

又到了每年一度的圣诞节了。圣诞老人今年开始向各个国家发放礼物了。他驾驶着自己的雪橇挨个国家发放礼物了。我们收集了去世界过个国家的首都的地理位置信息&#xff0c;并按照一定的顺序来发放礼物。我们可以轻松地使用 Elastic Stack 中的 Kibana 来创建一个 Maps 可视化来展…

Elmedia Player - Mac 上最好用的音视屏媒体播放器

Elmedia Player - Mac 上最好用的音视屏媒体播放器 Elmedia是macOS的富媒体播放器&#xff0c;支持多种文件格式&#xff0c;包括大多数视频和音频。一些支持的文件类型包括FLV, SWF, WMV, AVI, MOV, MP4, MP3, DAT, FLAC, M4V, MPG和MKV。它不仅有多种格式&#xff0c;而且还为…

刷爆力扣之电话号码的字母组合

刷爆力扣之电话号码的字母组合 HELLO&#xff0c;各位看官大大好&#xff0c;我是阿呆 &#x1f648;&#x1f648;&#x1f648; 今天阿呆继续记录下力扣刷题过程&#xff0c;收录在专栏算法中 &#x1f61c;&#x1f61c;&#x1f61c; 该专栏按照不同类别标签进行刷题&…

【语义感知:IVIF:实时:高级视觉任务循环】

Image fusion in the loop of high-level vision tasks: A semantic-aware real-time infrared and visible image fusion network &#xff08;高级视觉任务循环中的图像融合&#xff1a;一种具有语义感知的实时红外与可见光图像融合网络&#xff09; 本文提出了一种语义感知…

【Vue 快速入门系列】如何更优雅的使用vuex进行组件间通信

文章目录前言一、vuex是什么&#xff1f;二、vuex的使用三、四个重要的映射函数四、多组件数据共享五、模块化使用vuex前言 前面介绍过几种可以实现组件间通信的方式props、ref、自定义事件绑定、全局事件总线、插槽…&#xff0c;这些要么就是实现组件间通信只能在特定条件下…

一个基于.Net开发的Windows截屏录制工具

今天给大家推荐一个UI漂亮、功能强大的截屏录制工具。 项目简介 这是基于.Net开发的&#xff0c;屏幕截图、录屏的开源项目。功能非常强大&#xff0c;功能列表如下&#xff1a; 1、截图&#xff1a;全屏截图、滚动截图、检测窗口截图、自动截图、倒计时截图 2、录制&#…

Treap树堆

1.概念 当串行一直插入连续的数字&#xff0c;会导致树成为一个链表&#xff0c;时间复杂度变为0N 树堆概念&#xff1a; 主要体现的思想是随机插入数字&#xff0c;会给每个数字赋予一个优先级——>目的是让插入的关键字满足二叉树&#xff08;节点的性质满足&#xff08…

155. SAP Smart Table 的 Personalization(个性化配置)

本教程的前一步骤,我们介绍了 SAP Smart Table 和 Smart Filter Bar 配合起来的使用方法: SAP UI5 应用开发教程之一百五十四 - SAP UI5 Smart Table 和 Smart Filter Bar 的联合使用方法介绍本文我们在此基础上更进一步,为 Smart Table 增添一个 Personalization(个性化配置…

蓝桥杯备赛Day2——知识拾遗

目录 字符串 格式化输出 字符串的常用方法 1、去掉空格和特殊符号 2、字符串的测试和替换函数 3、字符串的分割 4、连接字符串 5.截取字符串(切片&#xff09; ​编辑 6、eval函数 7、关键字in&#xff08;返回布尔值&#xff09; 8、startswith()、endswith() 9、…

第5章 管理端(Vue)布局面的重构与路由的全局存储

1 重构路由&#xff1a;src\router\index.js import { createRouter, createWebHashHistory } from vue-router import HomeView from ../views/HomeView.vue //注意&#xff1a;path属性所对应的字符串不能与“*.vue”文件名相同否则会出现错误。 const routes [{ path: …

https搭建-基于phpstudy+openssl实现https网站搭建

目录 一、前言 1.https简介 2.生成ssl证书 二、下载安装phpstudy 1.下载phpstudy 2.启动phpstudy 三、利用openssl证书搭建https 1.进行phpstudy的配置https 2.把CA自签名证书导入受信任的根证书中 3.更改主机host文件 一、前言 1.https简介 HTTPS &#xff0c;是以…

扫雷游戏的设计——大型程序的设计思路

目录 &#x1f33a;了解扫雷游戏的作用原理并梳理思路 &#x1f33a;扫雷游戏前期部分完善 &#x1f337;文件的创建 &#x1f337;创建菜单&#xff0c;完善主函数 &#x1f333;代码呈现&#xff1a; &#x1f33a;扫雷游戏主题内容 &#x1f335;第一步初始化棋盘 &#x1…

CSDN博客运营团队2022年H2总结

前言 在2022年的年中&#xff0c;我们对外公布了我们的年中盘点&#xff1a;2022年上半年部分团队的总结 我们希望尽可能的公开我们的工作内容&#xff0c;让更多人可以了解CSDN的变化&#xff0c;同时也希望收到大家的真实反馈&#xff1a;你期待的新功能上线了吗&#xff1…

创建react项目

1.安装Node.js:官网Node.js下载 2.检查安装 3.命令安装&#xff1a;cnpm:npm install -g cnpm --registryhttps://registry.npm.taobao.org(cnpm比较快) 4.查cnpm安装是否成功&#xff1a;命令&#xff1a;cnpm -v 5.react脚手架安装命令&#xff1a;cnpm i -g create-react…

深度!用“极速统一”,开启金融行业数据分析新范式

作者&#xff1a;51CTO 赵立京 数据库作为金融信息系统的核心基础设施&#xff0c;历经数十年发展&#xff0c;为金融行业转型升级提供了有力的技术支撑。同时&#xff0c; 以银行为代表的金融行业是数据库销售额占比最高的市场&#xff0c;也是对数据库技术依赖度最高、要求最…

写出更现代化的Python代码:聊聊 Type Hint

Type Hint是 Python 3.5 新增的支持&#xff0c;中文可以译为 类型提示。屏幕前的你或许听过&#xff0c;又或许没有。所以今天&#xff0c;让我们一起了解了解。本文基于 Python 3.10.4&#xff0c;部分代码需要在 Python 3.10.0 及以上运行&#xff0c;原因在后续文章中会有说…

kali系统渗透window实现屏幕监控

1安装 VMware15.5,kali系统&#xff0c;桥接模式 链接&#xff1a;https://pan.baidu.com/s/1Y3ftPnzCj0NaMQNDAhIUjw 提取码&#xff1a;3k2w 2修改sshd_config vim /etc/ssh/sshd_config 去掉这两行注释 完成后保存 esc : wq! 重启SSH服务 /etc/init.d/ssh restart Fina…