您的位置:首页 > 编程语言 > C语言/C++

C++ 初学者指南 第三篇(4)

2010-03-14 22:53 253 查看
必备技能3.4:while 循环
另外一种循环是while循环。While循环常用的形式是:
while(表达式) 语句;
上面的语句可以是一条语句,也可是一段语句。其中表达式定义了控制循环的条件。它可以是任何有效的表达式。while循环中的语句或者语句序列在该条件为真true的情况下会一直被执行。当条件变成false的时候,退出该循环,继而转向执行循环后面的语句。
下面的这个短小的非常有趣的程序就演示了while循环的使用。实际上,所有的计算机程序都支除了ASCII码外扩展的字符集。扩展字符集通常含有一些诸如外国语言标识和科学标记所用的特殊字符。ASCII字符集使用的是小于128的值。扩展字符集从128开始直到255。下面的程序打印了所有32到255之间的字符。当运行这个程序的时候,你很有可能看到一些非常有趣的字符。
/*
This program displays all printable characters,
including the extended character set, if one exists
*/
#include <iostream>
using namespace std;
int main()
{
unsigned char ch;
ch = 32;
while (ch )
{
cout << ch;
ch++;
}
return 0;
}
仔细阅读上面的程序,你可能会发现,在这个程序中为什么只使用了一个字符来控制while循环了? 既然ch是一个无符号的字符,它就只能取值0到255。当他的值为255的时候,自增后那就得值就会回归到0了。因此检查ch是不是0是一个很便捷的进行循环控制的方法。
和for循环一样,while循环也是在循环开始时先进行控制表达式的检测,这意味着循环体中的语句很有可能会不被执行。这就省去了在循环之前需要进行一个单独的检测。下面的程序演示了while循环的这个特性。它打印一行句号。其中句号的数量就是用户键入的数值。程序不允许该行的长度超过80。其中对允许的句号的数量的判断是在循环的条件表达式中进行的,而不是在其之外进行的。
#include <iostream>
using namespace std;
int main()
{
int len;

cout << "Enter length ( 1 to 79 ):";
cin >> len;
while ( len > 0 && len < 80 )
{
cout << '.';
len--;
}
return 0;
}
如果len超过了允许的范围,那么while循环的循环体一次都不会被执行。否则,循环一直执行到len的值变为0。这里在while循环体就不在需要别的语句了。下面也是一个例子:
while ( rand () != 100 )
这个循环一直进行到rand()生成的随机数等于100。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: