c语言while循环使用教程(蚂蚁学堂-C语言编程)

c语言while循环使用教程(蚂蚁学堂-C语言编程)(1)

认真,是一种态度

1、 循环简介

为了增加您对循环的理解,程序的第1版演示了不使用循环编程的局限性。该程序做了一点运算来计算穿9码鞋(男人的)脚用英寸表示的长度。

c语言while循环使用教程(蚂蚁学堂-C语言编程)(2)

示例1 shoes1.c

这是一个使用了加法和乘法的程序。该程序假设您穿9码鞋,然后告诉您用英寸表示您的脚是多长。当然,只进行一只鞋的尺码计算的程序是在浪费时间和精力。您可以将程序写为一个交互式的程序来使程序更加有用,但是这仍未利用计算机的潜能。

您需要的是某种让计算机为连续的鞋尺码做重复计算的方法。毕竟做重复运算才是使用计算机做算术的主要原因。C提供了几种方法来做重复计算, 我们在这里介绍一种。该方法就是使用while循环,它能使您更有趣地利用运算符。示例2给出了改进后的计算鞋尺码的程序。

示例2 shoes2.c

解释一下while循环是如何工作的:

当程序第一次到达while语句时,检查圆括号内的条件是否为真。在这例子中,条件表达式是shoe<18.5。

shoe被初始化为3.0,它当然为真。最后一个语句shoe增加1.0,使shoe变成4.0.

此时,程序返回while部分去检查条件。为什么在这点呢?因为后面是一个结束花括号(}),而代码使用一对花括号来标出while循环的范围。在两个花括号之间的语句是被重复执行的语句。花括号和花括号里的程序部分被称为一个代码块。现在回到程序,值4小于18.5,所以跟在while后的被括起来的全部命令(代码块)将被重复执行(在计算机语句中,称程序“循环”执行这些语句),这个重复过程一直继续,直到shoe的值达到19.

因为此时19不再小18.5,所以shoe<18.5现在就变成了假。

因面控制转到紧跟while循环的第一个语句。在此例中,转到最后的printf()语句。

2、再探while循环

c语言while循环使用教程(蚂蚁学堂-C语言编程)(3)

示例 summing.c

  • 程序注释

这个循环的判断表达式是:status==1;==运算符是C的相等运算符。当status的值不为1时终止循环。

要使程序正确运行,在每次循环中应该为num获取一个新值,并且重置status。程序使用scanf()的两个不同的功能做到这一点。首先使用scanf()来尝试为num读入新值,然后使用scanf()的返回值来报告执行是否成功scanf()返回成功读取项目的个数)。如果您输入的不是一个数字,例如q,那么scanf()就不能读入一个整数,所以它的返回值和status都为0.这将使循环终止 。

如果scanf()在尝试转换一个数值时遇到了问题(例如,检测到文件的尾部或者遇到硬件问题),它就会返回一个特殊值EOF,这个值一般被定义为-1.这个值同样也会导致循环终止。

总之,因为while循环是一个入口条件循环,所以程序必须在进入循环体之前获取输入并检查status的值。这就是程序在while之前有一个scanf()调用的原因。要使循环继续执行,在循环中需要一个读语句,这样程序才可以得到下一个输入的状态。这就是程序在while循环的结尾处还有一个scanf()的原因,它为下一次循环做准备。可以把如下用法做为循环的标准格式:

get first value to be tested

whlie the test is successful

process value

get next value

  • C风格的读循环

下面的结构:

status = scanf("%ld",&num);

while (status==1)

{

/*loop actions*/

status == scanf("%ld",&num)

}

可以用下面的形式代替:

while (scanf("%ld",&num)==1)

{

/* loop actions*/

}

第二种形式同时使用了scanf()的两种不同用法。首先,如果调用成功,函数会把一个值放在num中;第二,函数的返回值(1或0)用来控制循环。

3、while语句

  • 终止while循环

这是对while循环至关重要的一点:当您构造一个while循环时,循环中必须包含能改变判断表达式的值来使表达式的值最终为假。否则循环永远不会终止。

  • 循环何时终止

要知道,只有在计算判断条件的值时,才决定是终止循环还是继续执行。

  • while入口条件循环

while循环是使用入口条件的有条件循环。它被称为有条件,是因为语句部分的执行要依赖于判断表达式中的条件。这个表达式是一个入口条件,是因为在进入循环体之前必须要满足这个条件。

  • 语法要点

在使用while时要谨记的一点是:只有位于判断条件之后的单个语句(简单语句或复合语句)才是循环的部分。

要记住,while语句本身在语法上算做一个单独的语句,即使它使用了复合语句。该语句从while开始,到第一个分号结束;在使用了复合语句的情况下,到终结花括号结束。

  • 在C中,单独的分号“;”代表空语句。

c语言while循环使用教程(蚂蚁学堂-C语言编程)(4)

今天你进步了吗?

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页