C语言基础

    返回首页    发表留言
本文作者:李德强
          第四节 while与do while
 
 

        在第一章中我们已经简单学习了关于使用while语句来实现循环的操作,现在我们来详细讲述关于while语句的循环方式和do while语句的循环方式。


一、whlie循环


        while循环语句是C语言中最基本的循环方式,它的语法结构如下:


while (条件表达)
{
        //循环体
}


        while是C语言的一个关键字,其后是使用一个小括号中的条件表达式来做为执行循环的条件,也就是说当条件表达式的结果为真时执行大括号里面的的程序内容,而当条件表达式的结果为假时不执行大括号中的内容。其实这与if语句的语法有些类似,当条件表达式为真时if后的执行程序只执行一次,而while则会循环执行下去,直到条件表达式的结果为假时结束。
我们来看一个关于whlie循环的简单例子,显示1到31天的日期:

int day = 1;
while (day <= 31)
{
    printf("%d\n", day);
    day++;
}

        这个程序中while语句的条件表达式为day <= 31也就是说当day的值小于等于31时,程序会循环执行大括号中的内容(循环体),循环体中有两条语句,第一条语句是执行一个标准输出,显示day的值,而第二条语句day++;非常重要,它表示将day的值在原来的基础上加一,当这条语句执行后,程序又将回到条件表达中进行真假判断,如果为真则继续循环,如果为假则结束循环。
例如在开始while语句时,day的值为1所以day <= 31的结果为真,于是进入第一次循环,显示day的值1,并将day的值加1;程序再次进入条件判断,day的值为2,所以day <= 31的结果为真,进入第二次循环,显示2,并将day的值加1;程序再次进入条件判断...如此重复执行31次,day的值为32,程序再次进入我条件判断,day <= 31的值为假,于是不再进入循环体,while循环语句结束。


二、do while语句


        与while类似,do while语句也同样是用于完成程序循环的一种方式,它的基本用法如下:


do
{
        //循环体
}
while (条件表达式);


        大家可以注意到do while语法与while有一些类似,也有一些不同,类似的地方是它同样有循环体和条件表达式,但执行顺序与while不同,do while是先执行一次循环体之后再进行条件判断。
注意,在do while语句的条件判断后要加上一个分号;表示语句的结束。我们
还是用显示31天的例子来学习这个语法:

int day = 1;
do
{
    printf("%d\n", day);
    day++;
}
while (day <= 31);

        程序在执行的过程为:首先进入第一次循环显示1并将day的值加1,然后做条件判断day有值为2,于是day <= 31的结果为真,返回到do后面的循环体进入下一次循环...直到day的值为31时,printf显示出31,然后day的值加1,然后做条件判断,day的值为32,于是day <= 31的结果为假,结束循环。

 

三、细微差别


        接下来我们来看一看关于while语句和do while语句的细微差别。do while语句在在执行时无论条件表达式的结果是真还是假,都会执行一次循环体,然后再进行条件判断。例如我们分别写这样两段程序,它们的执行结果是不一样的,请读者自己体会这两种循环的差别,并自己动手编写程序。
使用while执行循环:

int i = 0;
while (i < 0)
{
	i++;
	printf("%d\n", i);
}

        执行0次循环,没有运行结果;

 

        使用do while执行循环:

int i = 0;
do
{
	i++;
	printf("%d\n", i);
}
while (i < 0);

        执行1次循环,运行结果为1。

 

    返回首页    返回顶部
#1楼  c语初学者  于 2019年04月28日13:08:32 发表
 
文章最后一行 运行结果应该为1。
#2楼  李德强  于 2019年05月03日08:45:43 发表
 
感谢您的提醒,内容已纠正
  看不清?点击刷新

 

  Copyright © 2015-2023 问渠网 辽ICP备15013245号