当前位置: 首页 > 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-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容&#xff0c;我认为是AI开发里面非常重要的内容。它在AI开发里无处不在&#xff0c;当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗"&#xff0c;或者让翻译模型 "将这段合同翻译成商务日语" 时&#xff0c;输入的这句话就是 Prompt。…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...

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

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

Go语言多线程问题

打印零与奇偶数&#xff08;leetcode 1116&#xff09; 方法1&#xff1a;使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...