C语言 操作符_位操作符、赋值操作符、单目操作符

news2025/1/13 1:45:04

1.位操作符

& - 按(2进制)位与
| - 按(2进制)位或
^ - 按(2进制)位异或

只适用于整型

例:实现交换两个变量的值,要求不能新建变量

//3^3 = 0 -> a^a = 0
//011
//011
//000
//0^5 = 5 -> 0^a = a
//000
//101
//101
//3^3^5 = 5
//3^5^3 = 5
//异或支持交换律
//011
//101
//110
//011
//101
 a = a ^ b;//3^5
 b = a ^ b;//3^5^5 --> b = 3
 a = a ^ b;//3^5^3 --> a = 5

练习:编写代码实现,求一个整数存储在内存中的二进制中1的个数

2.赋值操作符

int main()
{
	int a = 3;//初始化

	a = 90;//赋值
	return 0;
}

符合赋值符

+=
-+
*=
/=
%=
>>=
<<=
&=
|=
^=
int main()
{
	int a = 3;


	a = a + 5;
	a += 5;


	a = a >> 1;
	a >>= 1;
	return 0;
}

3.单目操作符

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

a+b   双目操作符  +操作符由2两个操作数

单目操作符

只有一个操作数

在C语言中 0表示假 非0表示真

int main()
{
	int a = 3;
	int b = ++a;//前置++,先++,后使用
	//a = a+1; b = a;
	int b = a++;//后置++,先使用,后++

	int a = 3;
	int b = --a;//前置--,先--。后使用
	//a = a - 1; b = a;
	int b = a--;//后置--,先使用,后--



	return 0;


}

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

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

相关文章

图像处理 | 图像二值化

在图像处理领域&#xff0c;图像二值化是一个重要的操作&#xff0c;它将彩色或灰度图像转换为只有两种颜色&#xff08;通常是黑白&#xff09;的图像。二值化广泛应用于文字识别、图像分割、边缘检测等领域&#xff0c;尤其在处理简洁和高对比度的图像时非常有效。本文将深入…

IP 地址与蜜罐技术

基于IP的地址的蜜罐技术是一种主动防御策略&#xff0c;它能够通过在网络上布置的一些看似正常没问题的IP地址来吸引恶意者的注意&#xff0c;将恶意者引导到预先布置好的伪装的目标之中。 如何实现蜜罐技术 当恶意攻击者在网络中四处扫描&#xff0c;寻找可入侵的目标时&…

Web基础之什么是HTTP协议

Q&#xff1a;什么是HTTP协议&#xff1f; 概念&#xff1a;Hyper Text Transfer Protocol&#xff0c;超文本传输协议&#xff0c;规定了浏览器和服务器之间数据传输的规则。 特点&#xff1a; 1&#xff0e;基于TCP协议&#xff1a;面向连接&#xff0c;安全 2&#xff0e;基…

#渗透测试#谷歌扩展学习#编写一个属于自己的谷歌扩展

目录 一、Chrome扩展程序是什么 二、如何自己编写一个简单谷歌扩展 1. 创建项目文件夹 2. 创建 manifest.json 文件 3. 创建 popup.html 文件 4. 创建 popup.js 文件 5. 加载扩展程序到Chrome浏览器 6. 测试扩展程序 三、Chrome插件图标设计技巧 1. 简洁明了 2. 独特…

LayerNorm的思考

文章目录 1. LayerNorm2. 图解3. softmax4. python 代码 1. LayerNorm y x − E [ x ] v a r ( x ) ϵ ∗ γ β \begin{equation} y\frac{x-\mathrm{E}[x]}{\sqrt{\mathrm{var}(x)\epsilon}}*\gamma\beta \end{equation} yvar(x)ϵ ​x−E[x]​∗γβ​​ 2. 图解 矩阵A …

ExplaineR:集成K-means聚类算法的SHAP可解释性分析 | 可视化混淆矩阵、决策曲线、模型评估与各类SHAP图

集成K-means聚类算法的SHAP可解释性分析 加载数据集并训练机器学习模型 SHAP 分析以提取特征对预测的影响 通过混淆矩阵可视化模型性能 决策曲线分析 模型评估&#xff08;多指标和ROC曲线的目视检查&#xff09; 带注释阈值的 ROC 曲线 加载 SHAP 结果以进行下游分析 与…

Kafka 会丢消息吗?

目录 01 生产者(Producer) 02 消息代理(Broker) 03 消费者(Consumer) 来源:Kafka 会丢消息吗? Kafka 会丢失信息吗? 许多开发人员普遍认为,Kafka 的设计本身就能保证不会丢失消息。然而,Kafka 架构和配置的细微差别会导致消息的丢失。我们需要了解它如何以及何时…

Open FPV VTX开源之第一次出图

Open FPV VTX开源之第一次出图 1. 源由2. 连线2.1 飞控2.2 调试 3. serial3.1 启动log - uboot3.2 登录版本 - linux3.3 获取有线IP 4. ssh - linux5. PixelPilot出图6. 总结7. 参考资料8. 补充 - 8812AU网卡 1. 源由 在《Open FPV VTX开源之硬件规格及组成》章节中&#xff0…

仓颉笔记——写一个简易的web服务并用浏览器打开

创建一个web服务端&#xff0c;同时创建一个客户端去读取这个服务端。 也满足浏览器打开web的需求。 直接上代码。 import net.http.* import std.time.* import std.sync.* import std.log.LogLevel// 1. 构建 Server 实例 let server ServerBuilder().addr("127.0.0.1&…

Trie树算法

Trie树&#xff0c;也称为前缀树或字典树&#xff0c;是一种特殊的树型数据结构。它用于存储一组字符串&#xff0c;使得查找、插入和删除字符串的操作非常高效。类似这种&#xff0c; 模板&#xff1a; 这是用数组来模拟上图中的树的结构&#xff0c;逻辑上和上图结构一致。 …

03-51单片机定时器和串口通信

一、51单片机定时器 1.定时器介绍 1.1为什么要使用定时器 在前面的学习中&#xff0c;用到了 Delay 函数延时&#xff0c;这里学习定时器以后&#xff0c;就可以通过定时器来完成&#xff0c;当然定时器的功能远不止这些&#xff1a; 51 单片机的定时器既可以定时&#xff…

搭建docker私有化仓库Harbor

Docker私有仓库概述 Docker私有仓库介绍 Docker私有仓库是个人、组织或企业内部用于存储和管理Docker镜像的存储库。Docker默认会有一个公共的仓库Docker Hub,而与Docker Hub不同,私有仓库是受限访问的,只有授权用户才能够上传、下载和管理其中的镜像。这种私有仓库可以部…

【深度学习】核心概念-人工神经网络(Artificial Neural Network, ANN)

人工神经网络是一种受生物神经系统启发的机器学习模型&#xff0c;旨在通过连接大量的节点&#xff08;称为神经元或节点&#xff09;来模拟人脑的学习方式。它是一种在监督学习和非监督学习中广泛应用的深度学习模型。 人工神经网络的基本结构 一个人工神经网络通常由以下三个…

切比雪夫插值

切比雪夫插值是一种基于切比雪夫节点的多项式插值方法&#xff0c;其优势是减少插值误差(特别是龙格现象&#xff1a;表现为高维插值时在边缘处插值误差骤增)。本文对其基本操作进行说明。 1. 切比雪夫节点 切比雪夫插值的核心是使用切比雪夫节点作为插值点。切比雪夫节点是切…

ELK的搭建

ELK elk&#xff1a;elasticsearch logstatsh kibana统一日志收集系统 elasticsearch&#xff1a;分布式的全文索引引擎点非关系型数据库,存储所有的日志信息&#xff0c;主和从&#xff0c;最少需要2台 logstatsh&#xff1a;动态的从各种指定的数据源&#xff0c;获取数据…

【物联网原理与运用】知识点总结(上)

目录 名词解释汇总 第一章 物联网概述 1.1物联网的基本概念及演进 1.2 物联网的内涵 1.3 物联网的特性——泛在性 1.4 物联网的基本特征与属性&#xff08;五大功能域&#xff09; 1.5 物联网的体系结构 1.6 物联网的关键技术 1.7 物联网的应用领域 第二章 感知与识别技术 2.1 …

英文字体:复古八十年代优雅品牌邀请函电影标题设计衬线字体 Eighties Nostalgia Font

嘿&#xff0c;大家好&#xff0c;我希望你们一切顺利&#xff0c;考虑到现在世界上发生的一切&#xff0c;你们在生活的各个方面都取得了进步。过去 3 年对我们所有人来说都是过山车&#xff0c;我一直非常怀念美好的时光。怀旧之情将我带到了 Pinterest&#xff0c;自然而然地…

GPT大模型下,如何实现网络自主防御

近年来&#xff0c;随着GPT大模型的出现&#xff0c;安全领域的攻防对抗变得更加激烈。RSAC2023人工智能安全议题重点探讨了人工智能安全的最新发展&#xff0c;包括人工智能合成器安全、安全机器学习以及如何利用渗透测试和强化学习技术来确保人工智能模型的安全性和可靠性。 …

Spring Framework 5.3.x源码构建 (jdk-1.8, gradle 7.5.1, idea2024.3)

1、下载jdk安装并配置环境变量&#xff08;自行百度&#xff09; https://www.oracle.com/java/technologies/downloads/#java8 2、下载spring-framework源码&#xff0c;切换分支到5.3.x https://github.com/spring-projects/spring-framework.git 备用地址 https://gitco…

韩顺平老师Linux学习笔记【持续更新...】

1、课程内容 1.1、课程大纲 1.2、Linux使用在哪些地方 Linux运维工程师Linux嵌入式工程师Linux下开发项目&#xff1a;JavaEE、大数据、Python、PHP、C/C、Go 1.3、Linux的应用领域 个人桌面领域服务器领域&#xff08;最强领域&#xff09;嵌入式领域 2、Linux入门 2.1、…