- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 函数 《C语言程序设计》 主要内容 函数的定义 函数的运用 变量的作用域与生存期 函数的嵌套与递归调用 小结 #include stdio.h void printstar() { printf(* * * * * * * * * * * * *\n); } void print_message() { printf( How do you do! \n); } void main() { printstar(); print_message(); printstar(); } 5.1 函数的定义 程序设计人员可以根据具体的要求自行设计函数,这类函数就是用户自定义函数 5.1.1 函数定义的一般格式 一个完整的函数定义由两部分组成,即函数头部和函数体。 一般格式如下: 5.1 函数的定义 5.1.2 “空函数” 函数体为空的函数称为空函数。空函数的定义形式为: 类型说明符 函数名() { } 例如: void dummy() { } 5.2 函数的运用 5.2.1 函数的调用 函数调用的一般形式为 函数名(实参表) 其中: (1)实参表可包含多个实参,各参数间用逗号隔开,实参可以是常量、变量,也可以是表达式。 (2) “实参表”可以为空(即无参函数),但括弧不能省。 (3)实参与形参个数相等,类型一致,按顺序一一对应。实参表求值顺序,因系统而定(Turbo C 自右向左) 。 5.2 函数的运用 例 5.2 无参函数调用实例 函数调用过程如图所示。 调用方式 函数语句: 例 printstar(); printf(“Hello,World!\n”); 函数表达式: 例 m=max(a,b)*2; 函数参数: 例 printf(“%d”,max(a,b)); m=max(a,max(b,c)); 5.2 函数的运用 3 函数的返回值 返回语句 形式: return(表达式); 或 return 表达式; 或 return; 功能:使程序控制从被调用函数返回到调用函数中,同时把返值带给调用函数 说明: 函数中可有多个return语句 若无return语句,遇}时,自动返回调用函数。此时,函数不带回有用的值,带回的是一个不确定的值。 若函数类型与return语句中表达式值的类型不一致,按前者为准,自动转换------函数调用转换 为明确表示“不带回值”,可用 void型函数定义“无类型”。 例5.3 编写程序求给定的两个数中较大的一个。 例5.4 函数中包含多个return语句。 5.2 函数的运用 3 函数声明 对被调用函数要求: 必须是已存在的函数 库函数: #include *.h 用户自定义函数: 若与主调函数在同一文件,应在主调函数中对被调函数作声明,即向编译系统声明将要调用此函数,并将有关信息通知编译系统。 5.2 函数的运用 5.2.2 参数传递 当调用有参函数时,在主调函数和被调用函数之间有数据传递关系。每一个变量都有变量的地址和变量值,因此在调用函数时,有两种数据传递方式,一是“值传递”,二是“地址传递”。 形参与实参 形式参数:定义函数时函数名后面括号中的变量名 实际参数:调用函数时函数名后面括号中的表达式 参数传递方式 值传递方式 方式:函数调用时,为形参分配单元,并将实参的值复制到形参中;调用结束,形参单元被释放,实参单元仍保留并维持原值 特点: 形参与实参占用不同的内存单元 实参可以是常量、变量或表达式;形参必须指定类型。形参与实参的类型应相同或赋值兼容,个数一致,一一对应。 单向传递 地址(值)传递 方式:函数调用时,将数据的存储地址作为参数传递给形参 特点: 形参与实参占用同样的存储单元 实参和形参必须是地址常量或变量 5.2 函数的运用 一维数组作函数的参数 一维数组的数组元素作函数实参,其用法与简单变量相同 由于数组名对应的是数组的起始地址,所以当数组作函数的参数时,传递的是数组的起始地址,这样在进行函数调用时就可以使用所有的数组元素。用数组名作函数参数,要求实参与形参都应用数组名(或用指针变量,见第6章指针)。 例 5.8 编写函数求一维数组中各元素的平均值。 例 5.9 编写选择法排序函数,使用选择法将数组中的整数按由小到大排序 5.2 函数的运用 多维数组作函数参数 如同普通变量和一维数组元素一样,也可以将多维数组的元素作为参数传递给函数 例 5.10 有一个 4 x 3的矩阵,求其所有元素中的最大值 5.3 变量的作用域与生存期 C语言中,变量的
您可能关注的文档
最近下载
- 中考现代文阅读——邓宗良《母亲的叶搭饼》.docx VIP
- 2024电厂化学-煤化验试题.pdf VIP
- 运动木地板采购方案投标文件(技术方案).doc
- 【习作指导】三年级上册第一单元习作“猜猜他是谁”.doc VIP
- 河南省南阳市方城县2024-2025学年七年级上学期期终阶段性调研语文试卷(含答案).docx VIP
- 全科医学的基本原则与特点.ppt VIP
- 综艺节目制作流程规范.pptx VIP
- 领导干部盘点执行方案(1).pptx VIP
- 河南省名校大联考2024-2025学年高二下学期开学语文试题(含答案解析).pdf
- 2025云南昆明供电局项目制用工招聘48人笔试参考题库附答案解析.docx VIP
文档评论(0)