C/C++培训
达内IT学院
400-996-5531
C/C++函数简介
函数是什么,函数实际上就是一种接口。
基本上一个函数总是完成一个特定的功能。
当各种各样的功能在一起合成一个完整的实用的程序。
但有一个特例,一个名为 main 的称为主函数,是所有程序的入口函数,
这是程序唯一能够跟系统(程序外部)进行通信的一个函数。
类似于一部手机,你需要充电的时候就接上充电的接口,
需要听歌就应该接上耳机的接口,其各个接口完成自己特定的功能。
一个正确的函数总是会有以下几部分组成:
1. 一个类型名:
用于指定函数的返回值的类型。
2. 一个函数名:
其名字由程序员规定。一般来说,
我们根据函数需要完成的功能来对其命名
3. 一个用括号( )包含的参数表:
参数的个数由程序员根据需要来决定,
甚至你还可以不使用函数。
4. 一个用花括号 { } 包围的函数体:
函数体里面的代码则是函数完成特定功能的整个执行过程。
以下我们给出一个函数:
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 <iostream> // 输入输出头文件
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;// 返回新值
}
填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved