C语言的do-while语句的两种写法
while循环和for循环都是入口条件循环,即在循环的每次迭代之前检查测试条件,所以有可能根本不执行循环体中的内容。C语言还有出口条件循环(exit-condition loop),即在循环的每次迭代之后检查测试条件,这保证了至少执行循环体中的内容一次。这种循环被称为do while循环。
看下面的例子:
#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所示。
#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循环以分号结尾。
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结构:
相关推荐
chensen 2020-11-14
拉斯厄尔高福 2020-11-04
杜倩 2020-10-29
拉斯厄尔高福 2020-10-19
嵌入式资讯精选 2020-10-15
zhaochen00 2020-10-13
penkgao 2020-10-13
yiyilanmei 2020-10-05
wanshiyingg 2020-09-29
Mars的自语 2020-09-27
shenwenjie 2020-09-24
一个逗逗 2020-09-22
flycony 2020-09-13
zhaochen00 2020-08-20
Biao 2020-08-20
qingsongzdq 2020-08-19
penkgao 2020-08-17
cetrolchen 2020-08-14
GuoSir 2020-08-07