当前位置: 首页 > article >正文

运算符的种类以及基本用法

一、算术运算符最基础运算符名称示例说明加法358正数 / 加法运算-减法 / 负号5-32减法或表示负数如-5*乘法3*515注意不是×是*/除法5/22整数除法舍去小数5.0/22.5%取模取余5%21仅适用于整数除数不能为 0算数运算符是字符型吗?这是一个非常容易混淆的概念我们需要区分“运算符本身”和“运算符在代码中的写法”。1. 核心结论算术运算符如,-,*,/它们是语法符号代表一种操作动作。它们不是字符型数据char也不能像字符一样被存储、打印或参与数学计算。字符型数据char是用来存储单个字符如A,1,的数据类型。2. 详细对比分析为了让你彻底明白我们来看一个具体的例子❌ 错误理解把运算符当字符如果你写char op ; // ❌ 报错编译器会懵你想让 op 等于什么这是错误的因为在这里被编译器理解为“加法动作”而不是一个字符。✅ 正确理解字符型的如果你想把加号作为一个字符存起来比如为了打印出来显示你必须加上单引号char op ; // ✅ 正确这里 是一个字符数据它的 ASCII 码是 43 printf(%c, op); // 输出3. 三种情况的对比表写法含义数据类型能否参与数学运算例子加法运算符无类型 (语法符号)能(作为动作)int c a b;(执行加法)加号字符char(整型)能(作为数字 43)int c a ;(97 43)加号字符串char*(指针)不能printf(%s, );4. 常见误区演示误区一我想动态选择运算符很多初学者想这样写char op ; int result 10 op 5; // ❌ 严重错误解释C 语言不支持把字符变量直接当成运算符用。编译器在编译时就必须知道你要做什么运算它不会在运行时去读变量op里的字符然后执行加法。解决方法必须用if或switch判断字符然后手动执行对应的运算。if (op ) { result 10 5; } else if (op -) { result 10 - 5; }误区二运算符是字符串吗printf(%s, ); // ❌ 错误解释不是字符串不能用%s打印。如果你想打印加号这个符号要么直接写在格式串里printf()要么用字符%c打印。5. 总结算术运算符(,-,*,/,%) 是命令告诉编译器“做加法”、“做减法”。它们不是数据。字符型(char) 是数据用来存储信息。如果你想存储或传递一个运算符号比如用户输入了号你需要用char op ;注意单引号。如果你想执行运算你必须直接在代码里写a b或者通过if/switch根据字符变量来调用对应的运算符。一句话口诀没引号是动作运算符单引号是数据字符双引号是文本字符串。二、赋值运算符赋值 / 更新变量运算符名称示例等价写法基础赋值a5—加后赋值a3aa3-减后赋值a-3aa-3*乘后赋值a*3aa*3/除后赋值a/3aa/3%取模后赋值a%3aa%3左移后赋值a3aa3按位与赋值a3aa3三、位运算符操作二进制位运算符名称规则示例8 位二进制按位与对应位都为 1 则为 1否则为 000001111 00001000 00001000|按位或对应位有一个 1 则为 1否则为 000000111 | 00001000 00001111^按位异或对应位不同则为 1相同则为 000001111 ^ 00001000 00000111~按位取反0 变 11 变 0补码运算~00000001 11111110对应 - 2左移所有位左移 n 位右侧补 0等价 ×2ⁿ13 800000001→00001000右移所有位右移 n 位正数左侧补 0负数补 183 100001000→00000001在 C 语言中按位取反运算有一个通用公式∼n−(n1) 例~5-51核心用法| 置 1num | (1n) → 把第 n 位设为 1 清零num ~(1n) → 把第 n 位设为 0^ 取反num ^ (1n) → 把第 n 位翻转功能表达式原理简述示例效果设置为1n (1 k)或运算有1则1清除为0n ~(1 k)与取反构造“除k位外全1”的掩码0111 → 0101检查是否为1if (n (1 k))与运算结果为0则否非0则是0101 0100 ≠0四、比较运算符判断条件用于比较两个值的大小 / 相等关系返回 1真或 0假运算符名称示例结果真 1假 0大于531小于530大于等于551小于等于530等于530!不等于5!31五、逻辑运算符组合条件运算符名称规则示例逻辑与两边都为真才为真否则为假短路运算(53)(21)1||逻辑或有一边为真就为真短路运算(53)||(21)1!逻辑非真变假假变真!(53)0六、其他常用运算符运算符名称示例说明自增a/a后置先使用后 1前置先 1 后使用--自减a--/--a同上()括号(ab)*3提升运算优先级,逗号a3,b5从左到右执行返回最后一个值七、运算符优先级表优先级类别运算符结合性 (方向)说明1括号/访问()[]-.左 → 右函数调用、数组下标、成员访问2单目运算符---!~*(解引用)(取地址)sizeof(type)(强制转换)右 ← 左自增自减、正负号、逻辑非、按位取反、指针操作3算术运算*/%左 → 右乘、除、取余4算术运算-左 → 右加、减5移位运算左 → 右左移、右移 (你刚才问的在这里!)6关系运算左 → 右小于、大于等7相等运算!左 → 右等于、不等于8位与左 → 右按位与 (注意优先级高于^和 9位异或^左 → 右按位异或10位或|左 → 右按位或 (注意优先级高于)11逻辑与左 → 右逻辑与 (短路)12逻辑或||左 → 右逻辑或 (短路)13条件运算?:右 ← 左三元运算符 (a ? b : c)14赋值运算-*/%^|右 ← 左各种赋值 (优先级非常低!)15逗号,左 → 右逗号表达式 (优先级最低)

相关文章:

运算符的种类以及基本用法

一、算术运算符(最基础) 运算符名称示例说明加法358正数 / 加法运算-减法 / 负号5-32减法或表示负数(如 -5)*乘法3*515注意:不是 ,是 */除法5/22整数除法舍去小数,5.0/22.5%取模(取…...

Windows提权(一)———系统内核溢出漏洞提权

声明 本博客内容仅供技术学习与安全研究之用,严禁用于任何非法或未授权的活动。转载需注明出处。因不当使用导致的后果,作者不承担责任。 溢出漏洞是一种计算机程序的可更正性缺陷。溢出漏洞的全名:缓冲区溢出漏洞。因为它是在程序执行的时候…...

API 的分布式世界 vs COM 的语言桥梁:典型应用场景深度解析

典型应用场景:API:构建现代分布式系统,如微服务、Web应用、移动后端、IoT设备通信;COM:使不同语言编写的软件组件(如C组件被C#、Python调用)在Windows上协同工作。对 API 和 COM 的典型应用场景…...

dumpsys netstats detail 输出解释netd的app的网络流量统计

dumpsys netstats detail 输出解释 重启后,数据会清零,从新统计 UID tag stats: Pending bytes: 27977 History since boot: ident[{type9, ratTypeCOMBINED, meteredtrue, defaultNetworktrue, oemManagedOEM_NONE, subId-1}] uid1000 setDEFAULT tag0x…...

回归分析((>^ω^<)喵)

回归分析找到2个数据以上的的关系做预测的。是预测数字形的而不是男还是女这种问题1.举例略说这是一张图,是学习时间与成绩的回归分析,这条红线是回归线Xx是自变量,是用于预测的,例如学习时间,是因Yy是因变量 &#xf…...

高等数学 定理及习题

本文涉及知识点 数学 《高等数学》(上册) 第一章 函数与极限 第一节 映射与函数 第二节 数列的极限 第三节 函数的极限 第四节 无穷小与无穷大 第五节 极限运算法则 第六节 极限存在准则 两个重要极限 第七节 无穷小的比较 第八节 函数的连续性…...

2026 国内 ChatGPT 镜像站推荐

📖 国内直接访问,支持 GPTs、绘图、文件分析,对话数据隔离 ✅ 写方案/周报,描述需求直接生成,5分钟搞定 ✅ 代码报错,粘贴进去秒出解决方案 ✅ 读文件/PDF,上传即可提问,不用逐字看…...

C251编译器变量分配与内存空间解析

1. C251编译器变量分配问题解析最近在Keil C251开发环境中遇到一个有趣的现象:编译器似乎将部分变量分配到了特殊功能寄存器(SFR)的内存空间。查看链接器生成的MAP文件时,发现如下信息:0000DDH 0000EAH 00000EH BYTE UNIT EDATA …...

Perforce 2025.2 REST API 技术预览版发布:开启“无客户端”运维新时代

Perforce 2025.2 REST API 技术预览版发布:开启“无客户端”运维新时代 在上一期“ Perforce on Tour 游戏研发效能进阶沙龙”回顾文章中,我们分享了Perforce 资深技术工程师 Kory Luo关于P4 MCP(Model Context Protocol)服务器的…...

OpsKat v1.3.0 - SSH、数据库集中管理工具

平时操作服务器环境,经常要打开好几个工具来回切换,想着能不能直接跟 AI 说一句话就搞定,于是做了 OpsKat ,就算你不使用 AI 功能,常用的资产操作都集成在一起,也不用再在好几个工具之间跳了。举几个实际使…...

2026年数据驱动经济与信息管理国际学术会议(DDEMI 2026)

2026年数据驱动经济与信息管理国际学术会议(DDEMI 2026)会议时间:2026年8月07日-09日会议地点:江苏-南京截稿日期:2026年7月31日录用结果:投稿后1周内收录检索:EI Compendex, Scopus【大会简介】…...

图片批量识别提取信息

图片批量识别提取信息工具,是用aardio写的,调用微信OCR识别图片中的信息,识别正确率非常高,用于提取各类证件和文档,对于在基层村、社区工作的人员是很有帮助的。 喜欢的朋友可以下载试用。分享了「图批量识别提取信息…...

stm32f4 + Helix + Max98357播放mp3文件

stm32f4的SDIO + FataFs读取SD卡文件在前面的文章中已经实现,下面的配置和修改基于之前的配置实现 配置I2S 模式设置 参数设置 DMA配置 勾选 SPI2 global interrupt 以上都配置完Helix 解码出来的 PCM 数据就发给 MAX98357了 Helix解码库移植...

职业会崩塌,岗位会消失,聪明的技术人该何去何从?

凌晨两点,写字楼的灯还亮着。我盯着屏幕上第 37 次运行的测试用例,咖啡杯里沉淀着今天的第三份浓缩。突然弹出一条消息:“系统架构升级,你的岗位可能被优化”。那一刻,我忽然意识到:我精心打磨的"职业…...

国产信创ARM架构系统的备份与还原

ARM架构系统的备份与还原这里以【银河麒麟桌面系统】为例进行演示操作,其余的ARM架构的服务器或桌面 操作系统进行备份与还原都是一样的步骤,详细操作如下所示: 2.1、使用再生龙通过ssh方式克隆备份系统(推荐) 2.1.1…...

SAP LeanIX: 从“手工台账”到“EA中枢“

在上一篇文章中,我们跟着PumpTech走完了一整圈——从体检、找堵点、数据验证,到画目标蓝图、排路线图。最后我们提炼了一套“五步法”和一个“三维评估矩阵”,算是把EA方法论从书本拽到了地上。 但故事讲完后,有一个问题始终悬而…...

兄弟反目成仇?《易经》深挖人性:猜疑才是最大祸根

你有没有过这样的经历?关系最好的朋友或同事,因为一个误会,突然就成了“最熟悉的陌生人”。你解释,他觉得你掩饰;你沉默,他觉得你默认。最后,好好的关系,硬生生被“猜疑”这把刀&…...

【NotebookLM效应量计算实战指南】:20年统计学专家亲授3大避坑法则与5步精准计算流程

更多请点击: https://kaifayun.com 第一章:NotebookLM效应量计算的核心概念与适用场景 NotebookLM 是 Google 推出的基于用户上传文档进行语义理解与推理的实验性 AI 工具。其“效应量计算”并非内置统计模块,而是指用户在利用 NotebookLM 对…...

数据库局部变量,全局变量,流程控制

前言知识点什么时候用?局部变量调试脚本、存储过程参数、临时存值全局变量获取执行状态、错误处理IF/WHILE条件判断、批量数据处理视图简化复杂查询、统一查询逻辑索引加快查询速度函数封装可复用的计算逻辑存储过程封装复杂业务、批量操作一SQL局部变量变量1.是什么…...

ElevenLabs广西话输出突然失真?一文定位3类隐藏错误:声母浊化丢失、入声韵尾截断、连读变调失效

更多请点击: https://intelliparadigm.com 第一章:ElevenLabs广西话语音输出失真现象概览 ElevenLabs 作为当前主流的AI语音合成平台,其多语言支持能力广受开发者青睐。然而,在针对广西话(粤语勾漏片与邕浔片混合变体…...

H3CSE 高性能园区网:生成树保护机制

H3CSE 高性能园区网:生成树保护机制一、生成树保护机制1. BPDU保护1.1 边缘端口特点及问题端口基础特性存在的安全隐患1.2 BPDU保护机制核心防护逻辑机制运行优势1.3 BPDU保护配置配置使用规范H3C设备配置命令2. 根桥保护2.1 根桥保护机制2.2 根桥保护配置要求2.3 根…...

在内容生成流水线中集成多模型 API 以提升创作多样性

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在内容生成流水线中集成多模型 API 以提升创作多样性 对于新媒体运营、营销或内容创作团队而言,保持内容的新鲜感与多样…...

opencode使用安装

确保已经安装好node npm安装opencode C:\WINDOWS\system32>npm install -g opencode-aiadded 3 packages in 2mC:\WINDOWS\system32>npm安装mcp-chrome C:\WINDOWS\system32>npm...

网络设备a

顺序1.聚合 2.vlan 3.MSTP 4.VRRP 5.路由先配置聚合lsw2 lsw1内同配置vlan 10 20,配置好后对所有接口放通vlan放通的其一进行MSTP配置lsw1作为instance 1的根桥 instance 2的备份根桥lsw2作为instance 2的根桥 instance 1的备份根桥再配置VRRP之后进行osp…...

本地部署 Open Claw 保姆教程,同事还在手动整理文件,我已经让 AI 全搞定了

前言 2026 年开源圈热门的「数字员工」OpenClaw(昵称小龙虾),GitHub 星标超 28 万,凭「本地运行 零代码操作 自动干活」的优势圈粉无数!很多人误以为它是普通聊天 AI,实则是能真正操控电脑的自动化神器 …...

CANN-Ascend-C存储体系-昇腾NPU的四级缓存怎么用才算对

写 Ascend C 算子,最常犯的错误不是计算写错,是数据搬运写错。昇腾NPU有四级存储,每一级的容量、带宽、延迟都不同。数据该放在哪一级、什么时候搬、搬多少,直接决定算子性能。 四级存储级别名称容量带宽延迟用途L0HBM&#xff08…...

Day03 Web应用OSS存储负载均衡CDN加速反向代理WAF防护部署影响

我的博客园笔记 一、WebWAF WAF(Web应用防火墙):是一种专门设计用于保护 Web 应用程序免受恶意攻击的安全设备,它能够实时监控、过滤和拦截可能对网站造成危害的网络流量,从而避免网站服务器被恶意入侵,导…...

Python之anonymate包语法、参数和实际应用案例

一、AnonyMate 包概述 AnonyMate是 Python 第三方数据匿名化工具包,版本 0.1.5,专注结构化/非结构化数据脱敏、假名化、加密与合成数据生成,适配医疗、金融、电商等敏感数据场景,助力合规(GDPR、等保2.0)。…...

开发靠 AI 提效,测试成最大瓶颈,现状过于真实

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中…...

深入了解指针(3)

文章目录数组名的理解对arr[i]的理解一维数组传参的本质二级指针指针数组指针数组的用处总结这里是think的博客 希望可以一起交流知识&#xff0c;一起think 今天我们来学习指针(3)吧 一起来think吧 数组名的理解 //测试环境:X86 #include <stdio.h> int main() { int a…...