分类: C/C++
2008-03-20 18:46:19
来源: 作者:antigloss 等级:精品
发布于2006-06-22 12:30 被读4060次 【字体: 】 |
所谓循环(looping),就是重复执行一系列语句。C 提供了三种循环结构,分别为 while, for 和
while 循环的使用方法为: while ( condition ) 如果 condition 为真(true),则循环执行“一条语句”;如果 condition 为假(false),则不执行“一条语句”,并退出循环。C 语言中,0 为假,非零为真。也就是说,如果 condition 的值为 0,则 condition 为假;否则,condition 为真。 while 循环也可以这么用: while ( condition ) 如果 condition 为真(true),则循环执行大括号中的一系列语句;反之,不执行大括号中的一系列语句,并退出循环。 这两种用法的区别是,前者只能循环执行一条语句,而后者却能循环执行大括号中的一系列语句。例如: int main(void) while ( i < 3 ) /* 当 i 小于 3 为真 */ while ( k < i ) /* 当 k 小于 i 为真 */ return 0; < 是小于运算符, 也就是说,i < 3 检测 i 是否小于 3。如果 i 小于 3,则 i < 3 为真,否则为假。当 i < 3 为真时,循环执行 ++i; ;当 i 自增到 3 时,i < 3 为假,循环中止,转而执行 ++j; 。当 k < i 为真时,循环执行 ++j; 和 ++k; ;当 k 自增到 3 时,k < i 为假(因为 i 的值为 3),循环中止,转而执行 return 0; 。下图简单描述了 while 循环的结构:
复合语句(compound statement)由大括号及大括号内的一系列语句组成。如: { 这就是一个复合语句。复合语句也称之为块(block)。前面所说的 while 循环的第二种用法,用的就是复合语句。所以,while 循环的用法可以总结为: while ( condition ) 其中,condition 可以是任何表达式。如果 condition 为真,则执行一次“一条语句/复合语句”,然后再次检测 condition 的真假性,根据 condition 的真假性决定是否继续执行“一条语句/复合语句”。当 condition 为假时,则不执行“一条语句/复合语句”,并退出循环,转而执行后续的语句。 注意,如果 condition 一开始就为假,则“一条语句/复合语句”一次也不会被执行。如: int i = 5; 由于 i 一开始就大于 4,所以 i < 4 一开始就为假,i++; 一次也不会被执行。此外, while ( ++i < 10 ) 是正确的,因为 ; 是一条完全合法的语句。 参考资料:C Primer 5th Edition 本文版权归 以及 作者 antigloss 共同所有,转载请注明原作者和出处。谢谢。 |