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

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

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

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

站群服务器的应用场景都有哪些?

站群服务器主要是为了多个网站的托管和管理所设计的&#xff0c;可以通过集中管理和高效资源的分配&#xff0c;来支持多个独立的网站同时运行&#xff0c;让每一个网站都可以分配到独立的IP地址&#xff0c;避免出现IP关联的风险&#xff0c;用户还可以通过控制面板进行管理功…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)

前言&#xff1a; 双亲委派机制对于面试这块来说非常重要&#xff0c;在实际开发中也是经常遇见需要打破双亲委派的需求&#xff0c;今天我们一起来探索一下什么是双亲委派机制&#xff0c;在此之前我们先介绍一下类的加载器。 目录 ​编辑 前言&#xff1a; 类加载器 1. …...

【SpringBoot自动化部署】

SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一&#xff0c;能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时&#xff0c;需要添加Git仓库地址和凭证&#xff0c;设置构建触发器&#xff08;如GitHub…...

springboot 日志类切面,接口成功记录日志,失败不记录

springboot 日志类切面&#xff0c;接口成功记录日志&#xff0c;失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...

​​企业大模型服务合规指南:深度解析备案与登记制度​​

伴随AI技术的爆炸式发展&#xff0c;尤其是大模型&#xff08;LLM&#xff09;在各行各业的深度应用和整合&#xff0c;企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者&#xff0c;还是积极拥抱AI转型的传统企业&#xff0c;在面向公众…...

【深尚想】TPS54618CQRTERQ1汽车级同步降压转换器电源芯片全面解析

1. 元器件定义与技术特点 TPS54618CQRTERQ1 是德州仪器&#xff08;TI&#xff09;推出的一款 汽车级同步降压转换器&#xff08;DC-DC开关稳压器&#xff09;&#xff0c;属于高性能电源管理芯片。核心特性包括&#xff1a; 输入电压范围&#xff1a;2.95V–6V&#xff0c;输…...

高端性能封装正在突破性能壁垒,其芯片集成技术助力人工智能革命。

2024 年&#xff0c;高端封装市场规模为 80 亿美元&#xff0c;预计到 2030 年将超过 280 亿美元&#xff0c;2024-2030 年复合年增长率为 23%。 细分到各个终端市场&#xff0c;最大的高端性能封装市场是“电信和基础设施”&#xff0c;2024 年该市场创造了超过 67% 的收入。…...