- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
007C语言函数综述
C语言函数的概念
在《分析第一个C语言程序》中,我们对函数进行了简单的解释,函数(Function)是一段可以重复使用的代码,这是从整体上对函数的认识。C语言本身带了很多库函数,并分门别类地放在了不同的头文件中,使用时只要引入对应的头文件即可。除了C语言自带的函数,我们也可以编写自己的函数,称为自定义函数(User-Defined Function)。自定义函数和库函数没有本质的区别,表现形式和使用方法一样,只是开发者不同而已。这一章我们就来讲解如何编写和使用自己的函数。
参数
函数的一个明显特征就是使用时带括号( ),必要的话,括号中还要包含数据或变量,称为参数(Parameter)。参数是函数需要处理的数据,例如:
strlen(str1)用来计算字符串的长度,str1就是参数。
puts(C语言中文网)用来输出字符串,C语言中文网就是参数。
返回值
既然函数可以处理数据,那就有必要将处理结果告诉我们,所以很多函数都有返回值(Return Value)。所谓返回值,就是函数的执行结果。例如:
char str1[] = C Language;
int len = strlen(str1);
strlen() 的处理结果是字符串 str1 的长度,是一个整数,我们通过 len 变量来接收。函数返回值有固定的数据类型(int、char、float等),用来接收返回值的变量类型要一致。
C语言自定义函数
函数是一段可以重复使用的代码,用来独立地完成某个功能,它可以接收用户传递的数据,也可以不接收。
无参函数的定义
如果函数不接收用户传递的数据,那么定义时可以不带参数。如下所示:
返回值类型 ?函数名(){? ? 函数体}
说明:
返回值类型可以是C语言中的任意数据类型,例如 int、float、char 等。
函数名是标识符的一种,命名规则和标识符相同。函数名后面的括号( )不能少。
函数体是函数需要执行的代码。即使只有一个语句,也要由{ }包围。
在函数体中使用return语句返回数据。
例如,定义一个函数,计算1加到100的结果:
int sum(){
int i, sum=0;
for(i=1; i=100; i++){
sum+=i;
}
return sum;
}
计算结果保存在变量sum中,通过return语句返回。sum为int型,所以返回值类型也必须为int,要一一对应。return是C语言中的一个关键字,只能用在函数中,用来返回处理结果。将上面的代码补充完整:
#include stdio.h
int sum(){
int i, sum=0;
for(i=1; i=100; i++){
sum+=i;
}
return sum;
}
int main()
{
int a = sum();
printf(The sum is %d\n, a);
return 0;
}
运行结果:The sum is 5050函数不能嵌套定义,main 也是一个函数定义,要将 sum 放在 main 外面。函数必须先定义后使用,所以 sum 只能在 main 前面。
注意:main 是函数定义,不是函数调用。当可执行文件加载到内存后,系统从 main 函数开始执行,也就是说,系统会调用我们定义的 main 函数。
无返回值函数
有的函数不需要有返回值,或者返回值类型不确定(很少见),那么用void表示,例如:
void hello(){
printf (Hello,world \n);
//没有返回值就不需要 return 语句
}
void是C语言中的一个关键字,表示空类型或无类型,绝大部分情况下也就意味着没有 return 语句。
有参函数的定义
如果函数需要接收用户传递的数据,那么定义时就要带参数。如下所示:
返回值类型 ?函数名(参数列表){? ? 函数体}
用户数据通过“参数列表”传递给函数,供函数处理。例如,定义一个函数求两个数中的最大值:
int max(int a, int b){
if (ab){
return a;
}else{
return b;
}
}
参数(Parameter)本质上也是变量,定义时要指明参数类型和参数名称。参数列表中可以定义一个或多个参数,多个参数之间用逗号,分隔。参数列表中给出的参数可以在函数体中使用。调用 max() 函数时可以直接传递整数:
int n = max(10, 20);
也可以传递变量:
int a = 10, b =
文档评论(0)