niusouti.com
更多“有如下程序:Private Sub Command1_Click()a$="A WORKER IS OVER THERE"x=Len(a $)For i=1 To x-1 ”相关问题
  • 第1题:

    在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Sum=0 For x=1 To 5 Call subl(x, s) Sum=Sum+s Next x Print Sum End Sub Private Sub subl(y, w) w=1 For i=1 To y w=w*i Next i End Sub 程序运行后。单击命令按钮,则窗体上显示的内容是______。

    A.5

    B.120

    C.153

    D.160


    正确答案:C
    解析:由于参数y、w是ByRef的参数,称为“引用”,所以在过程Subl中改变的值是带回到调用的地方的,因此Sum结果是5次Subl计算结果的和,即sum=(1+2+6+24+120)=153。本题答案为153。

  • 第2题:

    (7)在窗体上画一个命令按钮,其名称为 Command1,然后编写如下事件过程:

    Private Sub Command1_Click( )

    a$="National Computer Rank Examination"

    n=Len(a$)

    s=0

    For i=1 To n

    b$=Mid(a$, i, 1)

    If b$="n" Then

    s=s+1

    End If

    Next i

    Print s

    End Sub

    程序运行后,单击命令按钮,输出结果是 【7】 。


    正确答案:

    (7)【答案】4
    【解析】此题实际上是从左自右逐个提取a$中的字符,判断是不是等于“n”,统计其中“n”的个数。

  • 第3题:

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

    Private Sub Command1_Click()

    Dim Y as String

    X=5

    Y=X & Space(3) & X

    Print X;

    Print Trim(Y);Len(Trim(Y))

    End Sub

    该程序的执行结果是【 】。


    正确答案:□5□5□□□5□5
    □5□5□□□5□5

  • 第4题:

    有如下程序:

    Private Sub Command1_Click()

    j =10

    For i= -1 To 1 Step 0.3

    j =j + 1

    Next i

    Print j

    End Sub

    该程序共循环【 】次,程序执行完毕后j的值是【 】。


    正确答案:7 17
    7, 17

  • 第5题:

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

  • 第6题:

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

    A.Privas 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
    解析:本题主要考查Do循环控制结构。只有C项符合题意。A中i一开始未被赋值,默认为0;B项中由于“in”的条件使得 Do循环比应有循环次数少循环一次;选项D由于“i>n”这一条件,使得控制语句只能循环一次。

  • 第7题:

    编写如下事件过程: 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是传址引用的,可以直接返回处理结果。

  • 第8题:

    在窗体上画一个命令按钮,名称为Command1。然后编写如下程序: Private Sub Command1_Click() Dim a As Integer,b As Integer,c As Integer If a=0 Then x=x-1 Else If b<>0 Then End If End If If c<>0 Then x=3 Else x=4 End If Print x End Sub 程序运行后,单击命令按钮,其输出结果为 ______。

    A.34

    B.4

    C.35

    D.3


    正确答案:B
    解析:本题先定义了三个变量a、b和c,由于没有给它们赋值,因此他们的值都为0。接着执行后面的If语句,条件“a=0”为True,执行“x=x-1”后x的值为-1。接着执行第二个If语句,判断条件“c>0”为False,执行Else后面的语句后x的值为4。所以最后输出x的值为4。

  • 第9题:

    下列程序的执行结果为 Private Sub Command1_Click() Dim FirStr As String FtrSt="abcdef" Print Pat(FirStr) End Sub Private Function Pat(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,1)+Mid(xStr,strLen -i+1,1) i=i+1 Loop Pat=tempStr End Function

    A.abcdef

    B.afbecd

    C.fedcba

    D.defabc


    正确答案:B
    解析:主调函数最终输出值是Pat(FirStr)过程的返回值,这就需要调用函数过程Pat。
      被调过程Pat的参数xStr从主调函数中收到实参FirStr传来的值"abcdef",过程Pat开始声明了两个变量:一个是String型的tempStr;一个是Integer型的strLen。语句ternpStr=""。
      strLen=Len(xStr)以上两条语句的功能是:为变量tempstr赋空值,变量strkn的值就是xstr的长度,此题为6。程序代码执行Do While…Loop的循环语句:
      第1次循环结束后,tempStr="af";
      第2次循环,i=2,i=3成立,继续执行循环体,tempStr="afbe";
      第3次循环,i=3,i=3成立,继续执行循环体,tempStr="afbecd";
      第4次循环,i=4,i=3不成立,则跳出循环体,执行语句Pat=tempStr。所以最终Pat(FirStr)=“afbecd”。

  • 第10题:

    编写如下程序: Private Sub Command1_Click() x="abcd" y="1234" For i=1 To 4 z=z+Mid(x,i,1)+Left(y,1) Next i Print z End Sub 程序运行后,单击命令按钮,则窗体上显示的内容是

    A.abcd1234

    B.a1b2c3d4

    C.a1b1c1d1

    D.1234abcd


    正确答案:C
    解析:在4次循环过程中,利用Mid函数从x字符串中逐个获取的是a、b、c、d,Left函数从y字符串中逐个获取的是1、1、1、1,用“+”号将它们连接起来,就得到了答案C。

  • 第11题:

    下列程序的执行结果为 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.

  • 第12题:

    执行下面的程序段,x的值为 Private Sub Command1_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循环首先把初值赋给循环变量,接着检查循环变量的值是否超过终值,如果超过就停止执行循环体,跳出循环体,执行Next后面的语句;否则执行一次循环体,然后把循环变量+步长的值赋给循环变量,重复上述过程。据此如果For循环的终值等于初值,For循环也会执行一次循环。本题中当For执行第五次循环后,i的值为5,此时系统还会返回,令i=5+1并判断此时的i值是否大于5,大于5,故退出循环体。所以此时的i值为6,故选B。

  • 第13题:

    有如下程序:

    Private Sub Command1_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

  • 第14题:

    在窗体中添加一个名称为Command1的命令按钮,然后编写如下程序:

    Private Sub f(ByVal x As Integer)

    x=x+4

    End Sub

    Private Sub Command1_Click()

    i=3

    Call f(i)

    If i>4 Then i=i*2

    End Sub

    窗体打开运行后,单击命令按钮,则消息框的输出结果为( )。


    正确答案:3
    3 解析: 本题考查VBA中参数传递的知识。在VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用;若用ByRef声明,说明此参数为传址调用;没有说明传递类型,则默认为传址传递。本题中在定义子过程f的时候用ByVal声明了形参x,说明为传值调用,此时对x的任何更改不会影响调用它的实参i,所以执行完callf(i)这条语句后i的值不变仍为3,当然也不满足If语句的条件,故此最后输出结果为3。

  • 第15题:

    下列程序的执行结果为 Private Sub Command1_Click Dim FirStr As String FirSt="abcdef" Print Pat(FirStr. End Sub Private Function Pat(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, 1)+Mid(xStr, strLen -i+1, 1) i=i+1 Loop Pat=tempStr End Function

    A.abcdef

    B.afbecd

    C.fedcba

    D.defabc


    正确答案:B

  • 第16题:

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

  • 第17题:

    以下能够正确计算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时才开始执行,不合题意。

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

    以下能够正确计算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。注意: Do…Loop While循环控制结构是先执行循环体语句,然后再判断条件。—因此,不管条件如何,该循环语句至少执行一次循环体。注意:Do…Loop Until、Do…Loop While循环控制结构。

  • 第20题:

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

    A.Private Sub Commeadl_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 Whilei<=n Print x End Sub

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


    正确答案:C
    解析:选项A中变量i没有赋初值操作,其一直保持0值,所以始终为0;选项B中循环条件“i>n”错误,计算一次后就退出循环,导致计算结果不正确;选项D的计算过程中,第1次计算时“1>4”的条件不处理,退出Do循环,其结果为1;选项C的计算结果为5!。

  • 第21题:

    以下能够正确计算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循环只能进行一次。

  • 第22题:

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

  • 第23题:

    在窗体上画一个命令按钮,名称为Command1。然后编写如下程序: Private Sub Command1_Click() Dim a As Integer,b As Integer,c As Integer If a=0 Then x=x-1 Else If b<>0 Then End If End If If c<>0 Then x=3 Else x=4 End If Print x End Sub程序运行后,如果单击命令按钮,则在窗体上显示的内容是( )。

    A.34

    B.4

    C.35

    D.3


    正确答案:B
    解析:本题先定义了三个变量a、b和c,由于没有给它们赋值,因此它们的值都为0。接着执行后面的If语句,条件“a=0”为True,执行“x=x-1”后x的值为-1。接着执行第二个If语句,判断条件“c>0”为False,执行Else后面的语句后x的值为4。所以最后输出x的值为4。