Q2 : Declare Function Multiply_Add Lib “test” (ByRef A as i as integer ) as integerQ2.1: Explain what is Declare Function used for ?Ans :Q2.2 : Explain the difference between ByRef and ByVal ?Ans :

题目

Q2 : Declare Function Multiply_Add Lib “test” (ByRef A as i as integer ) as integer

Q2.1: Explain what is Declare Function used for ?

Ans :

Q2.2 : Explain the difference between ByRef and ByVal ?

Ans :


相似考题
更多“Q2 : Declare Function Multiply_Add Lib “test” (ByRef A as i as integer ) as integerQ2.1: Explain what is Declare Function used for ?Ans :Q2.2 : Explain the difference between ByRef and ByVal ?Ans :”相关问题
  • 第1题:

    在窗体上画一个命令按钮,命名为Command1。程序运行后,如果单击命令按钮,则显示一个输入对话框,在该对话框中输入一个整数,并用这个整数作为实参调用函数过程F1,在F1中判断所输入的整数是否是奇数,如果是奇数,过程F1返回1,否则F1返回1,否则返回0。能够正确实现上述功能的代码是 。A.Private Sub Command1_Click() x=InputBox("请输入整数") a=F1(Val(x)) Print a End Sub Function F1(ByRef b As Integer) If b Mod 2=0 Then Return 0 Else Return 1 End If End FunctionB.Private Sub Command1_Click() x=InputBox("请输入整数") a=F1(Val(x)) Print a End Sub Function F1(ByRef b As Integer) If b Mod 2=0 Then F1= 0 Else F1= 1 End If End FunctionC.Private Sub Command1_Click() x=InputBox("请输入整数") F1(Val(x)) Print a End Sub Function F1(ByRef b As Integer) If b Mod 2=0 Then F1= 1 Else F1= 0 End If End FunctionD.Private Sub Command1_Click() x=InputBox("请输入整数") F1(Val(x)) Print a End Sub Function F1(ByRef b As Integer) If b Mod 2=0 Then Return 0 Else Return 1 End If End Function


    正确答案:B
    【解析】本题综合考查了InputBox函数、块结构条件语句、Function函数过程等多个知识点。B项是正确选项,“Mod”表示取模,当b可以被2整除时,F1返回0,表示b为偶数时,F1返回0。这与题目要表达的意思一致。A、D项使用的Return关键字是错误的,它不能把相应的数值赋给F1。C项的功能与题目要实现的功能恰好相反,表示输入的数值为偶数时,F1返回1,故不正确。

  • 第2题:

    阅读如下程序, a = 1: b = 2: plus S, a, b: Print S:不能使其输出结果为3的plus过程为( )。

    A、Sub plus(sum, a , b ): sum = a + b: End Sub

    B、Sub plus(ByVal sum , a , b ): sum = a + b: End Sub

    C、Sub plus(sum , ByVal a, ByVal b ): sum = a + b: End Sub

    D、Sub plus(sum , ByRef a , ByRef b ): sum = a + b: End Sub


    参考答案:B

  • 第3题:

    有以下函数过程: Function Gys (ByVal x As Integer, ByVal y As Integer) As Integer Do While y<>0 Reminder = x Mod y x = y y= Reminder Loop Gys=x End Function 以下是调用该函数的事件过程,该程序的运行结果是 Private Sub Command1_Click() Dim a As Integer Dim b As Integer a = 50 b = 10 x=Gys (a,B)Print x End Sub

    A.0

    B.10

    C.50

    D.100


    正确答案:B
    解析:本首先要读懂Gys函数过程的意思,Gys函数过程返回参数y的值,具体过程是先令参数x的值为y的值,y的值为xMody的值,再令Gys值为x的值,据此本题的正确结果为10,选B。

  • 第4题:

    有如下函数过程: Function funl(ByVal x As Integer,ByVal y As Integer)As Integer Do While y<>0 reminder=x Mod y x=y y=reminder Loop fun1=x End Function 在下列按钮单击事件中调用该函数,则该程序的运行结果是( )。 Private Sub Command1_Click() Dim a As Integer Dim b As Integer a=100 b=25 x=funl(a,B)Print x End Sub

    A.0

    B.25

    C.50

    D.100


    正确答案:B
    解析:可以通过两种方式来传递参数,即按值传递参数和按地址传递参数。按值传递参数时,传递的只是变量的副本。如果过程改变了这个值,则所作变动只影响副本而不会影响变量本身。用ByVal关键字指出参数是按值来传递的。按地址传递参数使过程用变量的内存地址去访问实际变量的内容,在将变量传递给过程时,通过过程可永远改变变量值。默认时是按地址传递参数。 题中funl函数的参数都是按值传送的,函数使用“过程名二表达式”的形式获得函数的返回值,如题中“funl=x”语句。调用函数“x=funl(a,B)”后,x=25。

  • 第5题:

    有如下函数过程。

    Function UNC(ByVal x As Integer,ByVal y As Integer)As Integer

    Do While y<>0

    S=x/y

    x=y

    y=S

    Loop

    UNC=x

    End Function

    以下事件调用该函数,程序运行结果是【 】。

    Private Sub Command1_Click()

    Dim a As Integer

    Dim b As Integer

    a=12

    b=2

    x=UNC(a,b)

    Print x

    End Sub


    正确答案:6
    6 解析:本题考查函数调用和输出格式的语句。调用UNC的过程如下:
    x=12,y=2时,sic=6,x=2,y=6:
    x=2,y=6时,sic=0,x=6,y=0;
    y=0,所以跳出循环,输出x=6并结束程序。注意:过程的定义和调用。

  • 第6题:

    Comment is nonprogram(78) embedded in a program to explain its form. and function to human readers.

    A.command

    B.expression

    C.text

    D.statement


    正确答案:C
    解析:注释是非程序文本,它内嵌在程序中,用于向读者解释程序的结构和功能。

  • 第7题:

    有下列函数过程: Function fun1(ByVal x As Integer,ByVal y As Integer)As Integer Do While y<>0 reminder=x MOd y x=y y=reminder Loop fun1=x End Function 在下列按钮单击事件中调用该函数,则该程序的运行结果是( )。 Private Sub Command1_Click() Dim a

    A.0

    B.25

    C.50

    D.100


    正确答案:B
    解析: 可以通过两种方式来传递参数,即按值传递参数和按地址传递参数。按值传递参数时,传递的只是变量的副本。如果过程改变了这个值,则所作变动只影响副本而不会影响变量本身。用ByVal关键字指出参数是按值来传递的。按地址传递参数使过程用变量的内存地址去访问实际变量的内容,在将变量传递给过程时,通过过程可永远改变变量值。默认时是按地址传递参数。

  • 第8题:

    下面4个CT函数中是用来判断用户输入的数是否为奇数的,是奇数的返回1,否则返回0,其中正确的是

    A.Function CT(ByVal a As Integer) If a Mod 2=0 Then Return 0 ElSe Return 1 End if End Function

    B.Function CT(ByVal a As Integer) If a Mod 2=0 Then CT=0 Else CT=1 End if End Function

    C.Function CT(ByVal a As Integer) If a Mod 2=0 Then CT=1 Else CT=0 End if End Function

    D.Function CT(ByVal a As Integer) If a Mod 2=0 Then Return 1 Else Return 0 End if End Function


    正确答案:B
    解析:在此题中考查了函数的定义,及其有关操作,对于奇数的判断是用取模来判断的,奇数不能被2争取,或者说奇数除以2后的余数是1,而偶数能被2整数,即偶数除以2后的余数是0,因此判断语句应为IfaMod2=0ThenCT=0ElseCT=1;即当a为偶数时返回值是0,a为奇数时返回值是1,符合题意。

  • 第9题:

    阅读程序: Function fac(ByVal As Integer)As Integer Dim temp As Integer temp=1 For i%=1 To n temp=temp*i% Next i% fac=temp End Function Private Sub Form. Click( ) Dim nsum As Integer nsum=1 For i%=2 T0 4 nsum=nsum+fac(i%) Next i% Print nsum End Sub 程序运行后,单击窗体,输出结果是( )。

    A.35

    B.31

    C.33

    D.37


    正确答案:C
    C。【解析】本题考查的是函数的调用,Function函数的意义是某个数的阶乘,所以通过计算结果为4!+3!+2!+1!=33

  • 第10题:

    在窗体上画一个名称为Commandl的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim n As Integer For n = 0 To 9 Step 3 Print rel(n); Next n End Sub Private Function rel(ByVal i As Integer)As Integer Dim x As Integer x = 0 For j = 1 To i If i < 5 Then rel = i: EXit Function x = x + i Next i rel = x End Function 程序运行后,单击命令按钮,则窗体上显示的内容是

    A.1 3 5 7

    B.2 8 14 53

    C.0 3 21 45

    D.0 5 11 34


    正确答案:C
    解析:ExitFunction的功能是立即终止函数的运行并回到调用函数的地方继续执行其他语句。在Function过程的任何位置都可以设置ExitFunction语句。变量n传值为0、3、6、9,4次调用rel函数过程,由于0和3都小于5,使得i5不成立,被执行了“ExitFunction”语句,函数名将0和3返回。而6和9没有使得i5成立,变量x的计算结果分别为21和45,也被函数名返回。

  • 第11题:

    以下是某个窗体的模块代码,请分析单击窗体后程序运行至"*"号位置时变量X、Y和Z的值分别是【 】。

    DIM X AS INTEGER

    DIM Y AS INTEGER

    PRIVATE SUB FORM_CLICK()

    DIM X AS INTEGER

    X=1

    Y=1

    CALL AA(Y+1)

    Z=BB(X)

    '* * * * * * *

    MSGBOX "X="&X&"/Y="&Y&"/Z="&Z

    END SUB

    PRIVATE SUB AA(BYVAL Z AS INTEGER)

    Y=Z+X

    Z=X+Y

    END SUB

    PRIVATE FUNCTION BB(BYREF Y AS INTEGER

    Y=Y+1

    BB=X+Y

    END FUNCTION


    正确答案:222
    2,2,2 解析:调用AA过程后,全局变量Y的值为2。这时形参为局部变量Y,而实参为局部变量 X,传递采用“传址”调用,即形参Y与实参X占用同一内存地址,并且形参Y会获得实参X的传递值1。当执行BB过程中的Y=Y+1语句时,形参Y与实参x的值均为1+1=2,此时,函数的返回值为BB=X+Y,是全局变量X与形参Y相加,值为0+2=2。综合判断,得出答案为2, 2,2。

  • 第12题:

    在Oracle 中,下列语句中哪些可以合法地创建一个函数? (1.0分) [多选] A. CREATE FUNCTION func_name(cdcode NUMBER) RETURN CHAR IS DECLARE dis_cd CHAR(15); BEGIN .. END; B. CREATE FUNCTION func_name(cdcode NUMBER) RETURN CHAR IS dis_cd CHAR(15); BEGIN .. END; C. CREATE FUNCTION func_name(cdcode NUMBER) IS BEGIN .. END; D. CREATE FUNCTION func_name(cdcode NUMBER) RETURN CHAR IS BEGIN .. END; E. CREATE FUNCTION func_name(cdcode NUMBER) RETURN CHAR IS DECLARE dis_cd STRING (15); BEGIN .. END;
    答案: B  D

  • 第13题:

    下列子过程语句中正确的是( )。

    A.Sub fl(By Val()As Integer)

    B.Sub fl(n() As Integer)As Integer

    C.Functionn fl(fl As Integer)As Integer

    D.Function fl(ByVal f As Integer)


    正确答案:D
    解析:Sub过程定义的一般格式如下:
    [Private|Public|Friend][Static] Sub过程名[(参数表)]
    语句块
    [Exit Sub]
    [语句块]
    End Sub
    其中,Private|Public|Friend说明Sub过程的访问权限,如果没有Private|Public|Friend显式指定,则Sub过程按默认(公用的)访问权限定义。
    参数表含有在调用时要传递给该Sub过程的参数的类型和个数,多个变量则用逗号隔开。参数的格式为:[ByVal|ByRef]变量名[()][As数据类型]
    格式中口里的内容表示可选,变量可以是简单变量或者数组。选项A)中参数没有参数名,所以是错误的;Sub过程没有返回值,所以选项B)是错误的。
    Function过程的定义的一般格式如下:
    [Public|Private|Friend][Static]Function过程名[(参数表)][As类型]
    [语句块]
    [过程名=表达式]
    [Exit Function]
    [语句块]
    End Function
    “As类型”是Function过程返回的值的数据类型,如果省略,则默认为Variant。Function函数中参数名不能与函数名相同,因此选项C)错误,选项D)中,省略了返回值类型,是正确的。

  • 第14题:

    数组A在子过程或函数中定义为形参,正确的语句是( )。

    A、Private Sub sele(ByVal A( ) As integer)

    B、Private Function sale(A() As Integer) As String

    C、Private Sub sale(A() As Integer) As Integer

    D、Private Sub sale(A(i) As Integer)


    参考答案:C

  • 第15题:

    在窗体上画一个命令按钮,命名为CommandI。程序运行后,如果单击命令按钮,则显示一个输入对话框,在该对话框中输入一个整数,并用这个整数作为实参调用函数过程 F1,在F1中判断所输入的整数是否是奇数,如果是奇数,过程F1返回1,否则返回0。 能够正确实现上述功能的代码是

    A.Privme Sub Command1_Click() x=InputBox(“请输入整数”) a=F1(Val(x)) Print a End Sub Function F1(ByRef b As Integer) If b Mod 2=0 Then Return 0 Else Return 1 End If End Function

    B.Private Sub Command1_Click() x=InputBox(“请输入整数”) a=F1(Val(x)) Print a End Sub Function F1(ByRef b As Integer) If b Mod 2=0 Then F1=0 Else F1=1 End If End Function

    C.Private Sub Command1_Click() x=InputBox(“请输入整数”) F1(Val(x)) Print a End Sub Function F1(ByRef b As Integer) If b Mod 2=0 Then F1=1 Else F1=0 End If End Function

    D.Private Sub Command1_Click() x=InputBox(“请输入整数”) F1 (Val(x)) Print a End Sub Function F1(ByRef b As Integer) If b Mod 2=0 Then Return 0 Else Return 1 End If End Function


    正确答案:B
    解析:本题综合考查了InputBox函数、块结构条件语句、Function函数过程等多个知识点。B项是正确选项,“Mod”表示取模,当b可以被2整除时,F1返回0,表示b为偶数时,F1返回0。这与题目要表达的意思一致。A、D项使用的Return关键字是错误的,它不能把相应的数值赋给 F1。C项的功能与题目要实现的功能恰好相反,表示输入的数值为偶数时,F1返回1,故不正确。

  • 第16题:

    在过程定义中有语句: Private Sub GetData(ByRef f As Integer. 其中"ByRef"的含义是

    A.传值调用

    B.传址调用

    C.形式参数

    D.实际参数


    正确答案:B
    【解析】ByRef是传址调用,是"双向"调用形式。如果形式参数被说明为传址(ByRef项.,则过程调用是将相应位置实参的地址传送给形参处理,而被调用过程内部对形参的任何操作引起的形参值的变化又会反向影响实参的值。在这个过程中,数据的传递具有双向性,故称为"传址调用"的"双向"作用形式。在过程定义时,如果未做参数说明,则默认为传址调用。所以本题答案为B。

  • 第17题:

    is nonprogram text embedded in a program to explain its form. and function to human readers.

    A.Command

    B.Compile

    C.Comment

    D.Statement


    正确答案:C
    解析:注释是嵌入到程序中的非程序文本,用来向阅读程序的人解释程序的结构和功能。

  • 第18题:

    下列子过程语句中正确的是( )。

    A.Sub f1(ByVal() As Integer)

    B.Sub f1(n() As Integer)As Integer

    C.Function f1(f1 As Integer)As Integer

    D.Function f1(ByVa1 f as Integer)


    正确答案:D
    解析:Sub过程定义的一般格式如下:[Private|Public|Friend][Sratic]Sub过程名[(参数表)]语句块[ExitSub][语句块]EndSub其中,Private|Public|Friend说明Sub过程的访问权限,如果没有Privge|Public|Friend显式指定,则Sub过程按缺省(公用的)访问权限定义。参数表含有在调用耐要传递给该Sub过程的参数的类型和个数,多个变量则用逗号隔开。参数的格式为:[ByVal|ByRef]变量名[()][As数据类型]格式中[]里的内容表示可选,变量可以是简单变量或者敷组。选项A中参数没有参数名,所以是错误的;因为Sub过程没有返回值,所以选项B是错误的。Function过程的定义的一般格式如下:[Public|private|Friend][Static]Function过程名[(参数表)][As类型][语句块](过程名=表达式)[ExitFunction][语句块]EndFunction“As类型”是Function过程返回的值的数据类型,如果省略,则默认为Variant。Function函数中参数名不能与函数名相同,因此选项C错误;选项D中省略了返回值类型,是正确的。

  • 第19题:

    下列子过程语句的说明正确的是( )。

    A.Sub fl(ByVal x() As Integer)

    B.Sub fl(x%())As Integer

    C.Function fl%(fl%)

    D.Function fl%(x As Integer)


    正确答案:D
    解析:选项A)中,形式参数为数组,但数组不能作为值传递方式;选项B)中,Sub过程不能有返回值;选项C)中的参数和函数名相同是不允许的;选项D)中对子过程的定义是正确的。

  • 第20题:

    Q2 : Declare Function Multiply_Add Lib “test” (ByRef A as integer ,VeRef B as integer , ByVal c as integer ) as integer

    Q2.1: Explain what is Declare Function used for ?

    Ans :

    Q2.2 : Explain the difference between ByRef and ByVal ?

    Ans :


    正确答案:
     

  • 第21题:

    在过程定义中有语句: Private Sub GetData(ByRef fAs Integer)其中,“ByRef’的含义是( )。

    A.传值调用

    B.传址调用

    C.形式调用

    D.实际参数


    正确答案:B
    暂无解析,请参考用户分享笔记

  • 第22题:

    下列子过程语句的说明正确的是( )。

    A.Sub f1(ByVal x()As Integer)

    B.Sub f1(x%())As Integer

    C.Function f1%(f1%)

    D.Function f1%(x As Integer)


    正确答案:D
    解析:选项A中,形式参数为数组,但数组不能作为值传递方式;选项B中,Sub过程不能有返回值:选项C中的参数和函数名相同是不允许的;选项D中对于过程的定义是正确的。

  • 第23题:

    填空题
    下列程序的运行结果是()。  Program test      Implicit none      Integer,parameter:: limit=10      Integer counter      Integer:: ans=0      Counter=2     do while(counter<=limit)      ans=ans+counter      counter=counter+2   end do Wrte(*,*)ans end

    正确答案: 30
    解析: 暂无解析