c++语言教程(基础教程)第三部分

时间:2024-10-27 15:00:09
7.函数

在C++编程中,函数用于封装可重用的代码块,可以提高代码的可读性和可维护性。C++中的函数由函数头和函数体组成,可以接受参数并返回值。

7.1 函数的定义和调用

函数的定义包括函数头和函数体。函数头指定函数的返回类型、函数名和参数列表。函数体包含函数的具体实现。

以下是一个示例:

  1. // 函数的定义
  2. int add(int a, int b) {
  3. int sum = a + b;
  4. return sum;
  5. }
  6. // 函数的调用
  7. int result = add(3, 5);

在上面的示例中,add函数接受两个整数参数ab,计算它们的和,并将结果返回。在函数调用时,传递参数3和5,将返回值赋给result变量。

7.2 函数的参数

函数的参数用于接受传递给函数的数据。C++中的函数可以有零个或多个参数,参数之间用逗号分隔。

以下是一个示例:

  1. int multiply(int a, int b) {
  2. int product = a * b;
  3. return product;
  4. }
  5. int result = multiply(3, 5);

在上面的示例中,multiply函数接受两个整数参数ab,计算它们的乘积,并将结果返回。

7.3 函数的返回值

函数的返回值用于将函数的计算结果返回给调用者。在函数定义中,可以指定函数的返回类型。如果函数没有返回值,可以使用void作为返回类型。

以下是一个示例:

  1. int square(int x) {
  2. int result = x * x;
  3. return result;
  4. }
  5. void printMessage() {
  6. cout << "Hello, World!" << endl;
  7. }
  8. int squaredValue = square(5);
  9. printMessage();

在上面的示例中,square函数接受一个整数参数x,计算它的平方,并将结果返回。printMessage函数没有返回值,使用void作为返回类型。

7.4 函数的重载

函数的重载是指在同一个作用域内定义多个同名函数,但它们的参数列表不同。C++中的函数可以根据参数的类型、个数或顺序进行重载。

以下是一个示例:

  1. int add(int a, int b) {
  2. return a + b;
  3. }
  4. double add(double a, double b) {
  5. return a + b;
  6. }
  7. int sum = add(3, 5);
  8. double total = add(3.5, 2.7);

在上面的示例中,定义了两个名为add的函数,一个接受两个整数参数,另一个接受两个浮点数参数。根据参数的类型不同,编译器会选择合适的函数进行调用。

7.5 函数的声明

函数的声明用于告诉编译器函数的存在和函数的签名(返回类型、函数名和参数列表)。函数的声明通常放在函数调用之前,可以放在全局作用域或其他函数内部。

以下是一个示例:

  1. // 函数的声明
  2. int multiply(int a, int b);
  3. int main() {
  4. int result = multiply(3, 5);
  5. return 0;
  6. }
  7. // 函数的定义
  8. int multiply(int a, int b) {
  9. int product = a * b;
  10. return product;
  11. }
'
运行

在上面的示例中,先声明了multiply函数,然后在main函数中调用了该函数。最后,在代码的末尾定义了multiply函数的具体实现。

函数的声明可以将函数的定义放在函数调用之后,这样可以避免在函数调用之前出现未知的函数名。

总结起来,函数是C++编程中重要的组织代码的工具。通过函数,可以将代码模块化、可重用,并提高代码的可读性和可维护性。函数可以接受参数和返回值,并可以根据需要进行重载。函数的声明可以在函数调用之前告诉编译器函数的存在和函数的签名。

8.数组

在C++编程中,数组是一种用于存储多个相同类型的数据的数据结构。数组可以按照索引访问和修改其中的元素,提供了一种便捷的方式来处理一组数据。

8.1 数组的定义和初始化

数组的定义需要指定元素的类型和数组的名称,并可以指定数组的大小。

以下是一个示例:

  1. // 声明一个整型数组
  2. int numbers[5];
  3. // 声明一个字符型数组并初始化
  4. char vowels[] = {'a', 'e', 'i', 'o', 'u'};

在上面的示例中,声明了一个整型数组numbers,它有5个元素。另外,声明了一个字符型数组vowels,并使用大括号初始化了数组的元素。

8.2 数组的访问和修改

数组的元素可以通过索引访问和修改。数组的索引从0开始,到数组大小减1结束。

以下是一个示例:

  1. int numbers[] = {1, 2, 3, 4, 5};
  2. // 访问数组的元素
  3. int firstNumber = numbers[0]; // 第一个元素
  4. int thirdNumber = numbers[2]; // 第三个元素
  5. // 修改数组的元素
  6. numbers[1] = 10; // 修改第二个元素的值为10

在上面的示例中,使用for循环遍历整型数组numbers的所有元素,并输出每个元素的值。

输出结果为:1 2 3 4 5

8.4 多维数组

除了一维数组,C++还支持多维数组,也称为矩阵或二维数组。多维数组是一种表格状的数据结构,可以按行和列访问其中的元素。

以下是一个示例:

  1. int matrix[3][3] = {
  2. {1, 2, 3},
  3. {4, 5, 6},
  4. {7, 8, 9}
  5. };
  6. // 访问多维数组的元素
  7. int element = matrix[1][2]; // 第二行第三列的元素

在上面的示例中,定义了一个3x3的整型多维数组matrix,并初始化了数组的元素。可以使用两个索引访问多维数组的元素。

8.5 数组的长度

在C++中,可以使用sizeof运算符获取数组的长度(以字节为单位)。

以下是一个示例:

  1. int numbers[] = {1, 2, 3, 4, 5};
  2. int length = sizeof(numbers) / sizeof(numbers[0]);

在上面的示例中,使用sizeof运算符获取整型数组numbers的总字节数,然后除以单个元素的字节数,得到数组的长度。

8.6 字符串数组
字符串数组是一种特殊的数组,用于存储多个字符串。在C++中,字符串可以用字符数组表示,以空字符('\0')作为字符串的结束标志。

以下是一个示例:

  1. char names[][10] = {
  2. "Alice",
  3. "Bob",
  4. "Charlie"
  5. };
  6. // 访问字符串数组的元素
  7. char* first = names[0]; // 第一个字符串
  8. char* second = names[1]; // 第二个字符串

在上面的示例中,定义了一个字符型字符串数组names,并初始化了数组的元素。可以使用索引访问字符串数组的元素,每个元素是一个字符数组(字符串)。

总结起来,数组是C++编程中常用的数据结构,用于存储多个相同类型的数据。通过索引可以访问和修改数组的元素,可以使用循环结构遍历数组的所有元素。C++还支持多维数组和字符串数组。使用sizeof运算符可以获取数组的长度。

好啦,这期就给大家说到这里,后续我会每5天更新一期,如果想看后续的话请到我个人主页找到并观看。

谢谢你们对我的支持,你们的赞是我创作的最大动力!