一文详解C++的程序流程控制

一文详解C++的程序流程控制

程序流程控制是指程序中用来控制代码执行顺序和逻辑的语句,包括条件语句、循环语句以及跳转语句。本文将详细讲解C++中的程序流程控制语句及其使用方法。

条件语句

条件语句用于判断特定条件是否满足,并根据条件的真假执行不同的代码块。

if语句

if语句是最基本的条件语句。它的语法格式如下:

if (条件表达式)
{
    //条件表达式为真时执行的代码块
}

示例1:判断一个整数是否为正数

#include <iostream>
using namespace std;
int main()
{
    int n;
    cout << "请输入一个整数:" << endl;
    cin >> n;
    if (n > 0)
    {
        cout << "这是一个正数" << endl;
    }
    return 0;
}

if-else语句

if-else语句可以在条件为真时执行一个代码块,在条件为假时执行另一个代码块。它的语法格式如下:

if (条件表达式)
{
    //条件表达式为真时执行的代码块
}
else
{
    //条件表达式为假时执行的代码块
}

示例2:判断一个整数是否为偶数

#include <iostream>
using namespace std;
int main()
{
    int n;
    cout << "请输入一个整数:" << endl;
    cin >> n;
    if (n % 2 == 0)
    {
        cout << "这是一个偶数" << endl;
    }
    else
    {
        cout << "这是一个奇数" << endl;
    }
    return 0;
}

if-else if-else语句

if-else if-else语句可以判断多个条件,每个条件都有一个相应的代码块执行。它的语法格式如下:

if (条件表达式1)
{
    //条件表达式1为真时执行的代码块
}
else if (条件表达式2)
{
    //条件表达式2为真时执行的代码块
}
else
{
    //条件表达式1和条件表达式2均为假时执行的代码块
}

示例3:判断一个分数对应的等级

#include <iostream>
using namespace std;
int main()
{
    int score;
    cout << "请输入一个分数:" << endl;
    cin >> score;
    if (score >= 90)
    {
        cout << "优秀" << endl;
    }
    else if (score >= 80)
    {
        cout << "良好" << endl;
    }
    else if (score >= 60)
    {
        cout << "及格" << endl;
    }
    else
    {
        cout << "不及格" << endl;
    }
    return 0;
}

循环语句

循环语句用于重复执行一段代码,可以根据条件控制循环次数和循环结束条件。

while语句

while语句是最基本的循环语句。它的语法格式如下:

while (条件表达式)
{
    //满足条件表达式时重复执行的代码块
}

示例4:计算1~100的自然数之和

#include <iostream>
using namespace std;
int main()
{
    int i = 1, sum = 0;
    while (i <= 100)
    {
        sum += i;
        i++;
    }
    cout << "1~100的自然数之和为:" << sum << endl;
    return 0;
}

do-while语句

do-while语句先执行一次代码块,然后根据条件判断是否继续执行。它的语法格式如下:

do
{
    //重复执行的代码块
}
while (条件表达式);

示例5:循环输入数字,直到输入-1结束,并输出所有数字的平均值

#include <iostream>
using namespace std;
int main()
{
    int n, sum = 0, count = 0;
    do
    {
        cout << "请输入一个整数(输入-1结束):" << endl;
        cin >> n;
        if (n != -1)
        {
            sum += n;
            count++;
        }
    }
    while (n != -1);
    if (count > 0)
    {
        cout << "平均值为:" << (double)sum / count << endl;
    }
    return 0;
}

for语句

for语句可以根据条件控制循环次数。它的语法格式如下:

for (初始化表达式; 循环条件表达式; 循环后操作表达式)
{
    //重复执行的代码块
}

示例6:计算1~10的阶乘

#include <iostream>
using namespace std;
int main()
{
    int n = 1, fac = 1;
    for (int i = 1; i <= 10; i++)
    {
        fac *= i;
    }
    cout << "10的阶乘为:" << fac << endl;
    return 0;
}

跳转语句

跳转语句用于跳转到程序的指定位置。C++中有三种跳转语句:break、continue和goto。

break语句

break语句可以跳出循环语句,执行其后的语句。它的使用方法如下:

while (条件表达式)
{
    //循环执行的代码块
    if (跳出条件表达式)
    {
        break;
    }
}
//跳出循环语句后执行的代码

示例7:计算1~100之间的素数个数

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    int count = 0;
    for (int i = 2; i <= 100; i++)
    {
        bool isPrime = true;
        for (int j = 2; j <= sqrt(i); j++)
        {
            if (i % j == 0)
            {
                isPrime = false;
                break;
            }
        }
        if (isPrime)
        {
            count++;
        }
    }
    cout << "1~100之间的素数个数为:" << count << endl;
    return 0;
}

continue语句

continue语句可以跳过循环中指定的代码块,直接执行下一次循环。它的使用方法如下:

while (条件表达式)
{
    if (跳过条件表达式)
    {
        continue;
    }
    //执行的代码块
}

示例8:输出100内的奇数

#include <iostream>
using namespace std;
int main()
{
    for (int i = 1; i <= 100; i++)
    {
        if (i % 2 == 0)
        {
            continue;
        }
        cout << i << " ";
    }
    return 0;
}

goto语句

goto语句可以跳转到程序中指定的位置。使用goto语句需要注意,过多使用会使程序的逻辑难以理解。

示例9:使用goto语句实现一个计算器

#include <iostream>
using namespace std;
int main()
{
    char op;
    int num1, num2;
    cout << "请输入一个操作符(+、-、*、/):" << endl;
    cin >> op;
    cout << "请输入两个整数:" << endl;
    cin >> num1 >> num2;
    switch (op)
    {
        case '+':
            cout << num1 + num2 << endl;
            break;
        case '-':
            cout << num1 - num2 << endl;
            break;
        case '*':
            cout << num1 * num2 << endl;
            break;
        case '/':
            if (num2 == 0)
            {
                cout << "除数不能为0" << endl;
                goto END;
            }
            cout << num1 / num2 << endl;
            break;
        default:
            cout << "操作符不正确" << endl;
            break;
    }
    END:
    return 0;
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一文详解C++的程序流程控制 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • js使用eval解析json(js中使用json)

    下面是关于“js使用eval解析json”的攻略: 前言 JSON(JavaScript Object Notation)是一种轻量级数据交换格式,常用于前后端数据交互。在 JavaScript 中解析 JSON 有多种方式,其中一种是使用 eval() 函数进行解析。本文将详细讲解 eval() 函数解析 JSON 的步骤及注意事项。 解析 JSON 读取…

    C 2023年5月23日
    00
  • 对C语言中递归算法的深入解析

    对C语言中递归算法的深入解析 什么是递归算法 递归算法是指函数自身调用自身的算法。递归优雅而简洁,但一定要写得正确,否则会造成很多问题。 递归算法的基本原理 递归函数包含两个部分: 基本情况,也称为递归终止条件。它告诉函数何时停止递归。 递推部分,也称为递归体。它包含所有的递归逻辑,将问题逐步分解直至达到基本情况。 递归算法示例说明 示例一:斐波那契数列 i…

    C 2023年5月22日
    00
  • C语言实现简单扫雷源码

    C语言实现简单扫雷源码 在本文中,我们将讲解如何使用C语言实现简单的扫雷游戏。我们将介绍如何实现游戏的逻辑和界面,包括雷区生成、雷的布置、格子点击、游戏结束等功能,并会提供两个例子进行说明。 1. 准备工作 在开始编写代码前,我们需要先了解一些基础知识:如何使用C语言创建GUI应用程序,如何处理按键、鼠标事件等。 我们使用C语言的图形库SDL来实现游戏的界面…

    C 2023年5月23日
    00
  • C程序 打印180度旋转的简单左半边金字塔

    下面是关于“C程序 打印180度旋转的简单左半边金字塔”的完整使用攻略。 题目描述 要求编写一个C程序,能够打印一个180度旋转的简单左半边金字塔,并且能够输入金字塔的高度。 解决方案 首先,我们需要知道如何打印一个简单左半边金字塔。下面是一个简单的实现方法: #include <stdio.h> int main() { int height;…

    C 2023年5月9日
    00
  • C++入门概览和尝试创建第一个C++程序

    首先,我们需要了解C++的基本知识。C++是一种面向对象的编程语言,它是C语言的扩展,既可以使用C语言的结构和特性,也可以使用更高级的功能,如类和对象。 接下来,我们来了解如何创建第一个C++程序。 创建第一份C++程序 步骤1:安装编译器 在开始之前,我们必须通过安装编译器来为程序创建一个环境。编译器是一种可以将源代码转换为可执行文件的程序。C++有许多编…

    C 2023年5月30日
    00
  • C++ 中回调函数详解及简单实例

    C++ 中回调函数详解及简单实例 什么是回调函数 在C++中,回调函数是一种以函数指针的形式实现的编程技巧。简而言之,回调函数就是一种通过在函数参数中传递函数指针的形式,来实现在需要时调用这个函数的一种方式。 回调函数的用途 回调函数最常见的使用场景是在异步和事件驱动编程中,当一个事件触发时,需要某个函数处理该事件。由于该事件的触发时间不确定,因此需要把该函…

    C 2023年5月30日
    00
  • C++ clock()解析如何使用时钟计时的应用

    下面就来详细讲解一下“C++ clock()解析如何使用时钟计时的应用”的完整攻略。 1. clock()函数是什么 clock()函数是C语言头文件<time.h>中的一个函数,可以获取程序运行时间。在C++中也可以使用该函数。 2. clock()函数的使用 在使用clock()函数之前,首先需要包含头文件<time.h>。 cl…

    C 2023年5月23日
    00
  • 用C语言实现自动售货机

    实现自动售货机的过程可以分为以下几个步骤: 1. 界面设计 自动售货机的界面设计需要清晰简洁,方便操作,用户需要能够很容易地知道商品的信息和价格。可以使用C语言中的图形库如NCurses来实现终端界面的设计。具体实现过程可以参考下面的示例代码: #include <ncurses.h> int main() { // 初始化NCurses ini…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部