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

C语言基础系列【6】流程控制

流程控制语句主要就是用于控制程序的执行顺序,使程序能够根据条件或循环逻辑执行不同的代码块。

正文

if-else 语句

if-else 语句用于根据条件执行不同的代码块。

作用

  • 如果条件为真(非零),则执行 if 语句块中的代码。
  • 否则,如果提供了 else 部分,则执行 else 语句块中的代码。

示例代码

#include <iostream>
using namespace std;

int main() {
    int num = 10;
    // 你觉得会输出什么?

    if (num > 0) {
        cout << "Number is positive." << endl;
    } else if (num < 0) {
        cout << "Number is negative." << endl;
    } else {
        cout << "Number is zero." << endl;
    }

    return 0;
}

switch-case 语句

switch-case 语句用于基于变量的值执行不同的代码块。

作用

  • 根据表达式的值选择执行相应的 case 代码块。
  • break 用于跳出 switch 语句,防止执行后续的 case 代码块(称为贯穿)。
  • default 用于处理所有 case 都不匹配的情况。

示例代码

#include <iostream>
using namespace std;

int main() {
    int day = 3;

    switch (day) {
        case 1:
            cout << "Monday" << endl;
            break;
        case 2:
            cout << "Tuesday" << endl;
            break;
        case 3:
            cout << "Wednesday" << endl;
            break;
        case 4:
            cout << "Thursday" << endl;
            break;
        case 5:
            cout << "Friday" << endl;
            break;
        case 6:
            cout << "Saturday" << endl;
            break;
        case 7:
            cout << "Sunday" << endl;
            break;
        default:
            cout << "Invalid day" << endl;
            break;
    }

    return 0;
}

for 循环

for 循环用于重复执行一段代码固定次数。

作用

  • 初始化表达式(仅在循环开始时执行一次)。
  • 条件表达式(在每次循环迭代前检查,如果为假则退出循环)。
  • 迭代表达式(在每次循环迭代结束时执行)。

示例代码

#include <iostream>
using namespace std;

int main() {
    for (int i = 0; i < 5; i++) {
        cout << "i = " << i << endl;
    }
    // int i = 0; 初始化表达式,仅在循环开始时执行一次
    // i < 5; 条件表达式(在每次循环迭代前检查,如果为假则退出循环)
    // i++ 迭代表达式(在每次循环迭代结束时执行)

    return 0;
}

while 循环

while 循环用于在给定条件为真时重复执行一段代码。

作用

  • 在每次循环迭代前检查条件表达式,如果为真则执行循环体。

示例代码

#include <iostream>
using namespace std;

int main() {
    int i = 0;
    // 测试下,一共执行几次?
    while (i < 5) {
        cout << "i = " << i << endl;
        i++;
    }

    return 0;
}

do-while 循环

do-while 循环用于在给定条件为真时重复执行一段代码,但条件检查在循环体之后。

作用

  • 至少执行一次循环体,然后在每次循环迭代后检查条件表达式,如果为真则继续执行循环体。

示例代码

#include <iostream>
using namespace std;

int main() {
    int i = 0;

    do {
        cout << "i = " << i << endl;
        i++;
    } while (i < 5);

    return 0;
}

总结

  • if-else 语句用于基于条件执行不同的代码块。
  • switch-case 语句用于基于变量的值执行不同的代码块,适用于多个分支的情况。
  • for 循环用于在给定范围内重复执行代码块。
  • while 循环在条件为真时重复执行代码块,条件检查在循环体之前。
  • do-while 循环至少执行一次代码块,然后在条件为真时继续执行,条件检查在循环体之后。

练习

  1. if-else:编写一个程序,要求用户输入一个成绩(0-100之间的整数),然后根据成绩输出等级(A, B, C, D, E)。等级划分如下:
    1. 90-100: A
    2. 80-89: B
    3. 70-79: C
    4. 60-69: D
    5. 0-59: E
  2. switch-case:编写一个程序,要求用户输入一个数字(1-7),然后输出对应的星期几(Monday, Tuesday, …, Sunday)。
  3. 编写一个程序,使用for循环打印1到10的数字。
  4. 编写一个程序,使用while循环计算并打印1到10的累加和。

作者介绍

  • 程序喵大人
  • 35- 资深C/C++/Rust/Android/iOS客户端开发
  • 10年大厂工作经验
  • 嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手
  • 《C++20高级编程》《C++23高级编程》等多本书籍著译者

C++训练营

专为校招、社招3年工作经验的同学打造的1V1 C++训练营,量身定制学习计划、每日代码review,简历优化,面试辅导,已帮助多名学员获得offer!训练营介绍


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

相关文章:

  • Oracle迁移到MySQL
  • 【Qt 常用控件】输入类控件1(QLineEdit和QTextEdit 输入框)
  • 【自开发工具】SQLSERVER的ImpDp和ExpDp工具汇总
  • 问题大集04-浏览器阻止从 本地 发起的跨域请求,因为服务器的响应头 Access-Control-Allow-Origin 设置为通配符 *
  • CSGHub高效管理|解锁DeepSeek R1蒸馏模型 :高效推理的新选择
  • 数据结构与算法-递归
  • 快速建立私有化知识库(私有化训练DeepSeek,通过ollama方式)
  • python 使用OpenAI Whisper进行显卡推理语音翻译
  • 探秘树莓集团海南战略:文创领军者的市场破局之路
  • 【Go语言快速上手】第二部分:Go语言进阶
  • opencv打开摄像头出现读取帧错误问题
  • 原子核链式反应与曼哈顿计划
  • 【docker】Failed to allocate manager object, freezing:兼容兼容 cgroup v1 和 v2
  • Django+simpleui实现文件上传预览功能
  • Unity-Mirror网络框架-从入门到精通之Discovery示例
  • LabVIEW污水生化处理在线监测
  • 【Pandas】pandas Series var
  • 线程状态:
  • ##__VA_ARGS__有什么作用
  • Java并发篇
  • Deepseek得两种访问方式与本地部署
  • 【0403】Postgres内核 检查(procArray )给定 db 是否有其他 backend process 正在运行
  • 车机音频参数下发流程
  • H2模拟mysql的存储过程
  • 视频采集卡接口
  • python脚本实现windows电脑内存监控内存清理(类似rammap清空工作集功能)