C++ 复习函数的基本知识

C++ 复习函数的基本知识

  要使用 C++ 函数,必须完成如下工作:

  1. 提供函数定义;

  2. 提供函数原型;

  3. 调用函数。

  例子:

#include <iostream>
using namespace std;
void simple(); // function prototype
int main() {
    cout << "main() will call the simple() function.n";
    simple();
    cout << "main() is finished with the simple() function.n";
    return 0;
}
void simple() {
    cout << "I'm but a simple function.n";
}

  下面是程序的输出:

C++ 复习函数的基本知识

   执行函数 simple() 时,将暂停执行 main() 中的代码。

 

1 定义函数

  可将函数分为两类,有返回值和无返回值的。没有返回值的函数被称为 void 函数,通用格式如下:

void function(parameterList) {
    statement(s)
    return;    // 可选
}

  其中,parameterList(参数列表)指定了传递给函数的参数类型和数量。

  例子:

void cheers(int n) {    // 无返回值
    for (int i = 0; i < n; i++)
        std::cout << "Cheers!n";
}

  将 Cheers! 打印指定次数 (n) 。参数列表 int n 意味着调用函数 cheers() 时,应将一个 int 值作为参数传递给它。

  有返回值的函数将生成一个值,并将它返回给调用函数。这种函数的类型将被声明为返回值的类型,格式如下:

typeName functionName(parameterList) {
    statements
    return value;    // 返回值
}

  对于用返回值的函数,必须使用返回语句。其结果必须是 typeName 类型或可以被转换为 typeName 。

  函数在执行返回语句后结束。如果包含多条返回语句,则函数在执行遇到的第一条返回语句后结束。例如:

int bigger(int a, int b) {
    if (a > b)
        return a;
    else
        return b;
}

  return 后可以写表达式,如:

double cube(double x) {
    return x * x * x;
}

  此函数为计算三次方,例如函数调用 cube(1,2) 将返回 1.728。

 

2 函数原型和函数调用

  什么是函数原型?

  在编译器遇到对特定函数的调用之前,它必须已经知道有关函数的某些内容。特别是,它必须知道函数使用的形参的数量、每个形参的类型以及函数的返回类型。通常,这可以通过在程序中包含一个函数原型来实现。函数原型经常隐藏在 include 文件中。以下例子使用了上文的函数 cheer() 和 cube() 。请留意其中的函数原型。

#include <iostream>
using namespace std;
void cheers(int n);
double cube(double x);
int main() {
    cheers(5);
    cout << "给我一个数字:";
    double side;
    cin >> side;
    double volume = cube(side);
    cout << side << "的三次方是:" << volume << endl;
    cheers(cube(2));
    return 0;
}

void cheers(int n) {
    for (int i = 0; i < n; i++)
        cout << "Cheers! ";
    cout << endl;
}

double cube(double x) {
    return x * x * x;
}

  运行结果:

C++ 复习函数的基本知识

 

  main() 使用函数名和参数(后面跟一个分号)来调用 void 类型的函数:cheers(5); ,这是一个函数调用语句。但由于 cube() 有返回值,因此 main() 可以将其用在赋值语句中:

double volume = cube(side);

  函数原型就相当于声明,如果不写函数原型则需要把要调用的函数写在 main 之前。

 

  原型的语法

  函数原型是一条语句,以分号结束。获得原型最简单的方法就是复制函数定义中的函数头,并添加分号。

double cube(double x)

  然而,函数原型不需要提供变量名,有类型列表就够了。所以可以写成:

double cube(double)

  通常,在原型的参数列表中,可以包括变量名,也可以不包括。原型中的变量名相当于占位符,因此不必与函数定义中的变量名相同。

 

  原型的作用

   原型可以极大的降低程序出错的几率。具体来说,原型确保以下几点:

  1. 编译器正确处理函数的返回值;

  2. 编译器检查使用的参数数目是否正确;

  3. 编译器检查使用的参数类型是否正确。如果不正确,则转换为正确的类型(如果可以转换)。

 

原文链接: https://www.cnblogs.com/dirror/p/12742247.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    C++ 复习函数的基本知识

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/343503

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午2:08
下一篇 2023年3月2日 上午2:08

相关推荐