考点12 函数的定义《C语言程序设计》山东(春季高考)软件与应用技术类 知识点讲解
山东省(软件与应用技术类)春季高考
《C语言程序设计》复习讲义
模块 一 C 语言程序设计
考点 12 函数的定义
【考纲要求】
(1)理解函数的定义。
【知识网络】
原创精品资源学科网独家享有版权,侵权必究
学科网(北京)股份有限公司
【知识和技能要点】
一、函数定义的形式
1. 定义的三部分
函数之定义,其形为:首书返回值之类型,次书函数名,后以圆括弧列其形参,而以花括弧括其函数体。函数体之内,分声明与语句二部:声明者,定所用之变量;语句者,述所行之事。如求两数之和者,其首行为 int sum(int a, int b),其后之括弧内即其体。三部分各有所司,缺一则不成其为定义。
(1)三段:返回值类型、函数名与形参表、函数体。
(2)函数体:内含声明部分与语句部分。
(3)例:int sum(int a, int b){ … } 即其式。
2. 函数名与返回值类型
函数名者,标识此函数之名也,其命名之规与变量同。其前之类型说明符,即返回值之类型,如 int、float、char 之属,须与 return 所返者相合。若省略不书,则系统默认其为 int;然为明其意,建议不省。又函数名之后之圆括弧不可省,纵无参数,亦须书一对空括弧。
(1)函数名:命名之规与变量同。
(2)类型说明符:即返回值类型,与 return 相合;省略则默认为 int。
(3)圆括弧:纵无形参亦不可省。
3. 函数体与声明部分
函数体以花括弧括之,内含声明与语句二部。声明者,置于体之首,用以定本函数所用之变量,亦可声明他所调用之函数。语句者,即函数所行之事,如赋值、循环、判断之属。函数体之内自成一域:其中所定之变量,唯本函数得而用之,出此则不可见,是谓局部变量。
(1)函数体:花括弧所括,含声明与语句。
(2)声明之置:居体之首,定变量、声明所调用之函数。
(3)域之限:体内所定变量唯本函数可用,是为局部变量。
二、函数的参数
1. 形参与实参
原创精品资源学科网独家享有版权,侵权必究
学科网(北京)股份有限公司
函数定义之时,圆括弧中所列者,曰形式参数,简称形参;函数调用之时所予之值,曰实际参数,简称实参。形参者,受值之变量也,须书其类型与名;实参者,所传之数据也,可为常量、变量或表达式。调用之际,实参之值依次授于形参,二者个数须相等,类型须相容。
(1)形参:定义时所列,须书类型与名,必为变量。
(2)实参:调用时所予,可为常量、变量、表达式。
(3)相配:个数相等,类型相容,依次相授。
2. 参数的值传递
C 语言之传参,为“值传递”:以实参之值授于形参,单向而行。形参在函数之内另占存储,故其值虽变,实参不与焉。如以两变量调求最大值之函数,函数内虽改其形参之值,主调函数中之实参仍其旧。此点最易误解,读程序时须辨形参与实参各有所属。
(1)值传递:以值相授,单向不返。
(2)各占其储:形参另有存储,改之不及实参。
(3)例:函数内改形参,主调函数中实参不变。
3. 参数的类型与个数
形参可有多寡,可同类型,亦可异类型。若同类型者,须各书其类型,不可合写为一型而后列两名,盖第二者将失其类型。实参之类型须与形参相容,若不合,系统按赋值转换之规转之,如以实型数传于整型形参,则截其小数。然非诸型皆可转,如以实型传于字符型,则不可。
(1)多寡与类型:可多个,可同可异。
(2)不可合写:同类型者亦须各书其类型。
(3)类型之转:相容者按赋值之规转之,不相容者不可。
三、函数的返回值
1. return 语句
return 语句者,返值之令也,其形为 return 表达式; 或于表达式外加圆括弧。函数遇之,即止其行,以所定之值返于调用之处,其后的语句一概不行。一函数可有多个 return,各随其条件而返;然为易读计,宜减至一条。若无 return 而函数类型非 void,则所返者乃不确定之值。
(1)形式:return 表达式; 圆括弧可加可不加。
(2)效果:即止函数之行,返值于调用处,其后语句不行。
(3)多返:可有多个,然宜减至一条。
原创精品资源学科网独家享有版权,侵权必究
学科网(北京)股份有限公司