niusouti.com
更多“点在运动过程中,恒有a<sub>n</sub>=常量,a<sub”相关问题
  • 第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题:

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

    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。

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

    有如下一个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

  • 第6题:

    有以下程序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。

  • 第7题:

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

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

    以下能够正确计算n!的程序是( )。

    A.Private Sub Commandl_C1ick()

    B.hiVate Sub Commandl_C1ick() n=5:x=1 n=5:x=1:i=1 DO DO X=x*1 X=X*1 i=i+1 i=i+1 Loop while i<n Loop While<n Print x Ptinte x End Sub End Sub

    C.Private Sub Commandl_Click ()

    D.Pdvate Sub Commandl C1ick() n=5:X=1:i=1 n=5=:x=1:i=1 DO DO X=X*1 X=X*1 i=i+1 i=i+1 Loop While i>n Print x Print x End Sub End Sub


    正确答案:C
    解析:本题考查DoWhile语句的用法。首先我们知道n!=1×2×3×……×(n-1)×n,由于是累乘,因此x和i的初值都必须为l;其次就是循环执行条件的确定,由于使用的是While型循环,表示在满足条件时执行循环体中的代码,这里满足执行循环的条件应该是i=n。选项A和B的循环条件都是in,少了i=n的一次循环,实际上只执行了n-1次;而选项D则从i>n时才开始执行,不合题意;同时,选项B没有指定i的初值,系统会默认i;0,这也不合题意。本题正确答案为选项C。

  • 第10题:

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

  • 第11题:

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


    正确答案:正确

  • 第12题:

    单选题
    正态分布时,算术平均数、中位数、众数的关系为()
    A

    m<sub>0</sub><m<sub>e</sub><(x

    B

    m<sub>0</sub>=m<sub>e</sub>=(x

    C

    m<sub>0</sub>>m<sub>e</sub>>(x

    D

    m<sub>e</sub><m<sub>0</sub><(x


    正确答案: D
    解析:

  • 第13题:

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

  • 第14题:

    下面过程运行后,变量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。

  • 第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 过程中描述错误的是______。

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

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

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

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


    正确答案:A

  • 第18题:

    以下程序的输出结果是( )。 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。

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

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

  • 第22题:

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

  • 第23题:

    单选题
    给定下列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
    解析: 暂无解析

  • 第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
    解析: 暂无解析