C++ for循环 15例
介绍
C++是一种广泛使用的编程语言,它具有强大的功能和灵活性。其中一个重要的特性是for循环,它可以让我们重复执行一段代码。在本文中,我们将探讨C++中for循环的20个示例,以帮助您更好地理解和使用这个强大的功能。
For循环是一种常见的循环结构,它允许我们指定循环的初始值、终止条件和步长。这使得我们可以轻松地控制循环的执行次数和迭代过程。无论是打印数字、计算总和还是遍历数组,for循环都能够简洁而高效地完成任务。
在接下来的示例中,我们将展示不同用途下for循环的应用,以帮助您更好地理解和掌握这个重要的编程概念。
示例 1:打印数字
第一个示例是使用for循环打印数字。我们可以使用for循环来指定一个初始值、一个终止条件和一个递增步长,然后在循环中打印每个数字。以下是一个简单的示例代码:
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 10; i++) {
cout << i << " ";
}
return 0;
}
这段代码将打印出从1到10的数字。
示例 2:计算总和
第二个示例是使用for循环计算一系列数字的总和。我们可以使用一个累加器变量来保存总和,并在每次迭代中将当前数字添加到总和中。以下是一个示例代码:
#include <iostream>
using namespace std;
int main() {
int sum = 0;
for (int i = 1; i <= 5; i++) {
sum += i;
}
cout << "总和为:" << sum << endl;
return 0;
}
这段代码将计算出从1到5的数字的总和,并打印出结果。
示例 3:遍历数组
第三个示例是使用for循环遍历数组。我们可以使用for循环的索引变量来访问数组中的每个元素,并对它们进行相应的操作。以下是一个示例代码:
#include <iostream>
using namespace std;
int main() {
int numbers[] = {1, 2, 3, 4, 5};
for (int i = 0; i < 5; i++) {
cout << numbers[i] << " ";
}
return 0;
}
这段代码将打印出数组中的所有元素。
示例 4:计算阶乘
第四个示例是使用for循环计算一个数的阶乘。阶乘是指从1到该数的所有整数的乘积。以下是一个示例代码:
#include <iostream>
using namespace std;
int main() {
int n = 5;
int factorial = 1;
for (int i = 1; i <= n; i++) {
factorial *= i;
}
cout << n << "的阶乘为:" << factorial << endl;
return 0;
}
这段代码将计算出5的阶乘,并打印出结果。
示例 5:嵌套循环
第五个示例是使用嵌套循环打印图形。我们可以使用嵌套的for循环来控制图形的行和列,并根据需要打印特定的字符。以下是一个示例代码:
#include <iostream>
using namespace std;
int main() {
int rows = 5;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i; j++) {
cout << "* ";
}
cout << endl;
}
return 0;
}
这段代码将打印出一个由星号组成的倒三角形。
示例 6:计算平均值
第六个示例是使用for循环计算一组数字的平均值。我们可以使用for循环来遍历数组并累加所有数字的总和,然后将总和除以数字的个数得到平均值。以下是一个示例代码:
#include <iostream>
using namespace std;
int main() {
int numbers[] = {5, 2, 8, 10, 6};
int sum = 0;
int count = sizeof(numbers) / sizeof(numbers[0]);
for (int i = 0; i < count; i++) {
sum += numbers[i];
}
double average = static_cast<double>(sum) / count;
cout << "平均值为:" << average << endl;
return 0;
}
这段代码将计算出一组数字的平均值,并打印出结果。
示例 7:求余数
第七个示例是使用for循环计算一系列数字的余数。我们可以使用for循环来遍历一组数字,并使用取余运算符来计算每个数字除以给定数的余数。以下是一个示例代码:
#include <iostream>
using namespace std;
int main() {
int divisor = 3;
for (int i = 1; i <= 10; i++) {
int remainder = i % divisor;
cout << "数字 " << i << " 除以 " << divisor << " 的余数为:" << remainder << endl;
}
return 0;
}
这段代码将计算出1到10的数字除以3的余数,并打印出结果。
示例 8:逆序输出
第八个示例是使用for循环逆序输出一组数字。我们可以使用for循环来从最大值开始迭代,逐步减小到最小值,并打印出每个数字。以下是一个示例代码:
#include <iostream>
using namespace std;
int main() {
for (int i = 10; i >= 1; i--) {
cout << i << " ";
}
return 0;
}
这段代码将逆序输出从1到10的数字。
示例 9:倒序打印字符串
第九个示例是使用for循环倒序打印一个字符串。我们可以使用for循环的索引变量来访问字符串中的每个字符,并从最后一个字符开始打印。以下是一个示例代码:
#include <iostream>
using namespace std;
int main() {
string str = "Hello, World!";
for (int i = str.length() - 1; i >= 0; i--) {
cout << str[i];
}
return 0;
}
这段代码将倒序打印出"Hello, World!"这个字符串。
示例 10:判断质数
第十个示例是使用for循环判断一个数是否为质数。质数是指只能被1和自身整除的数。我们可以使用for循环从2开始迭代到该数的平方根,并判断是否存在可以整除该数的因子。以下是一个示例代码:
#include <iostream>
#include <cmath>
using namespace std;
bool isPrime(int number) {
if (number <= 1) {
return false;
}
for (int i = 2; i <= sqrt(number); i++) {
if (number % i == 0) {
return false;
}
}
return true;
}
int main() {
int number = 17;
if (isPrime(number)) {
cout << number << " 是质数" << endl;
} else {
cout << number << " 不是质数" << endl;
}
return 0;
}
这段代码将判断出17是质数,并打印出结果。
示例 11:遍历字符串
第十一个示例是使用for循环遍历一个字符串,并统计特定字符的出现次数。我们可以使用for循环的索引变量来访问字符串中的每个字符,并使用条件语句来判断是否为特定字符。以下是一个示例代码:
#include <iostream>
using namespace std;
int main() {
string str = "Hello, World!";
char target = 'o';
int count = 0;
for (int i = 0; i < str.length(); i++) {
if (str[i] == target) {
count++;
}
}
cout << target << " 出现了 " << count << " 次" << endl;
return 0;
}
这段代码将统计出字符串"Hello, World!"中字母’o’的出现次数,并打印出结果。
示例 12:使用步长遍历
第十二个示例是使用for循环的步长来遍历一组数字。我们可以使用for循环的步长参数来控制每次迭代的增量或减量。以下是一个示例代码:
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i <= 10; i += 2) {
cout << i << " ";
}
return 0;
}
这段代码将输出从0到10的偶数。
示例 13:控制多个循环变量
第十三个示例是使用for循环控制多个循环变量。我们可以在for循环头部定义多个循环变量,并在每次迭代中更新它们的值。以下是一个示例代码:
#include <iostream>
using namespace std;
int main() {
for (int i = 1, j = 10; i <= 10; i++, j--) {
cout << i << " " << j << endl;
}
return 0;
}
这段代码将同时输出从1到10和从10到1的数字。
示例 14:遍历二维数组
第十四个示例是使用for循环遍历二维数组。二维数组是一个包含多个数组的数组,我们可以使用嵌套的for循环来遍历它的每个元素。以下是一个示例代码:
#include <iostream>
using namespace std;
int main() {
int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
return 0;
}
这段代码将打印出一个3x3的矩阵。
示例 15:跳过特定值
第十五个示例是使用for循环跳过特定值。我们可以使用条件语句在循环中判断当前值是否为特定值,并使用continue语句跳过该值。以下是一个示例代码:
#include <iostream>
using namespace std;
int main() {
int numbers[] = {1, 2, 3, 4, 5};
for (int i = 0; i < 5; i++) {
if (numbers[i] == 3) {
continue;
}
cout << numbers[i] << " ";
}
return 0;
}
这段代码将打印出除了数字3之外的所有数字。