三大循环语句以及终止循环

一,while循环语句

while循环的循环过程

`while`循环是C语言中的一种基本循环结构,用于在满足某个条件时重复执行一段代码块。循环的基本语法如下:
while (条件表达式)
{
    // 要执行的代码块
}
```

这里的“条件表达式”是一个逻辑表达式,当其结果为真(非零)时,循环体内的代码块会被执行。一旦条件表达式的结果为假(零),循环就会终止。

 特点:
1. “先判断后执行”:`while`循环首先检查条件表达式,如果条件为真,则执行循环体内的代码块,然后再次检查条件,如此反复,直到条件为假。
2. “可能不执行”:如果初始条件表达式的结果为假,循环体内的代码块将不会被执行一次。
3. “无限循环”:如果条件表达式始终为真,`while`循环将变成无限循环。

 示例:
假设我们想要打印从1到10的所有整数:
int i = 1; // 初始化计数器
while (i <= 10)
{
    printf("%d ", i);
    i++; // 每次循环后增加计数器
}
```

在这个例子中,`while`循环会检查`i`是否小于或等于10。如果是,就打印`i`的值,然后`i`增加1。这个过程会一直重复,直到`i`的值超过10,此时条件表达式结果为假,循环终止。

 注意事项:
- 确保循环体内有修改条件表达式的语句,否则可能导致无限循环。
- 循环变量的初始化应该在循环之前完成,以避免未定义行为。
- 循环条件应该清晰明确,避免逻辑错误。

`while`循环是编程中非常有用的工具,可以用于多种场景,包括但不限于处理用户输入、执行重复任务、遍历数据结构等。

在C语言中,`break`和`continue`是两个控制循环流程的关键字,它们在循环结构中有着不同的作用。

...break
- `break`用于立即终止包含它的最内层循环。
- 当执行到`break`语句时,循环会被完全中断,控制流会跳出循环体,继续执行循环之后的代码。
- `break`通常用于在满足特定条件时提前退出循环,避免执行不必要的迭代。

...示例:
int i;
for (i = 0; i < 10; i++) {
    if (i == 5) {
        break; // 一旦i等于5,立即退出循环
    }
    printf("%d ", i);
}
// 循环结束后继续执行
printf("Loop ended.\n");
```

... continue
- `continue`用于跳过当前循环的剩余部分,并立即开始下一次迭代。
- 当执行到`continue`语句时,当前循环的剩余部分将被忽略,然后循环条件会被重新评估,如果条件满足,循环会继续执行。
- `continue`通常用于在满足特定条件时跳过某些迭代,但仍然保持循环的继续。

 ...示例:
int i;
for (i = 0; i < 10; i++) {
    if (i % 2 == 0) {
        continue; // 如果i是偶数,跳过当前迭代,继续下一次
    }
    printf("%d ", i); // 这个打印只会执行在奇数i上
}
```

结束循环的注意事项:
- `break`和`continue`都可以用在`for`、`while`和`do-while`循环中。
- 使用`break`和`continue`时,应该确保它们的作用域是清晰的,避免在复杂的循环嵌套中造成混淆。
- 在使用`break`和`continue`时,要注意它们对循环变量的影响,确保循环逻辑的正确性。

在某些情况下,`break`和`continue`可以提高代码的可读性和效率,通过控制循环的流程,可以避免不必要的计算和迭代。

二,for语句

`for`循环是C语言中的一种基本循环结构,它允许你重复执行一段代码直到给定的条件不再满足。`for`循环的一般语法如下:
for (初始化表达式; 条件表达式; 迭代表达式)
{
    // 要执行的代码块
}
```

... 组成部分:
1. “初始化表达式”:这是循环开始前执行的表达式,通常用于设置循环计数器的初始值。
2. “条件表达式”:这是一个逻辑表达式,每次循环开始前都会进行评估。如果结果为真(非零),则执行循环体内的代码块。如果结果为假(零),循环终止。
3. “迭代表达式”:在每次循环的末尾执行,通常用于更新循环计数器的值。

...特点:
- `for`循环是“先判断后执行”的循环结构,即先评估条件表达式,如果为真,则执行循环体,然后执行迭代表达式,再次评估条件表达式,如此循环。
- `for`循环非常适合于已知循环次数的情况,因为它可以清晰地表示循环的开始、条件和结束。

... 示例:
打印从1到10的所有整数:
for (int i = 1; i <= 10; i++) {
    printf("%d ", i);
}
```

在这个例子中,初始化表达式`int i = 1`设置了循环计数器`i`的初始值为1。条件表达式`i <= 10`决定了循环将继续执行,只要`i`的值小于或等于10。迭代表达式`i++`在每次循环的末尾将`i`的值增加1。

... 注意事项:
- 初始化表达式、条件表达式和迭代表达式都是可选的,但至少需要条件表达式。
- 如果省略初始化表达式,循环计数器需要在循环外部定义。
- 如果省略迭代表达式,循环体内部需要包含更新计数器的代码。
- 如果条件表达式被省略,它默认为真,这将导致无限循环,除非循环体内有`break`语句。

`for`循环是一种非常灵活和强大的控制结构,适用于需要明确迭代次数的场景,例如遍历数组或执行固定次数的操作。

三,do while语句

`do-while`循环是C语言中的一种后测试循环结构,这意味着循环体至少执行一次,然后循环的继续条件会被检查。`do-while`循环的基本语法如下:
do
{
    // 要执行的代码块
} while (条件表达式);

 

...组成部分:
- `do`关键字后跟一个代码块,这个代码块至少执行一次。
- `while`关键字后跟一个条件表达式,它决定了循环是否继续执行。

 特点:
1. “后测试”:与`for`和`while`循环不同,`do-while`循环首先执行代码块,然后在代码块执行完毕后检查条件表达式。
2.“至少执行一次”:无论条件表达式的真假,循环体至少会被执行一次。
3. “条件表达式在循环末尾”:条件表达式位于`while`关键字之后,并且必须以分号`;`结束。

示例:
打印从1到5的所有整数,并在每次打印后询问用户是否继续:

int i = 1;
do {
    printf("%d ", i);
    i++;
    printf("Do you want to continue? (1 for yes, 0 for no): ");
    scanf("%d", &i); // 注意:这里i被用作接收用户输入,不再是循环计数器
} while (i == 1);

在这个例子中,循环首先执行打印操作,然后检查用户是否希望继续。如果用户输入1,循环继续;如果用户输入0,循环终止。

...注意事项:
- 由于`do-while`循环至少执行一次,它适用于那些需要至少执行一次操作的情况。
- 条件表达式必须以分号结束,否则会导致语法错误。
- 循环体内部应该包含修改条件表达式的语句,以避免无限循环。
- 在示例中,`i`被重新用作接收用户输入的变量,这改变了原始`do-while`循环的逻辑。在实际使用中,应避免这种混淆,或者使用不同的变量名以避免歧义。

`do-while`循环是一种有用的循环结构,特别是在需要确保循环体至少执行一次的情况下,例如在需要用户交互的循环中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值