C语言新手小白详细教程(4)循环语句

举报
意疏 发表于 2025/07/25 18:37:51 2025/07/25
【摘要】 这篇学习笔记是我付出心血撰写的一份关于学习C语言的指南,即使是毫无编程基础的人也能通过阅读它来理解编程代码的含义。很高兴与大家交流,共同分享学习心得。

> 序(一些闲话)
> 1. <font color="red">我希望我的语言不要像专业书那样让人眼花缭乱</font>,所以当我解释语法时,我会尽量避免使用太多专业术语,让说明更容易理解。我会用通俗易懂的语言来解释,而不是像专业书籍那样让人感到困惑。
> 2. 本人计划<font color="red">通过文章分享C语言的核心知识点和学习心得</font>。鉴于仍处于学习阶段,文章中可能包含错误或片面观点,因此诚挚欢迎读者的指正。期望与读者共同学习、进步,最终成为入门C语言。
> 3. 这个系列文章<font color="red">旨在简要介绍每个C语言知识点</font>,希望读者(也包括自己)能对C语言有一个基本的了解。所以每一步尽量非常详尽 .

***
# 循环 
-    定义:重复的执行同一段代码。循环的实质其实就是有条件的重复。
-    例如:我们要求50个整数的和 我们就要重复执行50次的加法操作。这时候就用到了循环。
-    我们接下来要学的就是三个循环 for、while、do while循环。以及break continue关键字的用法。

## 1.while循环

- 在C语言中,while循环是一种控制结构,用于重复执行一段代码,直到给定的条件不再满足为止。翻译为中文就是“当...的时候”。C语言是非常直接的。你告诉他“当...的时候”他就按照你的指令执行。
while循环的格式

上述代码的含义为:**先计算条件表达式的值,当值为真(非0)时,执行“语句块”;执行完“语句块”,再次计算表达式的值,如果为真,那么就继续执行”语句块“这个过程会一直重复,直到表达式的值为假(0),就退出循环,执行while后面的代码。**
- while 中的语句 必须要用一对花括号{}括起来;
***
**下面我们来看一段示例代码**
>使用whlie循环计算1-100的和
```c
#include <stdio.h>
int main() {
    int sum = 0;
    int i = 1;
    while (i <= 100) {
        sum += i;
        i++;
    }
    printf("1到100的和是: %d\n", sum);
    return 0;
}
```
***
- **注** 
**在这个程序中:
sum 初始值为0,用于累加从1到100的值。
i 初始值为1,每次循环递增1。
while (i <= 100) 是循环条件,当 i 小于或等于100时,循环继续执行。
当 i 超过100时,条件表达式 i <= 100 不再为真,循环终止,程序输出1到100的和。**

这里是代码的运行结果

***
## 2.do while循环

- 在C语言中,do while表达式,是先执行语句块,然后计算表达式,为真,则继续执行语句块;为假则跳出循环。
***
**下面我们来看一段示例代码**
>使用do whlie循环计算1-100的和
```c
#include <stdio.h>
int main() {
    int sum = 0;
    int i = 1;
    do {
        sum += i;
        i++;
    } while (i <= 100);
    printf("1到100的和是:%d\n", sum);
    return 0;
}
```
***
这里是代码的运行结果

<font color="red">注</font>:do while 和 while的区别在于:do while 是先做再判断。while是先判断再做。
也就是说 do while循环是必定会执行一次的 而while循环有可能一次也执行不了
***
## 3.for循环
- 在C语言中,for循环是一种结构较为紧凑的循环格式。

for循环的执行过程为
1. 我们先执行表达式1;
2. 再执行表达式2,如果它的值为真(非0),则执行循环体,否则结束循环
3. 执行完循环体之后 再执行表达式3
4. 重复执行步骤2、3 直到表达式2的值为假,结束循环。

**这里需要特别注意的是
“表达式1”,仅仅只在第一次循环时执行,以后都不会再执行了,可以把它当作一个初始化语句来对待,”表达式2” 一般是一个关系表达式,决定了是否还需要循环,称作“循环条件”。“表达式3”很多情况下都是一个自增 或者自减操作的表达式,以便可以使循环条件逐渐变得不会成立。**
- 还有一个小点就是 如果说循环体为一条语句的话
for循环的花括号,可以省略不写。 (但不推荐不写)读者可以自己一试。
***
**下面我们来看一段示例代码**

>使用for循环计算1-100的和
```c
#include <stdio.h>
int main() {
    int sum = 0;
    for (int i = 1; i <= 100; i++) {
        sum += i;
    }
    printf("1到100的和是:%d\n", sum);
    return 0;
}
```
这里是代码的运行结果

***

## 4. break 和 continue
break:提前终止循环。
当break用于switch语句表示跳出switch语句,当break关键字用于while、for循环时,会终止循环而执行整个循环语句后面的代码。break关键字通常和if语句一起使用,即满足条件时便跳出循环。
continue:终止本次迭代。
作用是跳出循环体中剩余的语句,而强制进入下一次循环。continue语句只用在while、for循环中,常常与if条件语句一起使用,来判断条件是否成立。
下面我将用两个例子,来直接区分 break 和 continue 之间的区别。
**下面我们来看break关键字示例代码**
```c
#include <stdio.h>
int main() {
    for (int i = 0; i < 10; i++) {
        if (i == 5) {
            break;  // 当 i 等于 5 时,跳出循环
        }
        printf("%d\n", i);
    }
    printf("循环结束\n");
    return 0;
}
```
---
这里是代码的运行结果

***
> 在上面的例子中,当 i 等于 5 时,break 语句会立即终止 for 循环,程序将继续执行循环后的代码。

**我们再来看一下continue关键字示例代码**
```c
#include <stdio.h>
int main() {
    for (int i = 0; i < 10; i++) {
        if (i % 2 == 0) {
            continue;  // 当 i 是偶数时,跳过本次循环的剩余部分
        }
        printf("%d\n", i);
    }
    printf("循环结束\n");
    return 0;
}
```
---
这里是代码的运行结果

***

> 在这个例子中,当 i 是偶数时,continue 语句会跳过本次循环的剩余部分,直接开始下一次循环的迭代。因此,只有奇数会被打印出来。
> **意气风发,漫卷疏狂**
> 学习是成长的阶梯,每一次的积累都将成为未来的助力。我希望通过持续的学习,不断汲取新知识,来改变自己的命运,并将成长的过程记录在我的博客中。
> **如果我的博客能给您带来启发,如果您喜欢我的博客内容,请不吝<font color="red">“点赞”、“评论”和“收藏”</font>,也欢迎您<font color="LimeGreen">关注</font>我的博客。
> 您的支持是我前行的动力。听说点赞会增加自己的运气,希望您每一天都能充满活力!**
> **愿您每一天都快乐,也欢迎您常来我的博客。我叫意疏,希望我们一起成长,共同进步。**

**我是意疏 下次见!**

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。