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

C++(十一)

前言:

到目前为止,所有的程序都是一句一句进行处理的,但要想追求更复杂的处理时,这样按照顺序处理可能达不到预期的结果,此时可以使用C++中可处理集合复杂语句从而控制运行方法,本文将讲解具体情况下处理语句的使用。

一,条件结构。

为了在C++中表示各种运行情况,会使用条件这个概念。

在表达式中,其只有两个值:真(ture或1)或假(false或0),使用其中任何一个表示的表达式在C++中被称作条件,使用ture或flase用于判断某值是否正确或者错误。

二,if语句如何工作。

在C++中根据情况处理的行为,就是根据条件(ture或false)的值来执行处理。这类语句被称为条件判断语句。

if语句就是其中之一,当条件为ture时,if语句就会处理指定的语句。

语法:

if(条件)
  语句;

当条件为ture时,将处理指定语句。为false时,将不执行并进行下一个处理。

例如:

#include <iostream>
using namespace std;
int main()
{
    int a;//定义一个整数变量
    cout << "请输入一个整数:";
    cin >> a;//输入一个整数。
    if (a > 0)
    cout << "a的值大于0\n";//如果a大于0,输出a的值大于0。
    cout << "结束处理。\n";//输出结束处理。
    return 0;
}

输出结果:

可以看到,当用户输入的数值比0大时,条件a>0判断为ture。第九行代码就会被处理,处理结果就会显示到屏幕上。

若输入的结果比0小,则会判断为false,第九行代码就不会被处理。

三,使用if语句处理多个语句。

前文中,对if语句对单个语句进行了处理,当if语句判断为ture时,可以同时处理多个语句。

语法为:

if(条件){
         语句1;
         语句2;
}

当判断条件为ture时,便会按照顺序进行处理。

例如:

#include <iostream>
using namespace std;
int main()
{
    int a;//定义一个整数变量
    cout << "请输入一个整数:";
    cin >> a;//输入一个整数。
    if (a > 0){
    cout << "a的值大于0\n";//如果a大于0,输出a的值大于0。
    cout << "a的平方是:" << a*a << "\n";//输出a的平方。
    }
    cout << "结束处理。\n";//输出结束处理。
    return 0;
}

输出结果为:

四,else-if语句。 

上一章节仅讲述了当条件为ture时的处理,这一章节将讲述if语句的另一个变体,即条件为false时如何进行处理。

语法:

if(条件)
  语句1;
else
  语句2;

这段代码会在条件判断为ture的时候,执行语句一,判断为false的时候执行语句2.

同时,也可以这样写:

if(条件)
  语句1;
  语句2;
else
  语句3;
  语句4;

可以在判断后同时执行两个语句。

例如:

#include <iostream>
using namespace std;
int main()
{
    double a, b, c;// 定义变量a、b、c.
    cout << "请输入被除数:";// 提示用户输入被除数
    cin >> a;// 接收用户输入的被除数
    cout << "请输入除数:";// 提示用户输入除数
    cin >> b; // 接收用户输入的除数
    if (b == 0)// 判断除数是否为0
    {
     cout << "除数不能为0" << endl;// 如果除数为0,输出错误信息
    }
    else{
     c = a / b; // 如果除数不为0,计算商
     cout << "商为:" << c << endl; // 输出商
    }
}

运行结果为:

这里写了一个简单的除法器,因为除数不能为0,如果为0,则报错。


http://www.kler.cn/a/428445.html

相关文章:

  • KETTLE-SAP抽数报错RFC_ERROR_SYSTEM_FAILURE
  • MECD+: 视频推理中事件级因果图推理--VLM长视频因果推理
  • 使用 `scanpy` 观察 `AnnData` 对象内部数据结构
  • Unity自学之旅04
  • c++模板进阶
  • Linux内核中的InfiniBand核心驱动:verbs.c分析
  • Spring Security集成JWT
  • 【数学建模】论文排版教程
  • Linix学习一
  • Qt中实现可视化界面的TCP SYN扫描(改进版)
  • Lumos学习王佩丰Excel第二十讲:图表基础
  • 黑马程序员Java项目实战《苍穹外卖》Day09
  • Java集合(三)- Stack Queue
  • 如何用python获取图像
  • ADI的DSP用CCES来调试,仿真器TEST第一步“Opening Emulator Interface”报错,解决办法。
  • Chrome 中小于 12px 文字的实现方式与应用场景详解
  • 机器学习周报(12.2-12.8)
  • C# NLog 配置ElasticSearch
  • 【JAVA】Java高级:Spring框架与Java EE—Spring框架概述(控制反转、依赖注入)
  • 链表OJ题型讲解与总结
  • 【金融贷后】贷后核心风险指标有哪些?
  • 算法训练(leetcode)二刷第三十四天 | *198. 打家劫舍、*213. 打家劫舍 II、*337. 打家劫舍 III
  • 谷歌DeepMind推出RT-2 大模型机器人方面应用
  • 设计模式:20、状态模式(状态对象)
  • OpenGL编译用户着色器shader
  • 工业检测基础-线扫相机和面阵相机参数及应用