更多“当D<sub>m</sub>N()时,应选用低猫度润滑油。(注:”相关问题
  • 第1题:

    若要在子过程Procl调用后返回两个变量的结果,下列过程定义语句中有效的是______。

    A.Sub Procl(n, m)

    B.Sub Procl(ByVal n, m)

    C.Sub Procl(n, ByVal m)

    D.Sub Procl(ByVal n, ByVal m)


    正确答案:A
    解析:过程定义时,如果形式参数被说明为传值(ByVal项),则过程调用只是相应位置实参的值“单向”传递给形参处理,而被调用过程内部对形参的任何操作引起的形参值的变化均不会反馈、影响实参的值。由于这个过程中,数值的传递只有单向性,故称为“传值调用”的“单向”作用形式。反之,如果形式参数被说明为地址(ByRef),则过程调用是将相应位置实参的地址传给形参处理,而被调用过程内部对形参的任何操作引起形参值的变化又会反而影响实参的值。在这个过程中,数值的传递具有双向性,故称为“传址调用”的“双向”作用形式。ByRef是VBA的缺省选项。本题中要求在子过程Procl调用后返回两个变量的结果,因此采用的是“传址调用”,故为Sub Procl(n, m)。

  • 第2题:

    运行以下程序后,输出结果为_____________。 Private Sub Command1_Click() a=1:b=2:c=3 Call test(a,b+3,(c)) Print "main:";a;b;c End Sub Private Function test(p,m,n) p=p+1:m=m+1:n=n+1 Print "sub:";p;m;n End Function

    :A. sub:2 6 4 main:1 2 3

    B. sub:2 6 4 main:2 2 3

    C. sub:2 6 4 main:2 6 4

    D. sub:2 6 4 main:1 6 4


    参考答案:B

  • 第3题:

    下面过程运行后,变量N的值为( )。 PRIVATE SUB MAINSUB( ) DIM N AS INTEGER N=9 CALL GET. DATA(N) END SUB PRIVATE SUB GETDATA(BYREF M AS INTEGER) M=M*3+SC-N(-9) END SUB

    A.25

    B.26

    C.27

    D.28


    正确答案:B
    解析:通过参数传递CALLGETDATA(N)语句,将N值赋予M,所以M=N=9。而SGN函数为返回参数的正负号,SGN(-9)=-1。因而M=M*3+SGN(-9)=9*3+(-1)=27-1=26。

  • 第4题:

    若有如下程序: int sub(int m) { if(m==1||m==0) return 2; else return(sub(m-1)*sub(m-2));} main() { int n; scanf("%d",&n); printf("%d",sub(n)); } 如果从键盘输入4<回车>,则程序运行后的输出结果是( )。

    A.8

    B.16

    C.24

    D.32


    正确答案:D
    解析:本题的sub()函数是一个递归函数,当参数m为1或0时返回2,否则返回sub(m-1)*sub(m-2)。所以sub(4)递推下来就是sub(4)=sub(3)*sub(2)=sub(2)*sub(1)*sub(1)*sub(0)=sub(1)*sub(0)*2*2*2=25(上标)=32。所以正确答案是D。

  • 第5题:

    单击命令按钮时,下列程序的执行结果为 Private Sub Command1_Click() Dim x As Integer,y As Integer x=50:y=78 Call PPP(x,y) Print x;y End Sub Public Sub PPP(ByVal n As Integer,ByValm As Integer) n=n\10 m=m\10 End Sub

    A.08

    B.50 78

    C.450

    D.78 50


    正确答案:B
    解析:在调用过程时,一般主调与被调过程之间有数据传递,即将主调过程的实参传递给被调用的过程,完成实参与形参的结合,然后执行被调过程,在VisualBasic中,实参与形参的结合有两种方式,即传址与传值。这两种方法的特点如下:传址的结合过程时,当调用一个过程时,它将实参的地址传给形参,因此在被调用的过程中,对形参的任何操作都变成了对相应实参的操作,因此实参的值会随形参的改变而改变。传值的结合过程时,当调用一个过程时,系统将实参的值复制给形参并断开了联系,被调用过程中的操作是在形参自己的存储单元中进行的,当过程调用结束时,这些形参所占用的存储单元也同时被释放,因此在过程中对形参的任何操作不会影响实参。而题中被调过程PPP中有两个形参,两者均为传值方式。主调过程分别把实参x、y传递给PPP,所以当过程调用结束后,实参x、y的值都没有改变,最后输出的值应为5078。

  • 第6题:

    单击命令按钮时,下列程序的运行结果为 Private Sub Command1_Click( ) Print Fun(23, 18) End Sub Public Function Fun(m As Integer, n As Integer) As Integer Do Whilem <> n Do While m > n : m--m - n: Loop Do While m < n : n=n - m: Loop Loop Fun =m End Function

    A.0

    B.1

    C.3

    D.5


    正确答案:B
    解析:此题程序代码中,被调过程采用了Do While……Loop的嵌套语句结构,主调过程只调用了一次被调过程,Print Fun(23,18)语句表明,程序最后输出的只是被调过程的返回值。主调过程在调用被调过程Fun时,把数值23,18分别传给形参m和n,从被调过程中的循环语句来看,因为此时m的值大于n的值,所以执行语句m=m-n,m值变为5,然后循环调用,直到m=n,而由语句Fun=m可看出,此过程的返回值就是m的值,即为1。

  • 第7题:

    在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub sub1(p,m,n) p=p + 1 : m = m + 1 : n =n + 1 Print p;m;n End Sub Private Sub Command1_Click() x=6 : y=4 : z=2 Call sub1(x,y+1,(z)) Print x;y;z End Sub 程序运行后,单击命令按钮,则窗体上第二行显示的内容是

    A.7 6 3

    B.7 4 2

    C.6 4 2

    D.4 6 3


    正确答案:B
    解析:本题考察的是函数过程的调用和参数传送。当发生了Command1的单击事件时,调用函数过程sub1,虽然sub1函数过程在定义时3个参数都被定义成传址方式传送,但在调用时只有第1个参数是变量,按引用传送,其他两个参数均按传值传送。参数传送后,进入subl函数过程执行,p、m和n均加1分别得到的值为7、6和3。函数过程调用返回后,只有x的值发生了变化,变为7,y和z的值仍为4和2。

  • 第8题:

    在窗体中添加一个命令按钮,编写如下程序:

    Private Sub Sub1(p,m,n)

    p=p+1:m=m+1:n=n+1

    Print "sub1:";p;m;n

    End Sub

    Private Sub Command1_Click()

    a1=1:b=2:c1=3

    Call Sub1(a,b1+3,c1)

    Print"Main:";a1;b1;c1

    End Sub

    程序运行后,输出结果为

    A.Sub: 2 6 4 Main: 2 6 4

    B.Sub: 2 6 4 Main: 2 6 4

    C.Sub: 2 6 4 Main: 1 2 3

    D.Sub: 2 6 4 Main: 2 2 3


    正确答案:D
    解析:考查考生对参数传递的掌握情况。这是在实现子过程被调用时参数虚实结合的问题。a1为变量按址传送,b1+3和c1为表达式按值传送。参数的传值方式和传址方式的区别。

  • 第9题:

    单击命令按钮时,下列程序的运行结果为 Private Sub Command1_Click( ) Print MyFund(20,18) End Sub Public Function MyFund(m As Integer,n As Integer)As Integer Do While m◇n Do While m>n:m=m-n:Loop Do While m<n:n=n-m:Loop Loop MyFund=m End Function

    A.0

    B.2

    C.4

    D.6


    正确答案:B
    解析:程序代码被调过程采用了DoWhile…Loop的嵌套语句结构,主调过程只调用了—次被调过程,PrintMyFund(20,18)语句表明,程序最后输出的只是被调过程的返回值。主调过程在调用被调过程MyFund时,把数值20,18分另"专给形参m和n,从被调过程中的循环语句来看,因为此时m的值大于n的值,所以执行语句m=m-n,m值变为2,而由语句MyFund=m可以看出,此过程的返回值就是m的值,即2。

  • 第10题:

    在窗体上画一个名称为Commandl的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim x As Integer,y As Integer x = 41: y = 54 Call sub1(x,y) x = x + 1 Print x; y End Sub Private Sub sub1(n As Integer, ByVal m As Integer) n=n Mod 10 m=m\10 End Sub 程序运行后,单击命令按钮,则窗体上显示的内容是

    A.41 54

    B.2 54

    C.1 3

    D.42 3


    正确答案:B
    解析:在Function((参数表列))过程中,“参数表列”指明了调用时传送给过程的参数类型和个数,每个参数的格式为:[ByVal][ByRef]变量名[()][As数据类型]其中系统默认为ByRef,它指明参数传送是以传地址进行的,实际参数变量的值会由于过程中对形参的操作而改变。而ByVal则不同,参数传送,是以传值传送的,实际参数变量的值不再由于过程中对形参的操作而改变,本题目中过程sub1的参数n是传地址引用,而参数m是传值引用,因此x的值改变,x=21\10+1=2;而y值不改变,仍为54。答案为选项B。

  • 第11题:

    过程通过参数传递将一个参数传递给子过程A,并返回一个结果,下列子过程定义中正确的是()

    • A、Sub A(m+1,n+2)
    • B、Sub A(ByValm!,ByValn!)
    • C、Sub A(ByValm!,n+2)
    • D、Sub A(ByValm!,n!)

    正确答案:D

  • 第12题:

    单选题
    标称值为10kΩ的标准电阻在23℃时的校准值Rs为9.9999315kΩ,合成标准不确定度为52mΩ。在被测量服从正态分布的情况下,当包含概率为95%时,测量结果可表示为(  )。
    A

    <p>R<sub>s</sub>=9.99993kΩ,U<sub>95</sub>=0.10Ω,k<sub>95</sub>=1.96</p>

    B

    <p>R<sub>s</sub>=9.999931kΩ,U<sub>95</sub>=0.10Ω,k<sub>95</sub>=1.96</p>

    C

    <p>R<sub>s</sub>=9.99993kΩ,U<sub>95</sub>=102mΩ,k<sub>95</sub>=1.96</p>

    D

    <p>R<sub>s</sub>=9.999931kΩ,U<sub>95</sub>=102mΩ,k<sub>95</sub>=1.96</p>


    正确答案: D
    解析:

  • 第13题:

    单击命令按钮时,下列程序的运行结果为 Private Sub Command1_Click() Print Fun(23,18) End Sub Public Function Fun(m As Integer,n As Integer)As Integer Do While m<>n Do While m>n:m=m-n:Loop Do While m<n:n=n-m:Loop Loop Fun=m End Function

    A.0

    B.1

    C.3

    D.5


    正确答案:B
    解析:此题程序代码中,被调过程采用了Do While…Loop的嵌套语句结构,主调过程只调用了一次被调过程,Print Fun(23,18)语句表明,程序最后输出的只是被调过程的返回值。主调过程在调用被调过程Fun时,把数值23,18分别传给形参m和n,从被调过程中的循环语句来看,因为此时m的值大于n的值,所以执行语句m=m-n,m值变为5,然后循环调用,直到m=n,而由语句Fun=m可看出,此过程的返回值就是m的值,即为1。

  • 第14题:

    有如下事件过程: Private Sub Command1_Click( ) Dim m AS Integer,n AS Integer m=2:n=1 Print "m=";m;"n=";n Call TOD(m,n) Print "m=";m;"n=";n End Sub Sub TOD(x,y) x=x^2 y=y^3 End Sub 程序运行后,输出的结果为

    A.m=2,n=1 m=1,n=2

    B.m=2,n=1 m=4,n=1

    C.m=1,n=2 m=1,n=4

    D.m=1,n=2 m=2,n=4


    正确答案:B
    解析:本题考查的是函数调用和输出语句。定义了一个函数,函数的功能是:将实参传给形参,按址传送,将改变实参的数值,语句x=x^2的作用是将x的平方值赋给x,为4;语句y=y^3的作用是将y的三次方值传给y,为1;然后返回主调过程,输出变化前后的值。

  • 第15题:

    有如下程序: Private Sub Commandl_Click( ) Dim i As Integer For i=1 To 2 DS Next i End Sub Sub DS( ) Dim x As Integer,m As String Static y,n X=X + 1 y=y + 1 m=m &"*”:n=n&"#" Print x,y,m,n End Sub 程序运行后,输出的结果是

    A.1 1 * #

    B.1 1 * #

    C.1 1 * # 1 1 * # 1 2 * #

    D.1 1 * # 1 1 * ## 1 2 * ##


    正确答案:D
    解析:当i=1时,调用函数过程DS,由于y,n为静态变量值保存,执行x=x+1;y=y+1后x=1,y=1执行m=m&"*":n=n&"#"后,m="*",n="#";当I=2时同上,只是y=2,n="##"。输出结果如选项D)所示。

  • 第16题:

    在窗体中添加一个命令按钮,编写如下程序: Private Sub Subl(p,m,n) p=p+1:m=m+1:n=n+1 Print"subl:";p;m;n End Sub Private Sub Command1_Click() al=1:b=2:c1=3 Call Subl(a,b1+3,c1) Print"Main:";a1;b1;c1 End Sub 程序运行后,输出结果为

    A.Sub:2 6 4 Main:2 6 4

    B.Sub:2 6 4 Main:2 6 4

    C.Sub:2 6 4 Main:1 2 3

    D.Sub:2 6 4 Main:2 2 3


    正确答案:D
    解析:考查考生对参数传递的掌握情况。
      [解题要点] 这是在实现子过程被调用时参数虚实结合的问题。a1为变量按址传送,b1+3和c1为表达式按值传送。
      [错解分析] 参数的传值方式和传址方式的区别。
      [考点链接] 函数调用和参数传递。

  • 第17题:

    下面程序的运行结果是 ______ 。程序的功能是 _______ 。

    Public Function myfun(m,n)

    Do while m>n

    Do while m>n:m=m-n:Loop

    Do While n>m:n=n-m:Loop

    Loop

    Myfun=m

    End Function

    Private Sub Command1_Click()

    Print myfun(15,15)

    End Sub


    正确答案:5 互换两数
    5 互换两数

  • 第18题:

    在窗体中添加一个命令按钮,编写如下程序: Private Sub Test(p,m,n) p=p+1:m=m+1:n=n+1 Print "Sub: ";p;m;n End Sub Private Sub Command1.Click() a1=1:b=2:c1=3 Call Test((a,b1+3,(c1)) Print "Main:";a1;b1;c1 End Sub 程序运行后,输出结果为

    A.Sub: 2 6 4 Main: 2 6 4

    B.Sub: 2 6 4 Main: 2 6 4

    C.Sub: 2 6 4 Main: 1 2 3

    D.Sub: 2 6 4 Main: 2 2 3


    正确答案:D
    解析:这是在实现子过程被调用时参数虚实结合的问题。a1为变量按址传送,b1+3和(c1)为表达式按值传送。

  • 第19题:

    当发生Form_Click事件时,下列程序的输出结果是( )。 Private m As Integer,n As Integer Private Sub Form_Click() Dim k As Integer,p As Integer k=6:p=60 Call sub1(k,p) Print m,n,m,k,p Call sub1(k,p) Print m,n,k,p End Sub Private Sub Form_Load() m=7 n=70 End Sub Public Sub sub1(x As Integer,ByVal y As Integer) Dim m As Integer n=n+5 m=n+x+y x=x+y y=x+y End Sub

    A.7 75 66 60 7 80 126 60

    B.7 75 66 60 7 75 126 60

    C.7 75 66 60 7 80 66 60

    D.7 75 66 60 7 75 66 60


    正确答案:A
    解析:本题定义了两个窗体级变量m和n,并在窗体的Load事件中给窗体级变量m和n分别赋值7和70。当发生Form_Click事件时,首先进行第一次sub1过程的调用,把k的值6按地址传递给形参x,把p的值60按值传递给形参y。在sub1中定义了一个局部变量m,因此在该函数中使用的m是局部变量而非窗体级变量。执行下面的4条赋值语句后,窗体级变量n的值为75,局部变量m的值为142,形参x的值为66,形参y的值为126。函数调用返回后,由于p是按值传递,所以它的值没有变化,k是按地址传递,所以它的值变为邱,输出m、n、k和p的值分别是7、75、66和60。同理,分析第二次sub1过程调用,可知过程调用返回后,变量m、n、k和p的值分别是7、80、126、60。

  • 第20题:

    若要在子过程Proc1调用后返回两个变量的结果,下列过程定义语句中有效的是( )。

    A.Sub Proc1(n,m)

    B.Sub Proc1(ByVal n,m)

    C.Sub Proc1(n,ByVal m)

    D.Sub Proc1(ByVal n,ByVal m)


    正确答案:A
    解析: 本题考查VBA中参数传递的知识。在VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用,此时形参的变化不会返回到实参;若用ByRef声明,说明此参数为传址调用,此时形参的变化将会返回到实参;没有说明传递类型,则默认为传址传递。由于本题要求可以返回两个变量的结果,所以应该使用传址调用,不能出现传值调用,也就是不能出现使用ByVal声明的形参。

  • 第21题:

    单击命令按钮时,下列程序的执行结果为 Private Sub Command1_Click Dim x As Integer, y As Integer x=12:y=32 Call Proc(x,y. Print x; y End Sub Public Sub Proc(n As Integer, ByVal m As Integer. n=n Mod 10 m=m Mod 10 End Sub

    A.1232

    B.232

    C.23

    D.123


    正确答案:B

  • 第22题:

    在窗体中添加一个命令按钮,编写如下程序: Private Sub Sub1(p,m,n) p=p+1:m=m+1:n=n+1 Print "sub1:";p;m;n End Sub Private Sub Command1_Click() a1=1:b=2:c1=3 Call Sub1(a,b1+3,c1) Print"Main:";a1;b1;c1 End Sub 程序运行后,输出结果为

    A.Sub: 2 6 4 Main: 2 6 4

    B.Sub: 2 6 4 Main: 2 6 4

    C.Sub: 2 6 4 Main: 1 2 3

    D.Sub: 2 6 4 Main: 2 2 3


    正确答案:D
    解析:这是在实现子过程被调用时参数虚实结合的问题。a1为变量按址传送,b1+3和c1为表达式按值传送。

  • 第23题:

    单选题
    当DmN()时,应选用低猫度润滑油。(注:Dm平均轴承直径;N每分钟转速)
    A

    <10000

    B

    10000~50000

    C

    50000~100000

    D

    >200000


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