- 3
- 0
- 约1.28万字
- 约 62页
- 2018-02-24 发布于河南
- 举报
第5章函数改
C程序设计 第五章 函数 函数示例: 前言 前言 前言 目 录 函数概述 函数定义的一般形式 函数的调用、参数和返回值 局部变量和全局变量 变量的存储类型 内部函数和外部函数 5.1 函数概述 C语言用函数实现程序模块化 一个程序由一个或多个源程序文件组成 一个源程序文件由一个或多个函数组成 一个函数可以调用其他函数或其本身,但任何函数均不可调用main函数。 C程序执行总是从main函数开始,一般情况下调用其它函数后总是回到main函数,最后在 main函数中结束整个程序的运行。 所有函数都是平行的、互相独立的,不存在从属关系,即在一个函数内只能调用其他函数,不能再定义一个函数(嵌套定义)。 5.1 函数的定义 函数定义形式 类型说明符 函数名(参数声明) { 声明部分 语句 } 无函数体的为“空函数” 类型说明符 函数名( ) { } 一、有参函数与无参函数 没有形参表的函数是无参函数,反之,就是有参函数 无参函数的定义形式 类型说明符 函数名( ) { 声明部分 语句 } 有参函数中关于“参数声明” (类型 形参名, 类型 形参名, …) 二、形式参数与实际参数 三、形式参数与实际参数间的值传递 实参对形参的数据传递是“值传递” 单向传递 只能把实参的值传递给形参 不能把形参的值传递给实参 对形参的值所作的改变不能带回给实参 实参和形参是不同的变量 具有不同的存储空间 具有不同的生存期和作用域 参数传递举例 四、函数值的返回 形式 形式一:return; 形式二:return (表达式); return 表达式 功能 函数的返回值通过函数中的return获得 结束函数调用 【例5-3】定义一个函数,将两个参数相加后返回主调函数。 说明: return(z)语句中, Z称为函数返回值 1)函数返回值的类型在函数 定义中指定。 关于“类型说明符 ” 指函数返回值的类型 如果函数未加类型说明,C语言规定一律自动按int型处理。 若无返回值,则定义返回类型为void 2)return语句后的表达式类型,应与函数值类型相同;如果函数值类型与return语句表达式值的类型不一致,以函数类型为准(数值型会自动进行类型转换). 5.3 函数的调用 一般形式 函数名(实参表列) 说明 即使没有实参,则“实参列表”可省,()也不能省略 多个实参之间用逗号分隔 实参与形参按顺序一一对应,类型应匹配 例5-4:编程输出由*组成的三角形 5.3.2 函数声明(函数原型) #include stdio.h main() { 。。。 double f1(double x,int y,float z); 。。。 } double f1(double x,int y,float z) { 函数体 } 函数声明的形式即函数原型 在函数调用之前,应对函数进行声明 函数声明可以在主调函数的声明部分,也可以在函数外部 函数外部的声明,对所有主调函数都起作用,不需要在主调函数内再次声明 函数的定义也具有声明的作用 库函数的声明包括在头文件(*.h)里,不需在源程序里声明 函数声明举例 (1) 函数声明举例 (2) 函数声明举例 (3) 上机操作题目: 由键盘输入三个整数分别给变量a、b、c,输出其中绝对值最大的数。 (编程要求:编写求3个数中最大数的子函数程序,在main主函数中调用此子函数程序,输出最大值。) 调用一个函数的过程中,调用另一函数 1、递归的概念 直接递归调用:调用函数的过程中又调用该函数本身 间接递归调用:调用f1函数的过程中调用f2函数,而f2 中又需要调用f1。 以上均为无终止递归调用,必须有一定的条件判断语句,使得递归调用能够终止。 【例一】(P77例5-6)用递归法求n! 程序如下: main() { int n; float s; printf(Input n=); scanf(%d,n); s=fac(n); printf(%d!=%f,n,s); } float fac(int x) { int f; if (x= =0||x= =1) f=1; else f=fac(x-1)*x; return f; } 通过分析,设计递归函数如下: 10 (n=1) age(n)
您可能关注的文档
最近下载
- 半导体封装流程完整PPT课件.pptx VIP
- 四川省高职单招大纲英语词汇2500词音标素材.docx VIP
- 中国音乐史与名作欣赏 课件-第二十讲.ppt VIP
- 深圳市城市轨道交通第四期建设规划调整(2017-2022)》环境影响评价报告书.pdf VIP
- 扬职大2025单招试卷 .pdf VIP
- 清华大学微电子封装技术 外壳选择及封装设计基础.pdf VIP
- 2021-2025年高考数学真题 导数及其应用(解答题)8种常见考法归类(解析版).pdf
- 春节习俗的现代转变.pptx VIP
- Schneider Electric施耐德TeSys T LTMR 电机管理控制器 以太网通讯指南(中文).pdf
- 电缆网络图识读信号工程施工课件.pptx VIP
原创力文档

文档评论(0)