1、C++中的循环结构有哪些?请举例说明它们的用法。
- C++ 中的循环结构包括
for
循环、while
循环和do-while
循环。for
循环用于按指定的次数重复执行代码块。while
循环用于在条件为真时重复执行代码块。do-while
循环与while
循环类似,但它先执行一次代码块,然后检查条件是否为真,如果条件为真则重复执行代码块。
示例:
// for 循环
for (int i = 0; i < 5; ++i) {cout << i << endl;
}// while 循环
int i = 0;
while (i < 5) {cout << i << endl;++i;
}// do-while 循环
int j = 0;
do {cout << j << endl;++j;
} while (j < 5);
2、什么是函数重载?如何实现函数重载?
- 函数重载是指在同一个作用域中定义多个同名函数,但它们的参数列表不同。编译器根据调用时提供的参数来确定调用哪个重载函数。实现函数重载的方法是定义多个函数,它们的函数名相同但参数列表不同。
3、C++中的递归函数有什么特点?请举例说明。
- 递归函数是指在函数体内调用自身的函数。递归函数必须包含终止条件,否则会导致无限递归。递归函数通常用于解决可以被分解为相似子问题的问题。
示例:
// 计算阶乘的递归函数
int factorial(int n) {if (n == 0 || n == 1) {return 1;} else {return n * factorial(n - 1);}
}
4、什么是结构体?它和类有什么区别?
- 结构体是一种用户定义的数据类型,用于封装多个不同类型的数据。它类似于类,但不能包含成员函数。结构体通常用于表示一个数据集合,而类用于表示一个对象。
区别:
- 结构体可以包含成员变量和成员函数,而结构体只能包含成员变量。
- 结构体的默认访问控制是公有的,而类的默认访问控制是私有的。
5、C++中的数组是什么?请举例说明如何定义和使用数组。
- 数组是一种固定大小的数据结构,用于存储相同类型的数据。在 C++ 中,数组的大小必须在编译时确定,不能在运行时改变。
示例:
// 定义一个整型数组
int arr[5] = {1, 2, 3, 4, 5};// 访问数组元素
cout << arr[0] << endl; // 输出数组的第一个元素
cout << arr[1] << endl; // 输出数组的第二个元素
数组的大小可以使用常量或者常量表达式指定,例如:
const int SIZE = 5;
int arr[SIZE];