欢迎来到天天文库
浏览记录
ID:40238607
大小:722.50 KB
页数:64页
时间:2019-07-28
《C语言程序设计教程(第二版) 徐新华 第07章 函数与变量作用域》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章函数与变量作用域C语言是通过函数来实现模块化程序设计的。教学目的:掌握函数的定义与调用,变量的作用域;了解函数的嵌套与递归调用,内部、外部函数特点,以及变量的存储特性。9/15/20211教学内容:7.1*函数的定义与调用7.2函数的嵌套调用与递归调用7.3内部函数与外部函数7.4*内部变量与外部变量7.5变量的存储特性本章要点本章作业与上机实践9/15/202127.1*函数定义与函数调用7.1.1函数定义任何函数都是由函数说明和函数体两部分组成。1.分类根据函数有无参数,将函数分为无参函数和有参函数。9/15/20213(1)无参函数[函数类型]函数名(
2、void){说明语句部分;可执行语句部分;}(2)有参函数[函数类型]函数名(数据类型参数[,数据类型参数2…]){说明语句部分;可执行语句部分;}形参表。调用有参函数时,由调用函数为形参提供实际值,简称为实参。在新标准中,函数不可缺省参数表;用“void”表示不需要参数。9/15/202142.函数的返回值与函数类型C语言的函数,还可分为有返回值函数和无返回值函数两种。(1)有返回值函数与return语句①一般格式:return(返回值表达式);②功能:返回调用函数,并将“返回值表达式”的值带给调用函数。注意:函数中无return语句,返回1个不确定的值。可用“
3、void”定义成“无(空)类型”,明确表示不返回值。括号可以缺省9/15/20215(2)函数类型①函数类型应与return语句中“返回值表达式”的类型一致。如果不一致,则以函数类型为准。②如果缺省函数类型,则系统一律按int型处理。良好的程序设计习惯:为了使程序具有良好的可读性并减少出错,将无返回值函数定义为空类型void;同时,也不使用系统对函数类型的缺省处理。9/15/20216[案例7.1]定义一个求两个整数中极大值的max()函数。/*功能:求2个整数中的较大数*//*形参:2个,整型*//*返回值:2个整数中的较大数*/intmax(intn1,int
4、n2)/*函数定义*/{return(n1>n2?n1:n2);}/**/voidmain(void){intmax(intn1,intn2);/*对被调用函数进行说明*/intnum1,num2;printf("inputtwonumbers:");scanf("%d%d",&num1,&num2);printf("max=%d",max(num1,num2));}对函数的注释9/15/202173、说明(1)函数定义不允许嵌套。一个函数的定义,可以放在程序中的任意位置,但不能在另一个函数的函数体内,即不能嵌套定义。例如:main(){……intmax(……
5、){……}}(2)空函数──函数体为空的无参函数:[函数类型]函数名(void){}9/15/202187.1.2函数调用与返回1、对被调用函数的说明和函数原型(1)函数说明的一般格式在新标准中,采用函数原型方式,对被调用函数进行说明:函数类型函数名(形参表);9/15/20219(2)函数说明的两种方式①谁调用谁说明:函数说明语句放在调用函数的函数体中。例如,在[案例7.1]主函数main()中:voidmain(void){intmax(intn1,intn2);……}对被调用函数进行说明9/15/202110②预先统一说明——函数说明通常放在所有函数定义体之
6、前。在这种方式下,所有调用函数都无需再对自定义函数进行说明。例如,在[案例7.1]中,可以将对max()函数的说明放在程序文件开始处:voidmain(void){intmax(intn1,intn2);……}9/15/202111显然,对于被多个函数调用的自定义函数而言,采用预先统一说明方式进行说明,可以有效地减少函数说明次数。注意:如果被调用函数的定义体,出现在调用函数之前,可以缺省说明。9/15/2021122、函数调用函数名([实参表])例如,在[案例7.1]的主函数中:printf(……,max(num1,num2));注意:调用有参函数,必须提供实参(
7、常量/变量/表达式/函数)。调用时,实参必须具有确定的值,且与形参个数相等、类型匹配。9/15/202113(1)调用方式①语句方式——无返回值函数的调用,可作为一条独立的语句。例如,printf()、scanf()等库函数的调用,均作为一条独立的语句。②表达式方式——有返回值函数作为表达式的一项,以函数返回值参与表达式的运算。例如,“max=max(x,y)”是一个赋值表达式,把max()函数的返回值赋予变量max。9/15/202114(2)断点与函数调用的返回断点——被调用函数执行完毕,返回调用函数后继续执行的位置。调用函数中的断点位置分两种情况:①语句调用
8、方式:断点
此文档下载收益归作者所有