更多“由dUMP生成TMP时,其甲基来源于N<sub>5</sub>,”相关问题
  • 第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!的程序是

    A.Private Sub Command1_Chck( ) n=5:x=1 Do x=x*i i=i+1 Loop While i<n Print x End Sub

    B.Private Sub Command1_Click( ) n=5:x=1:i=l Do x=x*i i=i+1 Loop While i<n Print x End Sub

    C.Private Sub Command1_Click( ) n=5:x=1:i=l Do x=x*i i=i+1 Loop While i<=n Print x End Sub

    D.Private Sub Command1_Click( ) n=5:x=1:i=l Dox=x*i i=i+1 Loop While i>n Print x End Sub


    正确答案:C
    解析:A中i一开始末被赋值,默认为0;B项中由于“in”的条件使得Do循环比应有循环次数少循环一次;选项D由于“i>n”这一条件,使得控制语句只能循环一次。

  • 第4题:

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

    A.Private Sub Command1 Click() n=5:x=1 Do x=x * I I=I + 1 Loop While I < n Print x End Sub

    B.Private Sub Command1_Click() n=5:X=1:I=1 Do X=X*I I=I + 1 Loop While I <n Print x End Sub

    C.Private Sub Command1_Click() n=5:X=1:I=1 Do X=X * I I=I + 1 Loop While I<=n Print X End Sub

    D.Private Sub Command1_Click() n=5:X=1:I=1 Do x=x * I I=I + 1 Loop While I>n Print X End Sub


    正确答案:C
    解析:n!=1×2×3×…×(n-1)×n,由于是累乘,因此x和i的初值都必须为1;其次就是循环执行条件的确定,由于使用的是While型循环,表示在满足条件时执行循环体中的代码,这里满足执行循环的条件应该是i=n。

  • 第5题:

    在窗体上画一个名称为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。值得注意的是:在函数的调用过程中,不要使用循环变量作为实参,否则会产生意想不到的结果。

  • 第6题:

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

  • 第7题:

    若要在子过程Procl调用后返回两个变量的结果,下列过程定义语句中有效的是( )。【考点5过程调用与参数传递】

    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
    本题考查VBA中参数传递的知识。在VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用,此时形参的变化不会返回到实参;若用ByRef声,说明此参数为传址调用,此时形参的变化将会返回到实参;若没有说明传递类型,则默认为传址传递。

  • 第8题:

    编写如下事件过程: Option Base 1 Private Sub Form Click() Dim x1()As Integer Dim i As Integer Dim s As Integer ReDim x1(3) For i = 1 To UBound(x1) x1(i)=i + 1 Next i Call sub1(x1) For i = 1 To UBound(x1) s = s + x1(i) Next i Print s End Sub Private Sub sub1(n()As Integer) Dim i As Integer ReDim Preserve n(5) For i = 3 To 5 n(i)=n(i-1)*2 Next i End Sub 程序运行后,单击窗体,则窗体上显示的内容是

    A.6

    B.12

    C.24

    D.47


    正确答案:D
    解析:在主过程中,数组x1的下标最大值为3,赋初值分别为2、3、4,通过实参和形参的调用,数组x1的值传给了数组n。在子过程中,数组n的下标最大值被重新定义为5,下标3~5的值计算的结果分别为6、12、24。在主过程中,将数组x1的各值相加得:2+3+6+12+24=47。

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

    执行下面的一段C程序后,输出结果变量应为______。
    sub (int x, int y, int *z) { *z=y-x; } main() { int a, b, c; sub (10, 5, &a); sub(7, a, &b); sub(a, b, &c); printf ("%d, %d, %d\n", a, b, c); }

    A. 5, 2, 3
    B. -5, -12, -7
    C. -5, -12, -17
    D. 5, -2, -7

    答案:B
    解析:
    本题考查C语言方面的基础知识。sub()函数的作用是将形参y和x的差值存入z指向的那个内存地址,所以在sub(10,5,&a)中,10和5属于值传递,a是属于地址传递,也就是a与z指向了同一个存储单元。在执行函数后,a的值随*z变化,所以,此次函数被调用后a的值为以y-x=-5。同理可知,执行sub(7,a,&b)后,b的值发生变化,其值为-5-7=-12。执行sub(a,b,&c)后,c的值发生变化,其值为-12-(-5)=-7。

  • 第11题:

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

  • 第12题:

    单选题
    给定子例行程序如下  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
    解析: 暂无解析

  • 第13题:

    以下程序的运行结果是

    sub(int x,int y,int *z)

    {*z=y-x;}

    main()

    { int a,b,c;

    sub(10,5,&a);

    sub(7,a,&b);

    sub(a,b,&c);

    printf("M,M,M\n",a,b,c);}

    A.5,2,3

    B.-5,-12,-7

    C.-5,-12,-17

    D.5,-2,-7


    正确答案:B

  • 第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 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。

  • 第16题:

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

    Sub abcd(ByValn As Integer)

    n=n+5

    End Sub

    Private Sub Form_Click()

    nx%=3

    Callabcd(nx%)

    Printnx%

    End Sub


    正确答案:3
    3

  • 第17题:

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

  • 第18题:

    下列程序是将数组a的元素倒序交换,即第1个变为最后一个,第2个变为倒数第2个,完成下列程序。

    Private Sub Backward(a())

    Dim i As Integer,Tmp As Integer

    Fori=1 To5

    Tmp=a(i)

    a(5-i)=Tmp

    Nexti

    End Sub


    正确答案:a(i)=a(5i)
    a(i)=a(5i)

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

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

    A.Pfivate Sub Commgld1_LClick() n=5:x=1 Do x=x*1 i=i+1 Loop Whilei<n

    B.Private Sub Command1_Click() n=5:x=1:i=1 Do x=x*1 i=i+1 Loop Whilei<n Print x End Sub

    C.Pfivate Sub Command1_ C1ick() n=5:x=1:i=1 Do X=X*1 i=i+1 Loop While i<=n

    D.Private Sub Command1_C1ick() n=5:x=1:i=1 Do X=X*1 i=i+1 Loop While i>n Print x End Sub


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

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

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

    填空题
    由dUMP生成TMP时,其甲基来源于N5,N10-甲烯四氢叶酸,催化脱氧胸苷转变成dTMP的酶是(),此酶在肿瘤组织中活性增强。

    正确答案: 胸苷激酶
    解析: 暂无解析