do…while语句

有些情况下,不论条件是否满足,循环过程必须至少执行一次,这时可以采用do...while语句。就像如图7.4所示登录账号一样,需要先输入密码和账户名,后进行判断;如果密码始终不正确,则循环要求用户输入密码。
do…while语句
图7.4 登录界面
而do...while语句的特点就是先执行循环体语句的内容,然后判断循环条件是否成立。do...while语句一般形式为:
do
循环体语句
while(表达式);
do...while语句的执行流程图如图7.5所示。
do…while语句
图7.5do...while语句的执行流程图
do...while语句首先执行一次循环体语句中的内容,然后判断表达式,当表达式的值为真时,返回重新执行循环体语句。执行循环,直到表达式的判断结果为假时为止,此时循环结束。
例如下面代码:

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的蔡甸网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

01      do
02  {
03      iNumber++;  
04      }while(iNumber<100);

在这几行代码中,首先执行iNumber++的操作,也就是说,不管iNumber是否小于100都会执行一次循环体中的内容。然后判断while后括号中的内容,如果iNumber小于100,则再次执行循环语句块中的内容。
注意:在使用do...while语句时,循环条件要放在while关键字后面的括号中,最后必须加上一个分号,这是许多初学者容易忘记的。

实例 模拟一辆客车的承载量

一辆客车只能承载25人,如果超过25人,司机就会拒绝载客。具体代码如下:

01  #include       /*包含头文件*/
02  int main()                                              /*主函数main*/
03  {
04      intnum=0;                                       /*定义人数变量*/
05      scanf("%d",&num);                   /*输入人数*/
06   do     /*进入循环*/
07       {
08  num++;                                      /*人数累加1*/
09  printf("还能承载 %d 人,\n",26-num);/*所剩座位*/
10        }while(num<=25);                                  /*检验条件*/
11  printf("座位已满,不能再承载了。\n");/*输出信息*/
12  return 0;                                       /*程序结束*/
13  }

运行程序,显示结果如图7.6所示。
do…while语句
图7.6 客车承载数运行图
从该实例代码和运行结果可以看出:
(1)定义变量num用来保存当前车辆的载客量。do关键字之后是循环语句,语句块中进行累加1和打印出座位剩余情况等操作。
(2)语句块下方是while语句检验条件,如果检验为真,则继续执行上面的语句块操作;为假时,程序执行下面的代码。在循环操作完成之后,将执行程序的第12行代码。


本文标题:do…while语句
网站URL:http://pwwzsj.com/article/gchdoj.html