重生之我在异世界学编程之C语言:操作符篇
大家好,这里是小编的博客频道
小编的博客:就爱学编程
很高兴在
CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!!
本文目录
- 引言
- 正文
- 1. 算术操作符
- 2. 关系(比较)操作符
- 3. 逻辑操作符
- 4. 位操作符
- 5. 赋值操作符
- 6. 其他操作符
- # 快乐的时光总是短暂,咱们下篇博文再见啦!!!不要忘了,给小编点点赞和收藏支持一下,在此非常感谢!!!
引言
C语言是一种功能强大且灵活的编程语言,提供了丰富的操作符用于执行各种运算。这些操作符可以分为几大类:算术操作符、关系(比较)操作符、逻辑操作符、位操作符、赋值操作符以及其他一些特殊操作符。下面是对各类操作符的简单解释和示例。一起跟着小编来看看吧!!!

那接下来就让我们开始遨游在知识的海洋!
正文
算术操作符作为最常用的操作符,常用于执行基本的数学运算。一起看看吧
1. 算术操作符
-
加法 (
+): 两个操作数相加。int a = 5 + 3; // a 的值为 8 -
减法 (
-): 从第一个操作数中减去第二个操作数。int b = 10 - 4; // b 的值为 6 -
乘法 (
*): 两个操作数相乘。int c = 7 * 2; // c 的值为 14 -
除法 (
/): 分子除以分母。如果两个操作数都是整数,结果也是整数(小数部分被丢弃)。而有一个为浮点数结果就为浮点数int d = 20 / 4; // d 的值为 5 float e = 20.0 / 4; // e 的值为 5.0 -
取模 (
%): 求余数。int f = 20 % 3; // f 的值为 2 -
自增 (
++): 操作数的值增加1。int g = 5; g++; // g 的值为 6 -
自减 (
--): 操作数的值减少1。int h = 5; h--; // h 的值为 4
关系操作符用于比较两个操作数的大小或相等性。
2. 关系(比较)操作符
-
等于 (
==): 检查两个操作数是否相等。if (a == b) { /* 如果 a 和 b 相等 */ } -
不等于 (
!=): 检查两个操作数是否不相等。if (a != b) { /* 如果 a 和 b 不相等 */ } -
大于 (
>): 检查左操作数是否大于右操作数。if (a > b) { /* 如果 a 大于 b */ } -
小于 (
<): 检查左操作数是否小于右操作数。if (a < b) { /* 如果 a 小于 b */ } -
大于等于 (
>=): 检查左操作数是否大于或等于右操作数。if (a >= b) { /* 如果 a 大于或等于 b */ } -
小于等于 (
<=): 检查左操作数是否小于或等于右操作数。if (a <= b) { /* 如果 a 小于或等于 b */ }
逻辑操作符用于布尔值的组合运算。
3. 逻辑操作符
-
逻辑与 (
&&): 当且仅当两个操作数都为真时,结果为真。if (a > 0 && b > 0) { /* 如果 a 和 b 都大于 0 */ } -
逻辑或 (
||): 只要有一个操作数为真,结果就为真。if (a > 0 || b > 0) { /* 如果 a 或 b 中至少一个大于 0 */ } -
逻辑非 (
!): 将操作数的布尔值反转。if (!a) { /* 如果 a 为假 */ }
位操作符对整数的二进制表示进行操作。
4. 位操作符
-
按位与 (
&): 对应位都为1时,结果为1。int i = 5 & 3; // i 的值为 1 (二进制: 0101 & 0011 = 0001) -
按位或 (
|): 对应位只要有一个为1,结果为1。int j = 5 | 3; // j 的值为 7 (二进制: 0101 | 0011 = 0111) -
按位异或 (
^): 对应位不同则结果为1。int k = 5 ^ 3; // k 的值为 6 (二进制: 0101 ^ 0011 = 0110) -
按位取反 (
~): 将所有位翻转。int l = ~5; // l 的值为 -6 (二进制: ~0101 = 1010 -> 补码形式为 -6) -
左移 (
<<): 将位的二进制表示向左移动若干位,右边补0。int m = 5 << 1; // m 的值为 10 (二进制: 0101 << 1 = 1010) -
右移 (
>>): 将位的二进制表示向右移动若干位,左边补符号位(正数补0,负数补1)。int n = 5 >> 1; // n 的值为 2 (二进制: 0101 >> 1 = 0010)
赋值操作符用于给变量赋值。
5. 赋值操作符
-
简单赋值 (
=): 将右侧的值赋给左侧的变量。int o = 10; -
复合赋值: 结合算术或位操作符进行赋值。
int p = 5; p += 3; // 等同于 p = p + 3; p 的值为 8 p *= 2; // 等同于 p = p * 2; p 的值为 16
6. 其他操作符
-
条件操作符 (
?:): 三元操作符,根据条件选择两个值中的一个。int q = (a > b) ? a : b; // 如果 a > b,q 的值为 a;否则为 b -
逗号操作符 (
,): 用于顺序求值,返回最后一个表达式的值。int r = (a, b, c); // r 的值为 c -
sizeof 操作符: 返回数据类型或对象在内存中的大小(以字节为单位)。
size_t s = sizeof(int); // s 的值为 int 类型的大小(通常是 4) -
地址 (
&) 和 解引用 (*): 分别用于获取变量的地址和解引用指针。int t = 10; int *ptr = &t; // ptr 存储 t 的地址 int u = *ptr; // u 的值为 10
# 快乐的时光总是短暂,咱们下篇博文再见啦!!!不要忘了,给小编点点赞和收藏支持一下,在此非常感谢!!!
相关文章:
重生之我在异世界学编程之C语言:操作符篇
大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 本文目录 引言正文1. 算术操作符2. 关系࿰…...
365天深度学习训练营-第P7周:马铃薯病害识别(VGG-16复现)
文为「365天深度学习训练营」内部文章 参考本文所写记录性文章,请在文章开头带上「👉声明」 🍺 要求: 自己搭建VGG-16网络框架【达成√】调用官方的VGG-16网络框架【达成√】如何查看模型的参数量以及相关指标【达成√】 &#…...
解密时序数据库的未来:TDengine Open Day技术沙龙精彩回顾
在数字化时代,开源已成为推动技术创新和知识共享的核心力量,尤其在数据领域,开源技术的涌现不仅促进了行业的快速发展,也让更多的开发者和技术爱好者得以参与其中。随着物联网、工业互联网等技术的广泛应用,时序数据库…...
Kubernetes 告警标签规范与最佳实践
1. 前言 在现代化的 Kubernetes 运维环境中,规范的告警标签系统对于快速定位和解决问题至关重要。本文将详细介绍告警标签的设计规范和最佳实践,帮助团队建立高效的告警处理流程。 © ivwdcwso (ID: u012172506) 2. 标签体系设计 2.1 基本概念 告警标签(Labels)是一…...
前端开发 之 15个页面加载特效中【附完整源码】
前端开发 之 15个页面加载特效中【附完整源码】 文章目录 前端开发 之 15个页面加载特效中【附完整源码】八:圆环百分比加载特效1.效果展示2.HTML完整代码 九:毒药罐加载特效1.效果展示2.HTML完整代码 十:无限圆环加载特效1.效果展示2.HTML完…...
rsync+nfs+lrsync服务部署流程
rsyncnfslrsync服务 主机信息 主机角色外网IP内网IP主机名nfs、lsync10.0.0.31176.16.1.31nfs客户端10.0.0.7176.16.1.7web01rsync、nfs10.0.0.41172.16.1.41backup 部署流程 1.backup服务器部署rsync --下载rsync服务 [rootbackup ~]# yum install -y rsync --配置rsync服…...
基于SpringBoot+Vue的宠物咖啡馆系统-无偿分享 (附源码+LW+调试)
目录 1. 项目技术 2. 功能菜单 3. 部分功能截图 4. 研究背景 5. 研究目的 6. 可行性分析 6.1 技术可行性 6.2 经济可行性 6.3 操作可行性 7. 系统设计 7.1 概述 7.2 系统流程和逻辑 7.3 系统结构 8. 数据库设计 8.1 数据库ER图 (1)宠物订…...
SQLServer 服务器只接受 TLS1.0,但是客户端给的是 TLS1.2
Caused by: javax.net.ssl.SSLHandshakeException: the server selected protocol version TLS10 is not accepted by client preferences [TLS12] 原因描述:SQLServer 服务器只接受 TLS1.0,但是客户端给的是 TLS1.2 解决方法如下: 打开文件…...
Golang内存模型总结1(mspan、mcache、mcentral、mheap)
1.内存模型 1.1 操作系统存储模型 从上到下分别是寄存器、高速缓存、内存、磁盘,其中越往上速度越快,空间越小,价格越高。 关键词是多级模型和动态切换 1.2 虚拟内存与物理内存 虚拟内存是一种内存管理技术,允许计算机使用比…...
lobeChat安装
一、安装Node.js version > v18.17.0 二、下载 cd F:\AITOOLS\LobeChat git clone https://github.com/lobehub/lobe-chat.git (下载要是失败就手动下:https://codeload.github.com/lobehub/lobe-chat/zip/refs/heads/main) npm install …...
Android学习8 -- NDK2--练习2(Opencv)
以下是一个简单的安卓项目示例,通过NDK调用OpenCV来处理图像(例如,将彩色图像转换为灰度图像)。 开发环境 安装 Android Studio(支持NDK开发)。配置NDK和CMake(通过Android Studio的SDK Manage…...
nodejs循环导出多个word表格文档
文章目录 nodejs循环导出多个word表格文档一、文档模板编辑二、安装依赖三、创建导出工具类exportWord.js四、调用五、效果图nodejs循环导出多个word表格文档 结果案例: 一、文档模板编辑 二、安装依赖 // 实现word下载的主要依赖 npm install docxtemplater pizzip --save/…...
elasticsearch-如何给文档新增/更新的字段
文章目录 前言elasticsearch-如何给文档新增/更新的字段1. 如何给某些文档新增/更新的字段2. 给所有文档添加/更新一个新的字段3. 测试 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。 而且…...
https/http访问接口工具类,附带ssl忽略证书验证,以及head头部的添加-java版
复制即用 package utils;import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component;import javax.net.ssl.*; import java.io.BufferedReader; import java.io.IOException; impo…...
node.js基础学习-express框架-静态资源中间件express.static(十一)
前言 在 Node.js 应用中,静态资源是指那些不需要服务器动态处理,直接发送给客户端的文件。常见的静态资源包括 HTML 文件、CSS 样式表、JavaScript 脚本、图片(如 JPEG、PNG 等)、字体文件和音频、视频文件等。这些文件在服务器端…...
Python语法基础---正则表达式
🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 我们这个文章所讲述的,也是数据分析的基础文章,正则表达式 首先,我们在开始之前,引出一个问题。也是我们接下来想要解决的问题。…...
Uniapp 微信小程序分享 - 自定义绘制分享图片
技术栈: Uniapp Vue3 简介 因实际业务需求,需要实现微信小程序自定义分享,根据当前数据动态生成(绘制)分享卡片的图片。 基础分享使用 配置此处不在赘述,可查看上篇博客:Uniapp 微信小程序分…...
鸿蒙技术分享:Navigation页面容器封装-鸿蒙@fw/router框架源码解析(三)
本文是系列文章,其他文章见:鸿蒙fw/router框架源码解析(一)-router页面管理鸿蒙fw/router框架源码解析(二)-Navigation页面管理鸿蒙fw/router框架源码解析(四)-路由Hvigor插件实现原…...
三步入门Log4J 的使用
本篇基于Maven 的Project项目, 快速演示Log4j 的导入和演示。 第一步: 导入Log4j依赖 <dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.24.2</version&…...
VBA中类的解读及应用第十八讲:利用类方法,判断任意单元格类型
《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。 类,是非常抽象的,更具研究的价值。随着我们学习、应用VBA的深入࿰…...
实战分享:WAN2.2文生视频结合SDXL风格,用Python打造自动化视频生产线
实战分享:WAN2.2文生视频结合SDXL风格,用Python打造自动化视频生产线 1. 为什么选择WAN2.2SDXL组合进行视频创作 在数字内容爆炸式增长的今天,视频创作已经成为各行各业的基本需求。但传统视频制作流程复杂、成本高昂,让许多创作…...
千问3.5-2B在内容审核中的应用:自动识别敏感图文组合,降低人工复核成本
千问3.5-2B在内容审核中的应用:自动识别敏感图文组合,降低人工复核成本 1. 内容审核的挑战与机遇 每天,互联网上产生数以亿计的图文内容,如何高效识别其中的敏感信息成为平台运营者的重大挑战。传统人工审核方式面临三大痛点&am…...
OpenClaw+Phi-3-vision-128k-instruct对比测试:图文问答精度超越纯文本模型3倍
OpenClawPhi-3-vision-128k-instruct对比测试:图文问答精度超越纯文本模型3倍 1. 测试背景与动机 最近在探索多模态模型的实际应用价值时,我注意到微软发布的Phi-3-vision-128k-instruct模型在图文理解方面有突出表现。作为一个长期使用OpenClaw进行自…...
一文了解光储设计一体化系统
在“双碳”战略与新型电力系统建设的双重驱动下,光储融合已成为新能源领域的核心发展方向。传统光储项目常面临光伏与储能设计割裂、容量配置失准、收益难以预判等痛点,而光储设计一体化系统正是解决这些行业难题的核心工具。它以数字化、智能化技术为核…...
甲言(Jiayan):终极古汉语NLP工具包的完整使用指南
甲言(Jiayan):终极古汉语NLP工具包的完整使用指南 【免费下载链接】Jiayan 甲言,专注于古代汉语(古汉语/古文/文言文/文言)处理的NLP工具包,支持文言词库构建、分词、词性标注、断句和标点。Jiayan, the 1st NLP toolk…...
为什么H5SC是每个开发者必备的安全工具?终极HTML5安全指南
为什么H5SC是每个开发者必备的安全工具?终极HTML5安全指南 【免费下载链接】H5SC HTML5 Security Cheatsheet - A collection of HTML5 related XSS attack vectors 项目地址: https://gitcode.com/gh_mirrors/h5/H5SC 在当今Web开发领域,HTML5安…...
Cache 维护实战:深入理解 ARMv8-A 架构下的 Invalidate 与 Clean 操作
1. 为什么需要关注Cache维护? 在嵌入式开发中,Cache就像是你办公桌上的文件架。当你频繁访问某些数据时,CPU会把这些数据放在Cache里,就像把常用文件放在手边一样。但问题来了:如果文件内容更新了(比如内存…...
RTX4090D优化版Qwen3-32B+OpenClaw实战:低成本构建个人AI工作流
RTX4090D优化版Qwen3-32BOpenClaw实战:低成本构建个人AI工作流 1. 为什么选择本地部署大模型OpenClaw组合 去年我开始尝试用AI自动化处理日常工作,最初直接调用公有云API,但很快遇到三个痛点:一是敏感文件不敢上传第三方服务&am…...
文墨共鸣部署案例:中小企业低成本部署水墨风语义分析SaaS前端
文墨共鸣部署案例:中小企业低成本部署水墨风语义分析SaaS前端 1. 项目介绍与价值 文墨共鸣是一个将深度学习技术与传统水墨美学完美结合的语义分析系统。这个项目专门为中文文本设计,能够智能分析两段文字之间的语义相似度,判断它们是"…...
个人电脑也能玩转大模型!Llama Factory+QLoRA微调实战,RTX4060即可运行
个人电脑也能玩转大模型!Llama FactoryQLoRA微调实战,RTX4060即可运行 你是不是也以为,训练一个属于自己的大语言模型,是那些拥有昂贵服务器和顶级显卡的大公司才能做的事?动辄几十GB的显存需求,让很多个人…...
