C语言程序设计 教学课件 作者 孟庆昌 第06章.ppt

C语言程序设计 教学课件 作者 孟庆昌 第06章.ppt

ID:50043607

大小:576.50 KB

页数:113页

时间:2020-03-08

C语言程序设计 教学课件 作者 孟庆昌 第06章.ppt_第1页
C语言程序设计 教学课件 作者 孟庆昌 第06章.ppt_第2页
C语言程序设计 教学课件 作者 孟庆昌 第06章.ppt_第3页
C语言程序设计 教学课件 作者 孟庆昌 第06章.ppt_第4页
C语言程序设计 教学课件 作者 孟庆昌 第06章.ppt_第5页
资源描述:

《C语言程序设计 教学课件 作者 孟庆昌 第06章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章函数和数据存储结构一个较大的程序一般应分为若干个模块,每个模块完成一个特定的功能。在C语言中,这些程序模块就是函数。函数是C语言的基本构件。一个C源文件中可包含一个或多个函数,但一个函数的源代码只能在一个源文件中存放。一个较大的C程序可以存放在多个源文件中。进行编译时,把每个C程序源文件作为一个单独的编译单位,而不是以函数为单独的编译单位。在C语言中,对一个变量的定义除了要指明其类型外,还要指出其存储类。变量的存储类规定了变量的存在时间、可以引用的范围以及存放它的硬件等。6.1函数定义6.2mai

2、n()函数6.3函数调用6.4函数返回值和函数类型说明6.5函数的递归调用6.6void类型和可变参数函数6.7数据存储类6.1函数定义6.1.1经典C中函数定义形式经典C中函数定义的一般形式是:类型名称(参数表)参数说明{数据说明语句}例6-1:利用函数计算一个数的立方。/*Demonstratesasimplefunction.*/#includemain(){longcube();/*函数类型说明*/longanswer;intinput;printf("Enteraninteg

3、ervalue:");scanf("%d",&input);answer=cube(input);printf("Thecubeof%dis%d.",input,answer);return0;}longcube(x)intx;{longa;a=x*x*x;return(a);}对经典C中函数定义的说明:①类型―出现在函数名cube前面的关键字long表示该函数的类型。从语法规则上讲,函数类型可以是除函数和数组以外的任何类型,可以是int型、char型等。但对一个具体函数的定义来说,它的类型是惟

4、一的,并且通常与其返回值的类型一致。②函数名―函数名称可以是C语言中任何合法的标识符。函数名称后面一定要有一对圆括号(如果有参数,则它们放在圆括号之内),由它表示该标识符是函数名。在一个程序中,函数的名称应是惟一的。③参数―根据实际需要,参数部分可有可无。如果参数多于一个,则所有函数的参数之间都用逗号隔开。函数定义中的参数一般称为形式参数,简称形参。④参数说明―如果有参数,则应对它们的类型一一作出说明。⑤函数体―函数体由一对花括号(“{}”)括起来,其中可以包含数据说明和语句。函数的功能就是由函数体内的

5、各个语句实现的。6.1.2标准C中函数定义形式标准C语言还提供了另一种形式的函数定义——函数原型定义,即把参数表和参数说明合并在一起,放在原来参数表的位置。例如:doublepower(doublex,intn){doublep;if(n>0)for(p=1.0;n>0;n――)p=p*x;elsep=1.0;return(p);}这种风格的函数定义的一般形式是:函数类型函数名(类型参数1,类型参数2,…,类型参数N){数据说明语句}两种形式的定义主要差别在于:按函数原型方式定义的函数,在以后对它进行调

6、用时要对实参作强制性的匹配和类型转换;而传统形式的函数定义,则没有这种安全性检查的功能。另外,函数原型定义中要明确指出函数的类型。在C语言中,函数定义是互相独立的,一个函数并不从属于另一个函数。就是说,定义函数时不允许嵌套,即在一个函数的定义中不能包含对另外函数的定义。例如,下面函数定义的形式不正确:intfirst_func(inta,intb)/*第一个函数的定义*/{…intsecond_func(intx,inty)/*第二个函数的定义*/{…}…}形式为:intfirst_func(inta,

7、intb)/*第一个函数的定义*/{…second_func(m,n);/*对第二个函数的调用*/…}intsecond_func(intx,inty)/*第二个函数的定义*/{…}在函数定义中,可以包含对其他函数的调用,后者又可以调用另外的函数,甚至自己调用自己,即递归调用。在C语言中,对函数的定义和说明是不同的。C语言中还有“空函数”,它的形式是:类型名称(){}例6-2:写一个计算调和级数部分和的程序。调和级数前n项和H(n)的计算公式是:这里采用欧几里德算法求两个整数u和v的最大公因子,其算法是

8、:把u模v(u%v),结果放在v中,原来v的值放在u中。如果v的值不等于0,就重复上述步骤,直至v的值为0,最后u中保留的值就是最大公因子。#includelongu,v;voidaddrat(int,int);/*函数原型(详见6.4.3节)*/voidlowterm();/*函数原型*/voidmain(){intn;/*numberofterms*/intnterm;printf("Inputthenumberoft

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

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

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