欢迎来到天天文库
浏览记录
ID:37199405
大小:156.50 KB
页数:21页
时间:2019-05-19
《C语言基础 七、函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、七、 函数本章概述:以笔试和上机两种形式考核。笔试中常考察下面大纲要求(6)、(7),分值约占14%。上机中,三种题型中均有体现,其中大纲要求(2)、(3)、(4)、(5)是考查重点,抽中几率约为37%。考生要熟练掌握。大纲要求:1.库函数的正确调用。2.函数的定义方法。3.函数的类型和返回值。4.形式参数与实在参数,参数值传递。5.函数的正确调用,嵌套调用,递归调用。6.局部变量和全局变量。7.变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。重点难点:1.函数的类型和返回值。2.形式参数与实在参数,参数值传递。3.局部变量和全局变量。考点1考点分析:库函数C语言的函数分
2、为:标准函数(系统函数):系统提供的,定义好的函数,用户直接调用即可。自定义函数:用户根据实际需要,自己定义的函数。要先定义,再调用。库函数:C语言提供了丰富的库函数,这些函数包括常用的数学函数、字符及字符串处理函数、各种输入输出函数等。调用C语言标准库函数时,要先将库函数所在的头文件,用#include命令包含进来。库函数的调用:同下面“考点5函数的调用”。考点2函数的定义函数定义的一般形式:函数返回值类型函数名称(类型1参数1,类型2参数2,……){//函数体}函数返回值类型:是函数返回值的数据类型,可以是C语言中的char、int、short、long、float、double等任何
3、一种基本的数据类型。返回类型可以省略不写,如不写则默认为int类型。函数名称:是用户自己定义的名称,与变量的命名规则一样。函数形参列表:函数可以有很多形参,每一个参数都有一个类型及名称,它们是函数的变量,各定义的形参之间用逗号分隔。若所定义的函数没有形参,函数名后的一对圆括号依然不能省略。如:fun(){…..}函数体:是函数的程序代码,它们包含在一对大括号内。函数体中,除形参外,所有用到的其他变量必须在说明部分进行定义,这些变量(包括形参)只在函数被调用时才被临时分配内存单元,退出函数时,这些临时存储单元将全部被释放掉,即在该函数体内部定义的变量都将不存在。因此这些变量只在函数体内部起作
4、用,与其他函数的内部变量不相关。l试题解析1.不合法的main函数命令行参数表示形式是Amain(inta,char*c[])Bmain(intarc,char**arv)Cmain(intargc,char*argv)Dmain(intargv,char*argc[])答案:C解析:main()函数可以带有参数,并且参数只能有两个,第一个参数类型为整型,用来记下命令行的参数个数;第二个参数为一个字符型指针数组,或字符型二级指针变量(指向一个数组,数组元素又是一个一级字符指针),其各个元素用来记下从命令行各参数字符串的首地址。故本题只有C选项不符合要求。考点3函数的类型与返回值函数返回值:
5、函数的返回值是指函数被调用之后,所取得的并返回给主调函数的值。通过函数内部的return语句来返回这个值,格式是:return表达式;函数的类型:return语句返回的表达式的值的数据类型要与定义函数时,该函数返回值类型一致,称为函数的类型。没有返回值的函数函数也可以没有返回值,这种函数的返回类型被定义成void类型,例如下面函数:voidSayHello(){puts(“Hello,everyone!”);}void类型的函数中也可以有return语句,但return后面不可以有任何表达式,如:voidfun(floatx){if(x<0)return;//在x<0时结束函数并返回pri
6、ntf(“%f的平方根是%f”,sqrt(f));}没有确定值的函数如果函数的返回类型不是void而是规定为一个确定类型,但函数内部没有return语句返回一个确定的值,则该函数的值不确定。l试题解析1.程序如下:intMax(intx,inty){intz;z=(x>y?x:y);}解析:调用Max函数后值不确定,例如Max(1,2)的值不一定是2。考点4形式参数与实在参数,参数值传递形参与实参在定义函数时,函数名后面圆括号中的变量称为“形式参数”(简称“形参”);在主调函数中,函数名后面圆括号中的参数(可以是表达式)称为“实际参数”(简称“实参”)。说明:(1)形参出现在函数定义中,必
7、须有名称及类型。在整个函数体内都可以使用,离开该函数则不能使用;(2)实际参数的个数与类型必须与形式参数一致,实际参数可以是变量,常数、表达式、甚至是一个函数;(3)如实际参数的类型与形式参数的类型不完全一致,至少是可以赋值转换的,否则会发生“类型不匹配”的错误;【特别提醒】:(1)实参不一定要与相应形参同名,在内存中,形参与实参占据不同的存储单元。(2)在函数调用时,给形参分配存储单元,并将对应实参的值传递给给存储单元
此文档下载收益归作者所有