嵌入式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值必须是整型或字符型常量

相关推荐
zenithdev18 小时前
fastcache:为 Go 设计的低 GC 压力内存缓存
开发语言·其他·缓存·golang
想你依然心痛8 小时前
自定义RTOS内核:从零实现上下文切换与任务调度——汇编、PendSV
java·开发语言·汇编·pendsv
geovindu8 小时前
java:Abstract Factory Pattern
java·开发语言·后端·设计模式·抽象工厂模式·创建型模式
geovindu8 小时前
java: Factory Method Pattern
java·开发语言·后端·设计模式·工厂方法模式·创建型模式
m0_587098998 小时前
Qt,二进制文件读写建议
开发语言·qt
爱敲代码的小鱼9 小时前
springsecurity:
java·开发语言·数据库
秋田君9 小时前
QT_QT信号与槽机制
开发语言·数据库·qt
辞旧 lekkk9 小时前
【Qt】 系统相关:事件与定时器
开发语言·qt·学习·萌新
Wang's Blog9 小时前
Java框架快速入门: Spring Bean核心配置与实例化详解
java·开发语言·spring
三十岁老牛再出发9 小时前
07.07.每日总结
c语言·windows·python