只要在满足条件的情况下,重复运行括号内的代码直到条件不满足。
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()
循环有两个部分组成,一个是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; }
运行结果如下图所示: