C语言程序设计 教学课件 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第7章 函数和变量存储类.ppt

C语言程序设计 教学课件 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第7章 函数和变量存储类.ppt

ID:50043601

大小:445.00 KB

页数:98页

时间:2020-03-08

C语言程序设计 教学课件 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第7章 函数和变量存储类.ppt_第1页
C语言程序设计 教学课件 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第7章 函数和变量存储类.ppt_第2页
C语言程序设计 教学课件 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第7章 函数和变量存储类.ppt_第3页
C语言程序设计 教学课件 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第7章 函数和变量存储类.ppt_第4页
C语言程序设计 教学课件 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第7章 函数和变量存储类.ppt_第5页
资源描述:

《C语言程序设计 教学课件 作者 孟庆昌 陈海鹏 马鸣远 刘振英 第7章 函数和变量存储类.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章函数和变量存储类函数定义7.1main()函数7.2函数调用7.3函数返回值和函数类型说明7.4函数的递归调用7.5void类型和可变参数函数7.6变量存储类7.7应用举例7.8一个较大的问题可以分解为若干个相对独立的子问题,每一个子问题可由一个程序模块实现。在C语言中,这些程序模块就是函数。函数是C语言的基本构件。一个C源文件中可包含一个或多个函数,但一个函数的源代码只能在一个源文件中存放。一个较大的C程序可以存放在多个源文件中。每个C程序源文件是一个单独的编译单位,而函数不是单独的编译单位。在C语言中,对一个变量的定义除了要指

2、明其类型外,还要指出其存储类。变量的存储类规定了变量的存在时间、可以引用的范围以及存放它的硬件等。函数定义的一般形式是:函数类型函数名(类型参数1,类型参数2,…,类型参数N){数据说明语句}7.1函数定义例如下面的函数power计算x的n次幂:doublepower(doublex,intn){doublep;if(n>0)for(p=1.0;n>0;n−−)p=p*x;elsep=1.0;return(p);}下面对函数定义的组织形式作进一步说明。(1)类型——出现在函数名power前面的关键字double表示该函数的类型。从语法规

3、则上讲,函数类型可以是除函数和数组以外的任何类型,可以是int型、char型,等等。但对一个具体函数的定义来说,它的类型是惟一的,并且通常与其返回值的类型一致。(2)函数名——函数名称可以是C语言中任何合法的标识符。函数名后面一定要有一对圆括号(如果有参数,则它们放在圆括号之内),由它表示该标识符是函数名。在一个程序中,表示同一函数的名称应是惟一的。(3)参数说明——指明参数的类型和名称。(4)函数体——由一对花括号“{}”括起来,其中包含数据说明和语句。函数的功能就是由函数体内的各个语句实现的。在经典C中,函数定义的一般形式是:类型名

4、称(参数表)参数说明{数据说明语句}例如,下面的函数cube计算一个数x的立方:longcube(x)intx;{longa;a=x*x*x;return(a);}经典C和标准C二者的主要差别在于:按标准C方式定义的函数,在以后对它进行调用时要对实参作强制性的匹配和类型转换,而经典C方式定义的函数则没有这种安全性检查的功能。另外,标准C函数定义中要明确指出函数的类型。即使一个函数没有用return语句返回任何值,也应说明它的类型是void。对函数定义应注意以下几点:(1)函数定义还是互相独立的,一个函数并不从属于另一个函数。就是说,定义

5、函数时不允许嵌套,即在一个函数的定义中不能包含对另外函数的定义。例如,下面函数定义的形式不正确:intfirst_func(inta,intb)/*第一个函数的定义*/{…intsecond_func(intx,inty)/*第二个函数的定义*/{…}…}(2)在函数定义中,可以包含对其他函数的调用,后者又可以调用另外的函数,甚至自己调用自己,即递归调用。(3)对函数的定义和说明是不同的。(4)C语言中还有“空函数”,它的形式是:类型函数名(){}归纳起来,使用main()函数应注意以下几点。(1)一个C程序必须有、并且只能有一个主函数

6、,其名称为main。(2)系统运用C程序时,总是从main()函数开始。7.2main()函数(3)main()函数可以调用其他函数,包括本程序中定义的函数和标准库中的函数,但其他函数不能反过来调用main()函数。main()函数也不能调用自己。(4)main()函数也可以带有两个参数,一般形式是:main(intargc,char*argv[])(5)main()函数也有类型,是int。按照默认规则,未标明类型的函数其类型是int。在main()函数末尾最好有return(0);语句。例7-1用折半法计算函数sin(x)在给定区间内

7、的零点,要求精度为10−6。#include#include#defineMAX1000voidzero(doublea,doubleb){inttimes=0;doublex,z;do{x=(a+b)/2.0;z=sin(x);if((z<0)==(sin(a)<0))a=x;elseb=x;if(++times>MAX){printf("Timesaretoomany!");return;}}while(fabs(a−b)>1E−6);if(sin(a)*sin(b)<=0)printf("Ze

8、ro=%lf",x);elseprintf("Thereisnozeropoint!");}main(){doublem,n;printf("Inputdata:m=?n=?");scanf("%l

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

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

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