第10章__函数与其应用(正式2).doc

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章__函数与其应用(正式2)

函数及其应用 本章重点 函数的原型 函数的参数传递 系统函数的调用 函数的定义 函数的应用 函数的递归调用 本章难点 ● 函数的原型 函数的参数传递 函数的定义 函数的递归调用 本章学习建议 学习中需要关注为什么要定义函数?函数有系统函数与自定义函数,系统函数调用时要包含相应的库函数,自定义函数时一定要认真关注此函数的返回值类型、函数名、函数的参数及参数的适用范围、函数调用中的实参与函数定义中的形参的对应关系,希望读者一定要多上机调试。 在学习第2章C程序的基本结构时已提到函数是组成C程序的基本单位,在一个C文件中可以有多个函数构成,在本章中将系统地学习函数的基本概念、系统函数的调用、函数的定义及函数的应用。 10.1 函数的基本概念 一个实用的C语言源程序总是由许多函数组成的,在这些函数中,可以调用C语言本身所提供的库函数,也可以调用由用户自己或他人编写的自定义函数。 在调用系统函数前,需要包含系统函数库;在调用自定义函数时,如自定义函数定义在后,则调用前需要对自定义函数的原型进行说明。 一个C语言源程序无论包含了多少个函数,C程序总是从main()函数开始执行,最后回到main()函数。 C语言中的函数可分为系统函数及自定义函数。不论是系统函数还是自定义函数,都有一定的格式,即函数原型,其形式为: 函数返回值类型 函数名(形式参数列表); 自定义函数的格式: 数据类型 函数名(形式参数声明) { 函数体; } 注意: 数据类型为调用此函数后的返回值类型。 例如: int add(int x,int y) { int z; z=x+y; return z; } 函数add有两个形式参数x、y,都为整型数,函数的功能是求x、y的和,调用后返回一个整型数。 10.2. 函数的参数 函数在数据的联系上有两个方面值得注意:一方面是外部的数据如何传递到函数内部;另一方面是函数内部加工过的数据如何传递给外部程序。 在C程序中,可以使用函数返回值、全局变量、形式参数和实际参数相结合的方法来实现函数间的数据传递。在本节中主要讨论形参和实参相结合的情况。 当调用函数时,实参的值一一复制给形参。当从被调用的函数返回到主函数时,形参被释放。在函数内部对形参的任何操作,其结果都只影响形参的值,而不影响实参的值。形参和实参结合分为两种形式:数据复制方式和地址传送方式。 (1)数据复制方式传递数据 例10.1 函数值传递的例子 步骤1:在Visual C++环境下新建文件可用[开始]→[程序]→[Microsoft Visual C++6.0] →[Microsoft Visual C++6.0] →[文件] →[新建]→[文件] →[C++ Sourse File],输入文件名10-1.c 步骤2:编辑下列文件 #includestdio.h int add(int x,int y) { int z; z=x+y; return z; } int main() { int a,b,c; scanf(%d %d,a,b); c=add(a,b); printf(c=%d\n,c); return 0; } 步骤3:点击编译图标,编译程序10-1.c 步骤4:点击执行图标 ,执行程序10-1.exe ,此程序执行后在屏幕上输出: 20 30 c=50 注意:在值传递时,形参具有以下特点: 函数add被调用时,形参变量x、y被创建,main函数中变量a、b分别传递给被调函数add中的变量x、y,实参与形参占用不同的存储空间。 形参变量的值是从实在参数中一一对应复制得到的。 形参为局部变量,只能在本函数中使用。 (2)地址传送方式传递数据。 地址方式传递的参数可以是变量的地址、指针、数组名。 例10.2 函数地址传递的例子,在main函数中读入一个由数字字符组成的字符串,调用一个函数,把它转换为一个整型数。 分析:用表达式*p-‘0’把一个数字字符转化为数字,如字符串“12”,计算‘1’-‘0’得到1,然后乘10,再加上‘2’- 图10.1 程序流程图 步骤1:在Visual C++环境下新建文件可用[开始]→[程序]→[Microsoft Visual C++6.0] →[Microsoft Visual C++6.0] →[文件] →[新建]→[文件] →[C++ Sourse File],输入文件名10-2.c 步骤2:编辑下列文件 #includestdio.h int ctoi(char *p) { int sum=0; while(*p) { sum*=10; sum+=*p-‘0’; p+

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档