【C++ 入坑指南】(07)判断

news2024/11/22 15:43:09

在这里插入图片描述

文章目录

    • 一、if 语句
      • 1. 单行格式 if 语句
      • 2. 多行格式 if 语句
    • 二、三目运算符
    • 三、switch 语句
    • 四、算法题
      • 4.1 分段函数

判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。

一、if 语句

作用:执行满足条件的语句。

if 语句的三种形式:

  • 单行格式 if 语句
  • 多行格式 if 语句
  • 多条件的 if 语句

1. 单行格式 if 语句

语法if(条件){条件满足执行的语句}

流程图
在这里插入图片描述
示例

#include <iostream>

using namespace std;


int main()
{
	int score = 0;
	cout << "请输入您的分数: " << endl;
	cin >> score;

	if (score > 500)
	{
		cout << "恭喜您,可以顺利进入大学" << endl;
	}

	return 0;
}

2. 多行格式 if 语句

语法if(条件){条件满足执行的语句}else{条件不满足执行的语句}

流程图
在这里插入图片描述

示例:水仙花数 371、153、370、407

#include <iostream>

using namespace std;


int main()
{
	int num = 0;
	int unit = 0;
	int ten = 0;
	int hundred = 0;
	cout << "请输入一个三位数: " << endl;
	cin >> num;

	unit = num % 10;
	ten = num % 100 / 10;
	hundred = num / 100;

	if (unit * unit * unit + ten * ten * ten + hundred * hundred * hundred == num)
	{
		cout << "您输入的三位数 " << num << " 为水仙花数噢" << endl;
	}
	else 
	{
		cout << "您输入的三位数 " << num << " 不是水仙花数" << endl;
	}

	return 0;
}

二、三目运算符

作用:通过三目运算符实现简单的判断。

语法表达式1 ? 表达式2 : 表达式3

说明
如果表达式1的值为真,执行表达式2,并返回表达式2的结果;
如果表达式1的值为假,执行表达式3,并返回表达式3的结果。
C++ 中三目运算符返回的是变量,可以继续赋值。

三、switch 语句

作用:执行多条件分支语句。

语法:

switch(expression){
    case constant-expression  :
       statement(s);
       break; // 可选的
    case constant-expression  :
       statement(s);
       break; // 可选的
  
    // 您可以有任意数量的 case 语句
    default : // 可选的
       statement(s);
}

switch 语句必须遵循下面的规则:

  • switch 语句中的 expression 必须是一个整型或枚举类型,或者是一个 class 类型,其中 class 有一个单一的转换函数将其转换为整型或枚举类型。
  • 在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。
  • case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。
  • 当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止。
  • 当遇到 break 语句时,switch 终止,控制流将跳转到 switch 语句后的下一行。
  • 不是每一个 case 都需要包含 break。如果 case 语句不包含 break,控制流将会 继续 后续的 case,直到遇到 break 为止。
  • 一个 switch 语句可以有一个可选的 default case,出现在 switch 的结尾。default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的。

四、算法题

4.1 分段函数

有一个函数如下,写一程序,输入x,输出y值。
在这里插入图片描述

保留两位小数。

代码

#include <iostream>
#include <iomanip>

using namespace std;


int main()
{
	double x = 0.00;
	double y = 0.00;

	cin >> x;

	if (x < 1)
	{
		y = x;
	}
	else if (x >= 1 && x < 10)
	{
		y = 2 * x - 1;
	}
	else
	{
		y = 3 * x - 11;
	}

	cout << fixed << setprecision(2) << y << endl;

	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/531025.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ - 使用RBTree来封装Set与Map

前面的文章中我们简单的实现了一个红黑树&#xff0c;实现了它的插入的功能&#xff0c;在本文中我们来对其进行修改并构建Set与Map。 下面我们来从源码中截取一点有关Map与Set的代码&#xff1b; 可以看出&#xff0c;在STL30中构建Map与Set使用的是同一个红黑树模板&#xf…

开箱即用!AI模型库全新发布,一站式在线开发部署!

人工智能学习与实训社区飞桨AI Studio模型库全新升级&#xff01;支持模型创建、上传、托管并一键调用模型线上开发部署&#xff01; 飞桨AI Studio已接入飞桨生态特色模型库&#xff0c;全面覆盖模型领域&#xff0c;包含文心系列大模型、CV、NLP、语音、科学计算、量子计算等…

Linux常用命令——hwclock命令

在线Linux命令查询工具 hwclock 显示与设定硬件时钟 补充说明 hwclock命令是一个硬件时钟访问工具&#xff0c;它可以显示当前时间、设置硬件时钟的时间和设置硬件时钟为系统时间&#xff0c;也可设置系统时间为硬件时钟的时间。 在Linux中有硬件时钟与系统时钟等两种时钟。…

XR文字输入技术

VR/AR/MR&#xff08;统称为XR&#xff09;有望成为个人电脑、手机之后的下一代计算平台&#xff0c;元宇宙的硬件入口。 近年来XR发展迅猛&#xff0c;不仅可以应用于游戏、影视领域&#xff0c;还在军事、医疗、办公、教育等领域有巨大的发展前景。然而相比于XR强大的显示技…

IPWorks IPC .NET 2022.0.85 Crack

IPWorks IPC .NET一个组件库&#xff0c;用于通过命名管道向应用程序添加进程间通信 &#xff08;IPC&#xff09; 功能。包括客户端、服务器和外部进程执行组件&#xff0c;用于进程之间的简单对等通信。 最新的IPWorks IPC现已上市&#xff01;最新版本的 IPWorks IPC 具有现…

我用ChatGPT搞懂GPT技术原理,只问了30个问题,这是极致的学习体验!

自己前段时间写了一篇文章《问了ChatGPT 上百个问题后&#xff0c;我断定ChatGPT可以重塑学习范式&#xff01;》&#xff0c;讲了使用ChatGPT的感受&#xff0c;最近我开始学习GPT的技术原理&#xff0c;原因有三个&#xff1a; 1、工作中有可能要用到GPT&#xff0c;理解GPT的…

智见|中国能建中电工程罗必雄:数能融合为数字中国夯实底座

出品|网易科技《智见访谈》 作者&#xff5c;赵芙瑶 编辑&#xff5c;丁广胜 数字化浪潮的风&#xff0c;吹到了能源结构转型领域。 中国作为全球最大的能源生产国和消费国&#xff0c;正积极推动能源行业的数字化和智能化建设。数字化智能化升级在能源产业中被视为一项重要的战…

Go设计模式--解释器模式

大家好&#xff0c;这里是每周都在陪你一起进步的网管&#xff5e;&#xff01;今天继续学习设计模式—解释器模式 解释器模式是一种行为设计模式&#xff0c;可以用来在程序里创建针对一个特点领域语言的解释器&#xff0c;用于处理解释领域语言中的语句。换句话说&#xff0c…

转转前端周刊第六十五期

转转前端周刊 本刊意在将整理业界精华文章给大家&#xff0c;期望大家一起打开视野 如果你有发现一些精华文章想和更多人分享&#xff0c;可以点击我们的公众号名称&#xff0c;将文章链接和你的解读文案发给我们&#xff01;我们会对内容进行筛选和审核&#xff0c;保留你的推…

基于POM模式应用Playwright进行自动化测试

下方查看历史精选文章 重磅发布 - 自动化框架基础指南pdfv1.1大数据测试过程、策略及挑战 测试框架原理&#xff0c;构建成功的基石 在自动化测试工作之前&#xff0c;你应该知道的10条建议 在自动化测试中&#xff0c;重要的不是工具 前言 在现代软件开发中&#xff0c;自动化…

【Linux】Centos安装Redis数据库并内网穿透远程连接

文章目录 前言1. Linux(centos8)安装redis数据库2. 配置redis数据库3. 内网穿透3.1 安装cpolar内网穿透3.2 创建隧道映射本地端口 4. 配置固定TCP端口地址4.1 保留一个固定tcp地址4.2 配置固定TCP地址4.3 使用固定的tcp地址连接 前言 Redis作为一款高速缓存的key value键值对的…

springboot+jsp家政预约服务管理系统

智慧家政在线预约管理系统为用户提供家政服务预约服务&#xff0c;系统包括前台和后台。 前台用户可以先进行注册&#xff0c;填写个人的基本信息提交到服务器&#xff0c;服务器把数据保存到数据库。管理员对会员的信息进行验证后&#xff0c;会员通过验证后的用户名和密码进行…

vlc搭建rtsp直播Demo ffmpeg + nginx + flv.js实现rtsp网页播放Demo

文章目录 学习链接本地视频文件作为数据源推流步骤拉流步骤 本地摄像头作为数据源拉流步骤 vlc ffmpeg nginx flv.js 实现网页视频直播概括vlc打开摄像头&#xff0c;提供rtsp视频流nginx配置http-flv.conf的nginx配置文件 ffmpeg将rtsp视频流转为rtmp&#xff0c;推送给ngi…

硬文:为什么中本聪不给比特币设计最终性?

* * * 原创&#xff1a;刘教链 * * * 昨日刘教链公众号刊发原创文章《论比特币和以太坊的“宕机”》之后&#xff0c;引发了一些对区块链工作原理感兴趣的朋友的热烈讨论。其中&#xff0c;魔笛手社区群主Claire提了一个好问题&#xff1a;为什么中本聪不给比特币设计最终性&a…

Babylon.js实战WebXR/元宇宙

从 VR 音频实验到街机上的 VR 休闲游戏&#xff0c;再到使用 AR 或 VR 创建新协作方式的更严肃用途&#xff0c;阅读本文后&#xff0c;你应该对今天可以做什么有很好的了解。 事实上&#xff0c;在本文中&#xff0c;我将分享我一直致力于使用 Babylon.js 构建沉浸式或增强现…

Towards Open-Set Object Detection and Discovery(论文翻译)

Towards Open-Set Object Detection and Discovery 摘要 随着人类对知识的不断追求&#xff0c;开集目标检测&#xff08;OSOD&#xff09;被设计用于识别动态世界中的未知目标。然而&#xff0c;当前设置的一个问题是&#xff0c;所有预测的未知对象共享相同的类别为“未知”…

Kali-linux使用Metasploitable操作系统

Metasploitable是一款基于Ubuntu Linux的操作系统。该系统是一个虚拟机文件&#xff0c;从http://sourceforge.net/projects/metasploitable/files/Metasploitable2/网站下载解压之后可以直接使用&#xff0c;无需安装。由于基于Ubuntu&#xff0c;所以Metasploitable使用起来十…

卧龙、凤雏!两源码学得一,代码质量都不会差!

作者&#xff1a;小傅哥 博客&#xff1a;https://bugstack.cn 沉淀、分享、成长&#xff0c;让自己和他人都能有所收获&#xff01;&#x1f604; 有人问我&#xff0c;编程能力怎么提升&#xff0c;我说学源码学的。他有问我&#xff0c;是不学 Spring 源码比学 MyBatis 更好…

ESP32 event loop(事件循环)(17)

提示&#xff1a;本博客作为学习笔记&#xff0c;有错误的地方希望指正&#xff0c;主要参考乐鑫技术手册说明结合实例代码分析&#xff0c;结合理论知识学习后示例分析以及常见问题说明。 文章目录 一、ESP32 Event Loop 概述2、使用 esp_event APIs3、默认 event loop4、句柄…

Java进阶-面向对象进阶(抽象类接口内部类)

1 抽象类 1.1 概述 1.1.1 抽象类引入 ​ 父类中的方法&#xff0c;被它的子类们重写&#xff0c;子类各自的实现都不尽相同。那么父类的方法声明和方法主体&#xff0c;只有声明还有意义&#xff0c;而方法主体则没有存在的意义了(因为子类对象会调用自己重写的方法)。换句话…