常见数据类型、数组 知识点题库

在VB中,下列选项能用作变量名的是(  )
A . x2 B . 3y C . x+2 D . 3+y
在VB中,下列变量命名是正确的是(  )
A . 2Sum B . t_length C . http-ftp D . mid
有如下VB程序:

Private Sub Command1_Click()

 Dim a(1 To 5) As Integer

 a(5)=Val(Text1.text)

 For i=4 To 1 Step -1

   a(i)=a(i+1)\2

 Next i

 Label1.caption=str(a(1))

End sub

在文本框Text1中输入“100”,单击命令按钮Command1后,标签Label1中显示的内容是(  )

A . 25 B . 6 C . 12 D . 50
下列不属于VB常量类型的是(  )
A . 数值型 B . 字符型 C . 布尔型 D . 时间型
运动会的跳高项目有来自total(1≤total≤50)个不同班级同学参加,随机抽取一段参赛信息,要求所有参赛班级的参赛人数至少1个,求满足要求的最小区间长度。

参赛班级用数字1,2,3,4……number表示,依次存入数组a(1)~a(number),若1号班级的编号为5,则a(1)=5。

  1. (1) 若有15个参赛学生,分别来自于6个不同的班级,从左到右排列,班级编号依次为2,3,6,3,5,5,3,1,4,2,3,2,5,1,6,则最小的区间长度为
  2. (2) 请在划线处填入合适的代码。

    Dim a(1 To 50) As Integer, T As Integer, Number As Integer, Total As Integer

    Private Sub Form_Load()

    ’产生Number的值,表示参赛人数,产生Total的值,表示包含的班级数’产生Number个编号为1-Total的班级编号,并存储在数组a中’代码略

    Private Sub Command1_Click()

    Dim mid As Integer

    i=Total: j=Number

    Do While i<=j

    mid=(i+j)\2

    If pd(mid)= ① Then

    j=mid-1

    ans=mid

    Else

    i=mid+1

    Dim b(1 To 100)As Integer

    Dim T As Integer

    pd=False

    For i=1 To Number-M+1

    For j=i To i+M-1

    Next j

    T=0

    For j=1ToTotal

        T=T+b(j)

    EndIf

    Loop

    Text1.Text=Str(ans)

    End Sub

    Function pd(M As Integer)As Boolean

    Next j

    If T=③  Then pd=True: Exit Function

    Next i

    End unction

IPv6是英文“Internet Protocol Version 6"(互联网协议第6版)的缩写。IPv6的地址长度为128位,采用十六进制表示。为了便于人工阅读和输入,IPv6地址可划分成8个块,每块4位,块与块之间用“:”隔开,如:ABCD:EF01:0000:0000:ABCD:EF01:0000:67890。同时,对于多个地址块为0的情况时,可以使用”::”号,进行化简。化简原则如下:

①全0块“0000”,可以化简为“0”

②连续多个全0块,可以化简为“::”

③一个IPv6地址中只能出现一个“::”,出现多个全0块时,“::”要化简最长的一段,没有最长的就将最左侧的一段化简为“::”

④“::”可以出现在地址开头或结尾

具体示例如下:

程序界面如图所示:

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

  1. (1) IPv6地fit::3BCD:0000:0000:ABCD:0000:0000:0000:6789,则化简后为
  2. (2) 请在划线处填入合适的代码,并且加框处代码有错,请改正。

    Private Sub Text1_Change()

    Dim a(1 To 8) As String, ipstr As String, ips As String

    Dim lenth As Integer, max_lenth As Integer, start As Integer

    ipstr = Text1.Text

    For i=1 To 8

          ①      ‘将IPv6分段存储

    Next i

    '对数组进行处理,如果字母或非零数字开头,则不用处理;如果全是数字,则压缩成0,

    如果前导为0,则去掉,处理完毕存回数组。///-----处理过程略-----/////

    '如果只有一串,则将该串"0"用“::”代替,如果不止一串,则将最长的一串"0"简化为“::”,如果有连续0,则将左边的一串零简化,右侧保留。

    max_lenth=0

    For i=1 To 7

       If a(i)<> "0" Then     ‘②

         lenth= lenth + 1

       Else

         If lenth > max_lenth Then

         max_ lenth = lenth: start= i - lenth: lenth = 0

       End If

      End If

    Next i

    If lenth > max_ lenth Then max_lenth = lenth:start = i-lenth

    ‘根据连续0串的位置确定输出简化后的结果

     ② ③ 

【加试题】有如下VB程序段

a(1)=1:a(2)=1

B(1)=1:b(2)=2

For i=3 to 5

   a(i)=a(i-1)+a(i-2)

   b(i)=b(i-1)+a(i)

Next i

执行该程序后,数组元素b(5)的值为(  )

A . 12 B . 8 C . 5 D . 6
在VB语言中,下列变量中不合法的变量是(  )。
A . a_12 B . a1_2 C . 1_a2 D . a12_
在VB中,下列属于字符串常量的是(    )。
A . cnt B . 3.14 C . 2018 D . “Visual Basic”
设计人口普查程序,用一个变量表示上海市的人口总数,这个变量的类型应是(    )。
A . Integer B . String C . Long D . Boolean
在Visual Basic中,若要定义变量no用于存储汽车牌照号码,如"沪A•12345",则正确的定义语句是(     )。
A . Dim no As Integer B . Dim no As String C . Dim no As Single D . Dim no As Boolean
字符串s='a\nb\tc',则len(s)的值是(   )。
A . 7 B . 6 C . 5 D . 4
对给定的若干种互不相同的钱币面值,编程计算最少需要多少张钱币才能凑成某个给定的钱数。给定的7种钱币面值分别为1,2,5,10,20,50,100,则凑成金额94元,需要50元一张,20元两张,2元两张,共5张纸币时,张数最少。

程序界面如图所示。

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

Dim a(1 To 7)As Integer

Dim b(1 To 7)As Integer

Private Sub Form_Load( )

  List1.AddItem "面值    张数"

  ‘在数组a中从小到大存储7种钱币面值的整数值

End Sub

Private Sub Command1_Click( )

  Dim n, num, k As Integer

  n=Val(Text1.Text)

  k=7

  Do While n>0

    If n>=a(k)Then

         ①   

      b(k)=b(k)+1

    Else

         ②   

    End If

  Loop

  For i=1 To 7

    If b(i)<>0 Then

        num=num+b(i)

        List1.AddItem Str(a(i))+"   "+Str(b(i))

    End If

  Next i

  List1.Addltem"最少"+Str(num)+"  张"

End Sub

以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②

有如下 VB 程序段:

a(1) = 68: a(2) = 88: a(3) = 76: a(4) = 60: a(5) = 98

a(6) = 100: a(7) = 64: a(8) = 85: a(9) = 99: a(10) = 59

For i = 1 To 9

    b(i) = Abs(a(i + 1) - a(i))

    c(b(i) \ 10) = c(b(i) \ 10) + 1

Next i

For i = 0 To 10

    If c(i) > 0 Then Label1.Caption = Label1.Caption + " " + Str(c(i))

Next i

数组c各元素初值为0,执行该程序段,标签Label1上显示的内容是(    )

A .  2 3 2 1 1 B . 1 3 2 2 1 C . 2 3 2 2 1 D . 1 3 2 1 2
小明设计了一个可以输入日期得到当天是年度第几天的程序,请阅读程序,完成填空(闰年判断规则:能被4整除但不能被100整除或能被400整除,闰年的2月为29天)

day=input("请输入年月日(格式举例:2000-01-05):")

year=int(day[:4])

month=      ①        

sun=int(day[8:10])

print(year,month,sun)

f_run=[31,28,31,30,31,30,31,31,30,31,30,31]    

tall_day=0

if       ②         :

    for i in range(month-1):

        tall_day +=f_run[i]

           ③           

else:

    for i in range(month-1):

        tall_day +=f_run[i]

tall_day += sun

print(day+"是当年的第"+str(tall_day)+"天")

  1. (1) 将程序横线处补充完整

     ② ③ 

  2. (2) 如输入“2020-4-19”为当年的第天。
在Python中,不同的数据,需要定义不同的数据类型,可用方括号“[]”来定义的是(   )
A . 列表 B . 元组 C . 集合 D . 字典
列表在python中的作用非常强大,它可以包含多个数据元素,下面是列表的数据元素(    )。
A . 整数 B . 浮点数 C . 字符串 D . 以上都是
列表q=[1,2,3,4,5,6],删除列表数值1,下列代码不能实现此功能的代码是(    )
A . del q[1] B . del q[0] C . q.pop(0) D . ABC都不可以。
已知字符串a="python",则print(a[ 1 ]+a[ 3 ])的值为(    )
A . "yth" B . "yt" C . "py" D . "yh"
下面代码输出(     )。

lst=list(range(1,6,2))

print(lst)

A . [1,3,5] B . [2,4,6] C . [2,4] D . [1,6,2]