当前位置: 首页 > news >正文

C++(十二)

前言:

本文将进一步讲解C++中,条件判断语句以及它是如何运行的以及内部逻辑。

一,if-else,if-else语句。

在if语句中,只能判断两个条件的变量,若想实现判断两个以上条件的变体,就需要使用if-else,if-else语句。

语法:

if(条件1){语句1;语句2;
}//当满足条件1为ture时,被处理。
else if(条件2){语句3;语句4;
}//当条件1为false且条件2为ture时被处理。
else if(条件3){语句5;语句6;
}//可同时列举多个类似条件。
else{语句7
}//当所有条件为false时,被处理。

根据前篇内容,可以就可以写一个简单的计算器。

#include <iostream>
using namespace std;
int main()
{double a, b;//定义变量a,b用于存储所输入的四则运算的两位数。char c;//定义变量c用于存储所输入的四则运算的运算符。double d;//定义变量d用于存储四则运算的结果。cout << "请输入一个四则运算表达式(例如:1 + 2):";cin >> a >> c >> b;//获取输入四则运算表达式,并赋值给相关变量。if (c == '+'){d = a + b;cout << a << " + " << b << " = " << d << endl;}//如果c为+,则执行加法运算,并输出结果。else if (c == '-'){d = a - b;cout << a << " - " << b << " = " << d << endl;}//如果c为-,则执行减法运算,并输出结果。else if (c == '*'){d = a * b;cout << a << " * " << b << " = " << d << endl;}//如果c为*,则执行乘法运算,并输出结果。else if (c == '/'){if (b == 0) {cout << "除数不能为0" << endl;}//如果除数b为0,则输出错误信息。else {d = a / b;cout << a << " / " << b << " = " << d << endl;}}//如果c为/,则执行除法运算,并输出结果。else {cout << "输入的运算符不正确" << endl;}}

运行结果:

二,switch语句。

在C++中,还有一个与if语句原理一致的其他根据条件控制处理的语句,被称为switch语句。

语法为:

switch(表达式){case 值1;语句1;break;//当表达式判断值为1时,进行处理。case 值2;语句2;break;//当表达式判断值为2时,进行处理。case 值3;语句3;break;//当表达式判断值为3时,进行处理。
different:语句4;break';当任何一个表达式判断值都不符合时,进行处理。
}

可以使用switch语句,也写一个可以进行四则运算的简单计算器。

#include <iostream>
#include <string>using namespace std;int main() {double a,b,d;//定义变量a,b用于存储所输入的四则运算的两位数。char c;//定义变量c用于存储所输入的四则运算符。cout << "请输入一个四则运算表达式(例如:1 + 2):";cin >> a >> c >> b;//获取输入四则运算表达式,并赋值给相关变量。switch(c) {case '+':d = a + b;break;//当c为+时,执行a+b,并将结果赋值给d。case '-':d = a - b;break;//当c为-时,执行a-b,并将结果赋值给d。case '*':d = a * b;break;//当c为*时,执行a*b,并将结果赋值给d。case '/':if (b == 0) {cout << "除数不能为0!" << endl;return 0; //当b为0时,输出错误信息并结束程序。}d = a / b;break;//当c为/时,执行a/b,并将结果赋值给d。default:cout << "输入错误!" << endl;//当c不是四则运算符时,输出错误信息并结束程序。}
}

输出:

相关文章:

C++(十二)

前言&#xff1a; 本文将进一步讲解C中&#xff0c;条件判断语句以及它是如何运行的以及内部逻辑。 一&#xff0c;if-else,if-else语句。 在if语句中&#xff0c;只能判断两个条件的变量&#xff0c;若想实现判断两个以上条件的变体&#xff0c;就需要使用if-else,if-else语…...

【数学建模】线性规划问题及Matlab求解

问题一 题目&#xff1a; 求解下列线性规划问题 解答&#xff1a; 先将题目中求最大值转化为求最小值&#xff0c;则有 我们就可以得到系数列向量: 我们对问题中所给出的不等式约束进行标准化则得到了 就有不等式约束条件下的变系数矩阵和常系数矩阵分别为&#xff1a; 等式…...

【JavaWeb后端学习笔记】Spring全局异常处理器

在程序运行时&#xff0c;不可避免的会出现异常。在三层开发架构中&#xff0c;当Mapper层出现异常、如果不进行处理会抛给Service层&#xff0c;如果Service层也不处理则会抛给Controller层&#xff0c;通常Controller层有许多接口&#xff0c;如果对每个接口单独处理异常&…...

PT8M2102 触控型 8Bit MCU

1 产品概述 ● PT8M2102 是一款基于 RISC 内核的8位 MTP 单片机&#xff0c;内部集成了电容式触摸感应模块、TIMER&#xff0c;PWM、LVR、LVD、WDT等外设&#xff0c;其主要用作触摸按键开关&#xff0c;广泛适用于触控调光、电子玩具、消费电子、家用电器等领域&#xff0c;具…...

4. React 性能优化技巧:如何让你的应用更快

在构建大型应用时&#xff0c;性能优化是一个非常重要的话题。React 提供了许多优化工具&#xff0c;帮助我们提高应用的渲染速度和响应能力。本文将分享一些常见的 React 性能优化技巧。 4.1. 使用 React.memo 缓存组件 当组件的 props 没有变化时&#xff0c;React 默认不会…...

pytest中使用conftest做测试前置和参数化

pytest中比较高阶的应用是&#xff0c;使用conftest去做测试前置工作、测试收尾工作和参数化。conftest是pytest的一个组件&#xff0c;用于配置测试环境和参数。通过conftest, 可以创建一个可复用的测试配置文件&#xff0c;以便在多个测试模块之间共享配置信息。即&#xff0…...

Spring Boot 中使用 @Transactional 注解配置事务管理

事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编程式和声明式的两种方式。编程式事务指的是通过编码方式实现事务&#xff1b;声明式事务基于 AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污…...

MATLAB 建筑顶面面积计算(95)

MATLAB 建筑顶面面积计算(95) 一、算法介绍二、算法实现1.代码2.结果一、算法介绍 根据给出的建筑顶面点云,计算建筑面积,具体的方法实现和结果如下: 二、算法实现 1.代码 代码如下(示例): % 从 PLY 文件读取点云数据 filename = D:\shuju\屋顶2.ply; % 替换为你的…...

Linux网络编程之---组播和广播

一.组播 1.概述 单播地址标识单个IP 接口&#xff0c;广播地址标识某个子网的所有IP 接口&#xff0c; 多播地址标识一组IP 接口。单播和广播是寻址方案的两个极端(要么单个要么全部)&#xff0c; 多播则意在两者之间提供一种折中方案。多播数据报只应该由对它感兴趣的接口接收…...

Apache Dolphinscheduler可视化 DAG 工作流任务调度系统

Apache Dolphinscheduler 关于 一个分布式易扩展的可视化 DAG 工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系&#xff0c;使调度系统在数据处理流程中开箱即用。 DolphinScheduler 的主要特性如下&#xff1a; 易于部署&#xff0c;提供四种部署方式&am…...

docker 部署共享文档ZFile

1、拉取ZFile镜像 docker pull crpi-k5k93ldwfc7o75ip.cn-hangzhou.personal.cr.aliyuncs.com/tirling-pdf/zfile:latest 2、创建文件夹和进入文件夹 mkdir zfile && cd zfile 3、创建docker-compose.yml配置文件。 vim docker-compose.yml version: 3.3 service…...

面试题之JVM

一、Java虚拟机基本概念 题目1&#xff1a;Java虚拟机&#xff08;JVM&#xff09;是什么&#xff1f; 选项&#xff1a; A. 一种编程语言 B. 一个可以执行Java字节码的虚拟机进程 C. 一个操作系统 D. 一个数据库 参考答案&#xff1a;B 解析&#xff1a;Java虚拟机是一个可…...

二叉树的深搜(不定期更新。。。。。)

二叉树的深搜 验证二叉搜索树 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左 子树 只包含 小于 当前节点的数。 节点的右子树只包含 大于 当前节点的数。 所有左子树和右子树自身必须也是二叉…...

WebLLM Chat:无服务器、私密的AI聊天体验

简介 什么是 Web-LLM ? Web-LLM 是一个高性能的浏览器内语言模型推理引擎&#xff0c;允许用户在没有服务器支持的情况下直接在网页浏览器中进行语言模型推理。它利用 WebGPU 进行硬件加速&#xff0c;从而实现强大的 LLM 操作。Web-LLM 完全兼容 OpenAI API&#xff0c;支持…...

C#中的模拟服务器与客户端建立连接

创建一个控制台项目&#xff0c;命名为Server&#xff0c;模拟服务器端。在同一个解决方案下&#xff0c;添加新项目&#xff0c;命名为Client&#xff0c;模拟客户端。在服务器端与客户端之间建立TCP连接&#xff0c;并在客户端发送消息&#xff0c;在服务器端输出。 Server项…...

【深度学习】利用Java DL4J 构建和训练医疗影像分析模型

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s…...

application.yml 和 bootstrap.yml

在 Spring Boot 中&#xff0c;application.yml 和 bootstrap.yml 都是用来配置应用程序的属性文件&#xff0c;通常用于环境配置、服务配置等。但是&#xff0c;它们有一些不同的用途和加载顺序。以下是它们之间的主要区别&#xff1a; 1. application.yml&#xff1a; 主要…...

使用uniapp开发小程序场景:在百度地图上调用接口返回的设备相关信息并展示

首先在百度地图开发者平台注册微信小程序开发密钥下载百度地图SDK-bmap-wx.min.js,下载地址在项目入口index.html页面进行引入页面中进行调用&#xff0c;代码示例如下<map id"map" longitude"108.95" latitude"34.34" scale"3" :m…...

ubuntu22.04 使用可以用的镜像源获取你要的镜像

默认的是不行的 不管pull啥镜像 仍然会出现这个错误 Error response form daemon:Get "https://registry-1.docker.io/v2": net/http: request canceled while waiting for connection (Client.Timeout exceeded while await) 操作方法是 如果在目录没有/etc/docker…...

Flume——sink连接hdfs的参数配置(属性参数+时间参数)

这可不是目录 配置文件官网说明属性参数时间参数 配置文件官网说明 可以参考官网的说明 属性参数 属性名称默认值说明channel-type-组件类型名称&#xff0c;必须是hdfshdfs.path-HDFS路径&#xff0c;例如&#xff1a;hdfs://mycluster/flume/mydatahdfs.filePrefixFlumeDa…...

S7-1500 PLC做高速数据采集?一个32位微秒时间戳的完整实现与避坑指南

S7-1500 PLC微秒级时间戳工程实践&#xff1a;从硬件同步到数据拼接的完整方案 在工业自动化领域&#xff0c;毫秒级响应已是基础要求&#xff0c;而微秒级精度正成为高端装备的标配。当一台数控机床以8000转/分钟的速度运行时&#xff0c;每个刀具接触工件的瞬间都需被精确记录…...

Adafruit Bluefruit LE模块AT命令实战:从BLE透传到Eddystone信标与HID设备开发

1. 项目概述与核心价值如果你正在开发一个需要无线连接功能的物联网设备、可穿戴设备或者创意交互项目&#xff0c;那么蓝牙低功耗&#xff08;BLE&#xff09;技术几乎是一个绕不开的选择。它功耗低、连接快&#xff0c;并且被现代智能手机和电脑广泛支持。然而&#xff0c;直…...

Python-ADB协议实现原理:深入理解ADB和Fastboot通信机制

Python-ADB协议实现原理&#xff1a;深入理解ADB和Fastboot通信机制 【免费下载链接】python-adb Python ADB Fastboot implementation 项目地址: https://gitcode.com/gh_mirrors/py/python-adb Python-ADB是一个强大的开源项目&#xff0c;提供了ADB&#xff08;Andr…...

令牌管理实战:从JWT原理到token-ninja库的集成与应用

1. 项目概述&#xff1a;一个专为令牌处理而生的“忍者”如果你在开发中经常和令牌&#xff08;Token&#xff09;打交道&#xff0c;比如处理JWT、API密钥、会话标识&#xff0c;或者是在构建需要精细权限控制的微服务、身份认证系统&#xff0c;那你一定遇到过这些麻烦&#…...

3分钟看懂无人机飞行日志:免费在线工具让数据说话

3分钟看懂无人机飞行日志&#xff1a;免费在线工具让数据说话 【免费下载链接】UAVLogViewer An online viewer for UAV log files 项目地址: https://gitcode.com/gh_mirrors/ua/UAVLogViewer 还在为看不懂无人机飞行日志而烦恼吗&#xff1f;那些密密麻麻的数据、复杂…...

Yii2开启URI伪静态的相关配置

Yii2 开启URI伪静态的相关配置 Yii2支持url伪静态链接转换&#xff0c;在配置文件config/web.php中加入 # config/web.php $config [components > [// URI伪静态化配置urlManager > [enablePrettyUrl > true, // 启用美化 URL&#xff08;隐藏 index.php&#xff09;…...

低成本搭建BLE嗅探器:基于nRF52840与Wireshark的物联网协议分析实战

1. 项目概述与核心价值如果你正在开发或调试基于蓝牙低功耗&#xff08;BLE&#xff09;的物联网设备&#xff0c;比如智能手环、传感器节点或者任何通过蓝牙通信的小玩意儿&#xff0c;那么你肯定遇到过这样的困境&#xff1a;设备明明发了数据&#xff0c;手机App却没收到&am…...

RAG系统评估实战:使用renumics-rag进行量化分析与性能优化

1. 项目概述&#xff1a;一个为RAG应用量身定制的开源评估工具如果你正在构建或优化一个基于检索增强生成&#xff08;RAG&#xff09;的系统&#xff0c;那么你大概率会遇到一个核心痛点&#xff1a;如何科学、量化地评估它的好坏&#xff1f;是看它回答得“像不像人”&#x…...

Win10 任务管理器点击“详细信息”崩溃 + U盘 PPTX 无法删除/复制(0x800700EA)问题排查

一、问题现象 最近遇到一个比较奇怪的问题&#xff1a; Win10 系统 任务管理器只能以“小窗口模式”打开 点击“详细信息”后直接崩溃 事件查看器报错&#xff1a; 错误应用程序名称: taskmgr.exe 版本: 10.0.19041.6280同时还伴随另一个问题&#xff1a; U盘中的 .pptx …...

开源清理工具OpenClearn:透明可控的数字垃圾管理方案

1. 项目概述&#xff1a;一个开源的“清洁工”如何重塑你的数字生活如果你和我一样&#xff0c;是个在数字世界里摸爬滚打了十几年的老鸟&#xff0c;那你电脑里肯定也有一堆“数字垃圾”。这些垃圾不是指那些过时的文件&#xff0c;而是那些你明明已经删除了&#xff0c;但操作…...