itgle.com
更多“9.程序执行结果s的值是 [9] 。 Private Sub Commandl_Click() i = 0 Do i = i + l ”相关问题
  • 第1题:

    下列程序的执行结果是 Function P(N As Integer) For i=1 To N Sum=Sum+i Next i P=Sum End Function Private Sub Commandl_Click() S=P(1)+P(2)+P(3)+P(4) Print S End SubA.15 B.16 C.20 D.25


    正确答案:C
    【解析】本题主要考查函数返回值引用的方法。在引用函数时,只需应用该函数名即可。题中程序运算过程为:S=P(1)+P(2)+P(3)+P(4)→S=1+3+6+10=20。

  • 第2题:

    请教:2011年全国计算机等级考试二级VB全真模拟试卷(3)第2大题第5小题如何解答?

    【题目描述】

    第 40 题

    9.程序执行结果s的值是[9]

    Private Sub Commandl_Click()

    i = 0

    Do

    i = i + l

    s = i + s

    Loop Until i > = 4

    Print s

    End Sub

     

     


    【参考答案分析】:

    97

  • 第3题:

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

    Private Sub Commandl_Click( )

    Dim a(1 To 20)

    Dim i

    Fori = 1 To 20

    a(i) = i

    Next i

    For Each i In a( )

    a(i) = 20

    Next i

    Print a(2)

    End Sub


    正确答案:20
    20 解析:For Each... Next语句是针对数组和集合中的每一个元素进行一次操作的语句组合。本题定义了一个数组,然后利用For循环将1-20赋给数组元素,又利用For Each... Next语句将数组的每一个元素定义为20,故输出结果为20。

  • 第4题:

    以下能够正确计算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”这一条件,使得控制语句只能循环一次。

  • 第5题:

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

    A.Private Sub Command1_Click( ) n=5:x=l 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_Cliek( ) 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_Cliek( ) n=5:x:1:i=1 Do x=x*i i=j+1 Loop While i > n Print x End Sub


    正确答案:C
    解析:本题考查DoLoop语句的用法。首先是执行循环体,再确定循环执行的条件,这里满足执行循环的条件应该是i=n,选项A和B的循环条件都是in,少了i=n的一次循环,实际上只执行了n-1次;而选项D则从i>n时才开始执行,不合题意。

  • 第6题:

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

    Private Sub Form_Click()

    i=0

    Do Until 0

    i=i+1

    if i>10 then Exit Do

    Loop

    Print i

    End Sub


    正确答案:11
    11 解析:本题主要考查Do循环语句。循环条件Do Until 0可得知这是一个无限循环,要跳出此循环,只有在循环体里面使用相关的语句。这里用的是Exit Do,从程序上看出,跳出循环的条件是i>10,而i是从0开始,每次循环加1。所以,跳出循环时i的值应该为11。

  • 第7题:

    下列程序的输出结果是______。

    Private Sub Commandl_Click()

    Dim alt(1 To 10)

    Fori=1 To 10

    arr(i) =I

    Next i

    For Each i In arr()

    arr(i) =arr(i) *2+1

    Next i

    MsgBox arr(7)

    End Sub


    正确答案:15
    15 解析: 本题考查VBA中For Each...Next循环的知识。For Each...Next循环是一种特殊的循环,这种循环只能用在数组中,用来遍历数组中的每一个元素。本题中的第一个循环为数组的每个元素赋值,而第二个循环中更改了这些值。综合两个循环来看,实际上最后arr(i) 的值为2*i+1。

  • 第8题:

    下面程序运行后,输出结果是( )。 Private Sub mysub(b()As Integer,OptionalByValnAsInteger=2) ForI=1 to 4 b(I)=n*I NextI End Sub Private Sub Commandl_Click() Dima(1 to 4)As Integer,I As Integer Callmysub(a(),5) Mysuba() ForI=1 to 4 Prin

    A.5101520

    B.2468

    C.出错

    D.0000


    正确答案:B

  • 第9题:

    单击窗体时,下列程序的执行结果是 Private Sub Invert(By Val xstr As String,ystr As String) Dim tempstr AS String Dim I AS Integer I=Len(xstr) Do While I>=1 tempstr=tempstr + Mid(xstr,I,1) I=I - 1 Loop ystr=tempStr End Sub Private Sub Form_Click( ) Dim s1 As String,s2 As String S1="abcdef" Invert S1,S2 Print S2 End Sub

    A.abcdef

    B.afbecd

    C.fedcba

    D.defabc


    正确答案:C
    解析:Invert(ByValxstrAsString,ystrAsString)的作用是将参数xstr的字符逆序处理,然后赋值给ystr,而ystr是按地址引用的,可以直接返回处理结果。

  • 第10题:

    以下能够正确计算1+2+3+…+10的程序是

    A.Private sub Command1_Click( ) sum=0 For 1=1 To 10 Sum=sum+1, Next I Print Sum End Sub

    B.Private sub Command1_Click( ) Sum=0,I=1 Do While l<=10 Sum=Sum+1 I=I+1 Print Sum End Sub

    C.Private Sub command1_click( ) Sum=0:I=1 Do Sum=Sum+1 I=I+1 Loop While I<10 Print Sum End Sub

    D.Private Sub command1_Click( ) Sum=0:I=1 Do Sum=Sum+1 l=I+1 Loop Until I<10 Print Sum End Sub


    正确答案:A
    解析:A选项进行10次循环,分别将1至10累加给Sum,故正确。选项B缺少Loop关键词,否则也是正确的。选项C与D由于受条件“Iclo'’限制,Do循环只能进行一次。

  • 第11题:

    有如下程序: Private Sub Commandl_Click( ) a$="A WORKER IS HERE" x=Len(a$) For i=1,To x-1 b$=Mid$(a$,i,3) If b$="WOR" Then S=S+1 Next Print S End Sub 单击命令按钮,程序运行结果为

    A.1

    B.2

    C.3

    D.5


    正确答案:A
    解析:此题考查了字符串函数与循环语句的嵌套使用,s用来记录找到指定字符串的次数,在“AWORKERISHERE”中,只出现一次,所以返回值是1。

  • 第12题:

    以下能够正确计算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。

  • 第13题:

    在窗体上有一个命令按钮Commandl,通用过程fun和命令按钮的事件过程如下: Private Function fun(By m As Integer) If m Mod 2=0 Then fun=2 Else Fun=1 Else If End Funcion Private Sub Commandl_Click() Dim i Integer,s As Integer s=0 For i=1 To 5 s=s+fun(i) Next Print s End Sub 程序运行后,单击命令按钮,则窗体上输出A.6 B.7 C.8 D.9


    正确答案:B
    【解析】本题比较简单,只要根据程序的执行条件和顺序就可以运算出该程序的最后输出结果。程序运算过程为:当i=1时,s=s+fun(i)=1;当i=2时,s=s+fun(i)=3;当i=3时,s=s+fun(i)=4;当i=4时,s=s+fun(i)=6;当i=5时,s=s+fun(i)=7。

  • 第14题:

    在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Commandl_Click() Dim a() a=Array(1,3,5,7) s=0 For i=1 To 3 S=S*10+a(i) Next i Print s End Sub 程序运行后,输出结果为( )。

    A.135

    B.357

    C.531

    D.753


    正确答案:B
    解析:Dima()是定义一个动态数组,Array是给一维数组赋初值的函数。For循环控制的初值从1开始,可见s(i)的取值依次是3,5、7,而不是1、3、5。执行s=s*10+a(i)语句后的最后结果为357,所以程序运行的结果是选项B。

  • 第15题:

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

    Private Sub Form_Click()

    i=0

    Do Until 0

    i=i+1

    if i>10 then Exit Do

    Loop

    Print i

    End Sub


    正确答案:11
    11 解析:这题主要考察的是Do循环语句。看循环条件Do Until 0,得到这是一个无限循环,要跳出此循环,只有在循环体里面使用相关的语句。这里用的是Exit Do
    从程序上看出,跳出循环的条件足i>10,而i是从0开始,每次循环加1。所以,跳出循环时i的值应该为 11。

  • 第16题:

    执行下面的程序段,x的值为 Private Sub Commandl_Click() For i=1 To 5 a=a+i Next i x=Val(i) MsgBox x End Sub

    A.5

    B.6

    C.7

    D.8


    正确答案:B
    解析:本题考查For循环控制语句,做好此题的关键是掌握For循环语句的执行过程。For循环首先把初值赋给循环变量,接着检查循环变量的值是否超过终值,如果超过就停止执行循环体,跳出循环,执行Next后面的语句;否则执行一次循环体,然后把循环变量+步长的值赋给循环变量,重复上述过程。据此如果For循环的终值等于初值,For循环也会执行一次循环。本题中当 For执行第五次循环后,i的值为5,此时系统还会返回,令i=5+1并判断此时的i值是否大于5,大于5,故退出循环体。所以此时的i值为6,故选B。本题一般考生很容易选择A,值得关注。

  • 第17题:

    单击一次命令结束后,下列程序的执行结果是 Private Sub Commandl_Click( ) s=Sat(1)+Sat(2)+Sat(3)+Sat(4) Print s End Sub Public Function Sat(N As Integer) Static Sum For i=1 To N Sum=Sum+i Next i Sat=Sum End Function

    A.15

    B.25

    C.35

    D.45


    正确答案:C
    解析:在被调用过程中,有这样的语句“StaticSum”,因为变量Sum是局部变量,局部变量除了可以用Dim语句声明外,还可用Static语句将变量声明为静态变量,它在程序运行过程中可保留变量的值。具体过程分析如下:调用Sat(1),在被调过程中N=1,执行ForNext循环,Sat(1)=Sum=1;调用sat(2),在被调过程中N=2,执行ForNext循环,Sat(2)=Sum=4;调用Sat(3),在被调过程中N=3,执行ForNext循环,Sat(3)=Sum=10;调用Sat(4),在被调过程中N=4,执行ForNext循环,Sat(4)=Sum=20;不难看出,最后输出的结果S值应为1+4+10+20=35,所以选项C)是正确的。

  • 第18题:

    以下能够正确计算1+2+3+…+10的程序是

    A.Private Sub Command1_Click() Sum=0 ForI=1 To 10 Sum=Sum+I Next I Print Sum End Sub

    B.Private Sub Command1_Click() Sum=0,I=1 Do While I<=10 Sum=Sum+I I=I+1 Print Sum End Sub

    C.Private Sub Command1_Click() Sum=0: I=1 Do Sum=Sum+I I=I+1 Loop While I<10 Print Sum End Sub

    D.Private Sub Command1_Click() Sum=0: I=1 Do Sum=Sum+I I=I+1 Loop Until I<10 Print Sum End Sub


    正确答案:A
    解析:本题考查For循环与 Do循环控制语句。A选项进行10次循环,分别将1之10累加给Sum,故正确。选项B缺少Loop关键词,否则也是正确的。选项C与D由于受条件“lclo”限制,Do循环只能进行一次。

  • 第19题:

    下列程序运行后的输出结果是______。Private Sub f(k,s) s = 1 for j = 1 To k s=s*j Next jEnd SubPrivate Sub Command1_ Click () Sum = 0 for i = 1 To 3 Call f(i, s) Sum = Sum + s Next i Print Sum End Sub

    A.0

    B.3

    C.6

    D.9


    正确答案:D
    解析:本题重点是在于过程的调用过程中,虚实参数的传送问题,变量s按址传送。子过程m求n! sum的计算过程为“1!+2!+3!=1+2+6=9”。

  • 第20题:

    下面的程序运行结果是( )。 Private Sub Form_Click() I=0 DoUntil0 i=i+1 if i>10 then Exit Do Loop Printi End Sub

    A.0

    B.10

    C.11

    D.出错


    正确答案:D

  • 第21题:

    下列程序的执行结果为 Private Sub Command1_C1ick( ) Dim sl As String,s2 AS String s1="abcdef" Call lnvert(s1,s2) Print s2 End Sub Private Sub lnvert(ByVal xstr As String,ystr As String) Dim tempstr As Stdng i=Len(xstr) Do While i>=1 tempstr=tempstr+Mid(xstr,i,1) i=i-1 Loop ystr=tempstr End Sub

    A.fedcba

    B.abcdef

    C.afbecd

    D.defabc


    正确答案:A
    解析:被调过程Invert的参数xstr,ystr从主调函数中收到实参s1,s2传来的值"abcdef",过程Invert开始声明了两个变量,都是String型的:xstr,ystr。2=Len(xstr)以上语句的功能是:i的值就是xstr的长度,此题为6。程序代码执行DoWhile...Loop的循环语句。循环体为tempstr=tempstr+Mid(xslr,i,1),其中变量是1,由15=Len(xstr)开始的,每循环一次减1,……;此程序段的最后输出的是字符串s1的反向输出。

  • 第22题:

    下列程序的执行结果为 Ptivate Sub Commandl_Click() Dim FirStr As String FirStr="abcdef" Print Pct (FirStr) End Sub Private Function Pct(xStr As String)As String Dim tempStr As String,strLen As Integer tempStr="" strLen=Len(xStr) i=1 Do While i<=Len(xStr)-3 tempStr=tempStr + Mid(xStr,i,l) + Mid(xStr,strLen - i+i ,1) i=i + 1 Loop Pct=tempStr End FunCtion

    A.abcdef

    B.afbecd

    C.fedcba

    D.defabc


    正确答案:B
    解析:主调函数最终输出值是Pct(FirStr)过程的返回值,这就得调用函数过程Pct。被调过程Pct的参数xStr从主调函数中收到实参FirStr传来的值“abcdef”,过程Pct开始声明了两个变量,一个是String型的tempStr,一个是Integer型的strLen。语句tempStr=""和strLen=Len(xStr)的功能是,为变量tempStr赋空值,变量strLen的值就是xstr的长度,此题为6。程序执行DoWhile…Loop的循环语句的过程如下:第一次循环,I=l,I=3成立,执行语句tempStr+Mid(xStr,i,1)+Mid(xStr,strLen-i+1,1);第二次循环,1=2,I=3成立,继续执行循环体,tempStr=“afbe”;第三次循环,I=3,I=3成立,继续执行循环体,tempStr=“afbecd”;第四次循环,I=4,I=3不成立,则跳出循环体,执行语句Pct=tempStr。所以最终Pct(FirStr)="afbecd"。

  • 第23题:

    下列程序的执行结果为 Private Sub Command1_Click() Dim s1 As String,s2 As String S1;="abcdef" Call Invert(s1,s2) Print s2 End Sub Private Sub Invert (ByVal xstr As String,ystr As String) Dim tempstr As String i=Len(xstr) Do While i>=1 tempstr=tempstr+Mid(xstr,i,1) i=i-1 Loop ystr=tempstr End Sub

    A.fedcba

    B.abcdef

    C.afbecd

    D.defabc


    正确答案:A
    解析:被调过程Invert的参数xstr,ystr从主调函数中收到实参s1,s2传来的值“abcdef”,过程Invert开始声明了两个变量,都是String型的:xstr,ystr。I=Len(xstr)以上语句的功能是:i的值就是xstr的长度,此题为6。程序代码执行DoWhile…Loop的循环语句。循环体为tempstr=tempstr+Mid(xstr,i,1),其中变量是I,由I=Len(xstr)开始的,每循环一次减1,……;此程序段的最后输出的是字符串s1的反向输出,所以正确答案是选项C.