当前位置:洪恩在线 -> 继续教育 -> 计算机考级 -> 二级QBASIC语言
 

  计算机考试
 


  QBASIC    


  用户自定义函数-DEF函数

    QBASIC提供两类三种形式的函数。

    (1)系统提供的标准函数

    用户可以直接调用而不必预先定义它。如INT、EXP等就是系统提供的标准函数。

    (2)用户自己定义的函数

    它又分两种:
    1)模块内使用的自定义函数——DEF函数,它只在本模块有效;
    2)独立作为一个模块的外部函数——FUNCTION函数。它是一个独立的模块,而不是其它模块的一部分。

    下面将介绍模块内的自定义函数。
    1.单行DEF函数
    单行DEF函数用一个语句定义一个函数,故又称“语句函数”。

    解题时常用到一些简单的函数关系,但QBASIC并未提供此函数,需要自己定义。可以用DEF语句定义一个求圆面积的函数:
    DEF fns(r)=3.14159*r^2
    其中DEF是Define的缩写,fn是Function(函数)的缩写。这两项是DEF语句必须有的,而且其格式是不能变动的。s是用户自己确定的名字,它遵循变量名的命名规则,括弧内的r为函数参数(记即函数自变量),在调用函数时应代入实际的参数值。等号左边的表达式是调用此函数时要执行的运算。

    定义了此函数后,在程序中就可以象调用INT、EXP、LOG等标准函数一样调用它。
    有关DEF函数的几点说明:
    1)定义单行DEF函数的一般格式
    DEF fn<名字>[(参数)]=<表达式>
    2)自定义函数名由两部分组成
    (1)“fn“,它是自定义函数的标志,不可缺少;”
    (2)用户指定的名字。
    3)自定义函数可以没有参数。
    4)函数名也有类型的规定
    5)自定义函数可以有多个参数
    6)定义函数时表达式中除了有函数自变量外,还可以有其它变量
    7)调用函数时参数的个数应和定义函数时参数的个数相同。

    2.多行DEF函数
    简单的函数(用一个表达式表示的函数)可以用单行DEF语句来定义。有的函数无法由一个表达式来表示,因此就不能用单行DEF语句来定义。
    定义多行DEF函数的一般格式为:
    DEF fn<名字>[(参数)]
    ...
    ...
    ...
    fn<名字>=<表达式>
    END DEF
    定义多行DEF函数,以DEF语句开头,以END DEF结尾。在此两者之间为定义的函数关系,称为函数体,可以出现任意合法的QBASIC语句。
    在定义的函数体中,至少应给函数名赋一次值。函数的值通过名带回到调用处。

    3.使用自定义函数时应注意的问题
    除了在1中列举的一些问题外,还应注意以下几点:
    1)定义自定义函数时的自变量称为“形式参数”或“虚拟参数”,简称“形参”或“虚参”。之所以称它为“形式参数”,是因为所用的自变量并不是一个实际存在的变量,在未调用函数时它并不具有确定的值。它只是在形式上存在的一个变量。在函数被调用时它将被一个确定的值所代替。

    2)形式参数的名字叫什么并不重要。重要的是表达式所表示的函数关系和调用时所给定的实际参数。

    3)调用函数时函数名后面括弧中的参数称为“实际参数”。它应该时一个确定的值,它可以时常量或表达式。调用函数时将“实际参数”(简称“实参”)取代自定义函数中的“形参”,用来进行表达式的运算,并得到函数值。这个过程称为“虚实结合:。

    4)如果自定义函数的形参与程序中的变量名相同,它们并不代表同一对象。

    5)定义自定义函数的语句可以放在程序中的任何位置,但必须先定义才能调用它。习惯上把它放在程序的开头。

    6)函数的定义可以嵌套,即在定义一个函数时可以出现另一个已定义的函数。

课堂提问:
问题

 


简单举例
例子
基础测试
测试