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

C语言编程3:运算符,运算符的基本用法

C语言3🔥:运算符,运算符的基本用法

一、运算符🌿

🎇1.1 定义

运算符是指进行运算的动作,比如加法运算符"+“,减法运算符”-"

算子是指参与运算的,这个值可能是常数,也可能是变量,还可能是一个方法的返回值

🎇1.2 单目运算符

只有一个算子的运算符: +,-

例如-a,-b,+a,+b

常用的单目运算符:

+正值
-负值
逻辑反
&取地址
sizeof操作数的类型长度(计算的是变量/类型所占空间的大小,单位是字节)
~对一个数的二进制按位取反
(类型)强制类型转换

🎇1.3 双目运算符

  • 我们已知,只有一个算子的运算符是单目运算符

  • 那么, 有两个算子的运算符就是双目运算符

  • 如:a+bb-a

  • 那么,有三个算子的运算符就是三目运算符

🎇1.4 赋值运算符

赋值(=) 也是运算,也有结果

举个栗子

a=6的结果是a被赋予的值,也就是6

a=b=6在计算机中可以看成是:a = (b=6),也就是,先把6赋给b(此时b的值就是6),然后再把b的值(6)赋给a,所以a的值也是6

= += -= *= /= &= ^= I= >>= <<=

用法:

a+=3 相当于:a=a+3

a-=6 相当于:a=a-6

代码示例如下:


#include <stdio.h>int main()
{int a=6,b=6;                  //初始化a+=3;                         //计算b=b+3;printf("a=%d,b=%d\n",a,b);     //输出运算结果return 0;
}

运行结果:


a=9,b=9

解析: a+=3 相当于 a=a+3,把a=6的值代入得:a=6+3 a的值:9

🎇1.5 运算符优先级

🎇1.6 算数运算符(特别重要)

+加法运算符
-减法运算符
*乘法运算符
/除法运算符
%取余运算符
/ 的用法:
int a,b,c,d,e,f,g;a=5/2;
b=12345/10000;
c=12345/1000;
d=12345/100;
e=12345/10;printf("a=%d\nb=%d\nc=%d\nd=%d\ne=%d",a,b,c,d,e);

运行结果:


a=2
b=1
c=12
d=123
e=1234

解析

a=5/2

5/2=2.5,由于a是整型(int),整形不包含小数部分,在计算时会把小数部分全部舍弃,所以a=5/2中a的结果是2

b=12345/10000 与e=12345/10 (我的想法:12345/10000,除数有几个零,被除数就舍弃几位数,如12345/10000,除数有4个零,那么被除数就舍弃后面四位数,所以答案就是:1)

由于b与e是整型(int),整形不包含小数部分,在计算时会把小数部分全部舍弃

所以b的值为1,e的值为1234。

% (取余) 的用法:
int a,b,c,d,e;a=1%3;
b=1%2;
c=30%90;
d=12345%10000;
e=12345%10;printf("a=%d\nb=%d\nc=%d\nd=%d\ne=%d",a,b,c,d,e);

运行结果


a=1
b=1
c=30
d=2345
e=5

解析:

a=1%3,c=30%90的解析如右 ,1向3取余,1除以3余1。同上30%90=30

1%2 1向2取余 1除以2=0.5,由于是int类型会舍弃小数,所以1/2的值只能是0,所以原来的除数1,还会留下了,所以1%2=1

d=12345%10000,e=12345%10

所以12345除以10000的余数就是:2345,12345除以10,余5

所以 :d=12345%10000=2345,e=12345%10=5

🎇1.7 关系运算符

“==”判断相等
“!=”不等于
“>”大于
“<”小于
“>=”大于等于
“<=”小于等于

关系运算符的结果:判断如果结果是 true(真) 则为 1

判断如果结果是 false(假)则为 0

用法:
int a=7,b=3,c;a==b        //的值是0,因为a不等于b,所以是false(假),所以值是0
a!=b        //的值是1,a不等于b,判断正确,所以是true(真),所以值是1

🎇1.8 逻辑运算符

逻辑运算是对逻辑量进行的运算,结果只有0或者1

逻辑量关系运算逻辑运算的结果

用代码表示: a大于等于1,小于等于6

a>=1 && a<=6;

逻辑优先级

! > && > ||

短路:
  1. 逻辑运算是自左向右进行的,如果左边的结果已经能够决定结果了,就不会做右边的计算了

  2. 对于&&,左边是false时就不会做右边的运算了

  3. 对于||,左边是true时就不会做右边的运算了

  4. 不要把赋值,包括复合赋值组合进表达式

总体优先级排名:
优先级运算符结合性
1()从左到右
2!± ++ –从右到左(单目的+和-)
3- / %从左到右
4+ -从左到右
5< <= > >=从左到右
6== !=从左到右
7&&从左到右
8
9= += -= *= /= %=从右到左

🎇1.9 位运算符

“&”按位与
“I”按位或
“<<”左移
“>>”右移

🎇1.10 条件运算符:

? : ;

如:


int count=30;count = (count>20)?count-10:count+10;意思是如果条件满足,count如果>20;则count-10,否则就是执行count+10

也就是说:当count>20是 真(非零或1) 的时候执行前者,是 假(0) 执行后者

优先级:条件运算符的优先级高于赋值运算符,但是低于**其他运算符

🎇1.11 逗号运算符

逗号用来连接两个表达式,并以其右边的表达式的值作为它的结果。逗号的优先级是所有运算符中最低的,所以它两边的表达式会先计算;逗号的组合关系是自左向右,所以左边的表达式会先计算,而右边的表达式的就留下来作为逗号运算的结果

相关文章:

C语言编程3:运算符,运算符的基本用法

C语言3&#x1f525;&#xff1a;运算符&#xff0c;运算符的基本用法 一、运算符&#x1f33f; &#x1f387;1.1 定义 运算符是指进行运算的动作&#xff0c;比如加法运算符"“&#xff0c;减法运算符”-" 算子是指参与运算的值&#xff0c;这个值可能是常数&a…...

如何通过SPI机制去实现读取配置文件并动态加载对应实现类

最近写完鱼皮的RPC项目后&#xff0c;打算整理出来一些编程技巧的模版。 有两种实现&#xff1a;1.ServiceLoader 2.SpiLoader 一、直接使用java.util下的ServiceLoader 首先在resource目录下创建 META-INF/services 目录&#xff0c;并且创一个名称为对应要实现的接口的包…...

双链表(数组模拟)

双链表&#xff08;数组模拟&#xff09; 什么是双链表数组模拟双链表题目 什么是双链表 双链表不同于单链表的是 每一个节点不但存储了下一个节点的位置&#xff0c;也存储了上一个节点的位置。 数组模拟双链表 所以如果用数组的话&#xff0c;就需要创建三个数组。 题目 …...

ChatGPT 5.0:一年半后的展望与看法

在人工智能领域&#xff0c;每一次技术的飞跃都预示着未来生活与工作方式的深刻变革。随着OpenAI在人工智能领域的不断探索与突破&#xff0c;ChatGPT系列模型已成为全球关注的焦点。当谈及ChatGPT 5.0在未来一年半后可能发布的前景时&#xff0c;我们不禁充满期待&#xff0c;…...

城市地下综合管廊物联网远程监控

城市地下综合管廊物联网远程监控 城市地下综合管廊&#xff0c;作为现代都市基础设施的重要组成部分&#xff0c;其物联网远程监控系统的构建是实现智慧城市建设的关键环节。这一系统集成了先进的信息技术、传感器技术、通信技术和数据处理技术&#xff0c;旨在对埋设于地下的…...

VS 附加进程调试

背景&#xff1a; 此方式适合VS、代码和待调试的exe在同一台机器上。 一、还原代码到和正在跑的exe同版本 此操作可以保证能够调试生产环境的exe 二、设置符号路径 1.调试->选项 三、附加进程 方式1&#xff1a; 打开VS&#xff0c;调试->附加到进程&#xff0c;出…...

核函数的深入理解

核函数 &#xff08;Kernel Function&#xff09;是一种在高维特征空间中隐式计算内积的方法&#xff0c;它允许在原始低维空间中通过一个简单的函数来实现高维空间中的内积计算&#xff0c;而无需显式地计算高维特征向量。 核函数 的基本思想是通过一个映射函数 ϕ \phi ϕ …...

使用Ckman部署ClickHouse集群介绍

使用Ckman部署ClickHouse集群介绍 1. Ckman简介 ClickHouse Manager是一个为ClickHouse数据库量身定制的管理工具&#xff0c;它是由擎创科技数据库团队主导研发的一款用来管理和监控ClickHouse集群的可视化运维工具。目前该工具已在github上开源&#xff0c;开源地址为&…...

「前端工具」postman接口测试工具详解

Postman 是一款流行的 API 开发工具,用于构建和测试 RESTful API。以下是 Postman 的一些关键特性和使用方法的详解: 1. 界面和基本操作 工作区:Postman 的主界面,用于显示集合、环境和全局变量。请求构建器:用于输入请求的 URL、HTTP 方法、请求头、请求体等。响应区:显…...

生成requirements.txt

pip install pipreqs pipreqs ./ --encodingutf-8 --force python导出requirements.txt的几种方法总结...

ubuntu ceph部署

ubuntu ceph部署 参考文档&#xff1a;http://docs.ceph.org.cn/start/ 节点配置 1个mon节点&#xff0c;3个osd节点 安装前准备 安装ceph-deploy 添加 release key wget -q -O- https://download.ceph.com/keys/release.asc | sudo apt-key add -添加Ceph软件包源&…...

2024.7.8

2024.7.8 【追逐影子的人&#xff0c;自己就是影子 —— 荷马】 Monday 六月初三 讲的根本听不懂好吧&#xff01; 目前只写了三道题&#xff08;但是黑色 确实是没见过这么抽象的数据结构 Gregor and the Two Painters Number of Components Equal LCM Subsets 这个lcm确实…...

Spring 外部jar包Bean自动装配

Spring 外部jar包Bean自动装配 背景介绍 公共代码模块被作为jar包引入业务项目&#xff0c;前者定义的bean即使添加了Component注解由于不会被扫描到也就无法被Spring管理。此处通过Spring SPI机制来完成 使用 spring.factories 在外部 jar 包中创建 spring.factories 文件&a…...

2通道音频ADC解码芯片ES7243L、ES7243E、ES7243,用于低成本实现模拟麦克风转换为IIS数字话筒

前言&#xff1a; 音频解码芯片某创参考价格&#xff1a; ES7243L 500&#xff1a;&#xffe5;1.36 / 个 ES7243E 500&#xff1a;&#xffe5;1.66 / 个 ES7243 500&#xff1a; &#xffe5;1.91 / 个 其中ES7243L工作电压为1.8V&#xff0c;与其他两款的3.3V工作电压不同&…...

uniapp跨域问题解决

找到menifest文件&#xff0c;在文件的最后添加如下代码&#xff1a; // h5 解决跨域问题"h5":{"devServer": {"proxy": {"/adminapi": {"target": "https://www.demo.com", // 目标访问网址"changeOrigin…...

[C++][ProtoBuf][Proto3语法][一]详细讲解

目录 1.字段规则2.消息类型的定义与使用1.定义2.使用 3.enum类型1.语法2.定义时注意3.代码 1.字段规则 消息的字段可以⽤下⾯⼏种规则来修饰&#xff1a; singular&#xff1a;消息中可以包含该字段零次或⼀次(不超过⼀次) proto3语法中&#xff0c;字段默认使⽤该规则 repeat…...

千古雄文《渔樵问对》原文、译文、解析

邵雍《渔樵问对》&#xff1a;开悟奇文&#xff0c;揭示世界的终极意义 【邵雍《渔樵问对》&#xff1a;开悟奇文&#xff0c;揭示世界的终极意义】 邵雍&#xff08;1011年1月21日&#xff0d;1077年7月27日&#xff0c;宋真宗大中祥符四年十二月二十五日戌时生至神宗熙宁十…...

uniapp 开发备忘录-防坑指南

uniapp 开发备忘录-防坑指南 npm run dev:mp-weixin 编译微信小程序报错&#xff1a; [plugin:uni:mp-using-component] Expected ‘,’ or ‘}’ after property value in JSON at position 解决方案&#xff1a;升级uniapp 到最新 alpha 版。&#xff08;2024年7月13日&am…...

Simple_ReAct_Agent

参考自https://www.deeplearning.ai/short-courses/ai-agents-in-langgraph&#xff0c;以下为代码的实现。 Basic ReAct Agent(manual action) import openai import re import httpx import os from dotenv import load_dotenv, find_dotenvOPENAI_API_KEY os.getenv(OPEN…...

window wsl安装ubuntu

文章目录 wsl安装ubuntu什么是wsl安装wsl检查运行 WSL 2 的要求将 WSL 2 设置为默认版本查看并安装linux WSL2的使用如何查看linux文件wsl如何使用代理:方法1&#xff1a;方法2&#xff1a;通过 DNS 隧道来配置 WSL 的网络 如何将 WSL 接入局域网并与宿主机同网段使用VScode连接…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06&#xff08;十亿美元&#xff09;。漏洞扫描服务市场行业预计将从 2024 年的 3.48&#xff08;十亿美元&#xff09;增长到 2032 年的 9.54&#xff08;十亿美元&#xff09;。预测期内漏洞扫描服务市场 CAGR&#xff08;增长率&…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器&#xff0c;可以帮助网站应对分布式拒绝服务攻击&#xff0c;有效识别和清理一些恶意的网络流量&#xff0c;为用户提供安全且稳定的网络环境&#xff0c;那么&#xff0c;高防服务器一般都可以抵御哪些网络攻击呢&#xff1f;下面…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...