爱上C语言:操作符详解(上)

news2024/11/27 23:49:57

🚀 作者:阿辉不一般
🚀 你说呢:生活本来沉闷,但跑起来就有风
🚀 专栏:爱上C语言
🚀作图工具:draw.io(免费开源的作图网站)
请添加图片描述

如果觉得文章对你有帮助的话,还请点赞,关注,收藏支持博主,如有不足还请指点,博主及时改正,感谢大家支持!!!

文章目录

  • 🚀前言
  • 🚀算数操作符
  • 🚀关系操作符
  • 🚀前置++(--)和后置++(--)
  • 🚀逻辑操作符
  • 🚀条件操作符
  • 🚀逗号表达式
  • 🚀下标引用操作符
  • 🚀函数调用操作符

🚀前言

大家好啊😉!今天阿辉将为大家介绍C语言中的部分操作符,✍包括算数操作符,关系操作符,前置后置++,逻辑操作符,条件操作符,逗号表达式等操作符,剩下的操作符将在下一篇文章中讲解关注阿辉不迷路哦 😘 ,内容干货满满😋,接下来就跟着阿辉一起学习吧👊

🚀算数操作符

算数操作符:+(加) -(减) *(乘) /(除) %(取模)这几个操作符最为常见

这里我们重点讲一下/(除) %(取模)这两个操作符,另外三个操作符很简单相信大家都掌握了

/除法操作符: 要注意的就是 /的两个操作数都为整数时执行的是整数除法,相除得到的结果也是整数,只有当其中一个操作数为浮点数时执行浮点数除法
🌰栗子

#include<stdio.h>

int main()
{
	printf("%d\n", 5 / 2);//整数除法
	printf("%f\n", 5.0 / 2);//浮点数除法
	return 0;
}

在这里插入图片描述
%取模操作符: 取模操作符的两个操作数只能是整数,取模其实就是取余,当被取余数(取模操作符左边的操作数)为负数时,余数也为负数
🌰栗子

#include<stdio.h>

int main()
{
	printf("%d\n", 5 % 2);
	printf("%d\n", -5 % 2);
	return 0;
}

在这里插入图片描述

🚀关系操作符

<   //判断小于
>   //判断大于
<=  //判断小于等于
>=  //判断大于等于
==  //判断等于
!=  //判断不等于

关系操作符的返回结果为
常用在if 语句、while语句、for语句
注意: ==很容易写成=,从而造成bug
但是如果你像下面这样写编译器能帮你发现错误 😉
在这里插入图片描述

🚀前置++(–)和后置++(–)

前置++(–):操作数先++(--)自增1(自减1),后使用
后置++(–):操作数使用,后先++(--)自增1(自减1)

🌰栗子

int main()
{
	int a = 0;
	int b = 0;
	if (++a)
		printf("阿辉不一般!\n");
	if (b++)
		printf("阿辉很一般!\n");
	printf("a = %d b = %d\n", a, b);
	return 0;

在这里插入图片描述

我们可以看到仅仅打印了阿辉不一般!并没有打印阿辉很一般!因为a,b的初始值是0a是前置++,前置++先自增1后使用,if进行判断的时候a的值为1为真;b是后置++,后置++先使用,后自增1if进行判断时b的值为0为假;不过前置++和后置++最后都会自增

🚀逻辑操作符

&&  逻辑与
||  逻辑或

&&逻辑与操作符两边的表达式都为真才为真,否则为假
||逻辑或操作符两边的表达式都为假才为假,否则为真
重点来了👊

我们先看代码

int main()
{
	int a = 0;
	int b = 0;
	int c = 0;
	a && ++b;
	++c || ++a;
	printf("a = %d b = %d c = %d\n", a, b, c);
	return 0;
}

在这里插入图片描述

我们发现ab的值都为0并没有自增,这是为什么呢?
这是因为&&逻辑与操作符遵循从左至右计算,它的左操作数(也就是前面的一个操作数)为假时整个表达式也就为假了,这时&&并不需要计算右操作数的真假,也就是说这时&&不会去执行后面的表达式,所以++b并没有执行
||逻辑或操作符也遵循从左至右计算,它的左操作数(也就是前面的一个操作数)为真时整个表达式也就为真了,这时||并不需要计算右操作数的真假,也就是说这时||不会去执行后面的表达式,所以++a并没有执行
上述现象也被称为短路现象

这编译器还怪嘞 😆

🚀条件操作符

条件操作符 表达式? 语句1: 语句2;也叫三目操作符,当表达式结果为时,执行语句1,表达式结果为时,执行语句2.
🌰栗子

#include <stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	scanf("%d%d", &a, &b);
	(a > b) ? printf("较大的数是%d\n",a) : printf("较大的数是%d\n", b);
	return 0;
}

在这里插入图片描述
在这里插入图片描述

🚀逗号表达式

逗号表达式的使用方法:

表达式1,表达式2,...,表达式n;

逗号表达式从左向右依次计算,最后一个表达式的结果是整个表达式的结果
🌰栗子

#include <stdio.h>
int main()
{
	int x = 0, a = 1, b = 2, c = 3, d = 5;
	x = (a++, b + 2, c += 2, a + d);
	printf("x=%d\n", x);
	printf("a=%d,b=%d,c=%d,d=%d", a, b, c, d);
	return 0;
}

在这里插入图片描述

因为逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果
所以a++会执行使得a+1,
b+2虽然也被执行了,但是并没有重新赋值给b,所以只是进行了简单计算,并没有进行赋值操作,所以b没有变化
c+=2执行后c被重新赋值了,所以c+2
最后:x=a+d=2+5=7

🚀下标引用操作符

这个[]操作符是不是很熟,没错我们在数组那里用来访问数组中各个元素用到的操作符,死去的记忆突然攻击我 😵
使用方法:
数组名[ 操作数 ]
详细讲解可以看看阿辉之前的文章 数组篇

🚀函数调用操作符

函数调用操作符()可以有多个操作数,但至少有一个操作数——函数名

函数名(变量1,变量2,...,变量n);

🌰栗子

int add(int a, int b)
{
	return a + b;
}
int main()
{
	int a = 2;
	int b = 3;
	int sum = add(a, b);
	printf("%d\n", sum)l;
	return 0;
}

到这里,阿辉今天对于C语言操作符的分享就结束了,希望这篇博客能让大家有所收获, 如果觉得阿辉写得不错的话,记得给个赞呗,你们的支持是我创作的最大动力🌹
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1188198.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ubuntu22.04 下 NFS 相关问题与完整配置(客户机 MacOS)

categories: [Linux-Shell] tags: Linux NFS 写在前面 最近折腾一下 NFS, 先白嫖一顿华子云的 1 个月服务器, 2C4G 感觉不错了, 但NFS 配置起来还是有点难度, 主要还是随机分配的端口配置方面比较恶心. server环境: 华为云 2C4G Ubuntu22.04 client环境: MacOS M1 with brew …

vue3+vite+ts使用Element+Plus

1.安装ElementPlus npm install element-plus --save 2.在index.html中加入 <head><!-- Import style --><link rel"stylesheet" href"//unpkg.com/element-plus/dist/index.css" /><!-- Import Vue 3 --><script src"…

代码随想录算法训练营第四十八天 | LeetCode 121. 买卖股票的最佳时机、122. 买卖股票的最佳时机 II

代码随想录算法训练营第四十八天 | LeetCode 121. 买卖股票的最佳时机、122. 买卖股票的最佳时机 II 文章链接&#xff1a;买卖股票的最佳时机 买卖股票的最佳时机 II 视频链接&#xff1a;买卖股票的最佳时机 买卖股票的最佳时机 II 1. LeetCode 121. 买卖股票的最佳时机 1.1…

centos7下安装主从仲裁三台结构的MongoDB 7.0.4

安装手册英文版在这里 https://www.mongodb.com/docs/v7.0/tutorial/install-mongodb-on-red-hat/ 我的安装过程 1&#xff09;基础安装 1、创建 /etc/yum.repos.d/mongodb-org-7.0.repo文件 下面的代码复制到这个文件中&#xff0c;保存 [mongodb-org-7.0] nameMongoDB Re…

RBF、GMM、FUZZY

感觉这三种方法有联系&#xff0c;RBF用多个加权高斯拟合值函数&#xff0c;GMM用多个加权高斯拟合联合分布函数&#xff0c;GMM的加权相比于概率更像FUZZY里的隶属度&#xff0c;并且FUZZY的不同规则实现的就是一定程度的聚类。 一、RBF 资料&#xff1a;https://blog.csdn…

JAVA使用Grafana和Loki抓取聚合日志

Grafana和Loki抓取聚合日志 适用范围配置常见问题参考文章 适用范围 Grafana是日志看板Loki是Grafana的一个插件用于收集日志promtail是Loki配套的抓取工具&#xff0c;放在目标服务器抓取日志 配置 日志服务器安装Grafana&#xff0c;傻瓜式下一步日志服务器启动Loki&#…

CRM系统中的客户保留是什么意思?有多少客户可以留下来?

一家企业&#xff0c;在销售过程中有多少客户是有效的&#xff1f;又有多少客户可以留下来&#xff1f;如果企业只顾着开发新客户&#xff0c;而忽略了客户保留&#xff0c;那么将会造成资源的浪费。那么CRM系统中的客户保留是什么意思&#xff1f; 什么是客户保留&#xff1f…

单调栈【2023年最新】

做题的时候看到了单调栈&#xff0c;但是不知道是个什么玩意&#xff0c;记录一下吧。 单调栈含义 单调栈是一种特殊的数据结构&#xff0c;用于解决一些与单调性相关的问题。它的基本含义是在栈的基础上&#xff0c;维护一个单调递增或单调递减的栈。 在单调递增栈中&#…

caffe搭建squeezenet网络的整套工程

之前用pytorch构建了squeezenet&#xff0c;个人觉得pytorch是最好用的&#xff0c;但是有的工程就是需要caffe结构的&#xff0c;所以本篇也用caffe构建一个squeezenet网络。 数据处理 首先要对数据进行处理&#xff0c;跟pytorch不同&#xff0c;pytorch读取数据只需要给数据…

第六章《凸优化核心过程:真正搞懂梯度下降过程》

优化问题可以分为凸优化问题和非凸优化问题&#xff0c;凸优化问题是指定义在凸集中的凸函数最优化的问题&#xff0c;典型应用场景就是 目标函数极值问题的求解。凸优化问题的局部最优解就是全局最优解&#xff0c;因此 机器学习中很多非凸优化问题都需要被转化为等价凸优化问…

【链接装载与库】动态链接(下)

动态链接 》上篇《 延迟绑定 (PLT) 动态链接的确有很多优势&#xff0c;比静态链接要灵活得多&#xff0c;但它是以牺牲一部分性能为代价的。主要原因是动态链接下对于全局和静态的数据访问都要进行复杂的GOT定位&#xff0c;然后间接寻址&#xff1b;对于模块间的调用也要先…

Go RabbitMQ简介 使用

RabbitMQ简介 RabbitMQ 是一个广泛使用的开源消息队列系统&#xff0c;它实现了高级消息队列协议&#xff08;AMQP&#xff09;标准&#xff0c;为分布式应用程序提供了强大的消息传递功能。RabbitMQ 是 Erlang 语言编写的&#xff0c;具有高度的可扩展性和可靠性&#xff0c;…

普洱茶上市?澜沧古茶通过港股聆讯

近日&#xff0c;澜沧古茶成功通过港交所聆讯&#xff0c;随后在11月7日披露了相关资料集。该公司即将在港交所主板上市&#xff0c;此次上市由中信建投国际和招商证券国际担任联席保荐人。据了解&#xff0c;澜沧古茶或将成为内地茶企第一股&#xff0c;也将成为“普洱茶第一股…

el-form-item的label的长度单独改掉,用vue3样式穿透的写法,加上css选择器查找特定的id拿到元素

为了让这个会员卡号这几个字和下面的表格对齐&#xff0c;需要改el-form-item的label的长度 如果直接改el-form的label-width,那么所有的el-form-item的label都会改&#xff0c;我不希望这样 我希望只改第1个会员卡号的label长度 给这个el-form-item添加一个id :deep(.el-for…

漏洞复现--泛微E-Office信息泄露(CVE-2023-2766)

免责声明&#xff1a; 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直…

xshell隧道设置

现在有远程外网地址 120.120.120.120和另一台内网地址192.168.1.110两台cvm 但是192.168.1.110 无法直接通过外网地址访问, 需要通过120.120.120.120建立隧道来连接 需要访问192.168.1.110 机器的3306端口, 可以这么做 将192.168.1.110 的3306映射到本地13306端口 1.连接外网…

YOLOv8-Seg改进:多尺度空洞注意力(MSDA),增强局部、稀疏提取特征能力

🚀🚀🚀本文改进: 新的注意力机制——多尺度空洞注意力(MSDA)。MSDA 能够模拟小范围内的局部和稀疏的图像块交互; 如何在OLOv8-seg下使用:1)作为注意力机制放在各个网络位置;2)与C2f结合替代原始的C2f 🚀🚀🚀YOLOv8-seg创新专栏:http://t.csdnimg.cn/KLS…

人工智能辅助职业教育发展——开启教育新时代

人工智能辅助职业教育发展——开启教育新时代 随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;逐渐渗透到各行各业&#xff0c;并在许多领域发挥着重要作用。如今&#xff0c;AI的应用已经延伸到职业教育领域&#xff0c;为培养高素质人才提供了新的可能和动…

用户交互引导大模型生成内容特征,LLM-Rec框架助力个性化推荐!

欢迎来到魔法宝库&#xff0c;传递AIGC的前沿知识&#xff0c;做有格调的分享❗ 喜欢的话记得点个关注吧&#xff01; 今天主要和大家分享一篇使用大语言模型做数据增强来提升推荐系统性能的研究 标题&#xff1a; LLM-Rec: Personalized Recommendation via Prompting Large …