C语言程序设计教案第八章函数Word下载.docx

上传人:b****2 文档编号:13479220 上传时间:2022-10-11 格式:DOCX 页数:22 大小:27.60KB
下载 相关 举报
C语言程序设计教案第八章函数Word下载.docx_第1页
第1页 / 共22页
C语言程序设计教案第八章函数Word下载.docx_第2页
第2页 / 共22页
C语言程序设计教案第八章函数Word下载.docx_第3页
第3页 / 共22页
C语言程序设计教案第八章函数Word下载.docx_第4页
第4页 / 共22页
C语言程序设计教案第八章函数Word下载.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

C语言程序设计教案第八章函数Word下载.docx

《C语言程序设计教案第八章函数Word下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计教案第八章函数Word下载.docx(22页珍藏版)》请在冰豆网上搜索。

C语言程序设计教案第八章函数Word下载.docx

这样可以分别编写、分别编译,提高调度效率。

3、C程序的执行从函数开始,在函数中结束整个程序的运行。

4、所有函数都是平行的,即函数不能嵌套定义,函数可以互相调用,但不能调用函数。

5、从用户使用的角度看,函数有两种:

标准函数(库函数)和用户自己定义的函数

6、从函数的形式看,函数分为两类:

无参函数和有参函数

8.2函数定义的一般形式

(一)无参函数的定义形式

类型标识符函数名()

{

函数体(包括声明部分和执行部分)

例:

()

(二)有参函数定义的一般形式

类型标识符函数名(形式参数表)

例如:

(x,y)

{z;

>

;

(z);

(三)一个函数可以是空函数

如(){}

8.3函数参数和函数的值

(一)形式参数和实际参数

形式参数:

定义函数时函数名后括号中的变量名,简称形参;

实际参数:

调用函数时函数名后括号中的表达式,简称实参。

{;

(“”);

c=(a,b);

/*调用函数*/

(xy)/*定义函数*/

:

y;

关于形参和实参的说明:

形参在未出现函数调用时,并不占内存中的存储单元。

只有在发生函数调用时,函数中的形参才被分配内存单元。

在调用结束后,形参所占的内存单元也被释放。

2、实参可以是常量、变量或表达式,如:

c=(3);

但要求它们有确定的值。

在调用时将实参的值赋给形参(如果形参是数组名,则传递的是数组的首地址,而不是变量的值。

3、在被定义的函数中,必须指定形参的类型;

4、实参与形参的类型应一致。

5、C语言规定,实参对形参的数据传递是“值传递”,即单向传递。

在内存中,实参单元与形参单元是不同的单元。

(二)函数的返回值

1、语句

(表达式);

或:

表达式;

函数执行到最后遇到“}”

语句的用途有二:

(1)用于结束函数的执行并返回到调用者;

(2)用来向调用者传递一个返回值。

注意:

该语句对非函数适用。

2、函数值的类型

如:

()

(c1,c2)

(x,y)

C语言默认函数返回值为型。

3、函数值的类型和语句中表达式的值不一致,则以函数类型为准;

{a,b;

c;

();

(“\n”);

{z;

z=x>

y?

x:

}

若输入的数据情况为:

1.5,2.5

则输出的结果为:

2

4、如果被调函数中没有语句,则函数带回一个不确定值。

5、为了明确表示“不带回值”,可以用“”定义“无类型”(或称“空类型”)。

如:

()

\n”);

8.4函数的调用

要正确实现函数间的相互调用需满足下列条件:

第一,被调用函数必须存在且允许调用;

第二,必须给出满足函数运行时要求的参数;

第三,在调用一个函数之前一般应该对被调用函数进行声明。

(一)函数声明的一般形式

函数类型函数名(参数类型1,参数类型2,…,参数类型n);

或:

函数类型函数名(参数类型1参数名1,参数类型2…);

(,…);

2(i,p1);

(,);

注意:

函数声明与函数定义不同!

(二)函数调用的一般方法

函数调用形式:

函数名(实参表列);

1.函数语句

前述例子中的();

2.函数表达式

();

3.函数参数

(a,());

(“”,());

f(a,b)

{c;

(a>

b)1;

()0;

1

(c);

{2,p;

(i,);

环境下,按自右而左的顺序

求值。

此例f(i,)~f(3,3)

计算组合C()(n!

()!

()

{m,n;

;

(“”);

(m);

(n);

;

(“\n”);

步骤三课堂小结

1、有参函数的定义形式

2、形参和实参的区别

3、函数的声明和调用

步骤四布置作业

书面作业:

(第八章课后练习)8.1

5~§

7

教学目的:

1、掌握函数的嵌套调用和递归调用

2、掌握虚实结合

嵌套和递归调用、数组作为函数参数

递归调用、虚实结合

(x1,x2)

{i;

1;

y1(x1);

{(x12);

(x);

(y*y1>

0)

{y1;

x1;

{y2;

x2;

}((y)>

=0.0001);

步骤二、讲授新课

8.6函数的递归调用

直接或间接调用自身的函数为递归函数。

一个问题采用递归方法来解决时必须符合以下条件:

(1)可将一个问题转化为具有同样解法的规模较小的问题;

(2)必须有明确的结束条件。

[例8.7]:

有5个人坐在一起,问第5个人多少岁,他说比第4个人大2岁,问第4个人的岁数,他说比第3个人大2岁,问第3个人的岁数,他说比第2个人大2岁,问第2个人,他说比第1个人大2岁,问第一个人,他说是10岁。

请问第5个人的岁数?

(P158)

分析:

显然这是一个递归问题。

即:

(5)(4)+2

(4)(3)+2

(3)

(2)+2

(2)

(1)+2

(1)=10

程序:

(n)

(=1)10;

(1)+2;

{(“”(5));

[例8.8]:

利用递归求n!

(P160)

数列已在前面定义过,用递归函数求此数列的第n项。

{f;

(=0=1)1;

(1)

(2);

(f);

[习题8.13]:

用递归方法求n阶勒让德多项式的值,递归公式为:

1(0)

(x)=x

(1)

((21)1(x)-

(1)2(x))(n>

1)

{x,n;

p();

(“\nn&

”);

(“()6.2f”());

p(n,x)

{(=0)

(1);

(=1)(x);

(((2*1)*(

(1))-

(1)*p(

(2))));

双递归。

这段程序的结果是

f(b,t)

{m;

(b<

t)

{()/2;

f

(1);

(){f(1,6);

8.7数组作为函数参数

虚实结合(哑实结合)

一、数组元素作函数实参

值传递:

用赋值的方法,把实在参数的值赋给被调函数对应的形式参数。

不希望破坏调用函数中作为实在参数对象的值时,使用“值传递”方式;

数组元素作为函数实参时如同简单变量。

二、数组名作函数参数

地址传递:

指形参与实参结合的不是数据本身,而是把数据的地址传递给被调用函数。

结合后的形参与实参都指向同一个存储区。

在函数间传递一批数据时,一般采用“地址传递”方式。

[例8.13]:

用选择法对数组中10个整数按由小到大排序。

{a[10];

(0;

i<

10;

(“”[i]);

(a,10);

(“:

三、多维数组名作函数参数

{a[3][4]={{1,3,5,7},

{2,4,6,8},{15,17,34,12}};

(“%\n”,

(a));

函数的嵌套调用和递归调用,注意调用的过程

数组作为函数参数有两种情况:

传递数组元素的值、传递数组名

(第八章课后练习)8.2、8.17、15

8-§

10

1、掌握局部变量和全局变量的作用范围

2、掌握变量的存储类别,了解内部函数和外部函数

局部变量和全局变量、变量的存储类别

变量的作用域和生存期

步骤一、复习引导

在函数调用过程中,不仅要注意实参和形参的数据结合,而且要注意各个变量的作用域和生存期。

8.8局部变量和全局变量

一、局部变量

在一个函数内部定义的变量是内部变量,它只在本函数范围内有效。

二、全局变量

在函数之外定义的变量称为外部变量,即全局变量(全程变量)。

全局变量可以为本文件中其他函数所共用。

它的有效范围为从定义变量的位置开始到本源文件结束。

●使用全局变量可以增加函数间的数据联系;

[例8.15]:

有一个一维数组,内放10个学生成绩,写一函数,求出平均分,最高分和最低分。

00;

([]n)

[0];

(1;

n;

{([i]>

)[i];

([i]<

[i];

{[10];

i;

(0<

10)(“”[i]);

(,10);

(“6.2f6.2f6.2f”);

●在同一源文件中,如果外部变量与局部变量同名,则在局部变量的作用范围内外部变量不起作用;

[例8.16]:

外部变量与局部变量同名

35;

/*外部变量*/

(a,b);

/*局部变量*/

{8;

/*a局部变量*/

(“”());

8.9变量的存储类别

从变量的作用域(空间)来分,为全局和局部变量。

从变量值存在的(生存期)时间来分,可以分为:

一、动态存储方式与静态存储方式

静态存储方式:

指在程序运行期间分配固定的存储空间的方式。

动态存储方式:

在程序运行期间根据需要进行动态的分配存储空间的方式。

二、变量

调用函数时系统自动分配存储空间,在函数调用结束时自动释放这些存储空间,称这类局部变量为自动变量。

自动变量用关键字作存储类别的声明。

它也可省。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1