《C语言》课程资源_C语言_9.函数

第9章函数 -模块化程序设计 ·基本思想:将一个大的程序按功能分割成一些小模块, ·特点: 一各模块相对独立、功能单一、结构清晰、接口简单 一控制了程序设计的复杂性 一提高元件的可靠性 一缩短开发周期 一避免程序开发的重复劳动 一易于维护和功能扩充 ·开发方法:自上向下,逐步分解,分而治之
第9章 函数 – 模块化程序设计 • 基本思想:将一个大的程序按功能分割成一些小模块, • 特点: – 各模块相对独立、功能单一、结构清晰、接口简单 – 控制了程序设计的复杂性 – 提高元件的可靠性 – 缩短开发周期 – 避免程序开发的重复劳动 – 易于维护和功能扩充 • 开发方法: 自上向下,逐步分解,分而治之

①是模块化程序设计语言 C程序 源程序文件」 源程序文件i 源程序文件n 预编译命令 函数1 函数n 说明部分 执行部分 C程序结构 单C是函数式语言 单必须有且只能有一个名为main的主函数 四C程序的执行总是从main函数开始,在main中结束 具函数不能嵌套定义,可以嵌套调用
C是模块化程序设计语言 源程序文件1 预编译命令 说明部分 执行部分 函数1 函数n 源程序文件i 源程序文件n C程序 C程序结构 C是函数式语言 必须有且只能有一个名为main的主函数 C程序的执行总是从main函数开始,在main中结束 函数不能嵌套定义,可以嵌套调用

)烂9函数分类 。从用户角度 一标准函数(库函数):由系统提供 一用户自定义函数 ·从函数形式 一无参函数 一有参函数 使用库函数应注意: 1、函数功能 2、函数参数的数目和顺序,及各参数意义和类型 3、函数返回值意义和类型 4、需要使用的包含文件
– 9.1 函数分类 • 从用户角度 – 标准函数(库函数):由系统提供 – 用户自定义函数 • 从函数形式 – 无参函数 – 有参函数 使用库函数应注意: 1、函数功能 2、函数参数的数目和顺序,及各参数意义和类型 3、函数返回值意义和类型 4、需要使用的包含文件

6.2函数的定义 函数返回值类型 缺省int型 一一般格式 无返回值void 合法标识符 现代风格: 函数类型 函数名(形参类型说明表》 函数体 说明部分 语句部分 例无参函数 printstar() {printf(****n”)方 或 printstar(void) 为空 printf**********n);
• 6.2 函数的定义 – 一般格式 合法标识符 函数返回值类型 缺省int型 无返回值void 函数体 函数类型 函数名(形参类型说明表) { 说明部分 语句部分 } 现代风格: 例 有参函数(现代风格) int max(int x,int y) { int z; z=x>y?x:y; return(z); } 例 有参函数(现代风格) int max(int x, y) { int z; z=x>y?x:y; return(z); } 例 空函数 dummy( ) { } 函数体为空 例 无参函数 printstar( ) { printf(“**********\n”); } 或 printstar(void ) { printf(“**********\n”); }

传统风格: 函数类型 函数名(形参表) 形参类型说明 说明部分 语句部分 例 有参函数(传统风格) int max(x,y) int x,y, int z; z-x>y?xy; return(z);
函数类型 函数名(形参表) 形参类型说明 { 说明部分 语句部分 } 传统风格: 例 有参函数(传统风格) int max(x,y) int x,y; { int z; z=x>y?x:y; return(z); }

2 6.3函数的返回值 例无返回值函数 void swap(int x,int y 一返回语句 { int temp, ·形式: return(表达式); temp-x; 或 return 表达式; x-y; 或 y-temp; return; ·功能:使程序控制从被调用因效必凹到用凶敛中, 同时把返值带给调用函数 ·说明: -函数中可有多个return语句 -若无return语句,遇}时,自动返回调用函数 -若函数类型与return语句中表达式值的类型不一致,按前 者为准,自动转换一函数调用转换 -void型函数
• 6.3 函数的返回值 – 返回语句 • 形式: return(表达式); 或 return 表达式; 或 return; • 功能:使程序控制从被调用函数返回到调用函数中, 同时把返值带给调用函数 • 说明: – 函数中可有多个return语句 – 若无return语句,遇}时,自动返回调用函数 – 若函数类型与return语句中表达式值的类型不一致,按前 者为准,自动转换-函数调用转换 – void型函数 例 无返回值函数 void swap(int x,int y ) { int temp; temp=x; x=y; y=temp; }

例函数带回不确定值 printstar() void printstar() {printf("****")方 {printf("****")方 main() main() int a; { int a, a=printstar(); a=printstarO); printf("d",a); printf("%d",a); 输出:10 编译错误! 米
printstar() { printf("**********"); } main() { int a; a=printstar(); printf("%d",a); } 例 函数带回不确定值 输出:10 void printstar() { printf("**********"); } main() { int a; a=printstar(); printf("%d",a); } 编译错误!

6.4函数的调用 -调用形式 函数名(实参表); 说明: 一实参与形参个数相等,类型一致,按顺序一一对应 -实参表求值顺序,因系统而定(Turbo C自右向左)
• 6.4 函数的调用 – 调用形式 函数名(实参表); 说明: – 实参与形参个数相等,类型一致,按顺序一一对应 – 实参表求值顺序,因系统而定(Turbo C 自右向左)

调用方式 ·函数语句: 例printstar(O; printf("Hello,World!\n"); ·函数表达式: 例m=max(a,b)*2; ·函数参数: 例 printf(“%d”,max(a,b); m=max(a,max(b,c));
– 调用方式 • 函数语句: 例 printstar(); printf(“Hello,World!\n”); • 函数表达式: 例 m=max(a,b)*2; • 函数参数: 例 printf(“%d”,max(a,b)); m=max(a,max(b,c));

函数说明 ·对被调用函数要求: 一必须是已存在的函数 -库函数:#include 一用户自定义函数:函数类型说明 ·函数说明 一一般形式: 函数类型 函数名(形参类型[形参名],.); 或 函数类型 函数名(0; 一作用:告诉编译系统函数类型、参数个数及类型,以便检验 -函数定义与函数说明不同 一函数说明位置:程序的数据说明部分(函数内或外) 一下列情况下,可不作函数说明 》若函数返值是char或int型,系统自动按int型处理 》被调用函数定义出现在主调函数之前
– 函数说明 • 对被调用函数要求: – 必须是已存在的函数 – 库函数: #include – 用户自定义函数: 函数类型说明 • 函数说明 – 一般形式: 函数类型 函数名(形参类型 [形参名],. ); 或 函数类型 函数名(); – 作用:告诉编译系统函数类型、参数个数及类型,以便检验 – 函数定义与函数说明不同 – 函数说明位置:程序的数据说明部分(函数内或外) – 下列情况下,可不作函数说明 » 若函数返值是char或int型,系统自动按int型处理 » 被调用函数定义出现在主调函数之前
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C语言》课程资源_C语言_8字符串.ppt
- 《C语言》课程资源_C语言_7指针.ppt
- 《C语言》课程资源_C语言_5xunhuan.ppt
- 《C语言》课程资源_C语言_11.编译预处理.ppt
- 《C语言》课程资源_C语言_jiegouti.ppt
- 《C语言》课程资源_C语言_hanshu.ppt
- 《C语言》课程资源_C语言_14.文件.ppt
- 《C语言》课程资源_C语言_13.位运算.ppt
- 《C语言》课程资源_C语言_12.结构体与共用体.ppt
- 《C语言》课程资源_C语言课件_C语言课件第04章选择程序.ppt
- 《C语言》课程资源_C语言课件_C语言课件第03章顺序程序.ppt
- 《C语言》课程资源_C语言课件_C语言课件第02章数据与运算.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿,J2EE WEB,JSP)第7章EL语言2016-4-13.ppt.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿,J2EE WEB,JSP)第6章 创建Web监听和过滤程序.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿,J2EE WEB,JSP)第5章 Servlet技术.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿,J2EE WEB,JSP)第3章 内建对象.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿,J2EE WEB,JSP)第2章 JSP页面构成.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿,J2EE WEB,JSP)第1章 Java Web入门.ppt
- 《JAVA 高级编程》课程实验指导书.doc
- 《IT项目管理》课程教学课件(讲稿)9-团队干系人沟通管理.pdf
- 《C语言》课程资源_C语言_xunhuan.ppt
- 《C语言》课程资源_C语言_字符串.ppt
- 《C语言》课程资源_C语言_指针1.ppt
- 《C语言》课程资源_C语言_数组.ppt
- 《C语言》课程资源_C语言_数组1.ppt
- 《C语言》课程资源_C语言_数组3.ppt
- 《C语言》课程资源_C语言课件_第1章 引论.ppt
- 《C语言》课程资源_C语言课件_第2章 基本的数据与运算.ppt
- 《C语言》课程资源_C语言课件_第3章 顺序结构.ppt
- 《C语言》课程资源_C语言课件_第4章 选择结构.ppt
- 《C语言》课程资源_C语言课件_第5章 循环结构.ppt
- 《C语言》课程资源_C语言课件_第6章 数组.ppt
- 《C语言》课程资源_C语言课件_第9、10章 函数.ppt
- 《C语言》课程资源_课件ppt_10章函数进一步讨论.ppt
- 《C语言》课程资源_课件ppt_12章结构体01.ppt
- 《C语言》课程资源_课件ppt_13章位运算.ppt
- 《C语言》课程资源_课件ppt_1章 C语言概述.ppt
- 《C语言》课程资源_课件ppt_2、3章.ppt
- 《C语言》课程资源_课件ppt_4选择.ppt
- 《C语言》课程资源_课件ppt_5循环程序设计.ppt
