呼和浩特职业学院:《C/C++程序设计》课程电子教案(PPT课件)第六章 函数

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

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

★函数分类 冬从用户角度 ●标准函数(库函数):由系统提供 ●用户自定义函数 从函数形式 ●无参函数 ●有参函数 使用库函数应注意: 1、函数功能 2、函数参数的数目和顺序,及各参数意义和类型 3、函数返回值意义和类型 4、 需要使用的包含文件 Ch7201.c
函数分类 ❖从用户角度 ⚫标准函数(库函数):由系统提供 ⚫用户自定义函数 ❖从函数形式 ⚫无参函数 ⚫有参函数 使用库函数应注意: 1、函数功能 2、函数参数的数目和顺序,及各参数意义和类型 3、函数返回值意义和类型 4、需要使用的包含文件 Ch7_201.c

函数返回值类型 §6.2函数的定义 缺省int型 ★一般格式 无返回值void 合法标识符 现代风格: 函数类型 函数名(形参类型说明表) 函数体 说明部分 语句部分 例无参函数 printstar() printfc**********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(xy) int x,y, int z; z=x>y?x:y, return(z);
函数类型 函数名(形参表) 形参类型说明 { 说明部分 语句部分 } 传统风格: 例 有参函数(传统风格) int max(x,y) int x,y; { int z; z=x>y?x:y; return(z); }

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

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

例函数返回值类型转换 mainO c float ab; Ch7_0L c int c, scanf("f %of",&a,&b); c-max(a,b); printf("Max is %d n",c): max(float x,float y) { float z; z-x>y?x:y; return(z);
例 函数返回值类型转换 main() { float a,b; int c; scanf("%f,%f",&a,&b); c=max(a,b); printf("Max is %d\n",c); } max(float x, float y) { float z; z=x>y?x:y; return(z); }

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

例参数求值顺序 c mainO mainO { int i=2,p; int i=2,p; Ch7 4c p=fi,++i): p=fi,i++); printf("%d",p), printf"%d",p); int f(int a,int b) int f(int a,int b) int c; int c; if(a>b)c=1; if(a>b)c=1; else if(a=-b) c-0; else if(a-=b) c=0; else c=-1; else c=-1; return(c); return(c); 运行结果:0 运行结果:1
main() { int i=2,p; p=f(i,++i); printf("%d",p); } int f(int a, int b) { int c; if(a>b) c=1; else if(a==b) c=0; else c=-1; return(c); } 例 参数求值顺序 main() { int i=2,p; p=f(i, i++); printf("%d",p); } int f(int a, int b) { int c; if(a>b) c=1; else if(a==b) c=0; else c=-1; return(c); } 运行结果:0 运行结果:1
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 呼和浩特职业学院:《C/C++程序设计》课程电子教案(PPT课件)第五章 数组.pps
- 呼和浩特职业学院:《C/C++程序设计》课程电子教案(PPT课件)第七章 指针.pps
- 呼和浩特职业学院:《C/C++程序设计》课程电子教案(PPT课件)第二章 顺序结构程序设计.pps
- 呼和浩特职业学院:《C/C++程序设计》课程电子教案(PPT课件)第三章 数据输入与输出.pps
- 呼和浩特职业学院:《C/C++程序设计》课程电子教案(PPT课件)第一章 程序的灵魂-算法.pps
- 呼和浩特职业学院:《C/C++程序设计》课程电子教案(PPT课件)第一章 C语言概述(授课教师:张媛).pps
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第十章 位运算(答案).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第十章 位运算(试题).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第九章 结构体与共用体(答案).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第八章 指针(答案).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第九章 结构体与共用体(试题).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第八章 指针(试题).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第七章(答案).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第七章(试题).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第六章(答案).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第六章(试题).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第五章 循环结构程序设计(答案).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第五章 循环结构程序设计(试题).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第四章 选择结构程序设计(答案).doc
- 呼和浩特职业学院:《C/C++程序设计》课程教学资源(各章习题)第四章 选择结构程序设计(试题).doc
- 呼和浩特职业学院:《C/C++程序设计》课程电子教案(PPT课件)第四章 C程序流程设计.pps
- 清华大学:《C语言程序设计》课程PPT教学课件(谭浩强教材第二版,共七章).ppt
- 《C语言程序设计》课程授课教案(PPT教学课件)第一章 C语言概论.ppt
- 《C语言程序设计》课程授课教案(PPT教学课件)第七章 函数.ppt
- 《C语言程序设计》课程授课教案(PPT教学课件)第三章 最简单的C.ppt
- 《C语言程序设计》课程授课教案(PPT教学课件)第二章 数据类型、运算符及表达式.ppt
- 《C语言程序设计》课程授课教案(PPT教学课件)第五章 循环结构.ppt
- 《C语言程序设计》课程授课教案(PPT教学课件)第八章 编译预处理、第九章 指针、第十章 结构体、共用体及枚举类型、第十一章 文件.ppt
- 《C语言程序设计》课程授课教案(PPT教学课件)第六章 数组.ppt
- 《C语言程序设计》课程授课教案(PPT教学课件)第四章 选择结构.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第一章 C语言概述、算法介绍.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第二章 数据类型、运算符与表达式、位运算.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第三章 程序控制流.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第五章 函数及预处理.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第八章 文件.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第六章 指针.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第四章 数组.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第七章 结构体与共用体.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第01章 C语言概述.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第02章 数据类型、运算符与表达式.ppt