相关试卷

  • 1、有如下VB程序段:

    n=Text1.Text:s=" "

    For i=1 To Len(n)

       c=Mid(n,i,1)

       If c>=“a”And c<=“z”Then

         p=1

       ElseIf c>=“A” And c<=“Z”Then

         p=2

       Else

         p=3

       End If

       a(p)=a(p)+1

       If a(p)=1 Then s=s+c

    Next i

    数组a中各元素的初始值都为0,文本框Text1的内容为“GoodLuck2018”。执行程序后,变量s的值为(  )

    A、Go2 B、GL2 C、GoLu D、GoLu2
  • 2、下列程序执行后文本框Text 1显示的内容是 (  )

    s="ERROR:Divisor must not be zero!"

    flag=False:m=0

    For i=1 To Len(s)

       ch=Mid(s, i, 1)

       If ch>="a" And ch <="z" Then

          If Not flag Then

             m=m+1:flag=True

          End If

       Else

          flag=False

       End If

    Next i

    Text1.Text=Str(m)

    A、4 B、5 C、6 D、19
  • 3、根据以下程序,在Text1文本框中输入3,最后在List1中输出的是 (  )

    Private Sub Command 1_Click()

    Dim i As Integer

    Dim t As Integer

    Dim s As String

    i=1:t=1:n=Text1.Text

    List1.Clear

    Do While t<=n

      s=s +"*"

      If i=t Then

        List1.AddItem s

        t=t +1

        i=0

      End If

      i=i+1

    Loop

    End Sub

    A、 B、 C、 D、
  • 4、斐波那契数列是指从第3项开始,每一项的值为前两项之和。如:1,1,2,3,5,8,13,…,下面程序用于求斐波那契数列的第n项的值:

    Dim f1 As long,f2As long,f As long

      n=Val(Text1.Text)

      f1=1

      f2=1

      For k=3 To n

       

      Next k

    Labell.Caption=“斐波那契数列第”+Str(n)+“项的值为”+Str(f)

    方框中的代码由以下三部分组成:

    ①f2=f         ②f1=f2        ③f=f1+f2

    代码顺序正确的选项是(  )

    A、①②③ B、③②① C、②③① D、②①③
  • 5、求1+(1+2)+…+(1+2+…+100)的值的VB程序段如下:

    Private Sub Command1_Click()

    Dim n As Integer, sum, sum 1 As Long

    sum=0:sum 1=0

     

    Next n

    Print "1+(1+2)+…+(1+2+…+100)="﹔sum1

    End Sub

    方框中的代码由以下三行组成:

    ①For n=1 To 100

    ②sum1=sum1 + sum

    ③sum=sum + n

    代码顺序正确的选项是(  )

    A、①③② B、②③① C、③②① D、②①③
  • 6、随机产生集合{-1,1}中任意一个数的VB表达式是(  )
    A、Int(Rnd*2)-1 B、Int(Rnd*3)-1 C、Int(Rnd*3)\2-1 D、Int(Rnd*2)*2-1
  • 7、变量a中存储了一个字符,能够正确判断该字符为数字字符“0”~“9”的VB表达式是(  )
    A、Asc(a)>=0Or Asc(a)<=9 B、“0”<=a<=“9” C、a<=“0” Or a>=“9” D、a>=“0” And a<=“9”
  • 8、Visual Basic表达式3+27\2Mod3*2,正确的值是(  )
    A、0 B、2 C、3 D、4
  • 9、已知字符型变量ch存放了一个大写字母,下列表达式能正确求得该字母在26个英文字母中序号的是(  )
    A、Asc(ch)-Asc(“A”)+1 B、Asc(ch)-Asc(“A”)-1 C、Asc(ch-“A”)+1 D、Asc(ch-“A”)-1
  • 10、在VB中,若x是能被7整除的正整数,则下列表达式的值一定为真的是(  )
    A、x Mod 7=0 B、X\7=0 C、Int(x/7)= 0 D、7 Mod x=0
  • 11、求半径为r的圆的面积,保留两位小数且四舍五入的表达式是(  )
    A、Int(3.14*r*r*10+0.5)/10 B、Int(3.14*r*r*100+0.5)/100 C、Int(3.14*r*r*1000+0.5)/1000 D、Int(3.14*r*2*100+0.5)/100
  • 12、下列VB表达式的值等于2018的是(  )
    A、Sqr(2000)+18 B、Mid(“2000”,1,2)+“18” C、Abs(-2014)+Len(“view”) D、Str(2000)+Str(18)
  • 13、某Visual Basic 程序的一个事件过程如下:

    Private Sub Command 1_Click()

      Dim r As Single

      Dim pi As Double

      r=100

      pi=3.14

      Label 1.Caption="圆面积为:"+pi * r * r

    End Sub

    运行程序,单击命令按钮Command 1后弹出如图所示的出错信息提示,引起该错误的语句是(  )

    A、Dim r As Single B、Dim pi As Double C、pi=3.14 D、Label1.Caption=“圆面积为:”+pi*r*r
  • 14、数组a中存储的是一组正整数,特征是:以三个数为一组,每组中任意一个数都比前面一组中的任意一个数要大;②每组中三个数依次递减;③数组中数的总个数为3的倍数。依据对分查找思想,设计一个在数组a中查找数据key的程序。实现该功能的VB程序如下,但加框处代码有错,请改正。

    Private Sub Command 1_Click()

      Const n = 15

      Dim a(1 To n)As Integer,search As Integer,key As Integer

      Dim i As Integer,j As Integer,m As Integer

      '读取一组正整数,按上述规则存入数组a中,代码略

      key = Val(Text1.Text)

      i = 1:j = n:search = 0

      Do While i <= j

        m =(i+j)\2

        If m Mod3<>0 Then m=      ‘⑴把m调整到三个数一组的最后一个数的位置

        If key = a m)Then

          search = m:Exit Do

        Elself key <a(m)Then

          j = m - 3

        Elself  Then    ‘⑵

          i= m + 1

        ElseIf key = a(m-2)Then

          search = m-2 :Exit Do

        ElseIf key = a(m- 1)Then

          search = m-1:Exit Do

        Else

          search = 0:Exit Do

        End If

      Loop

      If search <>0 Then

        Text2.Text = Str(search)

      Else

        Text2.Text ="找不到"

      End If

    End Sub

     ⑵ 

  • 15、对于一组升序不重复的正整数,在任意数字位置分成两段,并交换前后两段的位置,存入数组a。例如6、17、25、36、44、58,在数字6处分成两段,交换位置后为:

    a(1)

    a(2)

    a(3)

    a(4)

    a(5)

    a(6)

    6

    17

    25

    36

    44

    58

    在数字44处分成两段,交换位置后为:

    a(1)

    a(2)

    a(3)

    a(4)

    a(5)

    a(6)

    44

    58

    6

    17

    25

    36

    依据对分查找思想,设计一个在数组a中查找最小值,并输出在Text1中的程序,实现该功能的 VB程序如下,但加框处代码有错,请改正。

    Private Sub Commandl_Click()

    Const n = 6

    Dim a(1 To n)As Integer

    Dim i As Integer,j As Integer,m As Integer

    '读取数据,按上述规则存入数组a中,代码略

    i = 1:j = n

    If    Then Text1.Text = Str(a(i))   ‘⑴

      Do While i< = j

      m =(i+j)\2

      If a(m)<a(j)Then

            ‘⑵

      Else

        i = m + 1

      End If

    Loop

    Text1.Text = a(j)

    End Sub

     ⑵ 

  • 16、某对分查找算法的程序如下:

    Dim d(1To63)As Integer

    For i=1 To 63

      d(i)=i

    Next i

    s=0:i=1:j=63

    Key=Int(Rnd * 63)+1

    Do While i<=j

      m=(i+j)\2

      If Key=d(m)Then Exit Do

      If Key<d(m)Then

        j=m-1:s=2 * s

      Else

        i=m+1:s=2 * s+1

      End If

    Loop

    Label1.Caption=Str(s)

    若运行该程序段后,标签Label1中显示的结果是28,则查找的Key值是(  )

    A、28 B、29 C、57 D、58
  • 17、某对分查找算法的部分VB程序如下:

    i = 1:j = 12:k = 0:s = " "

    key = Val(Text1.Text):c = "N":flag = False

    Do While i< = j And flag = False

      m = (i+j+1)\2:k = k+1

      If key = a(m)Then c = "Y":flag = True

      If key>a(m)Then j = m-1 Else i = m+1

      s = s & Str(a(m))

    Loop

    Text2.Text = s:Text3.Text = c

    数组a(1)到a(12)的值依次为“99,91,85,76,68,61,53,42,34,27,20,13”,执行该程序段后,下列说法正确的是(  )

    A、该程序段只能进行两位正整数的查找 B、在文本框Text1中输入两位任意正整数,则k的值介于1和3之间 C、在文本框Text1中输入76,程序执行后变量i和j的值分别为1和6 D、若文本框Text2中显示了两个正整数,则文本框Text3中显示的内容一定是Y
  • 18、有如下程序段:

    Dim a(1 To 10)As Integer

    Dim i As Integer,j As Integer,m As Integer

    Dim key As Integer

    i= 1:j = 10:key = Val(Text1.Text)

    Do While i <=j

        m =(i + j)\2

        If key < a(m)Then

          j = m - 1

        ElseIf key > a(m)Then

          i = m + 1

        Else

          Do While m>1

            lf a(m - 1)= key Then

              m = m - 1

            Else

              Exit Do

            End If

          Loop

          Exit Do

        End If

    Loop

    数组中a(1)到a(10)依次为“1,1,2,3,3,3,3,4,4,4”,若在文本框Text1中输人3,经上述程序段执行后,变量m的值为(  )

    A、7 B、6 C、5 D、4
  • 19、有VB程序段如下:

    a(1)= 2:a(2)= 2:a(3)= 5:a(4)= 6:a(5)= 7

    Key=2

    i = 1:j =5:flag = False

    Do While i<= j And Not flag

      m=(i+j)\2

      If Key = a(m)Then

        s = "找到第" + Str(m)+"个"

        flag = True:Exit Do

      Elself Key < a(m)Then

        j = m - 1

      Else

        i = m + 1

      End If

      s = Str(m)+ s

    Loop

    Labell.Caption =s

    执行该程序段后,在标签Label1中显示的内容是(  )

    A、1 3 B、3 1 C、找到第1个 D、找到第2个
  • 20、有如下VB。程序段:

    i=1:j=10:n=0:Key=Val(Text1.Text)

    Do While i<= j

      m =(i+j)\2

      If a(m)<Key Then

        i = m+1:n = n+1

      Else

        j = m-1:n = n-1

      End If

    Loop

    数组元素a(1)到a(10)依次是33,42,48,57,69,71,75,89,91,96,在文本框Textl中输人89,则变量n的最终值为(  )

    A、2 B、1 C、0 D、-2
上一页 1353 1354 1355 1356 1357 下一页 跳转