Flow of Control
循环
While()
只要在满足条件的情况下,重复运行括号内的代码直到条件不满足。
int SumWhile() {
// 求从a到b中整数的和
int low = 1, high = 2, SumValue = 0, index = 1;
index = low;
cout << "请输入值a" << endl;
cin >> low;
cout << "请输入值b" << endl;
cin >> high;
while (index <= high)
{
SumValue += index;
++index;
}
cout << "从" << low << "到" << high << "之间整数的求和是" << SumValue;
return SumValue;
while()
函数的括号里面是我们的判断条件,它往往是一个bool
值。程序会循环执行while中的代码部分知道这个条件变为false。每次执行完,它都会再次判别我们的条件,判断是否执行下一次。
结果如下所示,输入a=1,b=10:
For()
for()
循环有两个部分组成,一个是header一个是body。标头控制执行主体的频率而且标头本身包含三个部分:初始化语句,条件和表达式。 初始化语句用来初始化一个变量,条件是程序执行的条件,表达式是初始化的变量在执行完一次之后的变化表达式。 同样求a到b之间整数的求和:
int SumFor() {
//求从a到b中整数的和
int low = 0, high = 0;
int SumValue = 0;
cout << "请输入值a";
cin >> low;
cout << "请输入值b";
cin >> high;
for (int i = low; i <= high; ++i)
{
SumValue += i;
}
cout << "从" << low << "到" << high << "之间整数的求和是" << SumValue << endl;
system("pause");
return SumValue;
}
结果如下所示:
读取不知道数量的输入
当读取不知数量的输入时,我们可以通过while函数来循环不断输入数字的过程
int SumUnknownInpute() {
int sum = 0, value = 0;
while (cin>>value)
{
sum += value;
}
cout << "输入数字的求和" << sum << endl;
return 0;
结果如下所示:
条件控制
if()语句通过判断括号内条件是否满足来选择是否运行if语句中的代码。还有else()和if()语句一起使用。下面这段代码实现了对一串连续重复出现的数字进行计数:
int CountIf() {
int currVal = 0, val = 0;
if (cin>>currVal)
{
int cnt = 1;
while (cin>>val)
{
if (val==currVal)
{
++cnt;
}
else
{
cout << currVal << "出现了" << cnt << "次" << endl;
currVal = val;
cnt = 1;
}
}
cout << currVal << "出现了" << cnt << "次" << endl;
}
return 0;
}