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

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)

LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 题目描述解题思路Java代码 题目描述 题目链接&#xff1a;LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...