欢迎来到天天文库
浏览记录
ID:59421586
大小:1.34 MB
页数:163页
时间:2020-09-19
《C语言程序设计――姜恒远 第6章 模块化程序设计与函数ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章模块化程序设计与函数1主要内容6.1函数概述6.2函数定义6.3函数返回6.4函数调用6.5标识符的作用域6.6变量的存储属性6.7参数个数可变函数的定义及调用6.8编译预处理及预处理命令26.1函数概述到目前为止,我们涉及到的只是C编译系统提供的标准库函数,例如标准I/O函数getchar、scanf…..数学函数sin、cos、sqrt字符与字符串处理函数strcmp、strcpy…等等。这一章中我们将讨论如何自己去定义、编写、使用各种不同的新函数。3函数什么是函数?6.1函数概述将一组语句封装为一个独立代码块的实现方法。简言之,函数
2、是完成特定功能的代码段。一类函数仅执行指定的操作,并不给出一个计算的结果。这类函数称之为“无返回值函数”。另一类函数将给出一个计算的结果供调用者使用。这类函数称之为“有返回值函数”。4为什么要使用函数?函数的使用可省去重复代码的编写。如果程序中需要多次使用某种特定功能,那么只需编写一个合适的函数即可。如要计算:6.1函数概述56.1函数概述可以先编写计算x2xx3212+++的函数:doubley(doublex){doublevalue;value=x*x+sqrt(1.0+2.0*x+3.0*x*x);returnvalue;}然后再编写如
3、下的主函数,调用函数y:66.1函数概述#include#includemain(){doubley(doublex);doublef,s,x;scanf(“%f”,&x);f=6.9/y(exp(x))+y(sin(x));s=y(f*f)/y(sqrt(x));printf(“f=%fs=%f”,f,s);}76.1函数概述对函数的使用需要了解什么?如何正确定义函数;如何正确调用函数;函数执行完如何返回;如何在函数间传递数据(函数间数据通信)。86.2函数定义函数定义格式[存储类型][函数类型]函数
4、名(形式参数声明){局部变量声明语句序列}函数首部函数体9intmin(intx,inty)/*函数首部*/{/*函数体开始*/intz;/*局部变量声明*/z=x5、许与形式参数同名intf;floatf(intx){……}intmain(){……}intsqrt(intx){returnx+2;}intmain(){……}intf(intf){......}intmain(){……}intf(intx){floatf;……}intmain(){……}intf(intf){......}intmain(){……}11函数类型指的是函数返回值的数据类型。允许基本类型、指针类型、结构类型、联合类型和void。若定义函数时没有指定函数的返回值的数据类型,则默认的函数返值类型为int;注:C99不再允许函数的默认类6、型!imin(intn,intm){if(n7、序没有限制,形式参数之间用逗号分隔。若没有形式参数可在形式数表中只放一个void,或者为空。voidprint_word(void){printf(“hello”);}voidprint_word(){printf(“hello”);}146.2函数定义形式参数只能是各种类型的变量、数组,每一个形式参数都必须单独声明,声明的方法与变量相同。形式参数的数据类型可以是基本类型、指针类型、结构类型、联合类型、函数类型、数组类型。doublefun(floata[20],intb[],char*c,doubled){……}intf(intx,y){……8、}intf(x,y)intx,y{……}(错)(传统的定义形式)156.2函数定义不能给形式参数指定初始化值,且形式参数不进行初始化便可使用,它们的初
5、许与形式参数同名intf;floatf(intx){……}intmain(){……}intsqrt(intx){returnx+2;}intmain(){……}intf(intf){......}intmain(){……}intf(intx){floatf;……}intmain(){……}intf(intf){......}intmain(){……}11函数类型指的是函数返回值的数据类型。允许基本类型、指针类型、结构类型、联合类型和void。若定义函数时没有指定函数的返回值的数据类型,则默认的函数返值类型为int;注:C99不再允许函数的默认类
6、型!imin(intn,intm){if(n7、序没有限制,形式参数之间用逗号分隔。若没有形式参数可在形式数表中只放一个void,或者为空。voidprint_word(void){printf(“hello”);}voidprint_word(){printf(“hello”);}146.2函数定义形式参数只能是各种类型的变量、数组,每一个形式参数都必须单独声明,声明的方法与变量相同。形式参数的数据类型可以是基本类型、指针类型、结构类型、联合类型、函数类型、数组类型。doublefun(floata[20],intb[],char*c,doubled){……}intf(intx,y){……8、}intf(x,y)intx,y{……}(错)(传统的定义形式)156.2函数定义不能给形式参数指定初始化值,且形式参数不进行初始化便可使用,它们的初
7、序没有限制,形式参数之间用逗号分隔。若没有形式参数可在形式数表中只放一个void,或者为空。voidprint_word(void){printf(“hello”);}voidprint_word(){printf(“hello”);}146.2函数定义形式参数只能是各种类型的变量、数组,每一个形式参数都必须单独声明,声明的方法与变量相同。形式参数的数据类型可以是基本类型、指针类型、结构类型、联合类型、函数类型、数组类型。doublefun(floata[20],intb[],char*c,doubled){……}intf(intx,y){……
8、}intf(x,y)intx,y{……}(错)(传统的定义形式)156.2函数定义不能给形式参数指定初始化值,且形式参数不进行初始化便可使用,它们的初
此文档下载收益归作者所有