常量、变量及变量的赋值 知识点题库

为使左右框内的Visual Basic程序段实现相同的功能,可在左框内划线处填写的代码是:

A . g = 2 B . g = 6 C . g = g + 1 D . g = g + 2
VB赋值语句“n = 1”的作用是把赋值运算符“=”右边的值“1”赋给左边的变量n。
有如下VB程序段:

Dim n As Integer , I As Integer

Dim s As String , ch As String

s=text1.Text

n=Len(s)        '⑴

For I = 1 To n        '⑵

    ch=Mid(s,i,1)

    If Asc(ch) >= 65 and Asc(ch) <= 97 Then

        ch=Chr(Asc(ch)+32)

    End If

    Label1.Caption=Label1.Caption+ch

Next i

已知字母“A”的ASCII码65,字母“a”ASCII码97。若在Text1中输入“Happy2018”,则Label1中应显示(  )

A . H2018 B . APPY2018 C . HAPPY2018 D . Happy2018
有 VB 程序段如下:

s = "2019.06 Visual Basic 6.0": n = 0 For i = 1 To Len(s)

    ch = Mid(s, i, 1)

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

        m = Asc(ch) - Asc("0") + 1

        a(m) = a(m) + 1

    End If

 Next i

 For i = 1 To 10

    If a(i) > 1 Then n = n + i

 Next i

数组 a 各元素的初始值都为0,执行该程序段后,则变量n的值为(  )

A . 2 B . 4 C . 8 D . 10
计算某球队球员平均年龄的部分算法流程图如图所示,其中:c用来记录已输入球员的人数,sum用来计算有效数据之和,d用来存储输入的球员年龄值,输入0时表示输入结束。

图中空白处理框①和②处应填入的是(  )

A . ①sum←sum+d,②c←c+1 B . ①sum←sum+c,②c←c+1 C . ①sum←sum+d,②d←d+1 D . ①sum←sum+c,②d←d+1
贝贝有n个桃子,吃完后每三个桃核可以换一个桃子,编写一个程序计算贝贝总共能够吃到几个桃子。
  1. (1) 若贝贝总共有7个桃子,则他最后可以吃到个桃子。
  2. (2) 修改程序中的错误。

    程序代码如下:

    Private Sub Command 1_Click()

    Dim n As Integer,ans As Integer

    n =Val(Text1.Text)

    ans = n

    Do While n>3    ‘

     ans = ans + n\3

     n = n\3     ‘

    Loop

    Label2.Caption = “总共能吃到的桃子数为:” + Str(ans)+“个”

    End Sub

求2+4+6+8+10+12+14+……100

      PRIVATE SUB FORM-------CLICK()

      S=0

DIM I AS INTEGER, S AS INTEGER

      FOR I= 2 TO 100

           S=S+

      NEXT I

      PRINT S

      END SUB

某VB程序段如下:

Dim i As Integer, j As Integer, min As Integer, c As Integer Dim a(1To10) As Integer

i=1

For j=1 To Len(Text1.Text)

    If Mid(Text1.Text, j, 1)<>"," Then t=t+Mid(Text1.Text, j, 1)

    Else

        a(i)=Val(t)
        t=""
        i=i+1 End If

Next j

For i=1 To 9

    For j=2 To 10-i+1

        If a(j-1)>a(j) And a(j-1)Mod2<>0 Then temp=a(j-1) : a(j-1)=a(j) : a(j)=temp Next j

Next i

For i=1 To 10

Text2.Text=Text2.Text+Str(a(i))

Next i

程序运行后,在Text1文本框中输入“15,24,13,41,8,16,37,34,25,19,”,则Text2文本框中显示的内容为()

A . 1524813163419253741 B . 2481316341519253741 C . 1519353741813162434 D . 1925374115248131634
【加试题】有一组正整数,要求仅对其中的偶数进行降序排序。排序后偶数在前,奇数在后。排序示例如下。

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

Const n = 8

Dim a(1 To n) As Integer

Private Sub Form_Load()

 '排序前数据存储在数组a中,并在文本框Text1中显示代码略

End Sub

Private Sub Command1_Click()

Dim k As Integer, i As Integer, j As Integer, t As Integer

i = 1

Do While i <= n - 1

   k = i

   For j = i + 1 To n

      If a(i) Mod 2 = 1 And a(k) Mod 2 = 0 Then    '①

          k = j

      ElseIf a(k) Mod 2 = 0 And a(j) Mod 2 = 0 And a(j) > a(k) Then

          k = j

      End If

   Next j

   If k <> i Then

      t = a(k): a(k) = a(i): a(i) = t

   End If

   i = i + k            '②

Loop

'依次输出排序后的数据。代码略

End Sub

 ② 

有如下VB程序段:

Dim a(1 To 5) As Integer

i =1: n=5

Randomize

Do While i<=n

    x= Int(Rnd*9) +1

    If x Mod 3=0 Then

        a(i) =x: i=i+1

    Else

        a(n)=x: n=n-1

    End If

Loop

数组元素的初值均为0,执行该程序段后,a(1)至a(5)的值不可能是(  )

A . 3,1,3,9,8 B . 1,4,1,8,2 C . 5,5,8,1,7 D . 9,3,9,6,3
求数组a 中非降序数列的方法,算法描述如下:

⑴用数组依次存储每个非降序数列中最大的元素(查找过程中的最大值),初始时b(1)为数组a第1个元素。

⑵加入方法:将a(i)与数组b中的每个元素依次逐个比较:

若a(i)不比b(j)小就用a(i)替换b(j)中的值;将a(i)添加到第j个非降序数列中,并连接到c数组的c(j)中。

若a(i)比b(j)都小,则在数组b最后添加新的元素值为a(i),即将a(i)添加到第j+1个下降数列中,并连接到c数组的c(j+1)中。

⑶若数组a各元素的值为:12,36,16,36,27,18时,则3个非降序数列分别为:“12,36,36”,“16,27”,“18”。

程序运行界面如下图所示:

小明依据上述描述设计了如下VB程序。请回答下列问题:

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

    Const m=15

    Dim a(1 To m) As Integer Private Sub Form_Load()

    ‘读取m个数据,依次存储到 a(1)、a(2)、……a(m)中,代码略End Sub

    Private Sub Command1_Click()

    Dim b(1 To m) As Integer '存储数列最大的值Dim c(1 To m) As String     ‘存储非降序数列Dim i As Integer

    Dim bottom As Integer Dim j As Integer

    Dim bn As Integer      ‘存储非降序数列的个数List1.clear

      b(1) = a(1)

          ①  

      c(1) = Str(a(1))

      For i = 2 To m 

         For j = 1 To bn

             If   ②   Then

                b(j) = a(i)

                

                Exit For

             End If

        Next j

        If j > bn Then

           bn = bn + 1

                ③       

           c(b(n)) = Str(a(i))

        End If

      Next i

    For i = 1 To bn

         List1.AddItem c(i)

    Next i

    Text2.Text = "数列中共有" + Str(bn) + "个非降序序列"

    End Sub

     ② ③ 

  3. (3) 程序中加框处代码有错,请改正。
有多组“123”连接的字符串,如“123123123”,若删除其中一个任意位置的字符,如第8位字符“2”,则得到新字符串“12312313”。编写一个如图所示的VB程序,实现以下功能:输入非空新字符串s,找出被删除字符在原字符串中的位置。如输入“12312313”,则输出“原字符串的第8个字符被删除”。

s= Text1.Text

For i= 1 To Len(s)

    a(i) = Val(Mid(s, i, 1))

Next

L=1: R= Len(s) + 1

Do While L<R

    m= (L+R) \2

    If  Then

        R= m

    Else

        L=m+ 1

    End If

Loop

Label1 .Caption = "原字符串的第"+ + "个字符被删除"

上述程序段2个方框处的代码分别为(  )

A . ⑴ (m- 1) Mod 3 +1<>a(m)  ⑵ Str(L) B . ⑴ (m- 1) Mod 3+<>a(m)    ⑵ Str(m) C . ⑴ m Mod 3= a(m)          ⑵ Str(L) D . ⑴ m Mod 3 = a(m)          ⑵ Str(m)
赋值语句y = x的功能是________。
A . x的值赋给y,x的值变为0 B . y的值赋给x,y的值变为0 C . y的值赋给x,y保留原来的值 D . x的值赋给y,x保留原来的值
x和n都是正整数且x<=n,下列选项中,与语句“x=x Mod n +1 ”功能相同的是(  )
A . x=(x+1) Mod n B . x=x+1     If x=n Then x=1 C . x=x+1     If x=n+1 Then x=1 D . x=x+1     If x=n+1 Then x=0
某算法的部分流程图如第下图所示。执行这部分流程后,输出c,s的值分别是(  )

A . 8,10 B . 10,14 C . 12,6 D . 12,24
程序运行后,单击窗体,变量s=(  )。

Private Sub Form_click()

a=5

b=10

c=2*(a+b)

s=a*c

End Sub

A . 15 B . 50 C . 150 D . 300
在VB中,将一个二进制数转化成十六进制的自定义函数代码如下,请在程序划线处填入合适的代码。

Function btoh(s As String)As String

Dim i As Integer, s1 As String, t As Integer

Dim str As String, j As Integer

str="0123456789ABCDEF"

i= Len(s)

Do While i >=1

If    ①     Then

s1= Mid(s, i-3, 4)

Else

s1 = Mid(s; 1, i)

End If

t=0

For j =1 To Len(s1)

t=    ②  

Next j

btoh = Mid(str, t + 1, 1)+btoh

i=i-4

Loop

End Function

 ② 

有如下VB程序段: s = "PYTHON5678" For i = 1 To Len(s)

ch = Mid(s, i, 1)

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

  k = (Val(ch) - 1) Mod (Len(s) - 4) + 1

  s1 = Mid(s, k, 1) + s1

End If

Next i

Text1.Text = s1

程序执行完后,Text1 中显示的内容是(     )

A . ONPY B . YPNO C . PNOH D . HONP
Python布尔变量的值为(    )
A . 真,假 B . 0,1 C . T,F D . True ,False
下列Visual Basic程序段运行后,变量C的值为(   )。

A = 3:B = 4:C = 5:A = B:B = C:C = A ,

A . 3 B . 4 C . 5 D . 0