当前位置: 首页 > 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…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案

在移动互联网营销竞争白热化的当下&#xff0c;推客小程序系统凭借其裂变传播、精准营销等特性&#xff0c;成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径&#xff0c;助力开发者打造具有市场竞争力的营销工具。​ 一、系统核心功能架构&…...

Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合

作者&#xff1a;来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布&#xff0c;Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明&#xff0c;Elastic 作为 …...