C/C++函数

C/C++函数简介

函数是什么,函数实际上就是一种接口。

基本上一个函数总是完成一个特定的功能。

当各种各样的功能在一起合成一个完整的实用的程序。

但有一个特例,一个名为 main 的称为主函数,是所有程序的入口函数,

这是程序唯一能够跟系统(程序外部)进行通信的一个函数。

类似于一部手机,你需要充电的时候就接上充电的接口,

需要听歌就应该接上耳机的接口,其各个接口完成自己特定的功能。

一个正确的函数总是会有以下几部分组成:

  1. 一个类型名:

用于指定函数的返回值的类型。

  1. 一个函数名:

其名字由程序员规定。一般来说,

我们根据函数需要完成的功能来对其命名

  1. 一个用括号( )包含的参数表:

参数的个数由程序员根据需要来决定,

甚至你还可以不使用函数。

  1. 一个用花括号 { } 包围的函数体:

函数体里面的代码则是函数完成特定功能的整个执行过程。

以下我们给出一个函数:

int AddOne (int val)

{

val = val+1;

return val;

}

让我们来对这个简单的函数来分析一下:

int:

函数名前面的 int 具有两层意思,

第一层意思表示该函数必须要有返回值。

第二层意思表示该函数返回值的类型必须是一个整数。

AddOne:

可以看到,我们的函数名说明了这个函数的功能。

即具有 Add(增加)One(1)的功能。

(int val):

括号里面有一个名为val(随意命名)的参数,

该参数名前面的 int 指定了函数会接收一个整数类型值。

函数体:

假设我们以整数 10 来调用这个函数即 AddOne(10),

对应的,val 收到了整数 10 ,即相当于 val=10,

紧接着,它开始执行函数体里的第一句代码,

它先把自己加1 (val+1)得到的结果(11)再覆盖自己原先的值。

即 val = val + 1 的结果相当于 val = 11 。

接着,它执行第二条语句,return 其后面跟着 val,返回这个新值 11。

完毕!

这个函数其实挺有意思,如果你在 main 函数里是这样调用它:

int main (void)

{

int n = 10;

n = AddOne (n);

n = AddOne (n);

return 0;

}

分析:

程序声明了一个变量 n 来动态保存函数的返回值。

n 最初被初始化为整数 10,那么一切就会从 10 开始。

在第一次调用 AddOne 函数时,此时 n 为 10,

该函数将 10 加 1 再返回,此时相当于 n = 11。

在第二次调用 AddOne 函数时,此时 n 为 11,

在AddOne 函数里又加1再返回,相当于 n = 12。

之后,程序执行 return 0 向系统返回一个 0 状态,

表示程序运行成功且正常退出。

从以上分析可以看出,AddOne 函数被调用几次,

n 的值就会被增加几次 1 。

以下给出完整 C/C++ 程序

C++ 程序:

/*********** Add.cpp ************/

#include // 输入输出头文件

int AddOne (int val); // 函数声明

// 主函数

int main (void)

{

int n = 10;// 声明变量 a 初始化为10

n = AddOne(n);// 第一次调用

n = AddOne(n);// 第二次调用

std::cout << n << std::endl;//输出 n 的最终值

return 0;// 给系统返回 0 状态表示运行成功

}

// 函数实现

int AddOne (int val)

{

val = val+1;// 将值加1再覆盖自己本来的值

return val;// 返回新值

}

C 程序:

/*********** Add.c ************/

#include <stdio.h> // 输入输出头文件

int AddOne (int val); // 函数声明

// 主函数

int main (void)

{

int n = 10;// 声明变量 a 初始化为10

n = AddOne(n);// 第一次调用

n = AddOne(n);// 第二次调用

printf ("%d\n", n);//输出 n 的最终值

return 0;// 给系统返回 0 状态表示运行成功

}

// 函数实现

int AddOne (int val)

{

val = val+1;// 将值加1再覆盖自己本来的值

return val;// 返回新值

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章