C++ ——控制流语句

  • 比较运算符: 用于构建条件表达式,比较两个值之间的关系:
    • == (等于)
    • != (不等于)
    • < (小于)
    • > (大于)
    • <= (小于等于)
    • >= (大于等于)
  • 逻辑运算符: 用于组合多个条件表达式:
    • && (逻辑与,AND):所有条件都为真,结果才为真。
    • || (逻辑或,OR):只要有一个条件为真,结果就为真。
    • ! (逻辑非,NOT):对条件取反,真变假,假变真。

1. if 语句:让程序做出判断

  • 示例:判断一个字符是否为大写字母,并演示单行 if 语句的简写形式

    c++ 复制代码
    #include <iostream>
    using namespace std;
    
    int main() {
        char ch;
        cout << "请输入一个字符: ";
        cin >> ch;
    
        // 完整的 if-else 结构
        if (ch >= 'A' && ch <= 'Z') {
            cout << ch << " 是大写字母" << endl;
        } else {
            cout << ch << " 不是大写字母" << endl;
        }
    
        // 单行 if 语句(不推荐在复杂逻辑中使用,易读性较差)
        if (ch >= 'a' && ch <= 'z') {
          cout << ch << " 是小写字母" << endl;
        }
    
        return 0;
    }

    注意:ifelse 后面的代码块只有一行语句时,可以省略花括号 {},但这会降低代码的可读性,建议始终使用花括号。

2. while 语句:重复执行直到条件不满足

  • 循环执行的过程:

    1. 首先判断 条件表达式 的值------------i <= 10
    2. 如果条件为真 (true),则执行循环体中的代码。
    3. 执行完循环体后,再次回到步骤 1,重新判断条件。
    4. 如果条件为假 (false),则跳出循环,执行 while 循环后面的代码。
  • 示例:使用 while 循环计算 1 到 10 的和

    c++ 复制代码
    #include <iostream>
    using namespace std;
    
    int main() {
        int i = 1, sum = 0;
    
        while (i <= 10) {
            sum += i;
            i++;
        }
    
        cout << "1 到 10 的和为: " << sum << endl;
        return 0;
    }
  • do-while 语句:至少执行一次的循环

    do-while 语句与 while 语句类似,但它的特点是先执行循环体,再判断条件 。这意味着 do-while 循环体内的代码至少会被执行一次

    c++ 复制代码
    do {
        // 循环体
    } while (条件表达式);

3. for 循环:结构化的循环

  • 执行流程:

    1. 执行初始化语句(只执行一次)------------int i = 1

    2. 判断条件表达式的值------------i <= 10

    3. 如果条件为真,执行循环体。

    4. 执行递增/递减语句------------i++

    5. 返回步骤 2,继续判断条件。

    6. 如果条件为假,跳出循环。

  • 示例 1:使用 for 循环计算 1 到 10 的和

    c++ 复制代码
    #include <iostream>
    using namespace std;
    
    int main() {
        int sum = 0;
        for (int i = 1; i <= 10; i++) {
            sum += i;
        }
    
        cout << "1 到 10 的和为: " << sum << endl;
        return 0;
    }
  • 灵活的 for 循环: for 循环的三个部分都可以省略,但分号 ; 不能省略。例如:

    c++ 复制代码
    int i = 0;
    for (; i < 5;) {
        cout << i << " ";
        i++;
    }
    cout << endl;
相关推荐
汀、人工智能7 分钟前
[特殊字符] 第97课:前K个高频元素
数据结构·算法·数据库架构··数据流·前k个高频元素
沉鱼.448 分钟前
第十四届题目
数据结构·算法
美式请加冰25 分钟前
简单多状态问题
数据结构·算法·leetcode
计算机安禾29 分钟前
【数据结构与算法】第38篇:图论(二):深度优先搜索(DFS)与广度优先搜索(BFS)
数据结构·算法·矩阵·排序算法·深度优先·图论·宽度优先
佑白雪乐31 分钟前
<LeetCode>二叉树前/中/后/层遍历**递归&&非递归**
算法·leetcode·深度优先
汀、人工智能35 分钟前
[特殊字符] 第56课:在排序数组中查找元素的首末位置
数据结构·算法·数据库架构·图论·bfs·在排序数组中查找元素的首末位置
小O的算法实验室37 分钟前
2026年IEEE TASE,面对突发危险区域的基于强化学习的多无人机路径规划,深度解析+性能实测
算法·无人机·论文复现·智能算法·智能算法改进
AI科技星41 分钟前
全维度相对论推导、光速螺旋时空与北斗 GEO 钟差的统一理论
开发语言·线性代数·算法·机器学习·数学建模
ECT-OS-JiuHuaShan1 小时前
科学的本来意义,是基于规范的共识逻辑,而非共识方法
人工智能·科技·学习·算法·生活
木子墨5161 小时前
LeetCode 热题 100 精讲 | 动态规划进阶篇:最大子数组和 · 分割等和子集 · 最长公共子序列 · 打家劫舍 III
数据结构·c++·算法·leetcode·动态规划·力扣