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

重生之我在异世界学编程之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语言:操作符篇

大家好&#xff0c;这里是小编的博客频道 小编的博客&#xff1a;就爱学编程 很高兴在CSDN这个大家庭与大家相识&#xff0c;希望能在这里与大家共同进步&#xff0c;共同收获更好的自己&#xff01;&#xff01;&#xff01; 本文目录 引言正文1. 算术操作符2. 关系&#xff0…...

365天深度学习训练营-第P7周:马铃薯病害识别(VGG-16复现)

文为「365天深度学习训练营」内部文章 参考本文所写记录性文章&#xff0c;请在文章开头带上「&#x1f449;声明」 &#x1f37a; 要求&#xff1a; 自己搭建VGG-16网络框架【达成√】调用官方的VGG-16网络框架【达成√】如何查看模型的参数量以及相关指标【达成√】 &#…...

解密时序数据库的未来:TDengine Open Day技术沙龙精彩回顾

在数字化时代&#xff0c;开源已成为推动技术创新和知识共享的核心力量&#xff0c;尤其在数据领域&#xff0c;开源技术的涌现不仅促进了行业的快速发展&#xff0c;也让更多的开发者和技术爱好者得以参与其中。随着物联网、工业互联网等技术的广泛应用&#xff0c;时序数据库…...

Kubernetes 告警标签规范与最佳实践

1. 前言 在现代化的 Kubernetes 运维环境中,规范的告警标签系统对于快速定位和解决问题至关重要。本文将详细介绍告警标签的设计规范和最佳实践,帮助团队建立高效的告警处理流程。 © ivwdcwso (ID: u012172506) 2. 标签体系设计 2.1 基本概念 告警标签(Labels)是一…...

前端开发 之 15个页面加载特效中【附完整源码】

前端开发 之 15个页面加载特效中【附完整源码】 文章目录 前端开发 之 15个页面加载特效中【附完整源码】八&#xff1a;圆环百分比加载特效1.效果展示2.HTML完整代码 九&#xff1a;毒药罐加载特效1.效果展示2.HTML完整代码 十&#xff1a;无限圆环加载特效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图 &#xff08;1&#xff09;宠物订…...

SQLServer 服务器只接受 TLS1.0,但是客户端给的是 TLS1.2

Caused by: javax.net.ssl.SSLHandshakeException: the server selected protocol version TLS10 is not accepted by client preferences [TLS12] 原因描述&#xff1a;SQLServer 服务器只接受 TLS1.0&#xff0c;但是客户端给的是 TLS1.2 解决方法如下&#xff1a; 打开文件…...

Golang内存模型总结1(mspan、mcache、mcentral、mheap)

1.内存模型 1.1 操作系统存储模型 从上到下分别是寄存器、高速缓存、内存、磁盘&#xff0c;其中越往上速度越快&#xff0c;空间越小&#xff0c;价格越高。 关键词是多级模型和动态切换 1.2 虚拟内存与物理内存 虚拟内存是一种内存管理技术&#xff0c;允许计算机使用比…...

lobeChat安装

一、安装Node.js version > v18.17.0 二、下载 cd F:\AITOOLS\LobeChat git clone https://github.com/lobehub/lobe-chat.git &#xff08;下载要是失败就手动下&#xff1a;https://codeload.github.com/lobehub/lobe-chat/zip/refs/heads/main&#xff09; npm install …...

Android学习8 -- NDK2--练习2(Opencv)

以下是一个简单的安卓项目示例&#xff0c;通过NDK调用OpenCV来处理图像&#xff08;例如&#xff0c;将彩色图像转换为灰度图像&#xff09;。 开发环境 安装 Android Studio&#xff08;支持NDK开发&#xff09;。配置NDK和CMake&#xff08;通过Android Studio的SDK Manage…...

nodejs循环导出多个word表格文档

文章目录 nodejs循环导出多个word表格文档一、文档模板编辑二、安装依赖三、创建导出工具类exportWord.js四、调用五、效果图nodejs循环导出多个word表格文档 结果案例: 一、文档模板编辑 二、安装依赖 // 实现word下载的主要依赖 npm install docxtemplater pizzip --save/…...

elasticsearch-如何给文档新增/更新的字段

文章目录 前言elasticsearch-如何给文档新增/更新的字段1. 如何给某些文档新增/更新的字段2. 给所有文档添加/更新一个新的字段3. 测试 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&#xff0c;写作不易啊^ _ ^。   而且…...

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 应用中&#xff0c;静态资源是指那些不需要服务器动态处理&#xff0c;直接发送给客户端的文件。常见的静态资源包括 HTML 文件、CSS 样式表、JavaScript 脚本、图片&#xff08;如 JPEG、PNG 等&#xff09;、字体文件和音频、视频文件等。这些文件在服务器端…...

Python语法基础---正则表达式

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 我们这个文章所讲述的&#xff0c;也是数据分析的基础文章&#xff0c;正则表达式 首先&#xff0c;我们在开始之前&#xff0c;引出一个问题。也是我们接下来想要解决的问题。…...

Uniapp 微信小程序分享 - 自定义绘制分享图片

技术栈&#xff1a; Uniapp Vue3 简介 因实际业务需求&#xff0c;需要实现微信小程序自定义分享&#xff0c;根据当前数据动态生成&#xff08;绘制&#xff09;分享卡片的图片。 基础分享使用 配置此处不在赘述&#xff0c;可查看上篇博客&#xff1a;Uniapp 微信小程序分…...

鸿蒙技术分享:Navigation页面容器封装-鸿蒙@fw/router框架源码解析(三)

本文是系列文章&#xff0c;其他文章见&#xff1a;鸿蒙fw/router框架源码解析&#xff08;一&#xff09;-router页面管理鸿蒙fw/router框架源码解析&#xff08;二&#xff09;-Navigation页面管理鸿蒙fw/router框架源码解析&#xff08;四&#xff09;-路由Hvigor插件实现原…...

三步入门Log4J 的使用

本篇基于Maven 的Project项目&#xff0c; 快速演示Log4j 的导入和演示。 第一步&#xff1a; 导入Log4j依赖 <dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.24.2</version&…...

VBA中类的解读及应用第十八讲:利用类方法,判断任意单元格类型

《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程&#xff0c;目前已经是第一版修订了。这套教程定位于最高级&#xff0c;是学完初级&#xff0c;中级后的教程。 类&#xff0c;是非常抽象的&#xff0c;更具研究的价值。随着我们学习、应用VBA的深入&#xff0…...

Mythos模型:通用AI在漏洞挖掘与 exploit 生成中的范式跃迁

1. 这不是一次普通升级&#xff1a;Mythos 的能力跃迁到底意味着什么“Claude Mythos Preview”——这个名字在2026年4月的AI圈里炸开时&#xff0c;我正调试一个用Opus 4.6做代码审计的自动化流水线。看到基准测试数据的第一反应不是兴奋&#xff0c;而是下意识关掉了终端窗口…...

3步快速掌握罗技鼠标宏:PUBG压枪新手完全指南

3步快速掌握罗技鼠标宏&#xff1a;PUBG压枪新手完全指南 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 还在为《绝地求生》中难以控制的武器后…...

Nodejs后端服务集成Taotoken实现智能客服对话

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Node.js 后端服务集成 Taotoken 实现智能客服对话 为客服系统引入智能对话能力&#xff0c;是提升服务效率与用户体验的有效路径。…...

Warcraft Helper:让经典魔兽争霸3在现代系统高效运行的智能解决方案

Warcraft Helper&#xff1a;让经典魔兽争霸3在现代系统高效运行的智能解决方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper Warcraft Helper是一款…...

QMCDecode:三步快速解密QQ音乐加密音频的免费工具

QMCDecode&#xff1a;三步快速解密QQ音乐加密音频的免费工具 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac&#xff0c;qmc0,qmc3转mp3, mflac,mflac0等转flac)&#xff0c;仅支持macOS&#xff0c;可自动识别到QQ音乐下载目录&#xff0c;默认转换结…...

FreeMove:Windows系统C盘空间终极清理方案,无需重装释放数十GB

FreeMove&#xff1a;Windows系统C盘空间终极清理方案&#xff0c;无需重装释放数十GB 【免费下载链接】FreeMove Move directories without breaking shortcuts or installations 项目地址: https://gitcode.com/gh_mirrors/fr/FreeMove 还在为C盘空间不足而烦恼吗&…...

机器学习的几何本质:形状、距离与意义的三层重构

1. 这不是数学课&#xff0c;而是一场关于“机器如何看懂世界”的底层解剖你有没有想过&#xff0c;当一台机器识别出照片里是一只猫&#xff0c;它到底“看见”了什么&#xff1f;不是毛色、不是胡须、不是圆眼睛——它看见的是一组高维空间里的点云分布&#xff0c;是这些点之…...

海外网红营销AI skills到底是什么?2026年出海品牌选型指南

这两年&#xff0c;海外网红营销圈冒出了一个新词——AI skills。很多人第一次听到时有点摸不着头脑&#xff1a;这不就是AI功能吗&#xff1f;换个名字而已&#xff1f;但其实&#xff0c;它和传统AI功能还真不是一回事。本文想做的事很简单&#xff1a;讲清楚这个新概念到底是…...

用RT-Thread Studio玩转STM32 PWM:从电机控制到呼吸灯,一个框架搞定

用RT-Thread Studio玩转STM32 PWM&#xff1a;从电机控制到呼吸灯&#xff0c;一个框架搞定 在嵌入式开发领域&#xff0c;PWM&#xff08;脉冲宽度调制&#xff09;技术堪称"瑞士军刀"般的存在。无论是调节电机转速、控制舵机角度&#xff0c;还是实现LED呼吸灯效果…...

Go语言事件溯源:Event Sourcing

Go语言事件溯源&#xff1a;Event Sourcing 1. 事件溯源 type Event interface {EventType() string }type AccountCreated struct {AccountID stringOwner string }func (e *AccountCreated) EventType() string {return "AccountCreated" }2. 总结 事件溯源通过…...