1. 使用条件判断语句在循环体内部改变循环条件

    • 在 C 语言中,while循环的一般形式是while(condition),只要condition为真,循环就会一直执行。要结束循环,可以在循环体内部通过改变condition所依赖的变量的值来使condition变为假。
    • 例如:
int i = 0;
while (i < 10) {
    printf("%d ", i);
    i++;  // 每次循环i的值增加1,当i的值达到10时,循环条件i < 10就变为假,循环结束
}

  • 在这个例子中,while循环的条件是i < 10。在循环体内部,每次循环都会执行i++,使i的值增加。当i的值增加到 10 时,循环条件i < 10就不再满足,循环结束。
  1. 使用break语句

    • break语句用于立即跳出当前循环(whilefordo - while)或者switch语句。在while循环中,当执行到break语句时,循环会立即终止,程序流程会跳转到循环体后面的语句继续执行。
    • 例如:
int num;
while (1) {  // 这里的循环条件是恒为真,是一个无限循环
    printf("请输入一个负数来结束循环: ");
    scanf("%d", &num);
    if (num < 0) {
        break;  // 当输入的数是负数时,执行break语句,结束循环
    }
}
printf("循环结束。");

  • 在这个例子中,while循环的条件是1,这是一个永远为真的条件,所以如果没有break语句,循环会一直执行下去。在循环体内部,程序会提示用户输入一个数,然后判断这个数是否为负数。如果是负数,就执行break语句,结束循环,然后执行循环体后面的printf("循环结束。");语句。
  1. 使用goto语句(不推荐

    • goto语句可以无条件地跳转到程序中的指定标签处。虽然可以用它来结束while循环,但这种方式会使程序的结构变得复杂,可读性变差,所以一般不推荐使用。
    • 例如:

int count = 0;
while (1) {
    count++;
    if (count > 5) {
        goto end_loop;  // 当count大于5时,跳转到end_loop标签处,结束循环
    }
    printf("%d ", count);
}
end_loop:
printf("循环结束。");

  • 在这个例子中,while循环是一个无限循环。在循环体内部,每次循环都会使count的值增加,当count的值大于 5 时,执行goto end_loop语句,程序会跳转到end_loop:标签处,从而结束循环,然后执行标签后面的printf("循环结束。");语句。不过,由于goto语句会使程序的逻辑结构混乱,容易导致错误,所以在实际编程中应该谨慎使用。
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐