C语言中关于操作符的理解
本篇文章只会列出大家在生活中经常使用的操作符
算术操作符
在算数操作符中常用的有,+,-,*,/,% ,我们重点讲一讲 / (除) 和 % (模)
" / "运算
#include <stdio.h>int main() {int a=5/2;float b=5/2;float c=5.0/2;float d=5/2.0;float e=5.0/2.0;printf("%d\n",a);printf("%f\n",b);printf("%f\n",c);printf("%f\n",d);printf("%f\n",e);return 0;
}

在这当中,我们可以看到输出a,b的时候,无论是用整型还是浮点型,输出的都是2,因为c语言在运算中,如果除号两端都是整数,则默认是整数除法,这个时候无论是以什么形式输出都是按照整数的显示来进行运算的,我们的解决方案可以是像c,d,e一样在除号的前后把任意一个或全部的数字变成小数,这样在运算的时候就会以浮点型来运算了。
"%"运算
#include <stdio.h>
int main() {int a=5%2;int b=10%2;printf("%d\n",a);printf("%d\n",b);return 0;
}
![]()
在模运算中,我们可以看见,模运算求的是两个数相除后得到的余数,看似很简单,但在一些c语言问题当中有着大用处,例如要求每一位数字之和,我们就可以利用模运算来求出每一位的数字是多少,然后再进行除运算,以达到解决问题的方法。
位操作符
在位操作符中常用的有,&(与),|(或)
现在还没有合适的例子,等以后找到例子再来补充完整
单目操作符
单目操作符中常用的有,!,+,-,--,++,sizeof
单目操作符就是只有一个操作数的操作符
例如a++;
在这里++只有前面有一个操作数,使用++就是单目操作符
同理,双目操作符就是左右都有操作数的操作符
例如a+b;
+的左右都有操作数,使用+就是双目操作符
"!"运算
#include <stdio.h>
int main() {int a=5;int b=0;printf("a=%d\n",!a);printf("b=%d\n",!b);return 0;
}
![]()
在!运算中,0表示假,非0表示真,c语言中判断时,把真值默认为1,所以在这个程序中,输出的结果是0和1。
"-" ,"+" 运算
#include <stdio.h>
int main() {int a=5;int b=-3;printf("a=%d\n",-a);printf("b=%d\n",-b);return 0;
}
![]()
通过上面的程序我们可以看出,跟a+b,a-b不同,这里的作用并不是相加或相减,在单目操作符里面"-","+"就是表示正负的意思
"++","--"运算
#include <stdio.h>
int main() {int a=6;int b=++a; //先++,后赋值int c=a++; //先赋值,后++printf("a=%d\n",a);printf("b=%d\n",b);printf("c=%d\n",c);return 0;
}
在这个程序中,我们可以看见a,b,c都分别变成了8,7,7
| a=6 | a=6,b,c |
| b=6+1(直接加) | a=7,b=7 |
| c=7+1(这里的+1是运行完之后再+1,所以在这里c还是7) | a=7,b=7c=7 |
| 输出时,由于c运算完了,所以这个时候c后面的++开始执行,执行后a=8 | |
所以最后运行出来的结果是这个样子的

"sizeof"运算
sizeof的理解
https://blog.csdn.net/lzcandhyandcg/article/details/134960729?spm=1001.2014.3001.5502
逻辑操作符
逻辑操作符中常用的有:"&&","||"
"&&"运算
#include <stdio.h>
int main()
{int a, b=0;for (a = 1; a <= 100; a++){if(a%5==0 && a%3==0){printf("%d\t",a);b++;if(b%5==0)printf("\n");}}return 0;
}
![]()
"&&"可以理解为并且的意思,在这个程序当中既能被5整除,也能被3整除的数就输出
"||"运算
#include <stdio.h>
int main()
{int a, b=0;for (a = 1; a <= 100; a++){if(a%5==0 || a%11==0){printf("%d\t",a);b++;if(b%5==0) //如果b%5等于0,则换行printf("\n"); //简单来说,就是每行只能有5个输出}}return 0;
}

"||"可以理解为或者的意思,在这个程序当中既能被5整除又能被11整除的数就输出
条件操作符(三目操作符)
条件操作符有:"? :"
这是一个条件操作符,具体用法如下
exp1 ? exp2 : exp3如果exp1成立,则执行exp2
如果exp1不成立,则执行exp3
#include <stdio.h>
int main()
{int a=11;int b=3;int max=0;int min=0;max=a>b ? a : b;min=a>b ? b : a;printf("%d\n",max);printf("%d\n",min);return 0;
}
![]()
在这个程序中,我们可以很清晰的看见条件操作符1的用法,跟if语句差不多,但比if语句更加简洁
相关文章:
C语言中关于操作符的理解
本篇文章只会列出大家在生活中经常使用的操作符 算术操作符 在算数操作符中常用的有,,-,*,/,% ,我们重点讲一讲 / (除) 和 % (模) " / "运算 #include <stdio.h>int main() {int a5/2;fl…...
Flutter本地化(国际化)之App名称
文章目录 Android国际化IOS国际化 Flutter开发的App,如果名称想要跟随着系统的语言自动改变,则必须同时配置Android和IOS原生。 Android国际化 打开android\app\src\main\res\values 创建strings.xml 在values上右键,选择New>Values Res…...
Redis哨兵源码分析
在Redis server启动过程中,实现了实例化和初始化 1、哨兵实例化过程,采用redis sentinel指令实例化还是redis server下的参数实例化--sentinel。 // 检查服务器是否以 Sentinel 模式启动 server.sentinel_mode checkForSentinelMode(argc,argv);/* Re…...
安装Neo4j
jdk1.8对应的neo4j的版本是3.5 自行下载3.5版本的zip文件 地址 解压添加环境变量 变量名:NEO4J_HOME 变量值:D:\neo4j-community-3.5.0 (你自己的地址) PATH添加: %NEO4J_HOME%\bin (如果是挨着的注意前后英…...
华为鸿蒙开发适合哪些人学习?
随着鸿蒙系统的崛起,越来越多的人开始关注鸿蒙开发,并希望成为鸿蒙开发者。然而,鸿蒙开发并不适合所有人,那么哪些人最适合学习鸿蒙开发呢?本文将为您总结鸿蒙开发适合的人群。 一、具备编程基础的人 学习鸿蒙开发需要…...
深信服技术认证“SCSA-S”划重点:命令执行漏洞
为帮助大家更加系统化地学习网络安全知识,以及更高效地通过深信服安全服务认证工程师考核,深信服特别推出“SCSA-S认证备考秘笈”共十期内容,“考试重点”内容框架,帮助大家快速get重点知识~ 划重点来啦 *点击图片放大展示 深信服…...
Flink系列之:Savepoints
Flink系列之:Savepoints 一、Savepoints二、分配算子ID三、Savepoint 状态四、算子五、触发Savepoint六、Savepoint 格式七、触发 Savepoint八、使用 YARN 触发 Savepoint九、使用 Savepoint 停止作业十、从 Savepoint 恢复十一、跳过无法映射的状态恢复十二、Resto…...
使用宝塔面板部署前端项目到服务器
目录 文章目录 前言 一、第一步:创建文件夹 二、第二步:部署前端项目 三、第三步:打开防火墙 文章目录 前言第一步:创建文件夹第二步:部署前端项目第三步:打开防火墙总结 前言 在此之前,我…...
Enge问题解决教程
目录 解决问题的一般步骤: 针对"Enge问题"的具体建议: 以下是一些普遍适用的解决问题的方法: 以下是一些更深入的Enge浏览器问题和解决办法: 浏览器性能问题: 浏览器插件与网站冲突: 浏览…...
使用yarn安装electron时手动选择版本
访问1Password或者其他可以提供随机字符的网站,获取随机密码运行安装命令 操作要点,必须触发Couldnt find any versions for "electron" that matches "*"才算成功 将复制的随机密码粘贴到后面 例如:yarn add --dev elec…...
AIGC:阿里开源大模型通义千问部署与实战
1 引言 通义千问-7B(Qwen-7B)是阿里云研发的通义千问大模型系列的70亿参数规模的模型。Qwen-7B是基于Transformer的大语言模型, 在超大规模的预训练数据上进行训练得到。预训练数据类型多样,覆盖广泛,包括大量网络文本、专业书籍…...
Java小案例-Java实现人事管理系统
前言 《人事管理系统》该项目采用技术jsp、Struts2、Mybatis、dwr、tomcat服务器、mysql数据库 开发工具eclipse/idea。 【项目使用技术】 Struts2Mybatisdwrjqueryjscss等技术 前端使用技术:JSP, dwr、jquery、js、css等 后端使用技术:Struts2Myba…...
Win系统修改Nginx配置结合内网穿透实现远程访问多个Web站点
文章目录 1. 下载windows版Nginx2. 配置Nginx3. 测试局域网访问4. cpolar内网穿透5. 测试公网访问6. 配置固定二级子域名7. 测试访问公网固定二级子域名 1. 下载windows版Nginx 进入官方网站(http://nginx.org/en/download.html)下载windows版的nginx 下载好后解压进入nginx目…...
如何使用 NFTScan NFT API 在 Base 网络上开发 Web3 应用
Base 是 Coinbase 使用 OP Stack 开发的最新以太坊第 2 层(L2)网络,用于解决以太坊等主要区块链面临的可扩展性和成本挑战。Coinbase 将其描述为“安全、低成本、对开发人员友好的以太坊 L2,旨在将下一个 10 亿用户带入 Web3”。B…...
【Chrome】ERR_SSL_PROTOCOL_ERROR问题
文章目录 前言一、下载二、使用步骤总结 前言 Edge升级最新版后,有的https访问不了,报如下错误 发现新版Chrome以及Chromium内核访问nginx ssl时报错,顺着这个思路接着查看到大佬的结论:服务器nginx使用的openssl版本过低&#…...
Codeforces Round 916 (Div. 3)(E:贪心 F贪心dfs G tarjan+topsort +线段树优化建图)
A:直接暴力统计每个字符的次数是否达标即可 #include<bits/stdc.h> using namespace std; const int N 3e510,mod998244353; #define int long long typedef long long LL; typedef pair<int, int> PII; typedef unsigned long long ULL;const long l…...
eNSP错误40,原因三:windows10自带虚拟化软件Hyper-V
问题描述 Hyper-V软件与VirtualBox不兼容,一旦开启Hyper-V的话eNSP的路由器就会无法开启,显示ERROR 40 原理 大家注意看hypervisor的两种类型: 左边的是开启hypervisor的Type-1,hypervisor在启用的时候,宿主机也相…...
Maven将Jar包打入本地仓库
Maven将Jar包打入本地仓库 Maven将Jar包打入本地仓库嘚吧嘚下载Maven配置Maven新建MAVEN_HOME编辑Path验证Maven配置 Jar包打入Maven仓库 Maven将Jar包打入本地仓库 嘚吧嘚 最近项目用到一个Jar包,不能从远程仓库拉取,只有一个Jar包,所以需…...
如何使用 Helm 在 K8s 上集成 Prometheus 和 Grafana|Part 1
本系列将分成三个部分,您将学习如何使用 Helm 在 Kubernetes 上集成 Prometheus 和 Grafana,以及如何在 Grafana 上创建一个简单的控制面板。Prometheus 和 Grafana 是 Kubernetes 最受欢迎的两种开源监控工具。学习如何使用 Helm 集成这两个工具&#x…...
Observability:捕获 Elastic Agent 和 Elasticsearch 之间的延迟
在现代 IT 基础设施的动态环境中,高效的数据收集和分析至关重要。 Elastic Agent 是 Elastic Stack 的关键组件,通过促进将数据无缝摄取到 Elasticsearch 中,在此过程中发挥着至关重要的作用。 然而,显着影响此过程整体有效性的关…...
SAP FICO财务账期管理实战:关键配置与月结操作指南
1. SAP FICO财务账期管理基础概念 财务账期管理是SAP FICO模块中最基础也最重要的功能之一。简单来说,它就像财务部门的"门禁系统",控制着哪些会计凭证能在特定时间段被录入系统。想象一下,如果超市收银台没有营业时间限制…...
Angular Flex-Layout终极指南:掌握fxLayout、fxFlex、fxLayoutAlign核心指令
Angular Flex-Layout终极指南:掌握fxLayout、fxFlex、fxLayoutAlign核心指令 【免费下载链接】flex-layout Provides HTML UI layout for Angular applications; using Flexbox and a Responsive API 项目地址: https://gitcode.com/gh_mirrors/fl/flex-layout …...
5分钟精通:开源内容解锁工具Bypass Paywalls Clean完全指南
5分钟精通:开源内容解锁工具Bypass Paywalls Clean完全指南 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在信息爆炸的数字时代,学术文献、专业报道和深度分…...
HunyuanVideo-Foley音效生成:支持SMPTE时间码对齐视频关键帧
HunyuanVideo-Foley音效生成:支持SMPTE时间码对齐视频关键帧 1. 产品概述 HunyuanVideo-Foley是一款专为影视后期制作设计的AI音效生成工具,其核心创新在于支持SMPTE时间码精确对齐视频关键帧。这意味着音效师可以基于视频时间轴上的特定帧,…...
【经验贴】运营岗考过CDA数据分析师一级经验分享
终于把CDA一级拿下了!查成绩那一刻真的挺开心的,不是多难,但全程自己一点点学出来,特别有成就感。今天就把我整个备考过程老老实实写出来,给正在准备的小伙伴一个参考。一、备考原因我最开始考CDA,完全是因…...
保姆级教程:用 Modelfile 快速部署 ModelScope 的 GGUF 模型到 Ollama(以 DeepSeek 为例)
从零到一:用Modelfile高效部署ModelScope的GGUF模型至Ollama实战指南 在本地运行大语言模型正成为开发者探索AI边界的新常态。不同于直接调用云端API,本地部署能带来数据隐私保障、响应速度提升以及模型深度定制等独特优势。Ollama作为轻量级模型运行框架…...
Dify向量检索精度跃升47%的秘密(重排序Pipeline低延迟部署避坑手册)
第一章:Dify重排序算法精度跃升47%的核心动因解析Dify v0.12.0 引入的重排序(Reranking)模块并非简单叠加模型,而是通过三重协同优化机制实现精度质变。核心突破在于将传统单阶段打分范式升级为「语义对齐—上下文感知—动态归一化…...
开发者社区生存手册:从潜水到活跃贡献者的5个关键步骤
开发者社区生存手册:从潜水到活跃贡献者的5个关键步骤 在数字时代的代码丛林里,开发者社区如同一个个闪烁着智慧火光的营地。你可能已经加入了几十个Slack频道,关注了无数技术大牛的Twitter,在GitHub上star了上百个仓库࿰…...
Android音频输出流实战:从AudioFlinger到HAL层的完整调用链解析
Android音频输出流深度解析:从框架设计到硬件交互 1. Android音频系统架构概览 Android音频子系统采用分层设计,每一层都有明确的职责划分。理解这个架构是分析音频输出流的基础。 核心层级结构: 应用层:通过AudioTrack、MediaPla…...
IOMMU性能调优全攻略:从基础原理到实战技巧
IOMMU性能调优全攻略:从基础原理到实战技巧 在数据中心和云计算环境中,IOMMU(输入输出内存管理单元)作为硬件辅助虚拟化的关键技术组件,其性能表现直接影响着整个系统的吞吐量和延迟。对于需要处理高并发I/O负载的场景…...
