C语言程序设计(第二版) 李丽娟 马淑萍主编 第6章 函数

C语言程序设计(第二版) 李丽娟 马淑萍主编 第6章 函数

ID:40238565

大小:806.50 KB

页数:98页

时间:2019-07-28

C语言程序设计(第二版) 李丽娟 马淑萍主编 第6章 函数_第1页
C语言程序设计(第二版) 李丽娟 马淑萍主编 第6章 函数_第2页
C语言程序设计(第二版) 李丽娟 马淑萍主编 第6章 函数_第3页
C语言程序设计(第二版) 李丽娟 马淑萍主编 第6章 函数_第4页
C语言程序设计(第二版) 李丽娟 马淑萍主编 第6章 函数_第5页
资源描述:

《C语言程序设计(第二版) 李丽娟 马淑萍主编 第6章 函数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章函数与编译预处理在C程序设计中,通常将一个较大程序分成几个功能较为单一的子程序模块,用函数来完成每个子程序的作用。C语言是函数驱动语言,C程序都由一个或多个函数构成,其中有且只有一个名为main的函数,即主函数,C程序总是从main函数开始执行并最后在main函数中结束整个程序的运行。函数常识1、功能模块:求解较小问题的算法和程序称作“功能模块”,各功能模块可以先单独设计,然后将求解所有子问题的模块组合成求解原问题的程序。2、一个解决大问题的程序,可以分解成多个解决小问题的模块,这就是“自顶向下”的模块化

2、程序设计方法。3、用一个或多个函数来实现这些功能模块。例:打印图形:******************Howdoyoudo!************************************编程:main(){printf(“****************”);printf(“Howdoyoudo!”);printf(“******************”);printf(“******************”);}源程序可简化为:三个语句一样,可编写成函数:voidprintst

3、ar(){printf(“**************”);}main(){printstar();printstar()printf(“Howdoyoudo!”):用户自定义的函数printstar():}1.说明几点:①、一个原程序文件由一个或多个函数组成。一个源程序文件是一个编译单位,即以源文件为单位进行编译,而不是以函数为单位进行编译。②、C程序的执行从main函数开始,在main函数中结束整个程序的运行。main函数是系统定义的。③、所有的函数都是平行的,不能嵌套定义,但可以互相调用,但不能调

4、用main函数。模块与函数函数:完成相对独立功能的程序.标准函数:由系统提供的库函数,不必①从使用角度分      定义直接引用,如fabs()等。用户自定义函数:用以解决用户专门需要。无参函数:如printsar();②从函数形式分有参函数:如sin(x),sqrt(x);不传递数据主调函数       被调用函数传递数据[例]输入三个数,将其按从小到大的顺序输出.main(){floata,b,c,t;scanf(“%f,%f,%f”,&a,&b,&c);if(a>b)t=a,a=b,b=t;if(a>c)

5、t=a,a=c,c=t;if(b>c)t=b,b=c,c=t;printf(“%6.1f,%6.1f,%6.1f”,a,b,c);}用函数实现:输入(用scanf函数)主控模块排序输出(用printf函数)排序函数sortabc:voidsortabc(){floatt;if(a>b)t=a,a=b,b=t;if(a>c)t=a,a=c,c=t;if(b>c)t=b,b=c,c=t;}floata,b,c;/*定义a,b,c为全程变量*/main(){scanf("%f,%f,%f”,&a,&b,&c);/

6、*输入*/sortabc();/*排序*/printf(“%6.1f,%6.1f,%6.1f”,a,b,c);/*输出*/}模块独立:功能独立,关系简单;模块设计原则:模块规模适当分解模块要注意层次算法1.算法:是求解某一类特定问题的方法和步骤。2.算法的性质(1)算法是一个有限操作序列。即算法的有穷性。(2)算法的每一步都应是确定的,没有二义性。(3)算法的每一步都应是计算机能进行的有效操作。(4)有一个或多个输入。(5)有一个或多个输出,表示问题的解。3.算法的描述(1)自然语言(2)框图语言(N-S流

7、程图)(3)计算机语言例:找出a,b两数中的较大者,并输出。1、自然语言描述(1)输入两个数;(2)如果a>b,则amax,否则bmax;(3)输出max的值。2、N-S框图语言描述输入a,ba>b是否amaxbmax输出max的值3、计算机语言描述:main(){inta,b,max;scanf(“%d,%d”,&a,&b);if(a>b)max=a;elsemax=b;printf(“max=%d”,max);}6.1库函数1、定义在不同的头文件中2、用户使用时,必须用#include“头文件”把相应的

8、头文件包含到程序中来。例6.1数学函数库调用举例#include#includemain(){doublea,b;scanf(“%lf“,&a);b=sin(a);printf(“%6.4lf”,b);}注意:include命令必须以#开头,文件名用一对双引号“”或一对尖括号<>括起来,二者的区别是:用表示编译时只按系统标准方式检索文件

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。