C语言的do-while语句的两种写法

while循环和for循环都是语言的e语入口条件循环,即在循环的两种每次迭代之前检查测试条件,所以有可能根本不执行循环体中的写法内容。C语言还有出口条件循环(exit-condition loop),语言的e语即在循环的两种每次迭代之后检查测试条件,这保证了至少执行循环体中的写法内容一次。这种循环被称为do while循环。语言的b2b供应网e语

看下面的两种例子:

#include <stdio.h> int main(void) {      const int secret_code = 13;     int code_entered;     do     {          printf("To enter the triskaidekaphobia therapy club,\n");         printf("please enter the secret code number: ");         scanf("%d", &code_entered);     } while (code_entered != secret_code);     printf("Congratulations! You are cured!\n");     return 0; } 

运行结果:

To enter the triskaidekaphobia therapy club, please enter the secret code number: 12 To enter the triskaidekaphobia therapy club, please enter the secret code number: 14 To enter the triskaidekaphobia therapy club, please enter the secret code number: 13 Congratulations! You are cured!

使用while循环也能写出等价的程序,但是写法长一些,如程序清单6.16所示。语言的e语

#include <stdio.h> int main(void) {      const int secret_code = 13;     int code_entered;     printf("To enter the triskaidekaphobia therapy club,两种\n");     printf("please enter the secret code number: ");     scanf("%d", &code_entered);     while (code_entered != secret_code)     {          printf("To enter the triskaidekaphobia therapy club,\n");         printf("please enter the secret code number: ");         scanf("%d", &code_entered);     }     printf("Congratulations! You are cured!\n");     return 0; } 

下面是do while循环的通用形式:

do     statement while ( expression ); 

statement可以是一条简单语句或复合语句。注意,写法do-while循环以分号结尾。语言的服务器托管e语

Structure of a =do while= loop=

do-while循环在执行完循环体后才执行测试条件,两种所以至少执行循环体一次;而for循环或while循环都是写法在执行循环体之前先执行测试条件。do while循环适用于那些至少要迭代一次的循环。例如,下面是一个包含do while循环的密码程序伪代码:

do {      prompt for password     read user input } while (input not equal to password); 

避免使用这种形式的do-while结构:

do {     ask user if he or she wants to continue    some clever stuff } while (answer is yes); 

这样的结构导致用户在回答“no”之后,仍然执行“其他行为”部分,因为测试条件执行晚了。

服务器租用
滇ICP备2023000592号-31