全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之分支结构(关系运算符和逻辑运算符)

server/2024/12/23 1:08:48/

在C++编程的旅途中,经常会遇到需要根据不同条件执行不同代码的情况。这时,分支结构就显得尤为重要。它就像程序中的“决策点”,让程序能够根据输入、状态或其他条件智能地选择执行路径。这时就需要学习关系表达式与逻辑表达式,有了判断之后就可以执行对应的程序。

(一)、关系运算符

在计算机中,有一种数据类型—布尔型(bool),如果一个变量设置为布尔数据类型,那么该变量的数值只能有两种情况,即"真(true)"或"假(false)",计算机中“true”和“false”对应的数值分别为1和0。

布尔数据类型的存在,使得计算机可以进行逻辑判断,这样才能根据不同的情况做出相应的反应。定义bool类型的变量格式如下:

bool 变量名;

例如:语句bool flag;该条语句定义了一个bool类型的变量flag,在数学中"2>1"是正确的,"2<1"是错误的,对应地在C++中"2>1"相当于该逻辑判断的结果为真,"2<1"相当于该逻辑判断的结果是假,其中'>'和'<'这两个运算符被称为"关系运算符"。

在C++中关系运算符是对两个操作数大小进行比较的运算符。计算机一共有6个关系运算符:<(小于),<=(小于等于),>(大于),>=(大于等于),==(等于),!=(不等于)。具体运算举例如下:

关系运算符

含义

实例

运算结果

<

小于

10<12

1(true)

<=

小于等于

12<=10

0(false)

>

大于

10>12

0(false)

>=

大于等于

12>=10

1(true)

==

等于

10==12

0(false)

!=

不等于

10!=12

1(true)

用关系运算符连接的表达式称为”关系表达式”,不论多么复杂的关系表达式,其运算结果只有0(false)或1(true)两种情况。此处特别强调,在计算机中逻辑判断相等用的符号是两个等于号,即"==",一个等于号'='是赋值运算符,刚入门者容易将'=='写成'='。

实战训练—写出以下描述对应的关系表达式:

描述

关系表达式

变量a小于等于b

a<=b;

变量a大于b

a>b;

变量a是奇数

a%2==1

变量a能被4整除

a%4==0

变量a不等于10

a!=10

(二)、逻辑运算符

在计算机中,当面对很多条件运算时,计算机程序中多个条件往往会用逻辑运算符连接。逻辑运算符包含三种:与(&&)、或(||)、非(!)。

1、"&&"是双目运算符,即用来连接两个表达式,只有当两个表达式的结果都为真时,与运算的结果才为真,运算规则可以简称“全真为真”,"&&"运算的规则如下:

a的取值

b的取值

a&&b的结果

0

0

0

0

1

0

1

0

0

1

1

1

2、"||"是双目运算符,即连接的两个表达式中只要有一个条件成立,结果就为真,运算规则简称为“全假为假”,"||"运算的规则如下:

a的取值

b的取值

a&&b的结果

0

0

0

0

1

1

1

0

1

1

1

1

3、'!'是单目运算符,用来对它后面的表达式结果进行求反,即反转一个表达式的值,它使一个表达式的值从"true"变成了"false",或者从"false"变成了“true”,“真”的非运算的结果为“假”,“假”的非运算的结果为“真”,运算规则简称为“非真即假,非假即真”。'!'运算的规则如下:

a的取值

!a的结果

0

1

1

0

实战训练—写出以下描述对应的关系表达式:

描述

关系表达式

变量a大于等于3小于等于5

a>=3 && a<=5

变量a大于3或者a小于-3

a>3 || a<-3

变量a是偶数

!(a%2==1)

注意:在学习"&&"运算之后,容易犯的一个错误就是在遇到类似"3≦a≦5"的数学式子时,很容易直接写成"3<=a<=5"。我们知道关系运算符的运算结果只有0或1两种情况,那么"3<=a"的运算结果不论是0还是1,必然小于5,这样的释义与数学式子中表达的含义不一致并且也起不到判断的作用,其正确写法为"a>=3 && a<=5"或"3<=a&&a<=5"。


http://www.ppmy.cn/server/152368.html

相关文章

Altair: 轻松创建交互式数据可视化

Altair: 轻松创建交互式数据可视化 Altair 是一个基于 Vega-Lite 的 Python 数据可视化库&#xff0c;它旨在简化数据可视化的创建过程&#xff0c;尤其适用于统计图表的生成。Altair 强调声明式编码方式&#xff0c;通过简单的语法&#xff0c;用户能够快速创建复杂的交互式图…

使用JavaScript获取商品详情接口:一个实用的指南

引言 在现代电子商务中&#xff0c;获取商品详情是提供个性化购物体验的关键。JavaScript&#xff0c;作为一种广泛使用的编程语言&#xff0c;可以轻松地与各种API进行交互&#xff0c;从而获取商品信息。本文将指导您如何使用JavaScript调用商品详情接口&#xff0c;并处理返…

基于Spring Boot的个人财务系统

一、系统背景与目的 随着全球经济的发展和人们生活水平的提高&#xff0c;个人财务管理变得越来越重要。传统的个人财务软件存在操作复杂、用户体验差、数据不安全等问题&#xff0c;无法满足用户的个性化需求。因此&#xff0c;开发一种基于Spring Boot的个人财务系统&#x…

探秘数据库索引:功能、意义与实例

探秘数据库索引&#xff1a;功能、意义与实例 ​数据库索引就像是一个 “路标” 或者 “地图”。当进行查询操作时&#xff0c;数据库软件首先会查找索引表。索引表中的数据是经过排序的&#xff0c;并且和原表中的数据存在关联&#xff08;这种关联可以是基于数据行的物理位置…

在uniapp Vue3版本中如何解决webH5网页浏览器跨域的问题

问题复现 uniapp项目在浏览器运行&#xff0c;有可能调用某些接口会出现跨域问题&#xff0c;报错如下图所示&#xff1a; 什么是跨域&#xff1f; 存在跨域问题的原因是因为浏览器的同源策略&#xff0c;也就是说前端无法直接发起跨域请求。同源策略是一个基础的安全策略&a…

【HTML+CSS】深入理解HTML中的<div>标签:布局与样式的基石

目录 标签的基础介绍 基本语法 在布局中的应用 1. 创建页面结构 2. 结合CSS进行样式化 与现代前端框架 在HTML&#xff08;HyperText Markup Language&#xff09;的广阔世界中&#xff0c;<div>标签无疑是最基础且强大的元素之一。它不仅是网页布局的核心构建块&a…

ffmpeg.exe 命令使用

1. 视频分片&#xff1a;裁剪分割视频成小片段&#xff0c; ffmpeg Documentation Seeking – FFmpeg 1.指定持续时间 使用-t命令。前者要比后者快。 ffmpeg -ss [start] -i [input] -t [duration] -c copy [output] ffmpeg -i [input] -ss [start] -t [duration] -c cop…

【网络安全】用 Frida 修改软件为你所用

用 Frida 修改软件为你所用 Frida是一个强大的设备操作工具&#xff0c;它允许我们分析、修改和与运行中的应用程序交互。Frida通过在目标进程中创建一个线程&#xff0c;并通过这个线程执行一些启动代码来实现交互功能。这种交互被称为“代理”&#xff0c;它允许我们添加Jav…