C语言之 掌握循环语句,开启编程高效之门(中)

发布于:2025-03-24 ⋅ 阅读:(23) ⋅ 点赞:(0)

个人主页:strive_debug

承接上篇的switch:

https://blog.csdn.net/2401_85286030/article/details/146325565?spm=1001.2014.3001.5502

在编程中,`switch`、`while`、`for` 和 `do-while` 是控制流程的重要工具,它们各自有着独特的用途和特点。以下是对这些控制结构的进一步解释和美化后的描述:

 `switch` 语句


`switch` 语句允许多路分支,它根据变量的值执行不同的代码块。每个 `case` 标签代表一个可能的值,而 `break` 语句用于终止 `switch` 语句,防止代码继续执行下一个 `case`。如果没有任何 `case` 匹配,`default` 标签下的代码将被执行,它相当于 `if-else` 结构中的 `else` 部分,并且default的位置可以在结尾也可以在语句内的任意地方,但是一般为了代码规范都是写在最后的。

switch (expression) {
    case constant1:
        // 代码块
        break;
    case constant2:
        // 代码块
        break;
    default:
        // 默认代码块
}

这里要注意一点,在运用scanf的时候,你需要在while语句表达式结尾加上!=EOF,否则就会一直循环下去。


 `while` 循环


`while` 循环在条件为真时重复执行代码块。它首先评估条件表达式,如果结果为真,则执行循环体,然后再次评估条件,直到条件为假。

while (condition) {
    // 循环体
}

while循环实践:

#include <stdio.h>
int main()
{
 int i = 1;
 while(i<=10)
 {
 printf("%d ", i);
 i = i+1;
 }
 return 0;
}


 `for` 循环


`for` 循环提供了一种紧凑的方式来编写循环,它将初始化、条件检查和迭代步骤合并到一行代码中。这使得 `for` 循环在处理固定次数的迭代时非常方便。

for (initialization; condition; increment) {
    // 循环体
}

for(表达式1; 表达式2; 表达式3)

for(int i=0;i<10;i++)//从左向右循环

for(int 1=10;i>0;i--)//从右向左循环

表达式1 ⽤于循环变量的初始化

表达式2 ⽤于循环结束条件的判断

表达式3 ⽤于循环变量的调整

 

for循环实践:

#include <stdio.h>
int main()
{
 int i = 0;
 for(i=1; i<=10; i++)
 {
 printf("%d ", i);
 }
 
 return 0;
}
//循环结果1 2 3 4 5 6 7 8 9 10


 `do-while` 循环


`do-while` 循环与 `while` 循环类似,但它至少会执行一次循环体,因为条件检查是在循环体执行之后进行的。

do 
{
    // 循环体
} while (condition);
do-while循环实践:
#include <stdio.h>
int main()
{
 int i = 1;
 do
 {
 printf("%d ", i);
 i = i + 1;
 }while(i<=10);
 
 return 0;
}
//输出结果:1 2 3 4 5 6 7 8 9 10


对比与选择


- **`for` vs `while`**: `for` 循环在循环次数已知时更为简洁,而 `while` 循环在循环次数未知或基于复杂条件时更为灵活。
- **`do-while` 的特殊性**: 由于 `do-while` 循环至少执行一次,它适用于需要至少一次迭代的场景。

实践示例


以下是 `while`、`for` 和 `do-while` 循环的简单示例,它们都打印数字 1 到 10:

while循环

// while 循环
int i = 1;
while (i <= 10) {
    printf("%d ", i);
    i++;
}

 for循环

// for 循环
for (int i = 1; i <= 10; i++) {
    printf("%d ", i);
}

 do-while循环

// do-while 循环
int i = 1;
do {
    printf("%d ", i);
    i++;
} while (i <= 10);


在选择循环结构时,应考虑代码的可读性和维护性。`for` 循环在迭代次数明确时通常更为清晰,而 `while` 和 `do-while` 循环在处理条件较为复杂或不确定时更为合适。


网站公告

今日签到

点亮在社区的每一天
去签到