类、对象、属性、方法、事件和事件处理的概念及应用 知识点题库

一个VB工程的部分设计界面如下图所示:

下列选项正确的是(   )。

A . 窗体的Caption属性值是“对象” B . 窗体文件名是“Form1.frm” C . 当前选中对象的名称是“Shape” D . 工程的名称是“工程1”
若改变一文本框中所显示文本的颜色,需改变此文本框的哪个属性?(   )
A . Caption B . Forec olor C . Backcolor D . Text
以下选项中,不是Visual Basic控件的是(   )
A . 文本框 B . 定时器 C . 窗体 D . 命令按钮
能显示窗体的方法是(   )
A . Visible B . Show C . New D . Open
某种编码以4位二进制码为一组,每组前两位表示方向,后两位表示距离。编写一个程序,将编码翻译成方向和距离,距离值为每组编码后两位二进制码转换为十进制数的值。具体功能如下:在文本框Text1中输入输入连续多组编码,单击“翻译”按钮Command1,结果显示 在列表框List1中。程序运行界面如图所示。

  1. (1) 要使程序运行时,文本框Text1的Width属性值为2018,可在Form_Load事件过程中添加语句(单选,填字母:A .Width = 2018 / B .Text1.Width="2018/ C .Width.Text1=2018)。
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Command1_Click()

      Dim s As String, c As String, d As String

      Dim n As Integer, b1 As Integer, b2 As Integer, v As Integer, i As Integer

      s = Text1.Text: n = Len(s): i = 1

      Do While i <= n

        c = Mid(s, i, 2)

        If c = "00" Then

          d = "东"

        ElseIf c = "01" Then

          d = "南"

        ElseIf c = "10" Then

          d = "西"

        Else

          d = "北"

        End If

        b1 = Val(Mid(s, i + 2, 1))

        b2 = Val(Mid(s, i + 3, 1))

        v =

        List1.AddItem d + " " + Str(v)

       

      Loop

    End Sub

  3. (3) 若文本框Text1中输入内容为“1111”,单击“翻译”按钮后,在列表框List1中显示的内容是
使用“字符洗牌”程序模拟扑克洗牌的操作,为了打乱牌序,把手上的扑克牌中间抽一部分放到最上面,完成一次洗牌(如字符串“1234ABCD”,若把中间的第3 个到第5个字符抽出并保持原来的顺序放到最前面,则一次“洗牌”操作后字符串变成“34A12BCD”),也可以把扑克牌分成上下两部分,把下面的部分放置到上面(如字符串“1234ABCD”,把第3 个字符到最后一个字符移到前面,变成“34ABCD12”),多次重复做这个动作,就能达到洗牌的目的,效果如图所示。

  1. (1) 若要把窗体的标题名称由“Form1”改为“字符洗牌”,应改变窗体的属性。
  2. (2) 完成上述功能的程序代码如下,请在划线处填入合适的代码。

    Private Sub Command1_Click()

     Dim r As Integer, k1 As Integer, k2 As Integer

     Dim s As String, n As Integer

         ‘从文本框TxtIn 中获取字符串

     Randomize

     r = Int(Rnd() * 10) + 1    ‘随机生成洗牌次数

     n = Len(s)

     Do While r >= 1    ‘洗牌操作

      k1 = Int(Rnd() * (n - 2)) + 2

      k2 = Int(Rnd() * (n - k1 + 1)) + k1

      s = + Mid(s, 1, k1 - 1) + Mid(s, k2 + 1, n - k2)

      r = r - 1

     Loop

     = s       ‘输出结果

    End Sub

  3. (3) 若加框处的语句改为TxtOut.Text = Str(s),则运行程序时会发生的错误消息为

窗体的标题属性是(  )。
A . NAME B . CAPTION C . LEFT D . TOP
编写VB程序,实现如下功能:在文本框Text1中输入十进制整数,单击“转换”按钮后,在标签上分别输出该整数对应的进制转换结果,运行效果如下图所示:

  1. (1) 根据程序可知,“转换”按钮的对象名是
  2. (2) 请在划线处填入合适的代码。

    Function chg 10(a As Integer, m As Integer) As String

    Dim k As Integer, p As Integer

    Dim temp As String

    Dim x As String

    x = "0123456789ABCDEF"

    k=n

    Do While   ①  

      p=k Mod m

        ②  

      k=k\m

    Loop

    chg10=temp

    End Function

    Private Sub Cmrd1_Click()

      Dim a As Integer

    a= Val(Text1.Text)

      Label5.Caption = chg10(a, 2)

      Label6.Caption = chg10(a, 8)

      Label7.Caption = chg10(a, 16)

    End Sub

  3. (3) 运行该程序,若在文本框Text1中输入整数"159",转换后在标签Label6中显示的结果是
小李利用所学的VB知识,编写了一个简单计算器:在文本框Text1中输入一个加减算式(只包含数字和“+”“一”符号,以“=”结束),点击“计算”按钮 Command1,计算结果在标签 Label上显示,程序运行界面如图所示。

  1. (1) 要实现程序运行时,单击文本框Text1即可将文本框清空,则应在

    (A .Command1_Click        B .Form_load     C .Text1_Click)事件处理过程中添加语句 Text1. Text=“”。

  2. (2) 实现上述功能的VB程序如下,请在画线处填入合适的代码。

    Private Sub Command1_Click(  )

      Dim s As String, ch As String, sum As Integer

      Dim fh As Integer

      s= Text1.Text:fh=1:p=0:sum =0

      For i= 1 To Len (s)

        ch= Mid(s, i, 1)

        If ch>="0"And ch <="9" Then

          p=   ①  

        Else

          sum=   ②  

          p=0

          If ch ="—"Then

            fh=-1

          Elself ch ="+" Then

            fh=1

          End If

        End If

      Next i

      Labell. Caption= Str(sum)

    End Sub

     ② 

  3. (3) 若文本框Text1中输入的内容为“12*10=”(不包括双引号),单击“计算”按钮后,标签 Label1上将显示(A .120    B .22        C .0        D .程序出错无法显示)
十进制数转二进制数,并统计二进制数中数字“1”的个数。程序功能如下:在文本框text 1中输入一个十进制正整数n(n<=32767),单击“运行”按钮Com 1后,在标签Label 2中显示二进制数,并在标签Label 3中显示二进制数中数字“1”的个数。程序运行界面如下图所示:

Private Sub Com 1_Click()

    Dim m As integer, sum as integer, r as integer   

    Dim s as string

    If Val(Text 1.Text) > 32767 then

        Label 2.caption=“请重新输入1个不超过32767的正整数!”

    Else

        m=val(text 1.text) :sum=0:s=“”

        Do while m> 0

          r=m mod 2

          

          sum=sum+r

           ① 

        Loop

        Label 2.caption=”二进制数为:”+s

        Label 3.caption=”二进制数中1的个数:”+

    End if

End sub

  1. (1) “运行”上面的文字是修改按钮的哪个属性(单选,填字母:A .text/B .caption/C .name/D .enabled)
  2. (2) 代码“Private Sub Coml_Click() ”中的Click是。(单选,填字母:A .对象名/B .属性名/C .事件名/D .方法名)
  3. (3) 加框处代码有错误,请改正
  4. (4) 请在划线处填入合适的代码

     

  5. (5) 若在文本框Text 1中输入“40000”(不包括双引号),则运行程序后,Label 2中显示的内容为
VB程序中Label1.caption="您好",其作用是(    )。
A . 将文本框Label1的名称设置为 "您好" B . 将文本框Label1显示的文本设置为 "您好" C . 将标签Label1的名称设置为 "您好" D . 将标签Label1显示的文本设置为 "您好"
某密文是由一串数字加密得到,其解密规则是:①对连续重复的大写字母,仅保留1个;②在去重后的文本中,从首字符开始间隔5个字符取1个,依次连接取出的字符,即为明文。

编写解密的VB程序,功能如下:在文本框Text1中输入密文,单击“解密”按钮Command1,在文本框Text2中显示去重后的文本,并在标签Label1中显示明文。程序运行界面如图所示。

图片_x0020_100007

  1. (1) 命令按钮Command1上显示的“解密”文字,是通过修改该按钮的(单选,填字母:A .Font/ B .Caption/ C .BackColor)属性实现的。
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Command1Click( )

        Dim s1 As String, s2 As String, c As String, mw As String

        Dim i As Integer

        s1= Text1.Text

        s2 = Mid(s1, 1, 1)

        For i=2 To

            c=Mid(s1, i, 1)

            If c>="A" And c<= "Z" Then

            IfThen s2 =s2 +c

            Else

                s2 =s2+c

            End If

        Next i

        mw=“”

        i=6

        Do While i<= Len(s2)

            mw = mw + Mid(s2, i, 1)

           

        Loop

        Text2. Text= s2

        Label1. Caption =mw

    End Sub

如图是 Visual Basic窗体中某对象的属性窗口,从图中可以看出,该对象所属的类名是(    )

A . Lb1 B . Caption C . Label D . welcome
在VB中下列关于对象的描述错误的是(    )
A . 对象的属性用于描述对象的状态 B . 对象的属性与方法可以有多个 C . 对象的属性值只能在属性窗口中设置 D . 对象事件的发生会驱动该对象相应事件处理过程的执行
编写“输出所有子串”程序,实现如下功能:在文本框Text1中输入字符串,在列表框List1中输出该字符串的所有子串并输出子串的总数。程序运行界面以及工程资源窗口如下图所示。

  1. (1) 观察上图,该程序中的窗体对象名为(单选,填字母:A .求所有子串/B .Form1/C .子串.frm/D .程1.vbp)
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Command3_Click()

        Dim s As String, t As Integer, j As Integer

        s = Text1.Text

        t = Len(s): Sum = 0

        For i = 1 To t

            For j = i To t

                List1.AddItem

                Sum = Sum + 1

            Next j

        Next i

        List1.AddItem "总共有" +  + "个子串" 

    End Sub

  3. (3) 如果输入的字符串是“abcdefg”,则输出中有个子串
数学上把2,4,8,16等数称为2的幂次方。编写程序,实现如下功能: 在文本框Text1中输入一个正整数n,单击“查找”按钮,找到一个2的幂次方,使其与n之差的绝对值最小,并在标签框 Label1中输出。如果找到两个同时满足条件的幂次方,则输出较小的。程序运行界面如图所示。

  1. (1) 要使程序运行时,标签框Labell的ForeColor属性值为vbRed,可在Form_Load事件处理过程中添加语句(单选,填字母: A . Label1. ForeColor= vbRed/ B . Label1. vbRed= ForeColor/C . Fore Color. Label1=vbRed)。
  2. (2) 实现上述功能的VB程序如下,请在画线处填入合适的代码。

    Private Sub Command 1_ Click()

        Dim n As Long, sum As Long, ans As Long

        n= Val(Text1. Text)

        sum=1

        Do While sum <n

            

        Loop

        If n =sum Then

            ans=sum

        ElseIf Then

            ans=sum/2

        Else

            ans =sum

        End If

        Label 1. Caption = Str(ans)

    End Sub

  3. (3) 若文本框Text1中输入的内容为“24”,单击“查找”按钮,标签框 Label1中显示的内容是
在平面坐标系中,给定任意个点,求出这些点中与点(1,1)距离最远的点。小李编写出了相应功能的程序:在文本框Text1中输入这些点的坐标值(数据都用逗号分隔并以逗号结尾),单击“计算”按钮Cmd后,程序计算这些点到(1,1)的距离后,结果显示在列表框List1中,并且输出最大距离的点。程序运行界面如图所示。

  1. (1) 由图可知,窗体中的对象共有类;
  2. (2) 实现上述功能的VB程序如下,请在画线处填入合适的代码。

    Private Sub Command1_Click()

        Dim i, k As Integer

        Dim x1, y1, x2, y2 As Single

        Dim v As Single, maxd As Single

        Dim s As String, pos zb As String

        List1.Clear

        s=Text1.Text

        x1=1:y1=1

        t="": k=1: j=1

        List1.AddItem"坐标点"&"距离"

        For i=1 To Len(s)

            If Mid(s,i,1)="," Then

                v=Val(Mid(s, j, i-j))

                j=

                If k Mod 2=1 Then

                    x2=v

                Else

                    y2=v

                    d=Sqr((x2-x1)^2+(y2-y1)^2)

                    If Then

                        maxd=d

                        pos="(" & Str(x2)& "," & Str(y2)& ")"

                    End If

                    List1.AddItem"(" & Str(x2)& "," & Str(y2)& ")" & Str(d)

                End If

                k=k+1

            End If

        Next i

        Label1.Caption="距离(1, 1)最远的点为"& pos &"距离为"& Str(maxd)

    End Sub

  3. (3) 若文本框Text1中输入的内容为“31,41,26,51,1,56”,程序运行结束后,距离(1,1)最远的坐标点是
如果列表框的ListCount属性为20,则列表框的最后一项的Listindex值为
为了丰富学生业余生活,学校举办校园歌手大赛,邀请了5位音乐老师作为评委打分,打分的上限是10分。统计选手得分时,去掉一个最高分,再去掉一个最低分,取评委打分的平均值作为选手的最终得分。程序运行结果界面如图所示。

请分析任务,完成下列题目。

程序代码如下:

Private Sub Command1_Click()

Dim s As single

Dim Max , Min ,i As Integer

Dim a(5) As Integer

Max = 0

Min =     ①       

s = 0

For i = 1 To 5

    a(i) = InputBox("请输入第" & i & "个分数")

    s = s + a(i)

    If     ②    Then Max = a(i)  

    If  Min > a(i) Then Min = a(i)   

Next i

s =       ③          

Text1.Text = Max

Text2.Text = Min

Text3.Text = s

End Sub

Private Sub Command2_Click()

Text1.Text = ""

Text2.Text = ""

Text3.Text = ""

End Sub

Private Sub Command3_Click()

End Sub

请分析任务,完成下列题目。

  1. (1) 下列控件在本程序窗体中用到的是(   )
    A . 列表框 B . 单选按钮 C . 标签 D . 组合框
  2. (2) 为精确计算选手的最终得分,程序中变量s的数据类型应定义为(   )
    A . 整型 B . 单精度型 C . 字符型 D . 布尔型
  3. (3) 程序中①所在位置表达式正确的是(   )
    A . 0 B . 1 C . 5 D . 10
  4. (4) 程序中②所在位置表达式正确的是(   )
    A . Max < a(i) B . Max >a(i) C . Max =a(i) D . Max <> a(i)
  5. (5) 程序中③所在位置表达式正确的是(   )
    A . s/3 B . (s+Max+ Min)/5 C . (s - Max - Min) / 3 D . (s - Max - Min) / 5
  6. (6) 变量s所表示的含义是(   )
    A . 最低分 B . 最高分 C . 评委打分 D . 最终得分
  7. (7) 当一个选手的得分分别为9,8,9,7,8的时候,下列最终得分计算正确的是(   )
    A . 8 B . 8.33 C . 7.66 D . 7
  8. (8) 程序中Command1控件响应的事件是(   )
    A . 单击事件 B . 双击事件 C . 载入事件 D . 活动事件
  9. (9) 程序中数组a(5)包含的元素个数是(   )
    A . 1 B . 5 C . 6 D . 10
  10. (10) 程序“For i = 1 To 5 ……Next i”中“s = s + a(i) ”被执行的次数是(   )
    A . 1 B . 4 C . 5 D . 6
通过改变单选按钮的什么属性值,可以改变其选中状态(    )
A . Value B . Caption C . Visible D . Style
最近更新