Logo
Section 1 / 6

简单用户自定义函数

学习如何在 C++ 中将程序划分为函数或子程序。

导入

简单用户自定义函数

学习如何在 C++ 中将程序划分为函数或子程序。

函数

在 C++ 中,我们可以将程序划分为称为函数的过程性组件或模块。我们已经熟悉一个函数:main()。函数可以通过一种称为模块化或过程式的方法重复使用,也被称为“分而治之”方法。我们应该始终努力设计出可以在其他程序中复制和重用的函数。

函数名只能包含字母(A–Z 和 a–z)以及下划线符号(_)。也可以包含数字(0–9),但函数名不能以数字开头。例如,Key_2 是一个有效的函数名,但 2_key 就不是。函数名是区分大小写的,这意味着 name、Name 和 NAME 是三个不同的函数。

函数定义主要由两部分组成:

  • 头部分:第一行,以闭合括号 ) 结尾。
  • 函数体:位于函数头下方,以开括号 { 开始,以闭括号 } 结束的一组语句块。

函数头包含关键字 void(表示该函数不返回任何值)、函数名 sayHello 以及括号中的参数。函数体内的所有语句都用 { 和 } 包裹成一个代码块。我们不能在没有大括号的情况下编写函数体。

函数调用

通过写出函数名后跟 () 并以 ; 结尾来调用函数。

下面的程序演示了函数的创建和函数调用:

1#include <iostream> 2using namespace std; 3 4void sayHello() // void 函数的函数头 5{ 6 cout << "Hello" << endl; // 输出 "Hello" 7} 8 9int main() // 主函数 10{ 11 sayHello(); // 调用函数 12 return 0; 13}

第 11 行:我们指示程序调用 sayHello() 函数。这是一次函数调用。

函数调用示例

让我们看下面的代码:

1#include <iostream> 2using namespace std; 3 4void first() 5{ 6 cout << "现在进入函数 'first'。" << endl; 7} 8 9void second() 10{ 11 cout << "现在进入函数 'second'。" << endl; 12} 13 14int main() 15{ 16 cout << "主程序从这里开始。" << endl; 17 first(); // 调用 first 函数 18 cout << "回到主程序。" << endl; 19 second(); // 调用 second 函数 20 cout << "再次回到主程序。" << endl; 21 first(); // 再次调用 first 函数 22 cout << "再次回到主程序,执行完 first 后。" << endl; 23}

在上述代码中:

  • 我们定义了两个简单的函数 —— first() 和 second()。
  • 我们两次调用 first() 函数,以说明函数可以按需重复使用。
  • 我们通过 cout 语句展示了程序的执行顺序。

练习:创建和调用函数

以下是几个用于练习创建和调用函数的示例程序。点击“显示答案”按钮后,你会看到解决相应问题的程序。你可以将给出的解决方案复制粘贴到代码编辑器中,以确保你的输出与示例一致。编程中可能存在多种正确的实现方式。

创建乘法表的函数

编写一个函数 showTableOf4(),用于显示 4 的 20 项乘法表。通过编写 main 函数来调用 showTableOf4() 完成程序。

示例输出

14 x 1 = 4 24 x 2 = 8 34 x 3 = 12 44 x 4 = 16 54 x 5 = 20 64 x 6 = 24 74 x 7 = 28 84 x 8 = 32 94 x 9 = 36 104 x 10 = 40 114 x 11 = 44 124 x 12 = 48 134 x 13 = 52 144 x 14 = 56 154 x 15 = 60 164 x 16 = 64 174 x 17 = 68 184 x 18 = 72 194 x 19 = 76 204 x 20 = 80
1#include <iostream> 2using namespace std; 3 4int main() 5{ 6 // 请在此处编写你的代码 7 return 0; 8}

你可以在上方的代码编辑器中运行以下代码:

1#include <iostream> 2#include <string> 3using namespace std; 4 5void showTableOf4() 6{ 7 for (int i = 1; i < 21; i++) 8 { 9 cout << "4 x " << i << " = " << 4*i << endl; 10 } 11} 12 13int main() 14{ 15 showTableOf4(); 16 return 0; 17}

在上述程序中:

  • 我们实现了一个函数 showTableOf4()。
  • 在函数体内,我们使用一个计数控制的 for 循环来显示 4 的乘法表。
  • 在 main 函数中,我们调用了该函数。

C++ 字符串和数组

函数参数和返回值