更多“起下钻运动学公式M<sub>1</sub>-M<sub>2</s”相关问题
  • 第1题:

    运行以下程序后,输出结果为_____________。 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

  • 第2题:

    有如下程序: 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)所示。

  • 第3题:

    下面程序的输出结果是( )。 #include"stdio.h" int sub(int m) { static a=4; a+=m; return a; } void main() { int i=2,j=1,k; k=sub(i); k=sub(j); printf("%d",k); }

    A.6

    B.7

    C.8

    D.9


    正确答案:B
    解析:在函数sub()的函数体中定义了一个静态存储变量a,a的值在函数调用完毕返回主函数后仍存在。第一次调用sub(i),a=a+m=4+2=6,返回值为6。第二次调用sub(j),a=a+m=6+1=7,返回值为7,最后输出k的值为7。

  • 第4题:

    在窗体中添加一个命令按钮,编写如下程序: 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为表达式按值传送。
      [错解分析] 参数的传值方式和传址方式的区别。
      [考点链接] 函数调用和参数传递。

  • 第5题:

    下列程序的运行结果是()。includevoid sub(int*s,int*y){static int m=4;*y=s[0];m++;}

    下列程序的运行结果是( )。 #include<stdio.h> void sub(int*s,int*y) {static int m=4; *y=s[0]; m++; } void main() {int a[]={1,2,3,4,5},k; int x; printf("\n"); for(k=0;k<=4;k++) {sub(a,&x); printf("%d,",x); } }

    A.1,1,1,1,1,

    B.1,2,3,4,5,

    C.0,0,0,0,0,

    D.4,4,4,4,4,


    正确答案:A
    解析:本题中sub(int*s,int*y)函数的参数是两个指针型变量,在函数体内将数组s的第一个元素赋给y。主程序内,首先定义了一维数组并赋初值,然后通过for循环,5次调用sub(a,&x)函数,每一次调用都是将数组a的第一个元素1赋给x,并输出。

  • 第6题:

    编写如下事件过程: Private sub sub1 (ByVal x1 As String, y1 As String) Dim xt As String Dim i As Integer i = Len(x1) Do While i>= 1 xt = xt + Mid(x1, i, 1) i=i-1 Loop y1 = xt End Sub Private Sub Form. Click() Dim s1 As String, s2 As String s1= "teacher" sub1 s1, s2 Print s2 End Sub 程序运行后,单击窗体,则窗体上显示的内容是

    A.rehcaet

    B.tahreee

    C.themee

    D.eerthea


    正确答案:A
    解析:可以看出,Sub1(ByValx1AsString,y1AsString)的作用是将参数x1的字符逆序处理,然后赋给y1,而y1是传址引用的,可以直接返回处理结果。

  • 第7题:

    下列程序的运行结果是()。includevoid sub(int*s,int*y){static int m=4:*y=s[m];m--;}

    下列程序的运行结果是( )。 #include<stdio.h> void sub(int*s,int*y) {static int m=4: *y=s[m]; m--; } void main() {int a[]={1,2,3,4,5},k,x; printf("\n"); for(k=0;k<=4;k++) {sub(a,&x); printf("%d,",x); } }

    A.5,4,3,2,1,

    B.1,2,3,4,5,

    C.0,0,0,0,0,

    D.4,4,4,4,4,


    正确答案:A
    解析:本题考查的是静态变量以及函数的实参与形参之间的地址值传递。sub()函数数中定义的变量m是一个静态变量,系统可为其分配固定的存储空间,重复使用时,变量的值保留;所以当mam()函数中的for循环中语句sub(a,&x);执行时,sub函数中m的值依次是4,3,2,1,0;因为变量x进行的是地址值传递,所以最后依次输出的是数组a的元素a[4]、a[3]、a[2]、a[1]、a[0]。

  • 第8题:

    在窗体中添加一个命令按钮,编写如下程序: 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)为表达式按值传送。

  • 第9题:

    当发生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。

  • 第10题:

    若要在子过程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声明的形参。

  • 第11题:

    在窗体中添加一个命令按钮,编写如下程序: 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为表达式按值传送。

  • 第12题:

    单选题
    永续盘存法公式为()
    A

    K<sub>t</sub>+1=I<sub>t</sub>-(1-δ)K<sub>t</sub>

    B

    K<sub>t</sub>+1=It+(1-δ)K<sub>t</sub>

    C

    K<sub>t</sub>+1=I<sub>t</sub>+(1+δ)K<sub>t</sub>

    D

    K<sub>t</sub>+1=I<sub>t</sub>-(1+δ)K<sub>t</sub>


    正确答案: C
    解析: 若用Kt表示第t期初的固定资产存量,It表示第t期投资购建的固定资产数量,δ表示固定资产的折旧率,则有永续盘存法公式为:Kt+1=It+(1-δ)Kt。

  • 第13题:

    有如下事件过程: 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;然后返回主调过程,输出变化前后的值。

  • 第14题:

    若有如下程序: 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。

  • 第15题:

    在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1 Click() a = 2 For i=1 To 3 Call funl(i,A)Next i x = i + 2 Print x;a End Sub Private Sub fun1(n,m) m=m + n * 2 n = n + m End Sub 程序运行后,单击命令按钮,则窗体上显示的内容是

    A.1 5

    B.4 5

    C.8 4

    D.3 4


    正确答案:C
    解析:在本题中,由于两个形参都没有指明用哪种方式进行参数传送,按VisualBasic规定,在默认的情况下,变量的数据传送按传址方式进行。当第一次调用fun1过程时,循环变量i将1传给形参n,变量a将2传给形参m。经计算后,变量m和n值分别为4和5。返回被调过程后,变量i和a的值分别为5和4。经过“Nexti”语句后,循环变量i加了步长得6,大于终值3,退出循环,所以变量x=6+2=8。值得注意的是:在函数的调用过程中,不要使用循环变量作为实参,否则会产生意想不到的结果。

  • 第16题:

    【程序说明】 计算下列算式的值。a,Ai为正整数,从键盘输入。其小∑Ai=1+2…+ Ai,Ai!=1 *2*3*Ai(i=1,2… a)。

    【程序】

    SET TAIK OFF

    CLEAR

    INPUT“M=”TO M

    STORE 0 TO S1,S2

    FOR I=1 TO M

    (8)

    DO SUB1

    DO SUB2

    ENDFOR

    ? ” 所求算式的值为:“+ALLTRIM(STR(S1/S2,15,3))

    SET TALK ON

    PROCEDURE SUB1

    (9)

    FOR R=1 TO A

    K=K+R

    ENDFOR

    (10)

    RETURN

    PROCEDURE SUB2

    (11)

    FOR P=1 TO A

    T=T*P

    ENDFOR

    (12)

    RETURN

    (8)

    A.INPUT“A=”TO A

    B.INPUT“I=”TO I

    C.INPUT“R=”TO STR(R)

    D.INPUT“K=”TOK


    正确答案:A
    解析:表达式接收语句的格式;INPUT[字符表达式>]TO内存变量>从子过程SUB1和 SUB2中可知需接收一个A值作为正整数。

  • 第17题:

    有如下事件过程: Private Sub Commaild1_Click( ) Dim i As Integer For i =1 To 2 DC Next i End Sub Sub DC( ) 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 * # 1 1 * #

    B.1 1 * # 1 2 * #

    C.1 1 * # 1 1 * ##

    D.1 1 * # 1 2 * ##


    正确答案:D
    解析:本题考查函数调用和输出格式的语句。当I=1时,调用函数过程DC,由于y,n为静态变量值保存,执行x=x+1;y=y+1后x=1,y=1;执行m=m&"*":n=n&"#"后,m="*",n="#";当I=2时同上,只是y=2,n="##"。

  • 第18题:

    在窗体上画一个按钮,然后编写如下的事件代码。在按钮上单击,输出为( )。 Private Sub fun() Static a As Integer a=a+2 Print a; End Sub Private Sub Command1_Click() Dim m As Integer For m=1 To 3 Call fun Next m End Sub

    A.2 2 2

    B.0 0 0

    C.2 4 8

    D.2 4 6


    正确答案:D
    解析:当发生Command1的单击事件时,事件过程中的For循环执行三次,调用三次Sub过程,在Sub过程中定义了一个静态变量a,注意,过程调用结束后静态变量的值仍旧保留,下一次进入的时候静态变量的值是上一次退出时的值,所以每调用一次fun过程,a的值就加2,所以三次调用分别输出的值为246。

  • 第19题:

    写出程序运行的结果

    Public class Base

    Public virtual string Hello() {return “Base”;}

    Public class Sub:Base

    Public override string Hello() {return “Sub”;}

    1. Base b = new Base(); b.Hello;

    2. Sub s = new Sub(); s.Hello;

    3. Base b = new Sub (); b.Hello;

    4. Sub s = new Base(); s.Hello;


    正确答案:
     

  • 第20题:

    在窗体上画一个名称为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。

  • 第21题:

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

    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为表达式按值传送。参数的传值方式和传址方式的区别。

  • 第22题:

    在窗体上画一个名称为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。

  • 第23题:

    过程通过参数传递将一个参数传递给子过程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