c语言循环总结
- 格式:docx
- 大小:39.74 KB
- 文档页数:5
c语言循环总结
C语言中的循环结构主要有两种:for循环和while循环。这两种循环结构都可以用来重复执行一段代码,但它们的使用场景和语法有所不同。下面我们来详细了解一下这两种循环结构。
1. for循环
for循环是C语言中最常用的循环结构,它的基本语法如下:
for (初始化表达式; 条件表达式; 更新表达式) {(需要重复执行的代码)}
for循环的执行过程如下:
1. 首先执行初始化表达式,为循环变量设置初始值。
2. 判断条件表达式的值,如果为真(非0),则执行循环体;如果为假(0),则跳出循环。
3. 在循环体执行完毕后,执行更新表达式,更新循环变量的值。
4. 返回第2步,重复执行。
需要注意的是,for循环中的三个表达式都可以省略,但分号必须保留。例如,以下三种写法都是正确的:
for (;;) { // 省略了初始化、条件和更新表达式,但保留了分号
// 无限循环 }
for (i = 0; i < 10;) { // 省略了条件表达式,但实际上条件已经包含在了i < 10中
// 只执行一次循环体
}
for (; i < 10;) { // 省略了初始化表达式,但实际上已经在上一行定义了i并赋值为0
// 只执行一次循环体
}
2. while循环
while循环是一种更简单的循环结构,它的基本语法如下:
while (条件表达式) {
// 循环体(需要重复执行的代码)
}
while循环的执行过程如下:
1. 判断条件表达式的值,如果为真(非0),则执行循环体;如果为假(0),则跳出循环。
2. 在循环体执行完毕后,返回第1步,继续判断条件表达式的值。
需要注意的是,while循环中的条件表达式必须是一个可以修改的表达式,否则可能导致死循环。例如,以下代码会导致死循环:
int i = 1;
while (i == 1) { // i的值永远等于1,无法改变,导致死循环
// ...
}
为了避免死循环,可以将条件表达式放在一个可以修改的变量中,例如:
int i = 1;
while (i != 0) { // i的值可以随时改变,不会出现死循环
}
3. do-while循环
do-while循环是一种特殊的while循环,它的执行顺序与普通的while循环相反。它的基本语法如下:
do {
// 循环体(需要重复执行的代码)
} while (条件表达式);
do-while循环的执行过程如下:
1. 先执行一次循环体。 2. 判断条件表达式的值,如果为真(非0),则继续执行循环体;如果为假(0),则跳出循环。
3. 在循环体执行完毕后,返回第2步,继续判断条件表达式的值。
需要注意的是,do-while循环至少会执行一次循环体,因为它先执行了循环体再判断条件表达式。这与普通的while循环不同,普通的while循环可能一次都不执行循环体。例如:
int i = 0;
do { // i的初始值为0,所以会执行一次循环体
printf("Hello, World!"); // 输出Hello, World!并换行
} while (i < 1); // i的值始终小于1,所以不会再次执行循环体
4. break和continue语句
在循环结构中,break和continue语句可以用来控制循环的执行。break语句用于跳出当前层(最内层)的循环结构,而continue语句用于跳过本次循环,进入下一次循环。这两个语句通常与if语句一起使用。例如:
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) { // 如果i是偶数,跳过本次循环(不执行后续代码)并进入下一次循环(i加1) continue;
} else { // 如果i是奇数,输出i的值并跳出当前层(最内层)的for循环(不再执行后续的for循环)
printf("%d ", i); // 输出i的值并换行,注意这里没有分号,所以printf函数会在当前行的末尾立即执行并返回结果给操作系统,而不是等到整个for循环结束后再输出所有结果(这样就看不到输出结果了)
break; // 跳出当前层(最内层)的for循环(不再执行后续的for循环)
}
}
总之,C语言中的四种常用循环结构——for、while、do-while和goto语句——都有各自的使用场景和语法特点。熟练掌握这些循环结构可以帮助我们更高效地编写程序。