欢迎来到天天文库
浏览记录
ID:45568654
大小:546.00 KB
页数:73页
时间:2019-11-14
《《解析C程序设计》第3章自定义函数设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章自定义函数设计本章内容最大值和最小值问题条件运算符函数的定义函数的调用函数的返回参数的传递函数的声明交换两个变量值的问题变量的作用域变量的存储类型2021/8/62《解析C程序设计》第3章自定义函数设计前面的所有程序都是由一个主函数main()组成,程序的所有操作都在主函数中完成。(当然也包含一些库函数)对于小程序可以这样做,但是,对于一个有一定规模的程序这样做就不合适了。2021/8/63《解析C程序设计》第3章自定义函数设计事实上,C程序可以只包含一个主函数也可以包含一个主函数和若干个其它函数(库函数和自定义函数)C语言是一个函数式语言。2021/8/64《
2、解析C程序设计》第3章自定义函数设计C函数分类(1)用户自定义函数(包括主函数);(2)系统提供的库函数。由C系统开发商提供,程序员可以直接调用。自定义函数以下简称函数。下面通过一个简单问题来初步了解自定义函数的用法。2021/8/65《解析C程序设计》第3章自定义函数设计3.1最大值和最小值问题2021/8/66《解析C程序设计》第3章自定义函数设计问题的提出例3-1由用户输入三个整数,编程求解三个数的最大值和最小值。2021/8/67《解析C程序设计》第3章自定义函数设计问题的分析【分析】根据前面所学,本问题将可以所有功能都在主函数中完成。也可以用两个函数分别完成
3、求最大值和最小值,在主函数中调用这两个函数即可。这样的好处是,可以实现代码共享,而且使相对独立功能的代码分离,便于维护。求最大值和最小值可以使用条件运算符完成,当然还有其他办法(你知道吗?)。另外还涉及到函数的定义、函数的调用、函数值的返回、参数的传递、函数的声明等基本知识。下面逐步介绍。2021/8/68《解析C程序设计》第3章自定义函数设计条件表达式运算符一般形式:expr1?expr2:expr3运算规则:例求a+
4、b
5、printf(“a+
6、b
7、=%d”,b>0?a+b:a-b);条件运算符可嵌套如x>0?1:(x<0?-1:0)优先级:13结合方向:自右向
8、左如a>b?a:c>d?c:da>b?a:(c>d?c:d)expr1、expr2、expr3类型可不同,表达式值取较高的类型expr2当expr1非0expr1?expr2:expr3=expr3当expr1非02021/8/69《解析C程序设计》第3章自定义函数设计求x和y的最大值max=x>y?x:y;2021/8/610《解析C程序设计》第3章自定义函数设计函数的定义合法标识符函数返回值类型:缺省int型,无返回值void函数体函数类型函数名(形式参数类型说明表){声明部分执行部分}现代风格:例有参函数(现代风格)intmax(intx,inty){intz
9、;z=x>y?x:y;return(z);}例有参函数(现代风格)intmax(intx,inty){intz;z=x>y?x:y;return(z);}例空函数dummy(){}函数体为空例无参函数voidprintstar(){printf(“**********”);}或voidprintstar(void){printf(“**********”);}参数:传递数据信息的通道2021/8/611《解析C程序设计》第3章自定义函数设计传统风格的函数定义函数类型函数名(形式参数表)形参类型说明{声明部分执行部分}例有参函数(传统风格)intmax(x,y)
10、intx,y;{intz;z=x>y?x:y;return(z);}一般情况下,均使用现代风格定义函数,并且要指定函数类型。2021/8/612《解析C程序设计》第3章自定义函数设计函数定义说明①函数类型表示在调用了该函数后,其返回值的数据类型。可为:int、char、float、double等。如果函数无数据返回时,应使用void作类型定义符。注意,省略了类型说明符,C编译器认为函数返回值为一个整型值类型(int)。②函数名即函数的名称,是由用户取的合法标识符。C语言的关键字不能作函数名。自定义函数的名称可以使用库函数名,但这时库函数被屏蔽。③形式参数表是一个用逗号
11、分隔的变量表,当函数被调用时这些变量接受调用参数的值。相当于函数调用时传递信息的通道。注意:每个参数必须指明类型!④在函数的定义中,如果没有函数体,即函数什么功能都不做,我们称为空函数。空函数的功能主要是在程序设计中,留出该函数的功能,以后在需要的时候补充上去。2021/8/613《解析C程序设计》第3章自定义函数设计特别注意(1)函数不能单独运行,函数可以被主函数或其它函数调用,也可以调用其它函数,但是不能调用主函数。(2)C规定,函数体的声明部分和执行部分应严格划分,且声明部分放在函数体的开始。例如,以下定义是不允许的:voidmain(){do
此文档下载收益归作者所有