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

从入门到精通,30天带你学会C++【第六天:与或非三兄弟和If判断语句(博主目前最长文章,2514字)】(学不会你找我)

目录

前言

计算机里的真和假

与或非三兄弟

​编辑与运算(&&) 

具体说明表格:

举个栗子1:

或运算(||) 

具体说明表格:

举个栗子2:

非运算(!) 

具体说明表格:

举个栗子3:

综合运用

if语句

引入

if语句的格式

else语句

引入

else语句格式 

else if语句

引入

else if语句的格式

洛谷题目讲解小课堂

前言

题目描述

思路点拨

AC代码

 评测结果

结尾


前言

文章不易,不喜勿喷,但可以私信我提建议

计算机里的真和假

计算机可不知道什么是真,什么是假。

在计算机里,通常用二进制,而在C++中,0代表假,1代表真。

简单来说,真就是满足条件,而假是不满足条件。

比如以下算式的结果就是假:

3<5
1+1==3
9==10
…………

以下算式就是真:

6>2
1==1
1+8==9
…………

当然0(假)的英文是:false

而1(真)的英文是:true

所以你可以用英文代替数字,如:

return 0 = return false
return 1 = return true

与或非三兄弟

与或非拆开来分别是与运算,或运算以及非运算,他们都是逻辑运算符。

我们之前讲过的+,-,*,/属于算术运算符。

先看一看算术运算符的定义(百度):

再看一看逻辑运算符的定义(百度):

与运算(&&) 

与运算:&&(Shift+7)

与运算只有当左右两边表达式都为真时,与运算表达式才为真。

具体说明表格:

左边表达式右边表达式与运算
000
010
00
111

举个栗子1:

3<5 && 8>1:左边为假,右边为真,一真一假还是假。

3-2 == 1 && 9>1:左边为真,右边为真,两真就是真。

或运算(||) 

或运算:||(Enter上面)

或运算只要左右两边表达式至少有一个为真时,或运算表达式才为真。

具体说明表格:

左边表达式右边表达式或运算
000
011
01
111

举个栗子2:

3<5 || 8>1:左边为假,右边为真,一真一假是真的。

5-2 == 3 && 9>8:左边为真,右边为真,两边都真还是真。

非运算(!) 

非运算:!(英文感叹号

非运算能让真变假,假变真,0变1,1变0,有点颠倒黑白的感觉。

具体说明表格:

表达式非运算
01
10

举个栗子3:

!8>1:表达式为真,颠倒后为假。

!9<8:表达试为假,颠倒后为真。

综合运用

与或非如果混到一起,得先算非,再算与,最后算或如:

1>0 || 3<2 && 5>2

先算与运算,左边假,右边真,一真一假还是假。

再算或运算,左边真,右边假,所以还是真。

答案:真 

if语句

引入

生活中我们常常会遇到带有条件的选择,比如:

如果明天不下雨,我们就去上海外滩玩。

再比如:

如果我数学考了100分,妈妈就会奖励我看30分钟的电视。

这种选择相信你也肯定有过,而今天要讲的if语句,就和如果有关系。

if语句的格式

if在英文中的意思是:

格式:

if (表达式)
{//如果表达式为真,则执行大括号里的语句//执行语句放这
} 

 如果表达式为真,即满足条件,就执行大括号里的语句。

举个栗子,比如:

if (3<5)
{cout<<"I don't like Japan!!!"<<endl;cout<<"I like China!!!"<<endl;
}

运行结果:I don't like Japan!!!

                  I like China!!!

但是如果把小于号改成大于号……:

if (3>5)
{cout<<"I don't like Japan!!!"<<endl;cout<<"I like China!!!"<<endl;
}

运行结果:(空空如也)

为什么呢?因为你没有满足条件,自然不会执行大括号里的语句了。

有如果就会有否则,所以我们要用到else语句。

else语句

引入

如果……否则……是配对的,我们先看一看else的英文解释:

else语句格式 

else语句必须和if语句一起使用,格式如下:

if(表达式)
{//程序
}
else
{//程序
}

作用:如果if条件没有满足,将执行else语句里的程序。

比如以下程序:

if(5>6)
{cout<<"hello"<<endl;
}
else
{cout<<"hi"<<endl;
}

分析:因为if表达式为假,将执行else语句,所以会输出‘hi’。

注意:else后面是没有表达式的!

else if语句

引入

如果需要多个条件判断该怎么办呢?

这就要用到else if语句了。

else if语句的格式

if(表达式1)
{//程序
}
else if(表达式2)
{//程序
}
else if(表达式3)
{//程序
}
………………
//自行添加else if的个数
else
{//程序
}

用法这里我就不讲了,你可以自己琢磨琢磨,else if最常用的情景就是输入一个分数,输出等地。

洛谷题目讲解小课堂

前言

刚学完If和逻辑运算,我们一起打开洛谷做一道题目吧!

洛谷使用教程:从入门到精通,30天带你学会C++【第五天:刷题软件的推荐及使用教程】(学不会你找我)_爱编程的小芒果的博客-CSDN博客

今天我们来做洛谷P5711,网址:【深基3.例3】闰年判断 - 洛谷 

题目描述

思路点拨

首先题目让我们输入一个年份,因此我们需要定义一个变量year,来存储输入的年份:

int year;

按照题目要求,利用输入语句,属于变量值:

cin>>year;

 接下来就要判断闰年了,很显眼需要用到if和else语句,如果表达式为真,输出1,否则输出0:

if(//表达式)
{cout<<"1"<<endl;
}
else
{cout<<"0"<<endl;
}

而表达式是闰年的定义:四年一闰,百年不闰,四百年又闰,利用逻辑运算符写成表达式:

year%4==0&&year%100!=0||year%400==0

表达式中!=的意思是不等于,两个等于号的意思是等于。

最后把程序拼在一起,在写上头文件就完工啦!

下面上AC代码:

AC代码

#include<bits/stdc++.h>
using namespace std;
int main()
{int year;cin>>year;if(year%4==0&&year%100!=0||year%400==0)cout<<"1"<<endl;elsecout<<"0"<<endl;return 0;
}

 评测结果

结尾

本篇文章是博主独自写过的最长的一篇了,有2514字,现在打字都变卡了呜呜呜。

但我还是要把最优质的内容呈现给大家,偷偷告诉你个秘密:

这篇文章我是从2023.9.2.18:44一直写到2023.9.2.22:52!

博主还是一名小学生,真的尽力了,还请各位不要喷我,我真的尽力了

如果你能支持一下我,我十分感谢,争取1888粉丝时,我尝试再写一篇2000字的博客!!!

最后认识一下,我是爱编程的小芒果,我们有缘再见!

相关文章:

从入门到精通,30天带你学会C++【第六天:与或非三兄弟和If判断语句(博主目前最长文章,2514字)】(学不会你找我)

目录 前言 计算机里的真和假 与或非三兄弟 ​编辑与运算&#xff08;&&&#xff09; 具体说明表格&#xff1a; 举个栗子1&#xff1a; 或运算&#xff08;||&#xff09; 具体说明表格&#xff1a; 举个栗子2&#xff1a; 非运算&#xff08;!&#xff09…...

如何快速找出占用空间最大的文件?

分析&回答 使用 find 命令找到大于指定大小的文件&#xff1a; 当前目录大于500M文件 find ./ -size 500M用户目录大于500M文件 find ~ -type f -size 500M根目录大于500M文件 find / -type f -size 500M 复制代码 让文件按大小排序 du -h * | sort -n 喵呜面试助手&am…...

算法:分治思想处理归并递归问题

文章目录 算法原理实现思路典型例题排序数组数组中的逆序对计算右侧小于当前元素的个数 总结 算法原理 利用归并思想进行分治也是很重要的一种思路&#xff0c;在解决逆序对的问题上有很大的需求空间 于是首先归并排序是首先的&#xff0c;归并排序要能写出来&#xff1a; c…...

小白学Go 基础02-了解Go语言的诞生与演进

Go语言诞生于何时&#xff1f;它的最初设计者是谁&#xff1f;它为什么被命名为Go&#xff1f;它的设计目标是什么&#xff1f;它如今发展得怎么样&#xff1f;带着这些问题&#xff0c;我们一起穿越时空&#xff0c;回到2007年9月Go语言诞生的那一历史时刻吧。 Go语言的诞生 …...

python中如何将十进制转成二进制

python中如何将十进制转成二进制 在 Python 中&#xff0c;你可以使用内置的 bin() 函数将十进制数转换为二进制表示形式。以下是使用 bin() 函数进行转换的示例&#xff1a; decimal_number 10binary_number bin(decimal_number)print(binary_number) # 输出&#xff1a;…...

数据结构--5.0.1图的存储结构

目录 一、邻接矩阵&#xff08;无向图&#xff09; 二、邻接矩阵&#xff08;有向图&#xff09; 三、邻接矩阵&#xff08;网&#xff09; 四、邻接表&#xff08;无向图&#xff09; 五、邻接表&#xff08;有向图&#xff09; ——图的存储结构相比较线性表与树来说就复…...

解决win10 wsl子系统安装的ubuntu环境中lsof,netstat命令查看端口没有任何输出的问题

最近有个以前的ssm项目需要在新电脑上运行测试一下&#xff0c;发现需要redis环境&#xff0c;看了官网说&#xff1a;有两种选择&#xff1a; 1. 要么在虚拟机比如vmware安装linux基础环境&#xff0c;然后再安装redis 2. 要么可以利用win10的wsl linux子系统安装ubuntu&…...

【OpenFeign】OpenFeign结合Hystrix和Sentinel实现熔断降级

OpenFeign可以与Hystrix和Sentinel结合使用&#xff0c;实现降级和熔断。 OpenFeign与Hystrix结合使用 使用OpenFeign需要引入OpenFeign的依赖&#xff1a; <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-sta…...

软件工程(十) 需求工程之需求开发与管理

前面我们学习到了需求工程的概念与分类,我们知道了需求工程主要分为需求开发和需求管理,但是没有说明到底该如何开发需求,有哪些方法去开发需求。到底该如何进行需求管理,又有哪些进行需求管理的方式。具体是如何去做的。下面我们将会详细进行描述。 1、需求开发 1.1、需…...

C++网狐服务器引入开源日志库spdlog

很多人对日志库不以为然&#xff0c;包括网狐这种十几年的公司都不重视&#xff0c;其实日志库记录的东西能在线上出问题时高效解决&#xff0c;特别是别人写的东西&#xff0c;人又走了&#xff0c;出了问题&#xff0c;还可以用日志分析快速解决。要是没有日志记录&#xff0…...

【C++】—— c++11之智能指针

前言&#xff1a; 本期&#xff0c;我们将要学习的是在c11中新提出的概念——异常指针&#xff01; 目录 &#xff08;一&#xff09;智能指针的引入 &#xff08;二&#xff09;内存泄漏 1、什么是内存泄漏&#xff0c;内存泄漏的危害 2、内存泄漏分类&#xff08;了解&a…...

html5——前端笔记

html 一、html51.1、理解html结构1.2、h1 - h6 (标题标签)1.3、p (段落和换行标签)1.4、br 换行标签1.5、文本格式化1.6、div 和 span 标签1.7、img 图像标签1.8、a 超链接标签1.9、table表格标签1.9.1、表格标签1.9.2、表格结构标签1.9.3、合并单元格 1.10、列表1.10.1、ul无序…...

如何在 Vue TypeScript 项目使用 emits 事件

Vue是构建出色的Web应用程序的最灵活、灵活和强大的JavaScript框架之一。Vue中最重要的概念和关键特性之一是能够促进应用程序组件之间的通信。让我们深入探讨一下Vue中的“emits”概念&#xff0c;并了解它们如何以流畅和无缝的方式实现父子组件之间的通信。 Vue中的emits是什…...

文件操作 黑马教程(04)

1.文本文件 写文件 #include "iostream" #include "fstream" using namespace std; /** 文件操作** 程序运行时产生的数据都属于临时数据&#xff0c;程序一旦结束都会被释放* 通过文件可以将数据持久化* C中对文件操作需要包含头文件<fstream>** 文…...

Jmeter(二十七):BeanShell PostProcessor跨线程全局变量使用

在性能测试中&#xff0c;两个相关联的接口不一定都在同一个线程组&#xff0c;遇见这种情况时&#xff0c;我们要进行跨线程组传参&#xff0c;此处用登录和查询配送单两个请求举例&#xff1b; 1、登录请求中配置json提取器&#xff0c;将接口返回的token保存在变量中&#…...

手写表格OCR识别并与大模型ChatGPT交互?

这是一张手写表格&#xff0c;姓名做了脱敏处理。现在需要对其识别&#xff0c;并分析。 直接粘贴剪切板中的表格原始图片&#xff0c;在网页中ctlV进行识别。识别结果列用分隔符|&#xff0c;可以直接粘贴到excel&#xff0c;进行数据列分隔。为了美观期间&#xff0c;也可以用…...

使用 v-for 指令和数组来实现在 Uni-app 中动态增减表单项并渲染多个数据

在 data 中定义一个数组&#xff0c;用于存储表单项的数据&#xff1a; data() {return {formItems: []} } 在模板中使用 v-for 指令渲染表单项&#xff1a; <template><div><div v-for"(item, index) in formItems" :key"index"><…...

xml

1.xml 1.1概述【理解】 万维网联盟(W3C) 万维网联盟(W3C)创建于1994年&#xff0c;又称W3C理事会。1994年10月在麻省理工学院计算机科学实验室成立。 建立者&#xff1a; Tim Berners-Lee (蒂姆伯纳斯李)。 是Web技术领域最具权威和影响力的国际中立性技术标准机构。 到目前为…...

Java中的动态代理(JDK Proxy VS CGLib)

前言 动态代理可以说是Java基础中一个比较重要的内容&#xff0c;这块内容关系到Spring框架中的AOP实现原理&#xff0c;所以特别写了一篇作为个人对这块知识的总结。这部分内容主要包括&#xff1a;JDK Proxy和CGLib的基本介绍、二者的实现原理、代码示例等。 什么是动态代理…...

Redis 7 第七讲 哨兵模式(sentinal)

哨兵模式 哨兵巡查监控后台master主机是否故障,如果出现故障根据投票时自动将某一个从库转换成新的主库,继续对外服务。 作用 1. 监控redis运行状态,包括master和slave 2. 当master down机,能自动将salve切换成新的master 应用场景 主从监控监控主从redis库运行的状态…...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...