第八章函数名师优质课赛课一等奖市公开课获奖课件.pptx
上传人:13****54 上传时间:2024-09-10 格式:PPTX 页数:58 大小:164KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

第八章函数名师优质课赛课一等奖市公开课获奖课件.pptx

第八章函数名师优质课赛课一等奖市公开课获奖课件.pptx

预览

免费试读已结束,剩余 48 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

8.1概述8.2函数定义普通形式8.3函数参数和函数值8.4函数调用8.5数组作为函数参数8.6局部变量和全局变量8.7变量存放类别8.8内部函数和外部函数8.9怎样运行一个多文件程序8.1概述(1)一个源程序文件是由一个或多个函数组成。一个源程序文件是一个编译单位。(2)一个C程序文件由一个或多个源程序文件组成。(3)C程序执行从main函数开始,调用其它函数后回到main函数,并在main函数中结束整个程序运行。(4)全部函数都是平行,在定义函数时是相互独立,函数不能嵌套定义;函数间能够相互调用,但不能调用main函数。(5)从用户使用角度看,函数分为标准函数和用户自定义函数两种。(6)从函数形式看,函数分为无参函数和有参函数两种。如:#include<stdio.h>printstar(){printf("******************\n");}print_message(){printf("Howdoyoudo!\n");}main(){printstar();print_message();printstar();}8.2函数定义普通形式1.无参函数定义类型标识符函数名(){申明部分语句}2.有参函数定义类型标识符函数名(形式参数列表){申明部分语句}3.“空函数”定义类型标识符函数名(){}注意:假如在定义函数时不指定函数参数,系统会隐含指定函数类型为int型。#include<stdio.h>intmax(intx,inty)//或采取传统方式intmax(x,y){//intx,y;intz;//{intz;….z=(x>y)?x:y;returnz;}main(){intc,a,b;scanf("%d,%d",&a,&b);c=max(a,b);printf("%d",c);return1;}8.3函数参数和函数值1.形式参数和实际参数实际参数:主调函数中提供数据。能够是常量、变量、表示式等,是详细数值。形式参数:被调函数中用以接收主调函数数据变量。(1)在定义函数中指定形参,在未出现函数调用时,不占内存中存放单元。在调用结束后,形参所占内存单元也被释放。(2)实参能够是常数、变量或表示式,但要求有确定值。调用时将实参值赋给形参(形参是数组名除外)。(3)在被定义函数中,必须指定形参类型。(4)实参加形参类型应相同或赋值兼容。若类型不一样,则进行类型转换,将实参类型转换为形参类型。(5)实参变量对形参变量数据传递是单向值传递。2.函数返回值(1)函数返回值是经过函数中return语句取得。return(表示式);或return表示式;(2)函数值类型是在函数定义时指定。C语言要求,凡不加类型说明函数,一律按整型处理。(3)假如函数值类型与return语句中表示式值类型不一致,则以函数类型为准,并自动进行类型转换。(如:见例子)(4)假如被调用函数中没有return语句,函数带回是一个不确定值。(5)为了明确表示“不带回值”,能够用“void”定义“无类型。#include<stdio.h>intmax(floatx,floaty){return((x>y)?x:y);}main(){intc;floata,b;scanf("%f,%f",&a,&b);c=max(a,b);printf("%d",c);return1;}8.3函数调用主调函数:主动去调用其它函数被调函数:被其它函数所调用1.函数调用普通形式函数名(实参列表);含多个实参,则各参数用逗号分开,实参加形参个数应相等(不等则犯错),类型应一致(不一致则转换),实参求值次序是不确定,有从左至右,有从右至左(如TC,MSC)。按函数在程序中出现位置不一样,函数调用可分为:函数语句:printstar();带返回值函数语句:p=f(i,i++);//注意求解次序问题函数表示式:c=2*max(a,b);函数参数:m=max(a,max(b,c));2.对被调函数申明和函数原型在一个函数中调用另一个函数需要具备:(1)被调函数必须是已经存在函数(库函数或自定义函数)。(2)假如被调函数是库函数,普通应该在文件开头用#include命令将相关头文件包含到本文件中来(见附录V)。如:#include<stdio.h>(3)假如被调函数是自定义函数,且与主调函数在同一个文件中,普通应该在主调函数中在调用之前对被调函数作申明。格式:函数类型函数名(参数类型1,参数类型2,····);函数类型函数名(参数类型1参数名
立即下载