C语言循环语句

张开发
2026/4/7 8:29:30 15 分钟阅读

分享文章

C语言循环语句
对于C语言循环是入门阶段必须掌握的核心知识点也是编写高效代码的基础。简单来说循环的作用就是让一段代码按照我们的需求重复执行避免重复编写大量相同代码极大提升编程效率。比如要打印100次相同的文字不用逐行编写100行打印语句只需用一句循环就能轻松实现。在C语言中常用的循环语句有三种while循环、do-while循环和for循环。这三种循环的核心逻辑一致都离不开三个必备要素只要掌握这三个要素就能轻松驾驭所有循环——初始值循环从哪里开始、条件判断循环什么时候停止、更新变量每次循环后让变量发生变化。缺少任何一个要素都可能导致循环无法正常运行甚至出现“死循环”程序一直执行停不下来的情况。一、while循环最基础的“条件先行”循环while循环是最直观、最基础的循环方式它的核心逻辑是“先判断再执行”先检查循环条件是否成立若成立则执行循环体内的代码执行完毕后再次判断条件直到条件不成立时终止循环。while循环的基本语法格式在C语言中while循环用于在条件为真时重复执行一段代码块。其基本语法格式如下while (condition) { // 循环体代码 }condition一个布尔表达式每次循环开始前都会被评估。如果条件为真非零则执行循环体否则退出循环。◦ 循环体代码需要重复执行的代码块可以是单条语句或复合语句用花括号{}包围的多条语句。举一个最简单的实例用while循环打印1~5的数字。这个例子能清晰体现循环的三个要素新手可以直接复制代码运行观察结果。#include stdio.h int main() { int i 1; // 初始化循环变量 while (i 5) { // 循环条件判断 printf(%d\n, i); // 循环体打印当前值 i; // 迭代更新循环变量 } return 0; }循环三要素说明初始化int i 1;在循环开始前设置初始值确保循环从正确起点开始。条件判断while (i 5)每次迭代前检查条件若为真则执行循环体否则退出循环。迭代更新i每次循环结束后修改循环变量逐步逼近终止条件避免无限循环。输出结果运行程序后输出如下1 2 3 4 5运行结果会依次打印出1、2、3、4、5。这里需要特别注意最容易犯的错误就是忘记写“更新变量”比如遗漏i这样会导致i的值一直不变循环条件永远成立程序进入死循环只能强制关闭。另外若循环条件写反比如把i 5写成i 5且初始值i1循环会直接不执行。二、do-while循环“先执行再判断”的特殊循环do-while循环与while循环的核心区别的是执行顺序它会先执行一次循环体内的代码再判断循环条件是否成立。也就是说无论循环条件是否满足do-while循环至少会执行一次这是它最独特的特点。其基本语法格式如下do { // 循环体代码 } while (条件表达式);代码示例以下是一个简单的 do-while 循环示例用于从 1 累加到 10#include stdio.h int main() { int i 1; int sum 0; do { sum i; i; } while (i 10); printf(1 到 10 的累加和为: %d\n, sum); return 0; }语法说明do关键字标记循环体的开始。循环体必须用大括号{}包裹即使只有一条语句。while (条件表达式)后的分号;不可省略。循环体至少执行一次即使条件表达式初始值为假。注意事项确保循环条件最终会变为假否则会导致无限循环。可以在循环体内使用break提前退出循环。可以在循环体内使用continue跳过本次循环剩余部分。三、for循环最简洁、最常用的循环for循环是C语言中最常用、最简洁的循环方式它将循环的三个要素初始值、条件判断、更新变量整合在一行代码中结构清晰可读性强尤其适合“循环次数确定”的场景。其基本语法格式如下for (初始化表达式; 条件表达式; 更新表达式) { // 循环体代码 }#include stdio.h int main() { // 打印数字1到10 for (int i 1; i 10; i) { printf(%d , i); } return 0; }语法说明初始化表达式在循环开始时执行一次通常用于初始化计数器变量如int i 0。条件表达式每次循环迭代前检查若为真则执行循环体如i 10。更新表达式每次循环迭代后执行通常用于更新计数器如i或i 2。for循环的执行逻辑与while循环一致都是“先判断再执行”只是将三个要素进行了整合。我们用for循环重写“打印1~5”的实例对比一下代码简洁度#include stdio.h int main() { for (int i 1; i 5; i) { printf(%d\n, i); } return 0; }for循环版本将循环变量的初始化、条件判断和更新集中在一行内结构更紧凑。循环控制逻辑全部在for语句头部可见减少了代码行数。#include stdio.h int main() { int i 1; while (i 5) { printf(%d\n, i); i; } return 0; }while版本需要单独声明和初始化变量循环变量的更新也需要在循环体内单独处理代码行数更多且控制逻辑分散。for循环运行结果与while循环完全一致但代码更简洁三个要素一目了然方便后续修改和维护。日常编程中只要知道循环的具体次数都可以用for循环实现。比如计算1到100的和#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; }代码说明int sum 0;初始化一个变量sum用于存储累加结果。for (int i 1; i 100; i)循环从1到100每次迭代将i的值加到sum中。printf输出最终的和。1到100的和为5050四、循环的辅助工具break和continue在实际编程中我们常常需要根据特定条件提前终止循环或跳过某次循环这时候就需要用到break和continue两个关键字它们是循环的“好帮手”但用法有明显区别。1. break直接终止整个循环当循环执行到break时会立刻终止整个循环不再执行循环体内剩余的代码也不再判断循环条件直接跳出循环继续执行循环外的代码。实例用for循环打印1~5数到3时停止#include stdio.h int main() { for (int i 1; i 5; i) { printf(%d\n, i); if (i 3) { break; } } return 0; }代码说明使用for循环初始化变量i为1设置循环条件为i 5每次循环后i自增1在循环体内使用printf打印当前i的值当i等于3时执行break语句退出循环以下是一个实现该功能的C语言代码示例#include stdio.h int main() { for (int i 1; i 5; i) { printf(%d\n, i); if (i 3) { break; } } return 0; }代码说明使用for循环初始化变量i为1设置循环条件为i 5每次循环后i自增1在循环体内使用printf打印当前i的值当i等于3时执行break语句退出循环输出结果运行该代码将输出1 2 32. continue跳过本次循环进入下一次continue与break不同它不会终止整个循环只会跳过本次循环体内剩余的代码直接进入下一次循环的条件判断。也就是说continue只是“跳过一次”循环还会继续执行。实例用for循环打印1~5跳过数字3#include stdio.h int main() { for (int i 1; i 5; i) { if (i 3) { continue; } printf(%d\n, i); } return 0; }代码说明使用for循环从1迭代到5循环变量i初始化为1每次循环后递增1。在循环体内通过if条件判断当前值是否为3。如果是则执行continue语句跳过本次循环的剩余部分。如果当前值不是3则通过printf函数打印该数字。以下是一个用C语言实现的代码示例使用for循环打印1到5的数字但跳过数字3#include stdio.h int main() { for (int i 1; i 5; i) { if (i 3) { continue; } printf(%d\n, i); } return 0; }代码说明使用for循环从1迭代到5循环变量i初始化为1每次循环后递增1。在循环体内通过if条件判断当前值是否为3。如果是则执行continue语句跳过本次循环的剩余部分。如果当前值不是3则通过printf函数打印该数字。输出结果运行此代码后输出结果为1 2 4 5运行结果1 2 4 5。可以看到i3时执行continue跳过了本次的printf语句直接进入下一次循环打印4和5。五、三种循环的选择技巧三种循环功能相似但各有特点在实际编程中可根据场景灵活选择避免盲目使用1. for循环循环次数确定时优先使用。比如“循环10次”“循环1~100”代码最简洁可读性最强是日常编程中最常用的循环方式。2. while循环循环次数不确定时使用。比如“直到用户输入0才停止循环”此时无法提前确定循环次数用while循环更合适。3. do-while循环必须让代码至少执行一次时使用。比如“先让用户输入一个数字再判断是否符合要求”无论用户输入是否正确都要先执行一次输入操作此时用do-while循环。六、循环的关键总结1. 循环的核心是“重复执行”三个必备要素初始值、条件判断、更新变量缺一不可牢记这三个要素就能避免大部分循环错误。2. 三种循环的核心区别的是执行顺序和代码结构while先判断后执行do-while先执行后判断for循环三要素合一。3. break终止整个循环continue跳过本次循环不要混淆两者的用法。4. 学习循环的最好方法就是多敲代码、多运行。把文章中的实例逐一代入编译器运行观察结果修改代码比如修改初始值、循环条件感受循环的变化很快就能熟练掌握。

更多文章