☰
C语言-流程控制语句 05
2026/10/14 5:14:44 网站建设 项目流程

定义:通过一些语句,控制程序的执行流程

分类:顺序结构 分支结构 循环结构

顺序结构:从上往下,依次执行,是程序的默认执行过程

//案例:比如等待串口数据寄存器为空,顺序结构,这句没执行完,后面的代码就不会执行,就阻塞了 while()

分支结构:定义:程序在执行过程中出现了岔路

if语句:

  • 使用场景:某些代码,在满足条件的时候才执行

  • 细节: 进行判断的结果是一个数字,非0表示条件成立,0表示条件不成立 大括号{}内只要一行代码,大括号可以省略不写

  • 三种形式:

  • if

  • if else

  • if else if else

switch case语句:

  • 与if语句的第三种格式 if else if else很相似

  • 作用:把所有的选择一样列举出来,根据不同的条件任选其一

  • 注意点: switch括号里面的值和case后面的值只能是整数与字符(本质整数) default不写的话,所有都不匹配就会继续执行下面的代码

  • case穿透: 方向只会往下穿 switch语句只有遇到break,或者把switch里面的代码全部执行完才会结束

if与switch语句的区别:

  • if 语句(条件分支): 本质:处理布尔逻辑(条件判断)。 括号内:填的是一个条件表达式,可以通过关系运算符( >, <, == 等)和逻辑运算符( &&, ||, ! 等)组合出非常复杂的逻辑判断。 灵活性:可以处理各种区间、组合条件(例如:if (x > 0 && x < 10))。

  • switch 语句(离散值匹配): 本质:处理离散的等值匹配。 括号内:填的是一个具体的整数/字符值。 工作方式:拿着这个值,依次去和各个 case 后面写好的常量进行“等于(==)”的直接比对。 局限性:无法直接处理范围区间(比如你想写 case > 5 是不行的,必须写一长串 case 6: case 7: ...)。

循环结构:类型:for while do...while

for循环与while循环执行流程:第一次循环:先执行初始化语句 -> 进行条件判断语句的判断 -> 执行循环体语句 -> 执行条件控制语句 后N次循环:进行条件判断语句的判断 -> 执行循环体语句 -> 执行条件控制语句

for循环与while循环的选择:知道循环的次数选for循环 知道循环的结束条件选while循环

while循环的格式:初始化语句 while(条件判断语句) { 循环体语句 条件控制语句 }

do while循环的执行流程:

第一次循环:先执行初始化语句,然后直接执行循环体语句,然后执行条件控制语句,最后执行条件判断语句; 后N次循环:执行循环体语句,执行条件控制语句,执行条件判断语句

-->do while至少执行一次

for循环、while循环、do while循环必须包含的部分:

  • for循环:俩个;;

  • while循环:条件判断语句

  • do while循环:while内的条件判断语句

无限循环:

for( ; ; ) { //循环体语句 } ​ while(1) { //循环体语句 } ​ do { //循环体语句 }while(1);

跳转控制语句:

  • break 不能单独书写,只能写在switch当中,或者循环中,表示结束,跳出的意思

//与if的配合 for(int i = 0; i < 10; i++) { if(i % 3 == 0 && i % 5 == 0) { printf("%d", i); break; } }
  • continue 不能单独书写,只能写在循环中,表示结束本次循环,继续下次循环

//与if的配合 for(int i = 1; i <= 5 ; i++) { if (i == 3) { continue; } printf("当前正在吃第%d个包子", i); }

循环嵌套的跳出问题:

  • break:只能跳出单层循环

  • goto关键字的用法

  • 可用在任何地方

  • 定义标号

// 示例(以C语言为例) #include <stdio.h> ​ int main() { int i = 0; ​ // 定义一个标号叫 start start: printf("%d\n", i); i++; ​ if (i < 5) { // 如果满足条件,无条件跳转到 start 标号处继续执行 goto start; } ​ return 0; }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询