- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
函数
学习目标
掌握如何定义函数及调用函数
了解内存四区的概念及栈区、堆区的工作原理
掌握外部函数与内部函数的概念及其区别
掌握局部变量与全局变量的概念及其屏蔽规则
通过前面几章的学习,相信大家会编写一些简单的C语言程序了,但是,随着程序功能的增多,main()函数中的代码也会越来越多,导致main()函数中的代码繁杂、可读性太差,维护也变的很困难。,可以将功能相同的代码提取出来,将这些代码模块化,在程序需要的时候直接调用。这就好比组装机器,需要什么直接装上就可以了。C语言的函数类似于机器的组装部件,它用于实现某些特定的功能,本章将针对函数的相关知识进行详细讲解。
在C语言中,定义一个函数的具体语法格式如下:
返回值类型 函数名([[参数类型 参数名1],[参数类型 参数名2],……,[参数类型 参数n]])
{
执行语句
………
return 返回值;
}
为了让读者更好地理解函数的各个组成部分,接下来对上述语法格式进行简要说明,具体如下:
返回值类型:用于限定函数返回值的数据类型;
函数名:表示函数的名称,该名称可以根据标识符命名规范来定义;
参数类型:用于限定调用方法时传入参数的数据类型;
参数名:用于接收调用方法时传入的数据;
return关键字:用于结束函数,并返回函数指定类型的值;
返回值:被return语句返回的值,该值会返回给调用者。如果函数没有返回值,则返回值类型要声明为void,此时,函数体中的return语句可以省略不写。
在上面的语法格式中,1],[参数类型 参数名2],…,[参数类型 参数n]]”被称作参数列表,它用于描述函数在被调用时需要接收的参数。如果函数不需要接收任何参数,则参数列表为空,这样的函数被称为无参函数。相反地,参数列表不为空的函数就是
void func()
{
printf(这是我的第一个函数!\n);
}
上述示例代码中,func()函数就是一个无参函数,参数列表为空。要想执行这个函数,需要在main()函数中调用它,如
#include stdio.h
void func()
{
printf(这是我的第一个函数!\n);
}
void main()
{
func();
}
运行结果如图4-1所示。
运行结果
从图4-1中可以看出,func()函数被成功调用了。在程序中,第2行代码定义了一个无参函数func(),第4行代码将字符串打印到控制台,第8行代码在main()函数中调用该无参函数。
下面通过一张流程图来说明例子中函数的调用过程,具体如图
主函数中调用子函数func()的流程图
从图4-2可以看出程序是由上至下按顺序执行的,程序首先从主函数开始执行,遇到“func();”语句后跳转到func()函数,执行func()函数体中的代码。执行完func()函数后返回到主函数原来的调用点(即“func()”语句),接着执行调用点后面的语句,如果后面没有其他语句,则主函数执行结束。
2、有参函数
与无参函数相比,有参函数在函数定义时,需要在函数名称后面的括号中填写参数。所谓的参数是一个变量,用于接收调用者传入的数据。定义有参函数的示例代码如下:
void func(int x,int y)
{
int sum=x+y;
printf(x+y=%d\n,sum);
}
上述代码中,定义了一个实现加法运算的函数func(),并指定了两个int类型的参数x和yfunc(int x,int y)函数,如#include stdio.h
void func(int x, int y)
{
int sum = x + y;
printf(x+y=%d\n, sum);
}
void main()
{
func(3, 5);
}
运行结果如图4-3所示。
运行结果
在例4-2中,第2~6行代码定义了一个函数func(),该函数包含两个参数,分别是x和y。当在main()函数中调用func()函数时,传入函数中的参数是3和5,即在func(int x,int y)中执行了5的操作通过一张图例来的调用过程,具体如图
主函数中调用子函数func()的流程图
从图4-4可以看出,有参函数和无参函数的调用过程类似,但在调用有参函数时,需要传入实参,并将传入的实参赋值给形参,然后在函数体中执行3+5的
通过前面的讲解可知,函数的返回值是指函数被调用之后,返回给调用者的值。函数的返回值具体语法格式如下:
return 表达式;
对于返回值类型为void的函数,可以直接在return语句后面加分号,具体语法格式如下:
return;
为了让读者更好的学习如何使用return语句,接下来对例4-2进行改写,使func(int x, int y)函数能够返回求和计算的结果,修改后的
您可能关注的文档
最近下载
- (高清版)-B-T 4798.2-2021 环境条件分类 环境参数组分类及其严酷程度分级 第2部分:运输和装卸.pdf VIP
- 《插花与花艺设计》课件——项目四 礼仪插花.pptx VIP
- 《通信数据分析与实战》课件——第六章 Kafka 分布式发布订阅消息系统.pptx VIP
- GA∕T 1424-2017 法庭科学合成纤维物证检验 红外光谱法.pdf
- 大数据平台与编程第9章 分布式消息队列Kafka.pptx VIP
- 《学前儿童艺术教育》课程标准.docx VIP
- 卫生专业技术资格考试临床医学检验技术(中级379)基础知识强化训练精练试题解析.docx VIP
- 2025高考英语全国II卷试题分析及备考策略指导课件.pdf VIP
- 销售人员必备的素质.ppt
- 2025年机动车检测站授权签字人试题题库及参考答案(通用版).pptx
文档评论(0)