有如下函数过程:Function Fun(By Val x As Ingeger,ByVal y As Integer) As IntegerDO While …y<>0reminder=x Mod yx=yy=reminderLoopFun=xEnd Function以下是调用该函数的事件过程,该程序的运行结果是Private Sub Command1_Click()Dim a As IntegerDim b As Integera=100:b=25x=Fun(a,B)Print xEnd SubA.0

题目

有如下函数过程:

Function Fun(By Val x As Ingeger,ByVal y As Integer) As Integer

DO While …y<>0

reminder=x Mod y

x=y

y=reminder

Loop

Fun=x

End Function

以下是调用该函数的事件过程,该程序的运行结果是

Private Sub Command1_Click()

Dim a As Integer

Dim b As Integer

a=100:b=25

x=Fun(a,B)Print x

End Sub

A.0

B.25

C.50

D.100


相似考题
参考答案和解析
正确答案:B
解析:本题的难点是子函数的调用过程。子函数Fun的功能是求x和y的公约数,由“欧几里德”求最大公约数的算法可知,当余数r为0时,x为x和y的最大公约数。变量z的值通过子函数名Fun返回。
更多“有如下函数过程:Function Fun(By Val x As Ingeger,ByVal y As Integer) As IntegerDO While …y< ”相关问题
  • 第1题:

    有下列函数定义:

    int fun(double a,double B)

    {return a*b;}

    若下列选项中所用变量都已正确定义并赋值,错误的函数调用是( )。

    A.if(fun(x,y)){……}

    B.z=fun(fun(x,y),fun(x,y));

    C.z=fun(fun(x,y)x,y);

    D.fun(x,y);


    正确答案:C
    解析:本题考查函数调用时的参数传递。C项中第一个参数的表达式不正确,因此不能得到正确的结果。

  • 第2题:

    若有函数fun(x,y),并且已经使函数指针变量p指向函数fun,则使用p调用函数fun的正确方法是( )。

    A.(*p)fun(x,y);

    B.*pfun(x,y);

    C.(*p)(x,y)

    D.*p(x,y)


    正确答案:C

  • 第3题:

    有下列函数定义:int fun(double a,double b) {return a*b;} 若下列选项中所用变量都己正确定义并赋值,错误的函数调用是( )。

    A.if(fun(x,y)){……}

    B.z=fun(fun(x,y),fun(x,y));

    C.z=fun(fun(x,y)x,y);

    D.fun(x,y);


    正确答案:C
    解析:本题考查函数调用时的参数传递。C项中第一个参数的表达式不正确,因此不能得到正确的结果。

  • 第4题:

    有下列函数定义: int fun(double a,double b) {return a*b;} 若下列选项中所用变量都已正确定义并赋值,错误的函数调用是( )。

    A.if(fun(x,y)){……}

    B.z=fun(fun(x,y),fun(x,y));

    C.z=fun(fun(x,y)x,y);

    D.fun(x,y);


    正确答案:C
    解析:本题考查函数调用时的参数传递。C项中第一个参数的表达式不正确,因此不能得到正确的结果。

  • 第5题:

    有以下函数定义: int fun(double a,doubleB){return a*b;} 若以下选项中所用变量都已正确定义并赋值,错误的函数调用是( )。

    A.if(fun(x,y)){……}

    B.z=fun(fun(x,y),fun(x,y));

    C.z=fun(fun(x,y)x,y);

    D.fun(x,y);


    正确答案:C

  • 第6题:

    11、下面哪些定义是类型正确的?

    A.f :: (Integer, Integer) -> Float f (x,y) = x / y

    B.f :: (Integer, Integer) -> Float f (x,y) = (fromInteger x) / (fromInteger y)

    C.f :: (Integer, Integer) -> Float f (x,y) = 3*x + y

    D.f :: (Integer, Integer) -> Integer f (x, y) = 3*x + y


    AFT 通常由含有一个双氢呋喃环和一个氧杂萘邻酮(香豆素)的基本架构单位构成 AFT 分为 黄曲霉毒素B1(AFB1)、黄曲霉毒素 B2 (AFB2) 黄曲霉毒素G1(AFG1)、黄曲霉毒素 G2(AFG2) 黄曲霉毒素M1(AFM1)、黄曲霉毒素 M2(AFM2) B1、G1的呋喃环氢键异构。M1型氢键变为羟基。 1比2呋喃环上多了一个双键。