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

小丁想买几张6+1彩票,选号时,他希望前4位用自己的生日:11月8日,即1108,特别号码他选了买彩票日子的个位数5,并且他希望前六个数字组成的数能被他的幸运数字9整除。他的好朋友小杰帮他设计了一个VB程序,可以提供一份符合这些要求的号码清单供他挑选。相应的界面如图1所示。阅读程序并完成后面的问题。

图1

  1. (1) 设计应用程序界面时,为添加a所指向的对象,应使用图2所示的“控件工具箱”中的(填写相应编号);在图3所示的“属性窗口”中,将属性值设置为“开始”,可使图2中b所指向的对象显示“开始”。

  2. (2) 请根据题意将下列程序补充完整。

    Private Sub Command1_Click()

    Dim i, j, c As Integer

    Dim n As Long

    c = 0

    For i = 0 To 99

          n = 110800 + i

                  If  Then

          List1.AddItem Str(n) + " " + "5"

          c = c + 1

         End If

    Next i

    Label2.Caption = "满足条件的数有:" + Str(c) + "组"

    End Sub

对于对象及其特征的错误理解是(   )
A . 对象都具有一个标识自己以区别其他对象的名字 B . 对象都具有自身的属性及其属性值 C . 对象一般只用数据表示属性,但不用代码表示行为 D . 对象都具有自身的行为(操作)
VB的一些常用对象上的常见事件的标准名有哪些?举例:

单击文本框、双击文本框

文本框改变、单击命令按钮

双击命令按钮、窗体装载

对英文字母进行加密的规则:用26个互不重复的ASCII字符作为密钥,字母“A”用密钥中第1个字符代替,字母“B”用密钥中第2个字符代替,其他字母用类似方法进行加密。现编写一个验证密钥合法性的程序。在文本框Text1中输入密钥,单击“验证”按钮Command1,在文本框Text2中输出相应的信息。程序运行的界面如图所示。

实现该功能的程序代码如下:

Private Sub Command1_Click()

    Dim i As Integer,ch As String,s As String

    Dim my(0 To 127)As Boolean  ‘0~127表示128个ASCII字符的ASCII值

    s=Text1.Text

    For i=0 To 127

        my(i)=False

    Next i

    If    ①   then

        Text2.Text=”密钥长度不足26个字符!”

    Else

        For i=1 To 26

           ch=Mid(s,i,1)

           t=    ②    

           If my(t)=False Then

              my(t)=True

           Else

             Text2.Text=“密钥中有重复字符!”

             Exit Sub

           EndIf

        Next i

        Text2.Text=“密钥正确!”

    EndIf

End Sub

  1. (1) 实现验证功能事件的过程名称是

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

     ②


某简单计算器功能如下:在文本框Text1中输入一个加减算式,点击“计算”按钮Command1,计算结果在标签Label3上显示,同时在列表框List1中记录每次算式及结果。已知文本框Text1只包含正整数和“+”、“-”符号,同时以“=”结束。程序运行界面如图a所示,请回答下列问题。

图a

图b

图c

  1. (1) 设计应用程序界面时,为添加“计算”按钮,应使用图b所示“控件工具箱”中的(填写相应编号)控件,并在图c所示的“属性窗口”中,将属性的值设置为“计算”。
  2. (2) 要实现程序运行时,单击文本框Text1即可将文本框清空,则应在(选填字母: A,Command1_Click()/ B,Text1_Click()/ C,Form_Load())过程中添加语句Text1.Text = ""。
  3. (3) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Command1_Click()

        Dim s As String, ch As String

    Dim fh As Integer, p As Integer, sum As Integer

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

        For i = 1 To Len(s)

            ch = Mid(s, i, 1)

            If              ①                Then   '判断取出的字符是否为数字

    p = p * 10 + Val(ch)

            Else

                sum = sum + p * fh

                p = 0

                If ch = "-" Then

                            ②        

                ElseIf ch = "+" Then

                    fh = 1

                End If

            End If

        Next i

        Label3.Caption = Str(sum)

        List1.AddItem                  ③             

    End Sub

     ② ③ 

  4. (4) 运行程序,在文本框Text1中输入“5+5-2”,单击“计算“按钮后,标签Label3上将显示:。(选填字母: A,10/ B,8/ C,程序出错无法显示)
编写VB程序,实现如下功能:有一个四位数,此数十位上的数字是7,且这个四位数是一个完全平方数,现要找出符合以上要求的所有四位数,并统计共有几个数。单击Command1按钮,将符合要求的四位数显示在列表框List1中,统计个数显示在标签Label2中,界面如图所示。

  1. (1) 若要修改窗体背景颜色,可在其属性窗口中属性的属性值进行修改。
  2. (2) 解决这个问题采用的算法是(填字母:A 、解析算法  B 、枚举算法)
  3. (3) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Command1_Click()

      Dim i As Integer, x As Integer, c As Integer

      c = 0

      For i = 1000 To 9999

          x =

         If And x = 7 Then

               '将符合条件的四位数显示在列表框中

    num = num + 1

         End If

      Next i

      Label2.Caption = "共有:"+ +"个"

    End Sub

“杨辉三角”问题,如图所示,其规律如下:其显著特征是除斜边上的1以外,其余数值均等于其肩部两数之和。编写VB程序,其功能如下:在文本框Text1中输入20以内的整数,点击“打印”按钮,在列表框list1中输出杨辉三角,程序界面如图所示,VB 程序代码如下。

实现上述功能的VB程序如下,请回答下列问题:

Private Sub Command1_Click()

Dim a(20) As Long

Dim i As Integer, j As Integer, s As String List1.Clear

n = Val(Text1.Text)

a(1) = 1

List1.AddItem Str(a(1)) For i = 2 To n

    s = ""

    For j = Step -1  

        a(j) =    ①     

        s = s + Str(a(j))

    Next j

                   Next i

  1. (1) 代码“Private Sub Command1_Click()”中的 Command1_Click()属于 (单选,填字母: A .对象名/B .属性名/C .事件名/D .事件过程)。
  2. (2) 请在划线处填入合适的代码。

     ② 

  3. (3) 若将加框处代码改为“1 To i”,则 (选填:会/不会)影响程序结果。
编写VB程序,实现如下功能:在文本框Text1和Text2中分别输入一个整数,单击命令按钮Command1,在列表框List1中显示结果,运行效果如图1所示。结果包含两列数据,第1列为两数之间的摄氏温度值(间隔1度、升序),第2列为对应的华氏温度值。

  1. (1) 要使命令按钮Command1上显示的文本改为“转换”,可在其属性窗口(图2)中将属性的属性值修改为“转换”。
  2. (2) 为实现上述功能,请在划线处填入合适代码或选项。

    Private Sub Command1_Click( )

    Dim t1 As Integer, t2 As Integer

    Dim i As Integer, t As Integer

    Dim f As Single    ‘f存储华氏温度值

    List1.Clear

    t1=Val(Text1.Text)

    t2=Val(Text2.Text)

    If  ①  Then   ‘(选填字母,从下列A、B、C、D四个选项中选取一项)

      t=t1:t1=t2:t2=t

    End If

    i=t1

    Do While  ②     ‘(选填字母,从下列A、B、C、D四个选项中选取一项)

      f=i*9/5+32       ‘摄氏温度转换为华氏温度

      List1.AddItem Str(i)+“ ”+Str(f)

      i=  ③       ‘(填程序代码)

    Loop

    End Sub

    划线处应填① ② ③ 

    A.i<=t2   B.f<=t2   C.t1>t2   D.i<f

数组a存储n个学生的性别和身高数据,其中奇数位置存储性别,偶数位置存储身高,数组的存储结构如下表所示:

1

2

3

4

5

6

……

2n-1

2n

性别

身高

性别

身高

性别

身高

……

性别

身高

该 n位学生站成一排合影:男生全部在一侧,从低到高排序;女生全部在另一侧,从高到低排(所有人的身高h为整数,且100≤h≤200),排序前显示于List1,排序后显示于List2,如图所示。

实现上述功能的VB程序如下,请回答下列问题。

Const n = 10

Dim a(1 To 2 * n) As String Private Sub Form_Load()

'读取身高和性别数据,存储在数组a中,并显示于列表框List1中,代码略

End Sub

Private Sub Comd1_Click()

Dim count As Integer, i As Integer, j As Integer count=0

For i = 1 To n-1

        ‘改错①

    For j = n To i+ 1 Step -1

       If a(2 * j - 1) = "男" Then If 

          Then   ‘改错②

          t = a(2 * j - 2): a(2 * j - 2) = a(2 * j): a(2 * j) = t

          t = a(2 * j - 3): a(2 * j - 3) = a(2 * j - 1): a(2 * j - 1) = t start = j

       End If

    ElseIf a(2 * j - 3) = "女" Then

        If      Then   '填空

            t = a(2 * j - 2): a(2 * j - 2) = a(2 * j): a(2 * j) = t

            t = a(2 * j - 3): a(2 * j - 3) = a(2 * j - 1): a(2 * j - 1) = t start = j

        End If

    End If

    Next j i=start-1

    count=count+1 Next i

For i = 1 To n

List2.AddItem a(2 * i - 1) + a(2 * i) Next i

End Sub

  1. (1) “排序”按钮的对象名为
  2. (2) 程序代码中,加框处有错误,请改正。

     ② 

  3. (3) 程序代码中,将下划线处语句补充完整。
  4. (4) 对于数据{男,180,女,165,男,170,女,161,男,176},程序运行后,变量 count的值为
小红编写了一个将5位以内的十六进制正整数转化成十进制数的VB程序,功能如下:在文本框Text1中输入一个十六进制正整数,单击“转换”按钮Command1,在标签Label3中显示结果。程序运行界面如图所示。

  1. (1) 要使窗体Form1标题显示“数制转换”,则需修改窗体的(单选,填字母:A .Font/B .Caption/C .BackColor)属性.
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Commandl_Click ()

    Dim x As String,ch As String

    Dim flag As Boolean,i As Integer,result As Long

    x =   ①   

    i = l

    result = 0

    flag = True

    ch = Mid(x,1,1)

    Do While i <=Len(x)And flag =True

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

        result = result * 16 + Val(ch)

      Elself ch>="A"And ch <="Z" Then

        result =result * 16 +(Asc(ch)- Asc("A")+10)

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

        result = result * 16 +(Ase(ch)- Ase("a")+ 10)

      Else

        flag = False

      End If

      i = i + l

      ch =   ②   

    Loop

    If flag = True Then

      Label 3.Caption =Su(result)

    Else

      Label3.Caption ="输入错误"

    End If

    End Sub

  3. (3) 若在文本框Text 1中输人5+9,单击“转换”按钮后,标签Label3中显示的内容是(单选,填字母:A .14/B .E/C .输入错误)。
编写VB程序实现如下功能:在文本框Text1中输入正整数n(n为偶数),单击“生成”命令按钮后,在文本框Text2中会显示一个有规律的对称数字串,形式为“2,4,……,n-2,n,n-2,……,4,2”。例如n=8时,显示的数字串为“2,4,6,8,6,4,2”。运行界面如图所示。

  1. (1) 如图所示,通过设置按钮命令 Command1 的属性使标题显示为“生成”。
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Command1_Click()

       Dim n As Integer, i As Integer, s As String

       Dim mid As Integer

       n = Val(Text1.Text)

       If   ①   Then

          Text2.Text = "输入错误,请输入偶数!"

       Else

          mid = n \ 2 + 1

          s = ""

          For i = 2 To n

              If i = n Then

                 s = s + "2"

              Else

                 s = s ++ ","

              End If

          Next i

                     ③              

       End If

    End Sub

     ② ③ 

有如下VB程序段:

Private Sub Text1_Change()

  Dim a As Integer, i As Integer

  a = Val(Text1.Text)

  For i = 1 To 7 Step 3

    If a <= 1000 Then a = a + i

  Next i

  Text1.Text = Str(a)

End Sub

执行该程序段,在文本框Text1中分别输入“1”、“2”、“3”、“4”,Text1中的结果(    )

A . 输入“1”时最大 B . 输入“2”时最大 C . 输入“3”时最大 D . 输入“4”时最大
编写“二进制加法”程序。

程序运行时,在文本框Text1和文本框Text2分别输入两个二进制数,单击按钮 Command11后在文本框Text3上输出两个二进制相加后的结果。

程序运行如图所示。

  1. (1) 观察代码触发代码执行的事件名是
  2. (2) 为实现上述功能,请在划线处填入合适的代码。

    Private Sub Command1_Click()

      Dim b1 As String, b2 As String, ans As String, t As String

      Dim dist As Integer, jw As Integer

      b1=Text1.Text: b2 Text2.Text: ans=""

      

      If dist <0 Then

        t=b1: b1=b2: b2=t: dist=-dist

      End If

      For i=1 To dist

        b2="0"+b2

      Next i

      jw=0

      For i= Len(b1)To 1 Step-1

        x= Val(Mid(b1, i, 1))+ Val(Mid(b2, i, 1))+jw

       

        ans Str(x Mod 2)+ans

      Next i

      IfThen ans ="1"+ ans

    Text3.Text=ans

    End Sub

寻找受潮药瓶。现有5瓶药,每瓶有20粒药丸,每粒药丸重10克,其中有几瓶受潮了,受潮的每粒药丸重11克,如何用天平只称一次找出受潮的那几瓶药?

解决此问题的方法是:将5瓶药编号为1~5号,从中分别取出1、2、4、8、16粒药丸进行称重。在不受潮时应是(1+2+4+8+16)×10=310(克)。假如称出的重量是315克,那么超出的重量是5克,说明有5粒超重,(5)10=(00101)2 , 因此受潮的是第1瓶和第3瓶。编写程序模拟此过程,程序运行时,单击“模拟”按钮Command1,在文本框Text1中输出超重克数,在列表框List1中输出药瓶编号,运行界面如图所示。

  1. (1) 代码中List1.AddItem中的AddItem是。(选,填字母:A .属性名 / B .方法名 /C .事件名)
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适代码。

    Private Sub Command1_Click()

        Dim s As Integer, cz As Integer       'cz存储超重克数Dim k As Integer

        '依次从1~5号瓶中取出1、2、4、8、16粒药,并计算总重量,存储在变量s中,代码略

        cz = s - 310

        Text1.Text =

        k = 0

        Do While  cz <> 0  

            k = k + 1

            If  Then

                List1.AddItem "第" + Str(k) + "瓶"

            End If 

            cz = cz \ 2

        Loop

    End Sub

  3. (3) 假如超重为10克,则受潮的药瓶编号是(填数字:若有多瓶,用“,”号隔开)
小张的QQ密码忘记了,请你帮他找回密码。他只记得自己密码的一些零星信息:

①密码是六位数字,前面两位为59;

②最后两位数字相同;

③能被12和38整除。

程序界面如图所示,单击“找回密码”按钮(Command1)后,可能的密码显示在列表框List1中。

  1. (1) 应用程序界面设计时,为添加“可能的密码有:”对象,应使用左图所示的“控件工具箱”中的(填写相应编号),并在右图所示的“属性窗口”中,将属性值设置为“可能的密码有:”。
  2. (2) 为实现上述功能,请在划线处填入合适的选项。

    Private Sub Command1_Click( )

        Dim x As Integer, s As Long, y As Integer, i As Integer

        For i=0 To 9999

            s=590000+i

            If     ①     Then

                x=s mod 10

                y=(s Mod 100)\10

                If     ②    Then

                    List1.AddItem    ③  

                End If

            End If

        Next i

    End Sub

    ,②,③

    A.x=y    B.Str(s)   C.Str(i)    D.s Mod 12=0 and s Mod 38=0

编写一个VB程序,实现如下功能:输入s位数字构成的数字字符串(第1位数字不为0),移除k(0<k<s)个数字后,在保证原数字相对位置不变的情况下,使剩余数字组成的新数为最小(注:新数第1位不能为0)。例如8个数字构成的数字字符串“71803296”,移除3个数字,得到5位数字构成的最小数是“10296”,具体算法如图a所示。

算法分析:要使得到的5位数字最小,首先需保证能取到5个数字,且首位应尽量小,那么取首位数的范围应保证余下有4个数字,即在前4位中选最小非0的数字。

程序运行时,在文本框Text1中输入一个数字字符串,在文本框Text2中输入要移除的数字个数,单击“运行”按钮CmdRun后,在标签Label1显示得到的最小新数,程序运行界面如图b所示。

  1. (1) 程序运行时,若要在名为Form1的窗体标题上显示“删数”,可以在Form_Load事件处理过程中添加语句为(单选,填字母:A.Form1. Text =“删数”\B.Form1. Caption =“删数”\C.Form1. AddItem“删数”)
  2. (2) 实现上述功能的VB程序代码如下,请在划线处填入合适的代码。

    Private Sub CmdRun_Click( )

        Dim Num As String,New_num As String     ' Num为输入的数字字符串

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

        Dim As Integer, s As Integer, k As Integer

        Dim a(30) As String, b(30) As Integer

        Num = Text1. Text: s = Len(Num)

        k = Val (Text2. Text)      'k为删除数字个数

        For i=1 To s

            a(i) = Mid(Num,i,1)

        Next

        j =1

        m=1

        n=

        For i=m+1 To n      '取第一个非零最小数字

            If  Then m=I     '加框处程序代码有误,请改正

        Next i

        b(j)= m

        Do While       '取其他最小数字

            m=m+1

            n=n+1

            For i=m+1 To n

                If a(i) < a(m) Then m= i

            Next i

                j =j+1:b(j)=m

        Loop

        For i= m+1 To s     '最后直接取的数字

            j =j+1:b(j)=i

        Next i

        For j=1 To s- k       '输出最小数

            New_num =

        Next j

        Label1.Caption = New_num

    End Sub

  3. (3) 加框处程序代码有误,请改正。
下列关于session对象的说法正确的是(      )
A . 用户每次打开一个web页面,将会创建一个session对象 B . 用户关闭客户端web页面后,session对象将立即消失 C . 应用程序退出后,session对象的值才能消失 D . 每个用户的session对象不能被其他用户访问
下列有关对象的叙述中,正确的是(      )。 
A . 对象由属性、事件和方法构成       B . 对象的事件一定就是由VB预先设置好的人工干预的动作       C . 对象的方法时对象响应某个事件后执行的一段程序代码     D . 对象的所有属性既可以在属性窗口设置,又可以在程序运行时用赋值语句设置
设计如下VB程序:输人行数m(≤10)与列数n(≤10),单击按钮产生a(1)~a((m- 1)* n)个不重复2位正奇数,并显示在List1中,计算每列数据的和,并依次存储在第m行对应的数组元素中,最后对数组元素进行升序排序并显示在List2中。

Dim m As Integer

Dim n As Integer

Dim a(1 To 100) As Integer

Function sum(y As Integer) As Integer    '函数功能是计算每列数据的和

    sum=0

    For i=    ①  

        sum= sum+a(i)

    Next i

End Function

Private Sub Cmd1_Click( )

    Dim i As Integer, j As Integer, flag As Boolean, s As String

    Randomize

    m= Va1(Text1. Text) : n= Va1(Text2. Text)

    For i=1 To (m-1) * n

       

        For j=1 To i-1

            If a(i) = a(j) Then    ②   :

            Exit For

        Next j

    Next i

    For i=1 To (m-1) * n

        s=s+Str(a(i))

        If    ③   Then

            List1. AddItem s

            s=" "

        End If

    Next i

    For i=1 To n

        a(i+(m-1)*n)=sum(i)

    Next i

    '对数组元素进行升序排序并显示在List1,代码略

End Sub

  1. (1) 观察程序代码可知,“输出矩阵”按钮的对象名为
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

     ② ③ 

  3. (3) 程序中加框处代码有错,请改正。
小明在设计VB程序时所使用单选框对象的属性窗口如下图所示,他想编写该单选框单击事件的处理过程,则该事件处理过程名是(  )

A . OptionButton_Click B . 男_Click C . Option1_Click D . 单选框_Click
最近更新