欢迎来到天天文库
浏览记录
ID:55827814
大小:111.50 KB
页数:59页
时间:2020-06-09
《C语言程序设计ppt-第5章-函数.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章函数与程序结构本章内容:构化编程和C程序的一般结构。函数的机制:包括函数定义、函数声明、函数调用、变量的存储类型、参数数目可变的函数等。递归与回溯:包括解释递归与回溯的概念、递归函数设计,以及递归调用。多文件程序设计。8/4/20211华中科技大学计算机学院5.1C程序的一般结构5.1.1结构化程序设计结构化编程是一种解决问题的策略,它包括如下2条编程标准:(1)程序中的控制流应该尽可能简单。(2)应该自顶向下地设计程序结构。自顶向下设计也称为逐步细化,即把一个问题按功能分解为若干子问题,如果子问题还较复杂,可将其继续分解,直到分解成为容易求解的子问题为止。分解而来的每个子问题被称为
2、模块,C中提供的函数机制完成每个模块的编程任务,即用函数编写由分解而来的子问题的代码。8/4/20212华中科技大学计算机学院例显示从1到10的整数幂。***************************************ATABLEOFPOWERS***************************************IntSquareCubeQuarticQuintic1111124816323927812434166425610245251256253125636216129677767493432401168078645124096327689817296561590
3、49101001000100001000008/4/20213华中科技大学计算机学院自顶向下的分解问题:(1)显示标题(2)显示表头(3)分列整齐地显示整数1到10的2至5次幂每个子问题都能作为函数直接被编写成代码,在main中调用这些函数,解决总的问题。8/4/20214华中科技大学计算机学院#includevoidprn_banner(void);/*prn_banner的函数原型*/voidprn_headings(void);/*prn_headings的函数原型*/doublepower(intx,intn);/*power的函数原型*/voidmain(voi
4、d){inti,j;prn_banner();/*显示标题*/prn_headings();/*显示表头*/for(i=1;i<=10;i++){printf("%5d",i);for(j=2;j<=5;j++)printf("%10.0f",power(i,j));/*ij*/printf("");}}main函数:8/4/20215华中科技大学计算机学院结构化程序设计的益处使程序编制方便,易于管理、修改和调试。增强了程序的可读性、可维护性和可扩充性,方便于多人分工合作完成程序的编制。函数可以公用,避免在程序中使用重复的代码。提高软件的可重用性,软件的可重用性是转向面向对象程序设计的
5、重要因素。8/4/20216华中科技大学计算机学院5.1.2C程序的一般结构C程序由一或多个函数组成,这些函数可以编辑成多个C源文件,每一个C源文件含有一个或多个函数定义。各C源文件中要用到的一些外部变量说明、枚举类型声明、结构类型声明、函数原型和编译预处理指令等可编辑成一个.h头文件,然后在每个C文件中包含该头文件。每个源文件可单独编译生成目标文件,组成一个C程序的所有源文件都被编译之后,由连接程序将各目标文件中的目标函数和系统标准函数库的函数装配成一个可执行C程序。除main以外的其它函数分两类,一类是由系统提供的标准函数。另一类是需要由程序员自己编写的函数(“自定义函数”)。8/4/
6、20217华中科技大学计算机学院5.2函数的定义与函数的声明程序中若要使用自定义函数实现所需的功能,需要做三件事:①按语法规则编写完成指定任务的函数,即定义函数;②有些情况下在调用函数之前要进行函数声明;③在需要使用函数时调用函数8/4/20218华中科技大学计算机学院5.2.1函数的定义函数定义的一般形式为:类型名函数名(参数列表){声明部分语句部分}无返回值,类型名用void。无参数,参数列表void(可缺省不写)8/4/20219华中科技大学计算机学院函数定义的例子/*函数prn_banner:显示标题*/voidprn_banner(void)/*同于voidprn_banner(
7、)*/{printf("%s%s%s","*******************************","*ATABLEOFPOWERS*","*******************************");}8/4/202110华中科技大学计算机学院未指明函数返回值的类型,默认为int/*函数prn_headings:显示表头*/voidprn_headings()/*不同于prn_head
此文档下载收益归作者所有