C语言循环结构详解:break、continue与四种循环用法

季宁
季宁
发布时间:2026-10-16| 6人浏览过
原创

C语言的循环结构是实现重复执行逻辑的核心。本文详细解析break与continue的控制区别,并逐一拆解do-while、while、for循环的语法结构与适用场景,附带猜数字、最大公约数等实用代码示例。

循环控制关键字:break 与 continue

在深入具体循环语句之前,需先掌握控制循环流程的两个关键指令:

  • break:用于终止当前所在的整个循环或 switch 分支。一旦遇到 break,循环立即结束,程序跳转至循环体后的下一条语句。
  • continue:仅用于循环中。它结束本次循环体的剩余部分,直接进行下一次循环的条件判断与迭代。

C语言四大循环结构详解

第1步:理解 goto 语句及其应用场景

goto 语句允许程序无条件跳转到标签位置。虽然现代工程规范通常不推荐滥用 goto,但在处理深度嵌套结构退出时,它是一个有效的工具。

语法:定义标签名,使用 goto 标签; 跳转。

#include<stdio.h>
#include<stdlib.h>

int main() {
    // 示例:利用 goto 跳出多层循环
start:
    printf("执行操作...\n");
    // 业务逻辑
    goto end; // 跳转至 end
end:
    printf("结束\n");
    return 0;
}

实际案例:简易关机指令验证

以下程序利用 goto 实现输入校验。若用户输入非“停止操作”,则循环要求重新输入,直到输入正确才取消关机。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
	char arr[20] = { 0 };
	system("shutdown -s -t 60");// 设定60秒后关机
ko:
	printf("您的电脑即将关机,请输入:“停止操作”,将终止电脑关机\n");
	scanf("%s", arr);
	if (strcmp(arr, "停止操作") == 0) // 注意:strcmp相等返回0
	{
		system("shutdown -a");// 取消关机命令
	}
	else
	{
		goto ko;// goto 跳转回开头继续等待输入
	}
	return 0;
}

第2步:掌握 do-while 先执行后判断机制

do-while 的特点是至少执行一次循环体,无论条件是否满足,随后再检查控制表达式。

语法要点: while(表达式); 末尾的分号不可省略。

do {
    // 循环体
} while (表达式); // 分号必须有

示例:猜数字游戏

用户必须至少尝试一次才能知道结果。

#include<stdio.h>
int main()
{
	int n = 0;
	int a = 8; // 预设答案
	do
	{
		printf("请输入0-10猜数字\n");
		scanf("%d", &n);
	} while (n != a);
	printf("猜对了!\n");
	return 0;
}

第3步:运用 while 先判断后执行机制

while 是 C 语言中最基础的循环,若初始条件即为假,则循环体一次也不执行。

语法:

while (表达式)
{
    循环体;
}

示例:辗转相除法求最小公倍数和最大公约数

#include<stdio.h>
int main()
{
	int m = 12, n = 16;
	int x = 12, y = 16, z = 0;
	
	while (m != 0)
	{
		z = n % m;
		n = m;
		m = z;
	}
	// n为最大公约数, x*y/n 为最小公倍数
	printf("最小公倍数:%d\n最大公约数:%d", n, x * y / n);
	return 0;
}

第4步:精通 for 循环及其参数缺省规则

for 循环最常用于已知循环次数的场景,包含初始化、条件判断、增量更新三个核心部分。

语法: for (初始化; 条件判断; 增量)

注意事项: 1. 表达式1(初始化)、表达式2(条件)、表达式3(增量)均可缺省,但分号缺一不可。 2. 省略表达式2会导致死循环。 3. 多个变量可同时赋值或更新,用逗号分隔。

示例:输出 1-10 的奇数(结合 continue)

#include<stdio.h>
int main()
{
	int i;
	for (i = 1; i <= 10; i++)
	{
		if (i % 2 == 0)
		{
			continue; // 偶数跳过,不执行后续 printf
		}
		printf("%d\n", i);
	}
	return 0;
}

总结

本文对 C 语言中的 break、continue 以及四种循环结构进行了全面梳理。do-while 适合需至少执行一次的场景,while 适合条件驱动的未知次数循环,for 则是计数型循环的首选,而 goto 应谨慎使用以简化深层嵌套退出逻辑。掌握这些结构,即可应对大多数 C 语言编程任务。

以上就是C语言循环结构详解的内容,更多关于C语言基础知识学习的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。