当前位置: 首页 > 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库运行的状态…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容&#xff08;一&#xff09;CDN 基础概念1. 定义2. 组成部分 &#xff08;二&#xff09;CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 &#xff08;三&#xff09;CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术&#xff1a;基于互相关的相干体技术&#xff08;Correlation&#xff09;第二代相干体技术&#xff1a;基于相似的相干体技术&#xff08;Semblance&#xff09;基于多道相似的相干体…...

计算机基础知识解析:从应用到架构的全面拆解

目录 前言 1、 计算机的应用领域&#xff1a;无处不在的数字助手 2、 计算机的进化史&#xff1a;从算盘到量子计算 3、计算机的分类&#xff1a;不止 “台式机和笔记本” 4、计算机的组件&#xff1a;硬件与软件的协同 4.1 硬件&#xff1a;五大核心部件 4.2 软件&#…...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】&#xff0c;注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录&#xff08;即exe所在文件夹&#xff09;加入系统变量…...

ArcPy扩展模块的使用(3)

管理工程项目 arcpy.mp模块允许用户管理布局、地图、报表、文件夹连接、视图等工程项目。例如&#xff0c;可以更新、修复或替换图层数据源&#xff0c;修改图层的符号系统&#xff0c;甚至自动在线执行共享要托管在组织中的工程项。 以下代码展示了如何更新图层的数据源&…...

【记录坑点问题】IDEA运行:maven-resources-production:XX: OOM: Java heap space

问题&#xff1a;IDEA出现maven-resources-production:operation-service: java.lang.OutOfMemoryError: Java heap space 解决方案&#xff1a;将编译的堆内存增加一点 位置&#xff1a;设置setting-》构建菜单build-》编译器Complier...

五、jmeter脚本参数化

目录 1、脚本参数化 1.1 用户定义的变量 1.1.1 添加及引用方式 1.1.2 测试得出用户定义变量的特点 1.2 用户参数 1.2.1 概念 1.2.2 位置不同效果不同 1.2.3、用户参数的勾选框 - 每次迭代更新一次 总结用户定义的变量、用户参数 1.3 csv数据文件参数化 1、脚本参数化 …...