7第七章 函数Word下载.docx

上传人:b****6 文档编号:20254934 上传时间:2023-01-21 格式:DOCX 页数:14 大小:30.89KB
下载 相关 举报
7第七章 函数Word下载.docx_第1页
第1页 / 共14页
7第七章 函数Word下载.docx_第2页
第2页 / 共14页
7第七章 函数Word下载.docx_第3页
第3页 / 共14页
7第七章 函数Word下载.docx_第4页
第4页 / 共14页
7第七章 函数Word下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

7第七章 函数Word下载.docx

《7第七章 函数Word下载.docx》由会员分享,可在线阅读,更多相关《7第七章 函数Word下载.docx(14页珍藏版)》请在冰豆网上搜索。

7第七章 函数Word下载.docx

备注

【导入】

在程序设计中,常将一些常用的功能模块编写成函数,放在函数库中供公共选用,以减少重复编写程序段的工作量。

一个较大的程序一般应分为若干个程序模块,每一个模块用来实现一个特定的功能。

所有高级语言中都有子程序这个概念,用子程序实现模块的功能。

在C语言中,子程序的作用是由函数完成的。

一个C程序可由一个主函数和若干个函数构成,由主函数调用其它函数,其它函数也可以相互调用。

同一个函数可以被一个或多个函数调用任意多次。

导入

从第一章已讲过的知识点—函数组成及简单例子导入

【讲授新课】

一、函数的概念

将一个C程序分为若干模块,每个模块实现一个特定的功能,在C语言中用函数来实现模块的功能。

函数是一段完成特定任务的程序。

程序中反复使用的程序段应写成函数的形式,某些只用一次的程序段往往也写成函数形式。

一个好的方案是相同的程序段在整个程序中只出现一次。

引入函数的优点:

1.减少重复编写程序的工作量;

2.使程序便于调试和阅读。

一个C程序由一个主函数和若干个函数构成;

C的执行从main函数开始。

例:

输入三个整数,计算它们的和并输出运算结果。

voidmain()

{inta,b,c,sum;

scanf("

%d,%d,%d"

&

a,&

b,&

c);

sum=add(a,b,c);

printf("

sum=%d\n"

sum);

}

intadd(intx,inty,intz)

{ints;

s=x+y+z;

returns;

二、函数的定义

函数定义的一般形式:

[类型说明符]函数名(形式参数表)函数体

说明:

类型说明符:

指定函数值的类型。

若该项缺省,表示函数值为int型。

若函数没有值,应写作void.

函数名:

标识符,用于标识函数,并用其来调用函数。

形式参数表:

一般来说,计算函数需要多少原始数据,函数的形参表中就有多少个形参,每个形参存放一个数据。

函数体:

是一段程序,它实现函数的功能。

例1:

同上

例2:

#include<

stdio.h>

voidmain()

{

voidprintstar();

printstar();

printf(“Howdoyoudo!

\n”);

voidprintstar()/*void是类型说明符

printf(“***************\n”);

1.无参函数的定义形式

类型标识符函数名()

{

[说明部分]

语句

}

例如:

print_message()

2.有参函数的定义形式

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

形式参数说明

[说明部分]

intmax(intx,inty)

{intz;

z=x>

y?

x:

y;

returnz;

}

3.空函数的定义形式

类型标识符函数名(){}

例如:

dummy(){}

特点:

调用后什么也不做。

用处:

建立程序结构,在需要时补充功能。

三、函数参数

1.形式参数和实际参数

形式参数:

在定义函数时函数名后面括弧中的变量名,简称形参。

实际参数:

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

关于参数的几点说明:

对每个形参必须指明其名字和数据类型。

实参必须有确定的值,可以是常量,变量或表达式。

实参与形参的类型个数应一致。

实参对形参的数据传递是值传递,即单向传递,只由实参传递给形参,反之不可。

函数调用结束后,只有形参单元被释放,实参单元中的值不变。

intsum(intx,inty);

inta,b,c,d,s1,s2;

%d%d"

b);

s1=sum(a,b);

s1=%d\n"

s1);

c,&

d);

s2=sum(c,d);

s2=%d\n"

s2);

intsum(intx,inty)

ints;

s=x+y;

四、函数的返回值

定义:

通过函数调用使主调函数得到一个确定的值,称为函数的返回值。

2.函数的返回值语句return语句

一般形式:

return(函数返回值);

或return函数返回值;

功能:

函数体语句执行结束后,使函数保存计算结果并回到程序原来的位置继续计算。

函数返回值是有确定值的常量、变量或表达式。

⑴return后面的值可以是一个表达式,例如:

x:

y;

return(z);

⑵一个函数中可以有多个return语句,但是一次

函数执行只能执行其中的一个。

当执行到某个

return语句时,则终止函数执行,并带回函数值。

intmax(inta,intb)

if(a>

b)returna;

elsereturnb;

⑶若函数体内没有return语句,就一直将函数执行

完,再返回调用函数,有一个不确定的值带回。

⑷return后面可以无“返回值”(即return;

),则

该return语句只起到终止函数执行,返回主调函数的作用。

3.函数值的类型

函数定义时应该指定函数的类型(即函数值的类型),应该与return语句的类型一致。

⑴凡不加类型说明的函数,一律自动按整型处理。

⑵如果函数类型和return语句的类型不一致,以函数类型为准。

对数值型数据,可以自动进行类型转换。

既函数类型决定返回值的类型。

⑶如果函数不返回值,可以将函数定义为“无类

型”void(或称“空类型”)。

五、函数调用的具体方式

1.函数语句:

(把函数调用作为一个语句)。

函数名(实际参数表);

使用情况:

这种方式常用于调用一个可以忽略返回值或没有返回值的函数,只要求函数完成一定的操作。

printstar();

2.函数表达式:

(函数调用出现在一个表达式中)

变量名=函数表达式

这种表达式称为函数表达式。

这时要求函数带回一个确定的值以参加表达式的运算。

c=3+max(a,b);

1.首先被调用函数必须是已存在的函数,如用户自定义函数或库函数。

2.如果使用库函数,需要在文件的开头用#include命令将需要的库函数的头文件包含到文件中。

用函数计算浮点数x的n次方,其中n为int型,n>

=0

doublepower(doublex,intn)

doublep;

inti;

for(p=i=1;

i<

=n;

i++)

p=p*x;

returnp;

六、函数说明和函数定义的区别

函数说明的作用是把函数的名字、函数类型以及形参的类型、个数和顺序通知编译系统,以便在调用该函数时系统按此进行对照检查。

函数定义是指对函数功能的确立,包括指定函数名、函数值类型、形参及其类型、函数体等,它是一个完整的、独立的函数单位。

可省略被调用函数说明的三种情况

⑴函数的返回值为整型或字符型时,可以不进行函数说明,系统按整型处理。

⑵被调用函数定义在主调函数之前,可以不进行函数说明。

⑶如果已在所有函数定义之前,在文件的开头,在函数的外部已说明了函数类型,则在各个主调函数中不必对所调用的函数再做说明

七、例题讲解

【例】求四个整数(x,y,z,w)之间差值的最大值。

四个整数由键盘输入。

intmax(intx1,intx2,intx3)

{intmax;

if(x1>

x2)max=x1;

elsemax=x2;

if(max<

x3)max=x3;

return(max);

main()

{intx,y,z,w,m;

scanf(“%d,%d,%d,%d”,&

x,&

y,&

z,&

w);

m=max(x-y,y-z,z-w);

/*调用求3个整数中最大数的函数*/

printf(“max=%d\n”,m);

【例】编一个程序,将整型数组中最大数与第一个数交换。

整型数组在主函数中由键盘输入。

{voidf();

inta[10],i;

for(i=0;

10;

i++)scanf(“%d”,&

a[i]);

f(a);

i++)printf(“%d”,a[i]);

voidf(intb[])

{intmax,max_i,i;

max=b[0],max_i=0;

for(i=1;

b[i]){max=b[i];

max_i=i;

max=b[0],b[0]=b[max_i],b[max_i];

return;

[板书]

[幻灯片]

[引导]

学生对函数优点的思考

[重点]

[课堂设计]

[提问]什么是形参?

什么是实参?

结合例子讲解函数的分类

可再给出一个编写函数的题目,供学生进行课堂练习。

[重点]部分程序的典型算法

重点强调函数使用中应注意的问题

【结语】

本讲对函数的概念、定义格式;

函数的形式参数、实际参数和函数的返回值做了详细的论述;

函数的优点还会在今后的编程学习中逐渐体现出来,希望同学们能很好地领会运用。

【思考与练习】

小结

[幻灯片]展示本课程各章节名称。

让学生了解本课程内容框架,做到心里有数。

[作业]布置课外作业,下次上课交。

八、课后小结

通过教学实践,本讲内容较为琐碎,部分学生对概念的理解还需进一步通过例子理解领悟,今后的教学中要进一步以例引点进行讲解。

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

当前位置:首页 > 医药卫生 > 基础医学

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

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