欢迎来到天天文库
浏览记录
ID:50320400
大小:168.00 KB
页数:27页
时间:2020-03-08
《C语言程序设计 教学课件 作者 黄锐军 第6章 函数.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章函数在这一章中将介绍C语言程序的函数,函数是一段连续的程序代码的组合,它用来完成一定功能,一个C语言程序往往由很多个函数组成,函数之间并列排放,相互调用,协同工作,完成一个大的任务。6.1函数定义6.2函数参数与返回值数6.3变量类型6.4函数调用6.1函数定义实际上读者对函数并不陌生,C语言中有大量的内部函数,程序的主体main就是一个函数,除此之外在程序中还可以定义自己的函数。返回类型函数名称(类型1参数1,类型2参数2,……){//函数体}返回类型是函数值的数据类型,可以是C语言中的char、int、short、long、float、double等任何一种基
2、本的数据类型。返回类型可以省略不写,如不写则默认为int类型。函数名称是用户自己定义的名称,与变量的命名规则一样。函数可以有很多参数,每一个参数都有一个类型及名称,它们是函数的变量,不同的变量对应的函数值往往不同,这是函数的本质所在,这些参数称为函数的形式参数。函数体是函数的程序代码,它们包含在一对大括号内。函数被设计成为完成某一个功能的一段程序代码或模块,C语言把一个问题划分成多个模块,分别对应一个个的函数,一个C语言程序往往有多个函数组成,最简单的C语言程序只有一个函数,那就是main函数自己。6.2函数参数与返回值数6.2.1函数参数在调用函数时,形式参数规定了函
3、数需要的数据个数及其类型,实际参数必须在类型与数目上与形式参数一样,一般规则是:(1)形式参数是函数的内部变量,有名称及类型。形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用;(2)实际参数的个数与类型必须与形式参数一致,实际参数可以是变量,常数、表达式、甚至是一个函数;(3)当实际参数是变量时,它不一定要与形式参数同名称,实际参数变量与形式参数变量是不同的内存变量,它们其中一个值的变化不会影响到另外一个变量。(4)如实际参数的类型与形式参数的类型不完全一致,至少是可以赋值转换的,否则会发生“类型不匹配”的错误;(5)函数调用中发生的数据传送是单向的
4、,即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参,因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化;(6)函数可以没有参数,但此时圆括号不可缺少;6.2.2函数返回值函数的值是指函数被调用之后,执行函数体中的程序段所取得的并返回给主调函数的值。一般函数计算后总有一个返回值,通过函数内部的return语句来实现这个返回值,格式是:return表达式;return返回一个数据类型与函数返回类型一致的表达式,该表达式的值就是函数的返回值。6.2.3没有返回值的函数1.没有返回值的函数函数也可以没有返回值,这种函数的返回类型被定义成void类型,例如下
5、面函数:voidSayHello(){puts(“Hello,everyone!”);}void类型的函数中也可以有return语句,但return后面不可以有任何表达式,例如:voidfun(floatx){if(x<0)return;//在x<0时结束函数并返回printf(“%f的平方根是%f”,sqrt(f));}2.没有确定值的函数如果函数的返回类型不是void而是一个有确定类型的数据,但函数内部没有由return语句返回一个确定的表达式的值,则该函数的值不确定,例如:intMax(intx,inty){intz;z=(x>y?x:y);}则调用Max函数后值
6、不确定,例如Max(1,2)的值不一定是2。6.2.4函数调用函数调用是比较简单的,调用自己编写的函数就象调用C语言内部函数一样。有返回值的函数可以放在合适的任何一个表达式中去计算,当然也可以单独作为一条语句执行。而void类型的函数不能用在任何一个表达式中去参加计算,只能作为单独的一条语句执行。但C语言中规定,函数必须先定义才可以调用,既在调用函数时编译器必须已经事先知道该函数的参数构造,不然编译会出错误。对库函数的调用不需要再作说明,但必须把该函数的头文件用include命令包含在源文件前部,实际上include命令包含的头文件中就是库函数说明。main函数是C语言
7、中的主函数,程序是从main函数的第一条语句开始的,当main的最后一条语句执行完毕后,main函数执行完毕,这样整个程序就执行完毕。一个复杂的C程序中main函数要去调用别的函数,而被main调用的函数又有可能再去调用别的函数,这样形成函数的层层调用,从而完成一个复杂的任务。6.3变量类型6.3.1局部变量局部变量也称为内部变量。局部变量是在函数内作定义说明的。其作用域仅限于函数内,离开该函数后再使用这种变量是非法的。关于局部变量的作用域还要说明以下几点:(1)函数中定义的变量只能在函数中使用,不能在其它函数中使用。同时,一个函数中也不
此文档下载收益归作者所有