参考答案和解析
正确答案:B
更多“动点在运动过程中,a<sub>t</sub>常量,a<sub>n”相关问题
  • 第1题:

    下列关于Sub过程的叙述正确的是A.一个Sub过程必须有一个Exie Sub语句B.一个Sub过程必须有一个Enb Sub语句C.在Sub过程中可以定义一个Function过程D.可以用Goto语句退出Sub过程


    正确答案:B
    【解析】每个Sub过程必须以Sub开始,以End Sub结束;Exit Sub语句使程序立即从一个Sub过程中退出,在Sub过程中可以使用一个或多个Exit Sub语句,也可以没有Exit Sub语句,因此选项A)错误,选项B)正确。在Sub过程中不能嵌套定义Sub过程或者Function过程,不能使用Goto语句进入或转出一个Sub过程,因此选项C)、D)说法是错误的。

  • 第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题:

    有以下程序:

    int sub(int n) { return(n/10+n%10); }

    main()

    { int x, y;

    scanf("% d", &x);

    y=sub(sub(sub(x)));

    printf("% d\n", y);

    }

    若运行时输入:1234<回车>,程序的输出结果是【 】。


    正确答案:10
    10 解析:y=sub(sub(sub(x)))=sub(sub(127))=sub(19)=10。

  • 第4题:

    下列程序的运行结果是______。

    Sub abcd(ByValn As Integer)

    n=n+5

    End Sub

    Private Sub Form_Click()

    nx%=3

    Callabcd(nx%)

    Printnx%

    End Sub


    正确答案:3
    3

  • 第5题:

    有如下程序: Private Sub Command1_Click() Dim a As Single Dim b As Single a=5:b=4 Call Sub1(a,b) End Sub Sub Sub1(x As Single,y As Single) t=X X=t\Y Y=t Mod y End Sub 在调用运行上述程序后,a和b的值分别为

    A.0 0

    B. 1 1

    C.2 2

    D.1 2


    正确答案:B
    解析:考查考生对调用通用过程的掌握情况。
      [解题要点] 调用一个过程时,必须把实际参数传送给过程,完成形式参数与实际参数的结合,然后用实际参数执行调用的过程。因为在默认的情况下,变量都是通过“引用”传送给sub1过程,在这种情况下,可以通过改变过程中相应的参数来改变变量的值。过程Sub1的形参获得a,b的地址,此时x=5,y=4,在过程Sub1中,将x,即5的值赋给t,而将t\y的值赋给x,将t除以y的余数赋给y,此时x,y的值为1,1。
      [错解分析] 调用通用过程可以返回多个参数值。
      [考点链接] 过程调用、参数传递。

  • 第6题:

    下列Sub 过程中描述错误的是______。

    A.Sub 过程只能在窗体模块中定义

    B.Goto 语句不能用于Sub 过程

    C.Sub 过程只能在窗体模块中定义

    D.Sub 过程中不能嵌套定义Sub 过程


    正确答案:A

  • 第7题:

    以下程序的输出结果是( )。 include main()fint x=0; sub(&x,16,2); printf("%d\n",

    以下程序的输出结果是( )。

    include<stdio.h>

    main()

    fint x=0;

    sub(&x,16,2);

    printf("%d\n",x);

    }

    sub(int*a,int n,int k)

    {if(k<=n) sub(a,n/2,2*k);

    *a+=k;

    }


    正确答案:14
    14 解析:本题考查递归函数的调用。在主函数中调用sub(&x,16,2)函数,此时n=16,k=2,if语句的控制的条件k=n成立,所以执行下面的语句,调用sub(x,8,4),此时n=8,k=4,if语句的控制条件k=n成立,所以执行下面的语句,调用sub(x,4,8),此时n=4,k=8,if语句控制的条件k=n不成立,因此,最后得x=2+4+8=14。

  • 第8题:

    假定有如下的Sub过程:

    Sub Sub1(x As Single, y As single)

    t=x

    x=t / y

    y=t Mod y

    End Sub

    在窗体上画一个命令按钮,然后编写如下事件过程:

    Private Sub Command1_Click()

    Dim a As Single

    Dim b As Single

    a=5

    b=4

    Sub1 a,b

    Print a;b

    End Sub

    程序运行后,单击命令按钮,输出结果为

    A.54

    B.] 1]]1

    C.] 1.2]]5.4

    D.] 1.25]]1


    正确答案:D
    解析:Sub过程与Function过程最根本的区别是:Sub过程的过程参数名称不能有返回值,而Function过程能通过过程名称得到返回值。

  • 第9题:

    假定有如下的Sub过程:Sub Sub1 (x As Single, y As Single) t=x x = t/y y = t Mod yEnd Sub 在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Command1_ Click() Dim a As Single Dim b As Single a = 5 b = 4 Sub1 a, b Print a; b End Sub 程序运行后,单击命令按钮,输出结果为______。

    A.5 4

    B.1 1

    C.1.2 5.4

    D.1.25 1


    正确答案:D
    解析:本题重点是在子过程的调用过程中,虚实参数的传送问题,变量a和b按址传送,返回子过程的x和y值。

  • 第10题:

    若有如下程序: int sub() {static int n=1; int x=1; x*=n;n++; return x; } main() {int n,t=1; for(n=1;n<6;n++)t*=sub(); printf("%d\n",t); } 则程序运行后的输出结果是( )

    A.15

    B.120

    C.34560

    D.-30976


    正确答案: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题:

    单选题
    给定下列FORTRAN子程序如下:   SUBROUTINE SUB(K,A)   A=SQRT(K*K+1.0)   END   下列调用语句中正确的是()
    A

     CALL SUB(N,N)

    B

     CALL SUB(X,X)

    C

     CALL SUB(N,X*X)

    D

     CALL SUB(11,X)


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

  • 第13题:

    有如下SUB过程:

    Sub s(x As Single,y As Single)

    t=x

    x=t / y

    y=t Mod y

    End Sub

    在窗体上添加一个命令按钮,然后编写如下事件过程:

    Private Sub Form_Click()

    Dim a As Single

    Dim b As Single

    a=5

    b=4

    s a,b

    Print a,b

    End Sub

    则程序运行后,单击命令按钮,输出的结果为【 】 。


    正确答案:1.251
    1.25,1 解析:调用s过程,传入"a=5,b=4"。t=5 , x=5/4, 故x=1.25;y=5%4,故y=1。返回并输出(1.25,1)

  • 第14题:

    以下程序的输出结果是【 】。

    main()

    { int x=0;

    sub(&x,8,1);

    printf(“%d\n”,x);

    }

    sub(int *a,int n,int k)

    { if(k<=n)sub(a,n/2,2*k);

    *a+=k;

    }


    正确答案:7
    7 解析:在主函数中定义了一个变量x并赋初值0,然后执行函数调用语句,该语句的执行过程为sub(&x,8,1)调用sub(&a,4,2),sub(&a,4,2)调用sub(&a,2,4),sub(&a,2, 4)中由于24,所以if后面括号里的判断为假,递归结束,执行其后的*a+=k;语句此时 x=x+k=0+4=4,回退到上一层调用函数sub(&x,4,2)中,执行后面的语句,x=x+k= 4+2=6,再回推到最上一层调用函数sub(&x,8,1)执行后面的语句,x=x+k=6+1=7,所以最后输出7。

  • 第15题:

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

  • 第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题:

    有如下一个Sub过程: Sub mlt(ParamArray numbers()) n=1 For Each x In numbers n=n*x Next x Print n End Sub 在一个事件过程中如下调用该Sub过程: Private Sub Command1_Click() Dim a As Integer Dim b As Integer Dim c As Integer Dim d As Integer a=1 b=2 c=3 d=4 mlt a,b,c,d End Sub 该程序的运行结果为( )。

    A.12

    B.24

    C.36

    D.48


    正确答案:B

  • 第18题:

    有以下程序int sub(int n){ return(n%10+n/10); }main(){ int x,y; scanf("%d",&x); y=sub(sub(x)); printf("%d\n",y);}若运行时输入:248<回车>,程序的输出结果是


    正确答案:5
    在本题中,程序首先定义了一个返回类型为整型的sub函数,该函数带有一个整型变量的形参,函数体中只有一条返回语句,用来返回表达式n%10+n/10的结果。n%10部分的作用是求一个多位整数的个位数,而n/10是用来求一个多位整数的除个位数以外各位组成的新整数,如234,经过n/10处理后得到结果23。
    在主函数中,定义两个整型变量x和y,如果通过scanf语句从键盘给变量x输入一个初值248,然后嵌套调用sub函数,首先运行sub(248),返回的结果为8+24=32,然后运行sub(32),返回结果为2+3=5,并将该结果保存到变量y中,程序最后运行输出语句输出变量y的值,因此,程序最后的输出结果为5。

  • 第19题:

    假定有如下的Sub过程:

    Sub Sub1(x As Single,y As single)

    t=x

    x=t/y

    y=t Mod y

    End Sub

    在窗体上画一个命令按钮,然后编写如下事件过程:

    Private Sub Command1_click()

    Dim a As Single

    Dim b As Single

    a=5

    b=4

    Sub1 a,b

    Print a;b

    End Sub

    程序运行后,单击命令按钮,输出结果为

    A.

    B.

    C.

    D.


    正确答案:D
    解析:在调用通用过程时要注意的是参数的传递方式。本题中两个变量都是以传值方式传递。根据传值方式的定义不难计算出本题结果。

  • 第20题:

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

  • 第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题:

    在窗体中添加一个命令按钮,编写如下程序: 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题:

    在Sub过程中,可以用Return语句退出Sub过程。


    正确答案:正确

  • 第24题:

    单选题
    给定子例行程序如下  SUBROUTINE SUB(K,A)  B=K+2  A=A+B END 下列调用语句中正确的是()
    A

    CALL SUB(N,N)

    B

    CALL SUB(X,X)

    C

    CALL SUB(N+2,X)

    D

    CALL SUB(N,X+3)


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