程序的调试及运行 知识点题库

程序运行后,单击Command1命令按钮,变量x的值为

Private Sub Command1_Click()

  n = 6

  x = 1

For i =1 To n

  x = x * i

Next

End Sub(   )

A . 15 B . 24 C . 120 D . 720
Visual Basic中窗体文件的扩展名为(   )
A . exe B . frm C . vbp D . vbw
以下Visual Basic程序的功能是:在文本框Text1中输入一个两位数x,将个位上的数和十位上的数互换组合成新的两位数y,并在文本框Text_2中输出新数。

Private Sub Command1_Click()

Dim x As Integer, y As Integer

Dim i As Integer, j As Integer

  x=val(text1.text)

i=x \ 10

 _____________  ①

y=j*10+i  

 Text1.Text = y    ②

End Sub     

  1. (1) 为了实现上述表达式的计算,①处应填写的是
  2. (2) 程序中②处的表达式有误,应更正为
【加试题】一个二进制数字串的压缩算法是取二进制字符串的首字符为压缩后的第一个符号,接着统计首字符的个数,二者连接后再连接一个分隔符“/”,接着是另一个连续字符的个数,再是分隔符“/”,……以此类推,直到结束。小明编写了一个VB程序实现上述算法,在文本框Text1中输入一串二进制数字,单击“压缩”按钮Command1,在文本框Text2中输入连续1和0的个数。程序运行界面如图所示。

实现上述功能的VB程序如下,但加框处代码有错,请改正。

Private Sub Command1_Click()

  Text2.Text=coding(Text1.Text)

End Sub

Private Function coding(s As String)As String

 Dim n As Integer,i As Integer,C As String

 c=Mid(s,1,1)

n=1

 For i=2 To Len(s)

    If  Then    ‘(1)

       n=n+1

    Else

      c=c+Str(n)+“/”

      n=1

    End If

  Next i

  coding=     ‘(2)

End Function

  1. (1) 处加框代码应改为
  2. (2) 处加框代码应改为; 。
编写VB程序,实现如下功能:在文本框Text1、Text2中分别输入一个正整数,单击“计算累加和”按钮(Command1),在标签Label3中显示起始值与结束值之间所有奇数的和。界面如1图所示。

1图

2图

  1. (1) 在设计应用程序界面时,应使用2图所示“控件工具箱”中的 (填写相应编号)添加“计算累加和”按钮。
  2. (2) 为实现上述功能,请在划线处填入合适代码。

    Private Sub Command1_Click()

    Dim x1 As Integer, x2 As Integer, n As Integer

    Dim sum As Long

    x1 = Val(Text1.Text)

    x2 = Val(Text2.Text)

    Sum = 0

    If x1 < x2 Then n = 1 Else     

    For i = x1 To x2 Step n

        If Then

            Sum = Sum + i

                

    Next i

    Label3.Caption = "从" & x1 & "到" & x2 & "之间所有奇数的累加和=" & Str(Sum)

    End Sub

某VB程序代码如下:

a = 3

b = 4

c = 5

If a > b Then a = b Else b = a

则程序运行后的a和b的值分别是:(   )

A . 3  4 B . 3   5 C . 4   5 D . 3   3
有如下VB程序段:

Dim x As Integer, y As Integer, s As Integer

    x=3:y=4

    If x<y And y<0 Then

        s=x Mod y

    ElseIf y>0 and y<x Then

        s=x*y

    ElseIf x=0 Or y=0 Then

        s=x+y

    Else

        s=0

    End If

该程序段运行之后,变量s的值为(  )

A . 0 B . 3 C . 7 D . 12
现要编写一个统计2018~2100年间闰年次数的程序。已知出现闰年条件是:年份数能被4整除但不能被100整除,或者能被400整除。如图所示,要求程序运行后单击按钮,在列表框中显示闰年年份,并将统计次数显示在Label1。

  1. (1) 代码“PrivateSubCmd1_Click()”中的Cmd1_Click()是(单选,填字母:A .对象名;B .事件;C .事件处理过程;D .方法)
  2. (2) 下面的VB程序可用来实现上述功能,请在划线处填写合适的代码。

    Private Sub Cmd1_Click()

    Dim c As Integer, year As Integer

    c=0

    If Then

        c=c+1

    EndIf

    Next year

    Label1.Caption="闰年共有"+Str(c)+"次"

    EndSub

  3. (3) 上述代码段中缺少了List1.AddItemStr(year),此句代码应该加在(填字母)位置。
【加试题】数字个数统计。编写VB程序,实现如下功能:在文本框Text1中输入仅由ASCII码字符组成的字符串(长度不超过100),单击“数字统计”按钮Command1,在列表框List1中输出字符串中包含的不同数字及其相应的个数,程序运行效果如下图所示。

  1. (1) 为方便调试,要让程序每次运行时文本框Text1中的初始内容为“ab12*{}78ab12()778ab34”,应修改文本框Text1的属性。
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适代码。

    Private sub command1_click()

      Dim a(0 to 9) as integer   ‘数组元素a(i)中存放数字i的个数

      Dim s as string , ch as string

      Dim t as integer

      For i=0 to 9

        a(i)=0

      next i

      s=text1.text

      for i=1 to len(s)

            

        if ch>=”0”and ch<=”9” then

            t=

            a(t)= a(t)+1

        end if

      next i

      list1.clear

      for i=1 to 9

      if a(i)<>0   then

        list1.additem  ”数字:”+str(i)+ ”,共有”+ str(a(i))+ ”个”

      end if

      next i

    end sub

  3. (3) 与上述程序中加框处代码运行效果等价的条件表达式可以是
编程求数字之和,功能如下:在文本框Text1中输入由大小写英文字母和数字混合的字符串,要求程序自动计算数字之和,数字被单个的英文字母隔开(数字在一起的必须看成一个整体)。运行程序时,单击“计算”命令按钮Command1,在标签Label1中输出数字之和。程序运行界面如图所示,实现功能的VB代码如下:

请回答下列问题:

  1. (1) 观察程序界面,该程序具备Caption属性的对象个数总共有个(填数字)。
  2. (2) 在划线处填入合适的代码。

    Private Sub Command1_Click()

        Dim s As String, sum As Integer

        Dim i As Integer, j As Integer

              ①        

        sum = 0

        j = 0  

        For i = 1 To Len(s)

           ch = Mid(s, i, 1)

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

              j =      ②      

           Else

              sum = sum + Val(Mid(s, i - j, j))

              j = 0

           End If

        Next i

        Label1.Caption = "数字之和为:" + Str(sum) End Sub

     ② 

  3. (3) 在文本框Text1中输入“12A4B6R3d20”,运行程序输出的结果是(仅填数字)。
下列程序段运行后,输出“*”的个数是(   )

For i = 2 To 10

  Print  "*"

Next i

A . 7 B . 8 C . 6 D . 9
阅读下列程序,写出运行结果。

Dim a as Integer

Dim b as Integer

Dim c as Integer

a = 1

b = 1

For i = 1 To 4

    c = a+b

    a = b

    b = c

Next i

Print c

运行结果是:

有以下程序段:

n=int(input(“请输入数字:”))

if n>5 :

  print(4*n)

else :

  print(7*n)

如果输入5,则程序运行的结果为(   )

A . 32 B . 35 C . 49 D . 56
下面的程序段运行后的结果为(    )

s=0

for i in range(1,6,2):

  s=s+i

print(s)

A . 15 B . 10 C . 12 D . 9
有如下VB程序段:

i = 1: j = 10

x = Int(Rnd * 50) * 2 + 1

Do While i <= j

    m = (i + j) \ 2

    If x = f(m) Then Exit Do

    If x < f(m) Then

        j = m - 1

    Else

        i = m + 1

        s = s + Str(m)

Loop

数组元素f(1)到f(10)的值依次为:3,6,9,11,18,20,25,39,76,98,该程序运行后,s的值不可能的是(    )

A . 5 2 B . 5 8 7 C . 5 2 3 4 D . 5 8 6
有如下VB程序段:
s = "spring winter":s1 = ""

n = Len(s)

For i = 1 To n \ 2

    If Mid(s, i, 1) > Mid(s, n - i + 1, 1) Then s1 = s1 + Mid(s, i, 1)

    Else

        s1 = Mid(s, n - i + 1, 1) + s1

    End If

Next i

Text1.Text = s1

执行该程序后,在文本框Text1中显示的是 (   )

A . wprtnr B . sptnnw C . rtwprn D . wntspn
阅读下面一段程序,运行后可能会出现什么结果(   )

Private Sub Command1_ Click ()

    Dim i As Integer

    For i=1 To 10

        If Not i Mod 2=0 or i Mod 5=0 Then

            Print i

    Next i

End Sub

A . 出现错误:块If没有End if B . 在窗体中输出2、4、5、6、8、10 C . 出现错误:Next没有For D . 在窗体中输出1、3、5、7、9、10
李强调试“求三角形面积”VB程序时,显示“s=d×g÷2”出错,如下所示,其出错的原因是(   )

Private Sub Command1_Click()

    Dim d As Single, g As Single, s As Single     ‘定义程序中使用的变量

    d = Val(Text1. Text)     ‘在Text1中输入三角形的底

    g = Val(Text2. Text)     ‘在Text2中输入三角形的高

    s = d×g÷2     ‘计算三角形面积

    Text3. Text = s     ‘在Text3中显示面积值

End Sub

A . 变量没有定义 B . 语法错误 C . 运算符错误 D . 关键字错误
垂直升降式电梯里的显示屏会动态显示朝上或者朝下的箭头。小郑编写了一个VB程序,模拟箭头往上、往下的移动,以及箭头方向的调转。运行程序时,数组元素a(1)到a(64)存储0或1(如图1),分别表示空字符和星号,并在列表框List1中显示相应的图形(如图2)。单击“上移”按钮,箭头向上移动一个位置,超出上边界的图形则继续从下边界往上移(如图3);单击“下移”按钮,箭头向下移动一个位置;单击“调头”按钮,则切换箭头的上下朝向。

请回答下列问题:

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

    Dim a(1 To 64) As Integer

    Dim b(0 to 1) As String

    Private Sub Form_Load()

    b(0) = " " : b(1) = " *"

    '给数组a赋初值,并在列表框List1显示箭头图形,代码略

    End Sub

    Private Sub up_Click()

        Dim i As Integer, j As Integer, s As String, tmp As Integer

        List1.Clear

        For i = 1 To 8        '将第i列数据向上平移一个位置

            tmp =

            For j = 2 To 8

                a((j - 2) * 8 + i) = a(  )

            Next j

            a(7* 8 + i) = tmp

        Next i

        s = ""

        For i = 1 To 64

           

            If i Mod 8 = 0 Then List1.AddItem s : s = ""

        Next i

    End Sub

    Private Sub turn_Click()

        '调转箭头方向(朝上的变为朝下,朝下的变为朝上),代码略

    End Sub

    Private Sub down_Click()

        '图形向下移动一个位置,代码略

    End Sub

  3. (3) 程序执行到加框处代码时,会弹出错误提示(单选,填字母:A .溢出/B .下标越界/C .类型不匹配)。为了使程序能正常实现图形的上移和显示功能,加框处的代码改为
有一段 Python代码及其运行结果如下

小明在代码中插入了语句“df_delc=df.drop(0)”, 其余不做修改,那么运行这段修改后的代码,其运行结果为( )

A . A B . B C . C D . D