ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
到目前为止我们只使用了C++内置的函数,然而也可以添加新函数。实际上我们已经见过一个函数定义了:main。main这个函数名很特殊,因为它表示程序开始执行的地方,但main函数的语法形式和其它函数定义一样: ~~~ void 函数名(参数列表) { 语句 } ~~~ 你可以为自己的函数任意定义名称,但不能命名为main或者其它C++关键字。参数列表指定了使用(或称为调用)新函数所需要提供的信息(如果有的话)。 main函数定义中的空括号表示它不携带任何参数。我们首先要写的几个函数也是没有参数的,语法形式如下: ~~~ void newLine() { cout << endl; } ~~~ 此函数名为newLine,只有一个语句,用以输出换行符,其中换行用特殊值endl表示。 在main函数中,我们可以像调用C++内置函数一样调用这个新函数: void main () { cout << "First Line." << endl; newLine (); cout << "Second Line." << endl; } 这段程序输出如下: First line. Second line. 注意:输出的两行之间有多余的空行。我们要想在两行之间出现更多的空行该怎么做呢?可以重复调用同一个函数: ~~~ void main () { cout << "First Line." << endl; newLine (); newLine (); newLine (); cout << "Second Line." << endl; } ~~~ 或者我们写一个新函数,命名为threeLine,作用是打印3个空行: ~~~ void threeLine () {   newLine (); newLine (); newLine (); } void main () { cout << "First Line." << endl; threeLine (); cout << "Second Line." << endl; } ~~~ 对于这个程序,你应该注意以下几点: 你可以反复调用同一处理过程,事实上这种做法是非常普遍、实用的。 你可以让一个函数调用另一函数。在本例中,main函数调用threeLine,threeLine又调用newLine。同样,这也是普遍、实用的做法。 在threeLine这个函数中,我一行写了三条语句,这符合语法规范(记住,空格和空行通常不改变程序的意义)。然而更好的方式通常是每条语句独占一行,这样程序更易读,我是为了节约篇幅才破坏了这条规则。 为什么我们值得费力气来创建这些新函数?到现在为止可能讲的还不是很清楚。实际上原因有很多,本例只说明了两点: 创建新函数使你有机会给一组语句起个名字。函数将一个复杂的计算过程隐藏在一个简单指令背后,并使用英语单词取代晦涩代码,可以起到简化程序的作用。试问,newLine和cout << endl,哪个更清晰呢? 创建新函数能够去除重复代码,使程序更短小。例如,连续打印九个空行的一种简单做法是调用treeLine三次,那么连续打印27个空行你要怎么做呢?