嵌入式C语言阶段复习——循环语句和分支语句

一、循环语句

(1)for循环

语法结构:

c 复制代码
for (初始化表达式; 条件表达式; 更新表达式) {
    // 循环体
}

示例:

c 复制代码
for (int i = 0; i < 5; i++) {
    printf("%d\n", i);
}

特点:

  • 适用于已知循环次数的场景。
  • 初始化、条件判断和更新可在同一行内完成。
(2)while循环

语法结构:

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

示例:

c 复制代码
int i = 0;
while (i < 5) {
    printf("%d\n", i);
    i++;
}

特点:

  • 先判断条件,再执行循环体。
  • 适用于不确定循环次数但需满足条件时。
(3)do-while循环

语法结构:

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

示例:

c 复制代码
int i = 0;
do {
    printf("%d\n", i);
    i++;
} while (i < 5);

特点:

  • 先执行循环体,再判断条件。
  • 至少执行一次循环体。

二、分支语句

(1)if语句

基础语法:

c 复制代码
if (条件表达式) {
    // 条件为真时执行
}

示例:

c 复制代码
int a = 10;
if (a > 5) {
    printf("a大于5\n");
}
(2)if-else语句

语法结构

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

示例:

c 复制代码
int a = 3;
if (a > 5) {
    printf("a大于5\n");
} else {
    printf("a不大于5\n");
}
(3)else-if链

语法结构:

c 复制代码
if (条件1) {
    // 条件1为真时执行
} else if (条件2) {
    // 条件2为真时执行
} else {
    // 其他情况执行
}

示例:

c 复制代码
int score = 85;
if (score >= 90) {
    printf("优秀\n");
} else if (score >= 60) {
    printf("及格\n");
} else {
    printf("不及格\n");
}
(4)switch语句

语法结构:

c 复制代码
switch (表达式) {
    case 常量1:
        // 执行语句
        break;
    case 常量2:
        // 执行语句
        break;
    default:
        // 默认执行语句
}

示例:

c 复制代码
char grade = 'B';
switch (grade) {
    case 'A':
        printf("优秀\n");
        break;
    case 'B':
        printf("良好\n");
        break;
    default:
        printf("其他\n");
}

特点:

  • 适用于多分支选择。
  • 必须用break终止每个case,否则会继续执行后续case

三、注意事项

循环语句中需注意循环条件的更新,避免死循环。

分支语句中ifswitch的选择取决于分支复杂度switch适合离散值,if适合范围判断。

switchcase值必须是整型或字符型常量

相关推荐
lsswear7 小时前
Python 并发 线程
开发语言·python
郑州光合科技余经理7 小时前
国际版外卖系统:税率字段怎么和订单主流程解耦
android·java·开发语言·前端·后端·php·ai编程
软件课代表CiCi8 小时前
运行库是什么?电脑缺运行库怎么办?c++运行库缺失修复全攻略
开发语言·c++·windows·电脑·dll修复·dll丢失·运行库
Ivanqhz8 小时前
MLIR OpBuilder
开发语言·python·mlir
红宝村村长9 小时前
windows笔记本双系统ubuntu设置
开发语言
菜鸟~noob23311 小时前
【电子战】第15篇:混合定位——TDOA/FDOA/AOA 联合【含matlab代码】
开发语言·matlab
云泽80811 小时前
STM32 USART 详解(八):C I/O 串口重定向原理与实现
c语言·stm32·嵌入式硬件
ThornArmor12 小时前
重铸1996|肉体渲染:关节的裂缝:分段模型积木拼装与未成熟的 RSP 矩阵骨骼动画形变
c语言·汇编·c++·python·硬件架构·游戏机
T1mzhou12 小时前
ARM64 Linux 6.10 内核驱动(12):dd.c:probe/ remove、延迟 probe
linux·服务器·c语言·arm开发·arm
Dreams_l12 小时前
死信队列和延迟队列介绍
java·开发语言