前言
函数是C 中基本的编程单元,也是“模块化编程”的核心思想,函数是一段完成特定任务的代码块。函数可以提高代码的重用性,将复杂问题分解成更小的、可管理的部分。每个函数都有一个名称、一个返回类型和一组参数。本文通过从halloword代码入手,进而引入C 函数。
繁琐的Hello World程序
首先先通过下面一个简单的Hello World程序,代码如下:
代码语言:c复制#include<iostream>
using namespace std;
int main()
{
// 输出一行信息
cout << "Hello World!" << endl;
// 提示输入姓名
cout << "请输入您的大名:" << endl;
// 用一个变量接收键盘输入
string name;
cin >> name;
// 输出欢迎信息
cout << "Hello, " << name << endl;
// 等待键盘输入
cin.get();
cin.get();
return 0;
}
通过上述代码了解了C 基本的代码风格、简单的输入输出操作,以及程序编译运行的完整过程。利用这些知识我们可以为这个程序增加更多的功能,比如提示用户输入自己的名字XXX,然后显示“Hello, XXX”。最终结果如下:
C 函数
在上述代码中,可以看到所有代码都全部写在一起,包括输入和输出的细节,但是这样代码就比较多了,可读性会变差,其实对于调用方来说,只要结果就行了。所以这时候函数就上场了,解决办法是,我们可以把中间一部分代码“包装”成函数,就像主函数一样。只不过这种函数不是启动直接调用的,而是需要在程序中明确地写出来什么时候调用。
优化后代码如下:
代码语言:c复制#include<iostream>
using namespace std;
// 定义一个函数
void welcome()
{
cout << "Hello World!" << endl;
cout << "请输入您的大名:" << endl;
string name;
cin >> name;
cout << "Hello, " << name << endl;
}
int main()
{
// 调用函数
welcome();
// 等待键盘输入
cin.get();
cin.get();
return 0;
}
这样每一部分处理逻辑都可以分块包装成函数,主函数的执行过程看起来就简单多了。当然,如果认为一个文件中有太多函数也会影响可读性,我们还可以把它们分开。比如新建一个叫做welcom.cpp的源文件,专门放刚才的welcome函数。而在主函数中,需要额外对它做一个“声明”,表示有这样一个函数,它的实现在另外的文件里。
代码语言:c复制#include<iostream>
// 声明一个函数
void welcome();
int main()
{
// 调用函数
welcome();
cin.get();
cin.get();
return 0;
}