C语言中do-while语句的2种写法示例

所属分类: 软件编程 / C 语言 阅读数: 113
收藏 0 赞 0 分享

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结构:

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

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

总结

更多精彩内容其他人还在看

C语言学生成绩管理系统设计

这篇文章主要为大家详细介绍了C语言学生成绩管理系统设计,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

C语言与Lua之间的相互调用详解

这篇文章主要给大家介绍了关于C语言与Lua之间的相互调用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
收藏 0 赞 0 分享

C语言利用结构体数组实现学生成绩管理系统

这篇文章主要为大家详细介绍了C语言利用结构体数组实现学生成绩管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

C语言实现简单学生成绩管理系统

这篇文章主要为大家详细介绍了C语言实现简单学生成绩管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

基于C语言航班信息查询与检索

这篇文章主要为大家详细介绍了基于C语言航班信息查询与检索,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

基于C语言实现图书管理信息系统设计

这篇文章主要为大家详细介绍了基于C语言实现图书管理信息系统设计与实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

C语言实现通讯管理系统设计

这篇文章主要为大家详细介绍了C语言实现通讯管理系统设计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

基于C语言实现学生成绩管理系统

这篇文章主要介绍了基于C语言实现学生成绩管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

使用devenv在命令行中编译项目的方法

下面小编就为大家分享一篇使用devenv在命令行中编译项目的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

常用的C语言编程工具汇总

c语言编程软件适于编写系统软件,是学习编程的同学们的必备软件。c语言一种非常强大的计算机语言,应用非常广泛,不仅仅是在软件开发上,而且各类科研都会用到c语言。今天小编给大家汇总下C语言的编程工具
收藏 0 赞 0 分享
查看更多