欢迎来到天天文库
浏览记录
ID:50353025
大小:557.50 KB
页数:40页
时间:2020-03-08
《C语言程序设计案例教程 教学课件 作者 沈大林 等 第5章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、目录第5章函数5.1【案例19】计算代数式●函数的定义●函数的声明●函数的调用●函数的返回●定义函数的注意事项5.2【案例20】验证哥德巴赫猜想●函数的参数●赋值调用●传址调用●数组参数的传递●字符串参数的传递1目录5.3【案例21】求阶乘●函数嵌套●递归函数●函数递归的条件●递归算法与循环算法的区别5.4【案例22】程序计数器●变量的作用域●变量的存储类型5.5【案例23】main()函数的参数●main()函数●main()函数参数的应用2目录5.6【案例24】三角函数表●C语言函数库●标准输入/输出函数●字符函数与字符串处理函数●数学函数●其他函数
2、库3案例源码5.1【案例19】计算代数式5.2【案例20】验证哥德巴赫猜想5.3【案例21】求阶乘5.4【案例22】程序计数器5.5【案例23】main()函数的参数5.6【案例24】三角函数表45.1【案例19】计算代数式案例效果本案例中将通过子函数来计算代数式 的值。程序执行效果如图5-1-1所示。图5-1-1计算代数式在本案例的实现过程中,将学习函数的基本概念、函数定义与调用等内容。设计过程(见书)51.函数的定义相关知识1.函数的定义一个真正有用的程序不是几行代码就能完成的,可能会需要编写数百行,甚至于上万行的程序代码。在如此众多的编
3、码中,如果发生错误,结果将是灾难性的——维护人员不得不一行一行的去寻找错误,其任务的繁重甚至超过重新编写程序。程序中的某些功能可能会反复多次使用,比如数据的查找、排序等。如果为每一次应用都编写新的代码又大大加重了编程人员的负担。而且,大部分情况下,程序的所有功能并不是都需要同时使用,如果都调入内存,就加大了资源的负担。考虑到以上的种种情况,在编写程序时,把程序分割为一个个具有独立功能的模块,这样的模块就是函数。在使用一个函数前,先需要对其进行定义。函数定义通常由两部分组成:函数首部与函数体。函数的一般定义如下:类型函数名(形参列表)/*函数首部*/{变量
4、声明/*函数体*/语句}函数首部的类型指函数返回值类型,函数名为有效的标识符,形参列表指主调用函数传入函数的参数格式,如果有多个不同的参数,则每个参数都需要声明其类型。例如:62.函数的声明intmax(inta,intb){…}这里声明了函数max有两个形参a和b,这两个形参均为int型。如果调用函数时不需要传递参数,则形参列表可以省略,但是括号不能省略。花括号内是函数体,即函数的主体执行部分。2.函数的声明在程序中,对函数实行“先定义,后使用”的原则。在调用时,如果函数定义在调用之前,则可以直接调用,不需要再进行声明;如果函数定义在调用之后,则应先进
5、行声明,才能够正确调用。(1)标准库函数的声明如被调用函数为C语言提供的标准库函数,可在程序的开头部分用#include进行文件包含,前面见过的printf()、sqrt()等函数,就属于这种形式。printf()函数包含于stdio.h文件中,sqrt()函数包含于math.h文件中,则在使用这两个函数之前,应在程序开头部分用下面的语句进行包含。#include"stdio.h"#include"math.h"72.函数的声明(2)自定义函数的声明如果是用户自定义函数,如函数与主调函数在同一程序文件中,在调用前用如下语句进行声明:类型函数名(实参列表)
6、;函数声明有点像函数定义的首部,但函数定义时,函数类型、函数名、形参表及函数体是一个整体,而函数声明仅是对被调用函数的说明,其作用是告知系统被调用函数的类型及名称(参数名称在声明时可省略)。(3)在所有函数外部进行声明函数声明按其位置不同,作用范围也不同。在所有函数外部声明的函数,在声明语句之后的所有函数中都可调用。通常把函数声明语句放在程序文件的头部,以方便其后的程序对其进行调用,例如:inta();/*声明函数a()*/intb();/*声明函数b()*/main(){…k=a();/*调用函数a()*/n=b();/*调用函数b()*/…}82.函
7、数的声明intb()/*定义函数*/{…m=a();/*调用函数a()*/…}inta()/*定义函数*/{…}上面程序段中,函数a()和b()在程序头部进行了声明,所以下面的函数main()和b()中都可以调用函数a()。(4)在函数内部进行声明在某一函数内声明的函数,则仅可在声明它的函数内部被调用。intmain(){inta();/*声明函数*/…k=a();/*调用函数*/…}92.函数的声明intb()/*定义函数*/{…}inta()/*定义函数*/{…}上面程序段中,由于函数a()仅在主函数main()中进行了声明,并且a()函数的定义在b
8、()函数之后,因此,只允许在main()函数中调用函数a(),而不能够在函数b(
此文档下载收益归作者所有