C语言程序设计教案 第八章 函数

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第八章函数课题:第八章函数§1~§4

教学目的:1、掌握函数定义的一般形式

2、掌握函数调用的一般形式

教学重点:教学难点:函数定义、调用的一般形式形式参数和实际参数

步骤一复习引导

一个C语言源程序可由一个主函数和若干个辅助函数组成。

由主函数调用其他函数,其他函数也可以互相调用。

步骤二讲授新课

§8.1 概述

例8.1

main( )

{ printstar( );

print_message( );

printstar( );

}

printstar( )

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

print_message( )

{ printf(“How do you do ! \n”); }

说明:

1、一个源程序文件由一个或多个函数组成。一个源程序文件是一个编译单位。

2、一个C程序由一个或多个源程序文件组成。这样可以分别编写、分别编译,提高调度

效率。

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

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

函数。

5、从用户使用的角度看,函数有两种:标准函数(库函数)和用户自己定义的函数

6、从函数的形式看,函数分为两类:无参函数和有参函数

§8.2 函数定义的一般形式

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

类型标识符函数名( )

{

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

}

例:printstar( )

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

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

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

{

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

}

例如:int max(int x, int y)

{ int z;

z=x>y?x:y;

return (z);

}

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

如dummy( ) { }

§8.3 函数参数和函数的值

(一)形式参数和实际参数形式参数:定义函数时函数名后括号中的变量名,简称形参;

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

main( )

{ int a,b,c;

scanf(“%d,%d”,&a,&b);

c = max(a, b); /*调用max函数*/

printf(“max=%d”,c);

}

int max(int x ,int y) /*定义max函数*/

{ int z;

z=x>y?x: y;

return(z);

}

关于形参和实参的说明:

形参在未出现函数调用时,并不占内存中的存储单元。只有在发生函数调用时,函数中的形参才被分配内存单元。在调用结束后,形参所占的内存单元也被释放。

2、实参可以是常量、变量或表达式,如:c = max(3,a+b);

但要求它们有确定的值。在调用时将实参的值赋给形参(如果形参是数组名,则传递的是数组的首地址,而不是变量的值。)

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

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

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

元与形参单元是不同的单元。

(二)函数的返回值

1、return语句

return (表达式);

或:return 表达式;

或:return;

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

return语句的用途有二:

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

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

注意:该语句对非void函数适用。

2、函数值的类型

如:int max(x,y)

char letter(c1, c2)

double min(x, y)

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

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

main()

{ float a, b; int c;

scanf(“%f,%f”,&a,&b);

c=max(a,b);

printf(“Max is %d\n”,c);

}

max(float x, float y)

{ float z;

z = x>y? x: y;

return (z);

}

若输入的数据情况为:1.5, 2.5

则输出的结果为:Max is 2

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

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

{ printf(“How do you do!\n”); }

§8.4 函数的调用

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

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

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

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

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

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

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

如:int print(char format, …);

char fun2(int i, char p1);

float add(float , float);

注意:函数声明与函数定义不同!

相关文档
最新文档