C语言中操作符详解(一)

news2024/11/22 17:09:01

众所周知,在我们的C语言中有着各式各样的操作符,并且在此之前呢,我们已经认识并运用了许许多多的操作符,都是诸君的老朋友了昂

操作符作为我们使用C语言的一个非常非常非常重要的工具,诸君一定要加以重视,认真理解,学会灵活运用。那么今天,我们就来系统的讲解一下C语言中的各式操作符

一 . 操作符的分类

(1) 算术操作符: +   -   *   /   %
(2) 移位操作符:   <<  、 >>
(3) 位操作符:    &  、|  、 ^
(4) 赋值操作符:    =   +=   -=   *=   /=   %=   <<=   >>=   &=   |=   ^=
(5) 单目操作符: !、 ++   --   &   *   +   -   ~   sizeof   ( 类型 )
(6) 关系操作符:   > >=   <   <=   ==   !=
(7) 逻辑操作符: &&   ||
(8) 条件操作符: ?  :
(9) 逗号表达式: ,
(10) 下标引用:   [ ]
(11) 函数调用: ( )  
(12) 结构成员访问:   .   ->  

以上为诸君罗列了一些在C语言中我们常用的操作符,在此之前,我们已经介绍过了算术操作符、赋值操作符、逻辑操作符、条件操作符和一部分单目操作符

不知道的诸君呢,可以移步到以下链接看看哦

 算术、赋值、复合赋值、单目操作符:C语言中的操作符-CSDN博客

关系、条件、逻辑操作符:关系操作符,条件操作符与逻辑操作符_关系模式操作符-CSDN博客

在讲操作符之前呢,我们需要铺垫一下,所以我们先来认识一下C语言中的原码、反码、补码

二 . 原码、反码、补码

众所周知,计算机用的都是二进制运算法,而在我们的计算机系统中,整数的二进制的表达方式有三种,这就是我们的原码、反码、补码

我们整数分为有符号整数无符号整数是吧,通俗点儿说,就是有负号的只有正整数的,那么在这其中,有符号整数的三种表达方式均有符号位数值位两部分,在二进制序列中,最高位的 1 位是被当做符号位,剩余的都是数值位

符号位用 “ 0 ” 表示 “ 正 ”,用 “ 1 ” 表示 “ 负 ”

正整数的原码、反码、补码都相同负整数的原码、反码、补码表达方式各有不同

(1)原码

直接将数值按照正负数的形式翻译成二进制,得到的32位数就是该数的原码

(2)反码

原码最高的符号位不变,其他位置依次按位取反(0变1,1变0),就可以得到反码

(3)补码

反码 + 1 就可以得到补码

补码可以通过取反、 + 1 的操作得到原码

对于整形来说:数据存放在计算机内存中其实质就是存放的补码

三 . 移位操作符

左移操作符: <<

右移操作符: >>

(移位操作符只能作用于整数)

(1)左移操作符

移位准则:左边抛弃,右边补 0 

左移操作符图解:

(2)右移操作符

移位准则:(右移运算分为两种)

1 . 逻辑右移:右边抛弃,左边填 0

2 . 算术右移:右边抛弃,左边用原该值的符号位填充

由此可见,我们VS中默认用的应该是算术右移的准则

逻辑右移图解:

算术右移图解:

注意:对于移位运算符的运用,只能进行移动正单位的操作,不能左移(右移)- 1 单位,这不能代表右移(左移)- 1 个单位

OKK,有关部分操作符的知识点今天就讲到这里,欲知后事如何,且听下回分解,咱们下期见!与诸君共勉!!!

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

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

相关文章

pretender:一款功能强大的红队MitM安全测试工具

关于pretender pretender是一款功能强大的红队MitM安全测试工具&#xff0c;该工具专为红队研究人员设计&#xff0c;该工具不仅能够进行MitM和中继攻击&#xff0c;而且还支持执行DHCPv6 DNS接管以及mDNS、LLMNR和NetBIOS-NS欺骗攻击。在该工具的帮助下&#xff0c;广大研究人…

51单片机STC89C52RC——4.1 独立按键(数码管显示按键值)

目录 目录 目的 一&#xff0c;STC单片机模块 二&#xff0c;矩阵按键模块 2.1 针脚定义 ​编辑 2.2 矩阵按键位置 2.3 如何理解按键按下后针脚的高低电平 2.3.1 错误理解1 2.3.2 错误理解2 2.3.3 正确判定按下的是那个按键的逻辑 2.3.4 判定按键按下的依次扫描程…

186.二叉树:二叉搜索树中的插入操作(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* Tre…

ASP.NET Core 6.0 多种部署方式

IIS 环境准备和部署 安装并配置 IIS 安装 IIS&#xff0c;在搜索输入并打开 启用或关闭 Windows 功能。 配置IIS 需要配置 ASPNETCore 部署IS 程序包安装 &#xff08;ASP.NET Core Module v2&#xff09; Download .NET 6.0 (Linux, macOS, and Windows).NET 6.0 downloads…

鸿蒙开发系统基础能力:【@ohos.accessibility (辅助功能)】

辅助功能 说明&#xff1a; 本模块首批接口从 API version 7 开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import accessibility from ohos.accessibility;AbilityState 辅助应用状态类型。 系统能力&#xff1a;以下各项对应的…

电子杂志制作工具推荐:让你轻松成为编辑大人

在这个数字化的时代&#xff0c;电子杂志已经成为信息传播的重要载体。它不仅能够满足人们对阅读的需求&#xff0c;还能够提供更加丰富、互动的阅读体验。因此&#xff0c;掌握一款好用的电子杂志制作工具&#xff0c;已经成为每个编辑大人的必备技能。接下来告诉大家一个超简…

永磁同步电机驱动死区补偿

1 死区效应及补偿 1. 1 死区效应 在本文的电机控制嵌入式系统中,逆变器为三 相电压型桥式逆变电路,如图 1 所示。 在理想状态 下,上桥臂和下桥臂的控制信号满足互补通断原则, 即上桥臂开通时,下桥臂关断,反之亦然。 而在实际 应用中,开关管的通断需要一定的开通时…

Java项目:基于SSM框架实现的绿色农产品推广应用网站果蔬商城水果商城蔬菜商城【ssm+B/S架构+源码+数据库+答辩PPT+毕业论文】

一、项目简介 本项目是一套基于SSM框架实现的绿色农产品推广应用网站果蔬商城水果商城蔬菜商城 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能…

容器之按钮盒构件演示

代码; #include <gtk-2.0/gtk/gtk.h> #include <glib-2.0/glib.h> #include <gtk-2.0/gdk/gdkkeysyms.h> #include <stdio.h>int main(int argc, char *argv[]) {gtk_init(&argc, &argv);GtkWidget *window;window gtk_window_new(GTK_WINDO…

如何使用Windows备份轻松将数据转移到新电脑?这里有详细步骤

序言 我们都知道那种买了一台新电脑,就想直接上手的感觉。我记得在过去的日子里,要花几个小时传输我的文件,并试图复制我的设置。在当今传输数据的众多方法中,Windows备份提供了一个简单可靠的解决方案。 登录到你的Microsoft帐户 Microsoft在传输过程中使用其云存储来保…

理解 JTBD 框架和EJ 理念:深挖以用户为中心的设计

在与用户的交流中&#xff0c;我们发现对用户需求的精准洞察普遍困扰着产品经理、设计、企划人员&#xff0c;因为当今消费者行为已经由单品消费转向场景消费&#xff0c;千人千面的个性化需求出现&#xff0c;消费者数据维度极大丰富&#xff0c;这对把握用户体验造成了很大挑…

第六十六天打卡 | 卡码网101 孤岛的总面积、卡码网102 沉没孤岛、卡码网103 水流问题、卡码网104 建造最大岛屿

卡码网101 孤岛的总面积 这一题在昨天的基础上&#xff0c;将比较得出最大孤岛面积的逻辑改为统计所有孤岛面积之和的逻辑即可。 最近做项目的时候也发现&#xff0c;很多时候代码逻辑能够复用最好就不要再自己写&#xff0c;防止出错&#xff0c;当然刷代码题的时候不…

【已解决】手机进入fastboot无法退出

文章目录 报错及效果图报错代码效果图 解决方案必要的解决方法可能有用的解决方法 报错及效果图 报错代码 手机屏幕显示fastboot&#xff0c;长按电源键无法正常启动 效果图 解决方案 必要的解决方法 1.在电脑上下载并安装adb/fastboot驱动&#xff0c;可以在这里免费下载&…

功能测试【测试用例模板、Bug模板、手机App测试】

功能测试 Day01 web项目环境与测试流程、业务流程测试一、【了解】web项目环境说明1.1 环境的定义&#xff1a;项目运行所需要的所有的软件和硬件组合1.2 环境(服务器)的组成&#xff1a;操作系统数据库web应用程序项目代码1.3 面试题&#xff1a;你们公司有几套环境&#xff1…

【对抗去偏】BiasAdv: Bias-Adversarial Augmentation for Model Debiasing

原文标题&#xff1a; BiasAdv: Bias-Adversarial Augmentation for Model Debiasing 原文代码&#xff1a; 暂无 发布年度&#xff1a; 2023 发布期刊&#xff1a; CVPR 摘要 Neural networks are often prone to bias toward spurious correlations inherent in a dataset, …

路由器的Wi-Fi性能是否限制了你的网速?这里有你想要的答案

​你的无线网络速度阻碍了你吗?信不信由你,升级到超快的互联网计划可能不值得。以下是如何判断路由器的Wi-Fi速度是否阻碍了你,以及你能做些什么。 如何测试你的Wi-Fi速度 比较你的有线速度和无线速度可以表明你的路由器是否阻碍了你。虽然很多人认为“Wi-Fi”和“互联网”…

网络虚拟化考题

vrrp讲过吗&#xff1f;&#xff1f;&#xff1f; d 每一层都是什么设备啊 abcd 为啥流量不可控不可视 c是啥意思 讲过吗 abc aNET网络虚拟化是啥啊 为啥&#xff1f;&#xff1f; 啥是CDN&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;

【python】OpenCV——Color Correction

文章目录 cv2.aruco 介绍imutils.perspective.four_point_transform 介绍skimage.exposure.match_histograms 介绍牛刀小试遇到的问题 参考学习来自 OpenCV基础&#xff08;18&#xff09;使用 OpenCV 和 Python 进行自动色彩校正 cv2.aruco 介绍 一、cv2.aruco模块概述 cv2.…

关于微信小程序取消获取用户昵称的一些思考

官方说明&#xff0c;有部分小程序乱用授权&#xff0c;强迫用户提交头像和昵称。 核心是微信担心用户信息被滥用。 其一 &#xff0c;微信头像经常是本人真是照片&#xff0c;在现在人工智能算法的加持下&#xff0c;人脸数据太容易被套取。 其二&#xff0c;微信名称同理&…

node版本过高出现ERR_OSSL_EVP_UNSUPPORTED错误

错误原因&#xff1a; 新版本的nodejs使用的openssl和旧版本不同&#xff0c;导致出错 解决方法&#xff1a; 1.将node版本重新换回16.x 2 windows 下 在package.json文件下添加set NODE_OPTIONS--openssl-legacy-provider && "scripts": {"dev"…