有如下函数: Private Function fun(x As Integer,y As Integer)As Integer Dim k%,n% n=IIf(y

admin2016-08-24  31

问题 有如下函数:   
    Private Function fun(x As Integer,y As Integer)As Integer
    Dim k%,n%
    n=IIf(y<0,一y,y)
    For k=1 To n
    x=x—Sgn(y)
    Next k
    fun=x
    End Function
    此函数的功能是(    )。

选项 A、返回y—x的值
B、返回x—y的值
C、如果y<0,返回x+y的值,否则,返回x—y的值
D、如果y<0,返回x一y的值,否则,返回x+y的值

答案B

解析 IIf函数的格式如下:
  result=IIf(条件,True部分,False部分)
  当条件为真时,返回True部分,否则返回False部分。本题中n=IIf(y<0,一y,y),表示不管y的值是正还是负,都会返回一个正y值,并将值赋给变量n。For循环中,Sgn(x)英文全称Signal(x),即求变量x的符号。符号函数Sgn(x)返回自变量x的符号(x为正数,返回1;x为负数,返回一1;x为0,返回0)。For循环中的功能是,循环执行n次,每次执行一次语句x=x—sgn(y)。若y>0,则循环执行n次,每次x一1,循环结束相当于x—y;若y<0,则循环执行n次,每次x一(一1),循环结束也相当于x—y;故本题中fun函数的功能是返回x—y的结果。所以B选项正确。
转载请注明原文地址:https://kaotiyun.com/show/6aLp777K
0

最新回复(0)