当前位置: 首页 > 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…...

从ASCII到机器码:深入解析HEX文件的结构与校验机制

1. HEX文件的前世今生&#xff1a;从ASCII到机器码的桥梁 第一次接触HEX文件时&#xff0c;我也被那一串串看似毫无规律的十六进制字符搞得一头雾水。直到后来在嵌入式开发中频繁使用HEX文件进行固件升级&#xff0c;才真正理解了这个"翻译官"的重要性。HEX文件本质上…...

基于CircuitPython与伺服电机的自动调光眼镜制作指南

1. 项目概述与核心思路 最近在整理工作室的零件盒&#xff0c;翻出来一块Adafruit的Circuit Playground Express开发板和几个闲置的微伺服电机。看着窗外刺眼的阳光&#xff0c;我忽然想到&#xff0c;能不能用这些手头的“边角料”做个实用的小玩意儿&#xff1f;于是&#x…...

Java Agent全链路追踪:无侵入分布式系统监控实战

1. 项目概述&#xff1a;一个面向分布式系统的全链路数据采集探针最近在跟几个做微服务架构的朋友聊天&#xff0c;大家都在头疼同一个问题&#xff1a;线上系统出点性能瓶颈或者偶发性错误&#xff0c;排查起来简直像大海捞针。服务A调用服务B&#xff0c;B又调用了C和D&#…...

别再死记硬背公式了!用MATLAB besselj函数5分钟搞定贝塞尔函数可视化

用MATLAB可视化贝塞尔函数&#xff1a;从数学恐惧到图形直觉的5分钟蜕变 当《数学物理方法》教材上那些密密麻麻的积分符号和无穷级数开始在你眼前跳舞&#xff0c;当教授在黑板上推导贝塞尔方程时粉笔灰与数学焦虑一起飞扬——是时候让MATLAB成为你理解这些特殊函数的"视…...

IDM激活脚本:3分钟解锁完整版下载功能的终极指南

IDM激活脚本&#xff1a;3分钟解锁完整版下载功能的终极指南 【免费下载链接】IDM-Activation-Script-ZH IDM激活脚本汉化版 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script-ZH 还在为Internet Download Manager&#xff08;IDM&#xff09;的30天…...

基于Claude的代码库感知工具:智能编程助手的设计与实战

1. 项目概述&#xff1a;当Claude遇上代码库&#xff0c;一个智能编程助手的诞生最近在GitHub上看到一个挺有意思的项目&#xff0c;叫openclaw-claude-code。光看名字&#xff0c;你可能会觉得这又是一个基于某个大语言模型的代码生成工具&#xff0c;但实际深入了解后&#x…...

强化学习优化文本生成:从原理到实战,打造可控AI创作工具

1. 项目概述&#xff1a;当强化学习遇上文本生成如果你玩过AI绘画&#xff0c;一定对“提示词工程”不陌生——通过精心设计的文字描述&#xff0c;让模型画出你想要的画面。但你是否想过&#xff0c;这个过程本身也可以被“优化”&#xff1f;比如&#xff0c;你希望模型生成一…...

基于STM32G474高精度定时器HRTIM的高频开关电源移相控制实现

1. STM32G474的HRTIM为何是高频电源设计的利器 第一次接触STM32G474的高精度定时器HRTIM时&#xff0c;我正被DSP28335的分辨率问题困扰。当时做的1MHz开关电源项目&#xff0c;150MHz主频的DSP每个时钟周期只能提供150个计数点&#xff0c;调节精度捉襟见肘。直到发现HRTIM的5…...

ARM Cortex-M处理器仿真与Iris组件深度解析

1. ARM Cortex-M系列处理器仿真技术概述在嵌入式系统开发领域&#xff0c;处理器仿真技术已经成为不可或缺的工具链环节。作为ARM架构中专门面向微控制器市场的产品线&#xff0c;Cortex-M系列处理器凭借其优异的能效比和实时性能&#xff0c;广泛应用于物联网终端、工业控制和…...

Lindy AI Agent工作流安全合规红线(GDPR+等保3.0双认证实操清单)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Lindy AI Agent工作流安全合规红线总览 Lindy AI Agent 作为面向企业级场景的智能体编排平台&#xff0c;其工作流在设计、部署与运行全生命周期中必须严格遵循数据安全、模型可解释性、访问控制及监管…...