C++(十二)

前言:

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

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

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

语法:

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

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

cpp 复制代码
#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语句。

语法为:

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

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

cpp 复制代码
#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不是四则运算符时,输出错误信息并结束程序。
    }
}

输出:

相关推荐
坚果派·白晓明7 小时前
【鸿蒙PC三方库移植适配框架解读系列】第八篇:扩展lycium框架使其满足rust三方库适配
c语言·开发语言·华为·rust·harmonyos·鸿蒙
花间相见7 小时前
【PaddleOCR教程01】PP-OCRv5 全面指南:从模型架构到实战部署
开发语言·r语言
小短腿的代码世界7 小时前
Qt 股票订单撮合引擎:高频交易系统的核心心脏
开发语言·数据库·qt·系统架构·交互
REDcker8 小时前
C++变量存储与ELF段布局详解 从const全局到rodata与nm_readelf验证实践
java·c++·面试
谙弆悕博士9 小时前
快速学C语言——第16章:预处理
c语言·开发语言·chrome·笔记·创业创新·预处理·业界资讯
yuan199979 小时前
基于 C# 实现的 Omron HostLink (FINS) 协议 PLC 通讯
开发语言·c#
王老师青少年编程10 小时前
csp信奥赛C++高频考点专项训练之字符串 --【字符串排序】:合并序列
c++·字符串·csp·高频考点·信奥赛·字符串排序·合并序列
qq_4228286210 小时前
android图形学之SurfaceControl和Surface的关系 五
android·开发语言·python
handler0111 小时前
UDP协议与网络通信知识点
c语言·网络·c++·笔记·网络协议·udp
如竟没有火炬11 小时前
用队列实现栈
开发语言·数据结构·python·算法·leetcode·深度优先