目录
例2-10 输入一系列整数,统计出正整数个数i和负整数个数j,读入0则结束。
while语句
l 语法形式
while (表达式) 语句: 可以是复合语句,其中必须含有改变条件表达式的语句。
l 执行顺序
先判断表达式的值,若为 true 时,执行语句。
例2-5 求自然数1~10之和
#include <iostream>
using namespace std;
int main() {
int i = 1, sum = 0;
while (i <= 10) {
sum += i; //相当于sum = sum + i;
i++;
}
cout << "sum = " << sum << endl;
return 0;
}
do-while语句
l do-while 语句的语法形式
do 语句 // 可以是复合语句,其中必须含有改变条件表达式值的语句。
while (表达式)
l 执行顺序
先执行循环体语句,后判断条件。
表达式为 true 时,继续执行循环体。
例2-6:输入一个数,将各位数字翻转后输出
#include <iostream>
using namespace std;
int main() {
int n, right_digit, newnum = 0;
cout << "Enter the number: ";
cin >> n;
cout << "The number in reverse order is ";
do {
right_digit = n % 10;
cout << right_digit;
n /= 10; /*相当于n=n/10*/
} while (n != 0);
cout << endl;
return 0;
}
例2-7用do-while语句编程,求自然数1~10之和
#include <iostream>
using namespace std;
int main() {
int i = 1, sum = 0;
do {
sum += i;
i++;
} while (i <= 10);
cout << "sum = " << sum << endl;
return 0;
}
对比下面的程序
程序1:
#include <iostream>
using namespace std;
int main() {
int i, sum = 0;
cin >> i;
while (i <= 10) {
sum += i;
i++;
}
cout<< "sum= " << sum
<< endl;
return 0;
}
程序2:
#include <iostream>
using namespace std;
int main() {
int i, sum = 0;
cin >> i;
do {
sum += i;
i++;
} while (i <= 10);
cout << "sum=" << sum
<< endl;
return 0;
}
for语句
l for语句语法形式:

l for语句的另一种形式:范围for语句:
for (声明:表达式)
语句
例2-8:输入一个整数,求出它的所有因子
#include <iostream>
using namespace std;
int main() {
int n;
cout << "Enter a positive integer: ";
cin >> n;
cout << "Number " << n << " Factors ";
for (int k = 1; k <= n; k++)
if (n % k == 0)
cout << k << " ";
cout << endl;
return 0;
}
运行结果1:
Enter a positive integer: 36
Number 36 Factors 1 2 3 4 6 9 12 18 36
运行结果2:
Enter a positive integer: 7
Number 7 Factors 1 7
嵌套的控制结构、其他控制语句
例2-10 输入一系列整数,统计出正整数个数i和负整数个数j,读入0则结束。
#include <iostream>
using namespace std;
int main() {
int i = 0, j = 0, n;
cout <<"Enter some integers please (enter 0 to quit):" << endl;
cin >> n;
while (n != 0) {
if (n > 0) i += 1;
if (n < 0) j += 1;
cin >> n;
}
cout << "Count of positive integers: " << i << endl;
cout << "Count of negative integers: " << j << endl;
return 0;
}
其他控制语句
l break语句
使程序从循环体和switch语句内跳出,继续执行逻辑上的下一条语句。不宜用在别处。
l continue 语句
结束本次循环,接着判断是否执行下一次循环。
l goto 语句
使程序的执行流程跳转到语句标号所指定的语句。不提倡使用。
本文介绍了C++中的三种基本循环控制结构:while、do-while和for,并通过实例展示了它们在求和、数字翻转和因子查找等场景的应用。同时,提到了嵌套控制结构和其他控制语句如break和continue的重要性。文章还对比了while和do-while在执行顺序上的差异,并给出了输入整数统计正负数个数的案例。
895

被折叠的 条评论
为什么被折叠?



