C语言操作符if语句好习惯 详解分析操作符(详解4)
各位少年:
前言
还记得我们上一章讲过一个比较抽象的代码,它要比较两次都是真的情况下才能打印,那么很显然这样写代码是有弊端的?哪我们C语言之父丹尼斯.里奇,先介绍一下上次拉掉了if语句的好习惯
好再分享一些操作符
C语言用于比较表达式,称为关系表达式,里面使用的运算符就称为关系运算符,主要有下面6个
<大于运算符
>小于运算符
>=大于等于运算符
<=小于等于运算符
==相等运算符
!=不相等运算符
目录
前言
好接下来介绍使用if语句的好习惯 代码示例
代码示例
int main()
{
int a=3;
if(5=a)//赋值
printf("hehe\n");return 0;
}
很明显这个if语句的表达式出错了,我们想比较结果我们写成了赋值,很显然结果只要是非零,都会打印,所以为了避免这样的错误很多老C/C++程序员,都把常量放在前面看代码例子。
#include<stdio.h>
int main()
{
int a=3;
if(5==a)
printf("hehe\n");return 0;
}
建议这样写减少报错的可能,因为常量没办法改变,这样写如果只写一个等号,就会报错 这样就不会出现第一个代码图的情况了。
面试官也会认同你这种写法的,虚伪大家能能融会贯通,希望对大家有所帮助。
好,我们再来分享个代码,多个关系运算符不宜连用。
i<j<k
上面示例中,连续使用两个小于运算符。这是合法表达式,不会报错,但是通常达不到想要的结果,即不是保证变量j的值在i和k之间。因此关系运算符是从左到右计算,所以实际执行的是下面的表达式。
(i<j)<k
上面式子中,i<j返回0和1,所以最终是0和1与变量k进行比较。 如果想要判断变量j的值是否在i和k之间,应该用下面的写法 。
if(x<y&&y<x)//&&并且
这个表达式的结果必须两边必须都是真
条件操作符
exp1?exp2;exp3
表达式1
真 表达式2计算,表达式3不计算,表达式2的结果是整个表达式的结果 假 表达式2不计算,表达式3计算,表达式3的结果 是整个表达式的结果
好我们看两端代码
if (a > 5)b = 3;elseb = -3;
这里是不是就很复杂了 大家想到用三目操作符,好我们来给三目操作符的写法,分享给大家
#include<stdio.h>
int main()
{int a = 0;int b = 0;scanf("%d", &a);b = (a > 5 ? 3 : 3);printf("%d", b);return 0;
}
目录
前言
逻辑操作符:&&,||,|
逻辑运算 符提供逻辑判断功能,由于构建更复杂的表达式,主要看下面三个运算符 。
| :逻辑取反运算符(改变单个表达式的真假)
&& :与运算符,就是并且的意思(两边都为真,只要一边为假,就不会执行)
||或运算符,就是或者的意思(两侧至少有一个表达式真,则为真,负则为假)
C语言中非0表示真 0表示假
逻辑取反运算符
a=!a
非0取反后是0
0 1
我来分享个代码示例,用与运算符和或运算符,来判断闰年,我们都知道闰年的判断方式,我们数学课本中对闰年判断能不能被四整除,但其实还有几个点能被四整除的时,不能被100整除,或者能被四百整除,好大家知道了,我们上代码,希望对大家有所帮助。
#include<stdio.h>
int main()
{int year = 0;scanf("%d", &year);if (((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0))){printf("是闰年\n");}else{printf("不是闰年\n");}return 0;
}
好大家能理解上面的代码的话,我们再来介绍个东西,叫做短路。
由于篇章问题,这题分享到这里,希望对大家有所帮助。拜拜
相关文章:
C语言操作符if语句好习惯 详解分析操作符(详解4)
各位少年: 前言 还记得我们上一章讲过一个比较抽象的代码,它要比较两次都是真的情况下才能打印,那么很显然这样写代码是有弊端的?哪我们C语言之父丹尼斯.里奇,先介绍一下上次拉掉了if语句的好习惯 好再分享一些操作符…...
【什么是泛型,有什么好处】
✅什么是泛型,有什么好处 ✅典型回答✅泛型是如何实现的✅什么是类型擦除?📝C语言对泛型的支持📝泛型擦除的缺点有哪些? ✅对泛型通配符的理解📝泛型中上下界限定符 extends 和 super 有什么区别࿱…...
Stable Diffusion系列(三):网络分类与选择
文章目录 网络分类模型基座模型衍生模型二次元模型2.5D模型写实风格模型 名称解读 VAELora嵌入文件放置界面使用 网络分类 当使用SD webui绘图时,为了提升绘图质量,可以多种网络混合使用,可选的网络包括了模型、VAE、超网络、Lora和嵌入。 …...
Twincat中PLC的ST语言编程实现机器人安全交互
在TwinCAT中,使用ST语言(Structured Text)进行PLC编程是一种常见的做法。 机器人接触力超过预设阈值后执行停止动作 为了实现机器人在接触力超过预设阈值后停止动作的功能,你需要编写一段ST语言代码,以检查当前的接触…...
Redis实现日榜|直播间榜单|排行榜|Redis实现日榜01
前言 直播间贡献榜是一种常见的直播平台功能,用于展示观众在直播过程中的贡献情况。它可以根据观众的互动行为和贡献值进行排名,并实时更新,以鼓励观众积极参与直播活动。 在直播间贡献榜中,每个观众都有一个对应的贡献值&#…...
如何使用内网穿透工具实现Java远程连接本地Elasticsearch搜索分析引擎
文章目录 前言1. Windows 安装 Cpolar2. 创建Elasticsearch公网连接地址3. 远程连接Elasticsearch4. 设置固定二级子域名 前言 简单几步,结合Cpolar 内网穿透工具实现Java 远程连接操作本地分布式搜索和数据分析引擎Elasticsearch。 Cpolar内网穿透提供了更高的安全性和隐私保…...
C语言数据结构-----常用七种排序介绍、分类、实现及性能比较
前言 ①排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 ②稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序&#…...
2023年山东省职业院校技能大赛高职组 “软件测试”赛项竞赛任务四 单元测试
任务四 单元测试 任务要求 题目1:任意输入2个正整数值分别存入x、y中,据此完成下述分析:若x≤0或y≤0,则提示:“输入不符合要求。”;若2值相同,则提示“可以构建圆形或正方形”;若2…...
在Redis客户端设置连接密码 并演示密码登录
我们先连接到Redis服务 然后 我们要输入 CONFIG SET requirepass “新密码” 例如 CONFIG SET requirepass "A15167"这样 密码就被设置成立 A15167 我们 输入 AUTH 密码 例如 AUTH A15167这里 返回OK说明成功了 然后 我们退出在登录就真的需要 redis-cli -h IP地…...
阿里云公有云平台
1. 请简要介绍一下公有云平台的基本概念和特点。 公有云是一种云计算模型,其中服务器、网络和存储资源等IT基础架构以虚拟资源的形式提供,并且可以通过互联网进行访问。这些资源是由第三方提供商共享并提供给用户的,包括计算、存储、网络等。…...
Zookeeper的学习笔记
Zookeeper概念 Zookeeper是一个树形目录服务,简称zk。 Zookeeper是一个分布式的、开源的分布式应用程序的协调服务 Zookeeper提供主要的功能包括:配置管理,分布式锁,集群管理 Zookeeper命令操作 zk数据模型 zk中的每一个节点…...
leetcode2两数加和问题(链表)
题目思路: ①创建一个int类型的局部变量,用来存储两个结点的Val值。 ②判断该Val值与10求余(mod)后是否大于0,如果大于0, 则需要在下一个结点进位。 ③最关键的步骤:实现l1,l2结点数值相加后构建新的存储求和后的结点࿰…...
VSCode中配置prettier和ESLint
文章目录 了解ESLint和Prettier的作用prettier配置ESLint配置常见问答ESLint 和Prettier 有什么区别?为什么我应该同时使用ESLint 和Prettier?在使用ESLint 和Prettier 时,有可能出现它们之间的规则冲突吗?我已经在项目中使用了ES…...
如何将本地websocket发布至公网并实现远程访问服务端
文章目录 1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功,暴露端口默认99995. 创建隧道映射内网端口6. 查看状态->在线隧道,复制所创建隧道的公网地址加端口号7. 以…...
分享 | 软件测试的基本流程是什么?软件测试流程详细介绍
软件测试 软件测试和软件开发一样,是一个比较复杂的工作过程,如果无章法可循,随意进行测试势必会造成测试工作的混乱。为了使测试工作标准化、规范化,并且快速、高效、高质量地完成测试工作,需要制订完整且具体的测试…...
浮点数的转换--IEEE 754
IEEE754标准是一种浮点数表示标准,一般分为 单精度(32位的二进制数);双精度(64位的二进制数) 根据国际标准IEEE754,任意一个二进制浮点数V可以表示为下面形式: V (-1)^s *&#…...
若依框架介绍
RuoYi(若依)是一款基于Spring Boot、Spring Cloud等开源框架搭建的企业级开发平台,旨在提供全面的解决方案,简化企业级应用开发,提高开发效率。 主要特点: 1. 模块化设计 RuoYi采用模块化的设计࿰…...
iMazing2024免费版iOS移动设备管理软件
以自己的方式管理iPhone,让备受信赖的软件为您传输和保存音乐、消息、文件和数据。安全备份任何 iPhone、iPad 或 iPod touch。iMazing 功能强大、易于使用,称得上是 Mac 和 PC 上最好的 iOS 设备管理器。 正在为iTunes繁琐的操作发愁?设备数…...
Zookeeper整合Java实战,不同客户端使用汇总
Java学习面试指南:https://javaxiaobear.cn ZooKeeper应用的开发主要通过Java客户端API去连接和操作ZooKeeper集群。可供选择的Java客户端API有: ZooKeeper官方的Java客户端API。 第三方的Java客户端API,比如Curator。 ZooKeeper官方的客户…...
【python】Ubuntu下安装spyder及matplotlib中文显示
一、查看Ubuntu版本 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy尝试用cat /etc/debian_version命令,竟然可以显示出来Debian的版本。 $ cat /etc/debian_version …...
wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
