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

用语句Dim A(-3 To 3) As Integer 所定义的数组的元素个数是(  )
A . 3 B . 4 C . 6 D . 7
有如下VB 程序段:

m = Val(Text1.Text)

Do While m <> 0

x = m Mod 8

m = m \ 8

a(x) = a(x) + 1

If a(x) = 1 Then n = n + 1

Loop

数组a各元素的初始值都为0,在文本框Text1中输入“529”,执行程序后,变量n的值为(  )

A . 1 B . 2 C . 3 D . 4
下列程序的运结果是(  )

DIM A(1991 TO 1998) AS INTEGER

FOR I=1 TO 8

   A(I)=I

PRINT A(I);

       NEXT I

A . 1  2  3  4  5  6  7  8 B . 1991  1992  1993  1994  1995  1996  1997  1998 C . 显示出错信息 D . 0 0 0 0 0 0 0 0
语句Dim a&(1 To 20), b#(2, -1 To 1)定义两个数组,其类型分别为(  )
A . 二维单精度实型数组和二双精度型数组 B . 二维长整型数组和二维单精度实型数组 C . 一维单精度实型数组和二维整型数组 D . 一维长整型数组和二维双精度型数组
有如下程序段:

Private Sub Command1_Click()

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

For i=1 To n

  k=0

  For j=1 To n

    If a(j)>a(i)Then k=k+1

  Next j

_____________

Next i

For i=1 To n

List2.AddItem Str(a(i))+""+Str(mc(i))

Next i

End Sub

若要实现对数组a按降序排名次(最高分为第1名,当a中出现相同数字,排名相同),划线处应填写的语句为(  )

A . mc(i)=k+1 B . mc(i)=mc(i)+1 C . mc(j)=k+1 D . mc(j)=mc(j)+1
求最大连续子矩阵和。给出一个矩阵,序列元素有正整数、0、负整数,在矩阵中限定一块区域,并要求找到该限定区域内的一个子矩阵,使得这个子矩阵与限定区域同宽但可能不同高,且包含的所有元素之和为限定区域矩阵中最大值,在和最大的前提下还要求该子矩阵包含的元素个数最多。

算法描述如下:

1)从第一行开始向下进行累加,累加和若大于之前的最大和,则记录此时的最大和及结束位置;

2)若累加和等于之前的最大和,但元素个数大于之前的最大和的元素个数,则记录此连续子矩阵的结束位置;

3)若累加和小于0,则重新开始记录;

4)若有符合条件的多个连续子矩阵,则输出最先找到的子矩阵。

    小俞编写了一个实现该功能的VB程序,窗体加载时生成m*n个序列数据,依次存放在数组a,并显示在列表框List1中,在文本框Text1中输入该矩阵限定区域的左上角位置,在文本框Text2中输入右下角位置,单击“计算”按钮Command1后,找出连续和最大的子矩阵,在标签Label3上显示最大连续子矩阵和,在Label 4上显示该连续子矩阵的元素个数,在Label 5上显示该连续子矩阵开始与结束位置。程序运行界面如图所示。

  1. (1) 在设计程序界面时,要清空文本框中的显示内容,应修改文本框的属性
  2. (2) VB程序代码如下,请在划线处填入合适的代码。

    Const m=12:Const n= 6

    Dim a(1 Tom*n) As Integer

    Private SubForm_Load()

    ‘生成m*n个数据,并显示在列表框List 1,代码略

    End Sub

    Private Sub Command1_Click()

       Dim i As Integer, j As Integer, k As Integer, temp As Integer 

       Dim length As integer, begin As Integer, sum As Integer

       Dim ks As String, js As String

       Dim xy( 1 to 4) As Integer, h sum(1tom*n) As Integer

       ‘读取文本框Text 1的数值分别存储到数组xy(1)、xy(2),读取文本框Text 2的数值分别存储到数组xy(3)、xy(4),xy(1)、xy(3)表示所在行,xy(2)、xy(4)表示所在列,代码略

         For i=1 To xy(3) -xy(1) + 1

           h sum(i) = 0

       Next i

       ‘求限定区域内每行数据之和

       For i=1 To xy(3) -xy(1) + 1

       For j= 1 To   ① 

           h sum(i) =h sum(i) +a((xy(1) +i-2) *n+xy(2) +j-1)

       Next j

       Next i

       ‘找出最大连续之矩阵和

       temp =0:sum=0:length=0:begin= 0

       For i=1 To xy(3)-xy(1) + 1

          If temp+h sum(i) >sum Then

            sum=temp+h sum(i)

           length=i-begin

           k=i

         ElseIf temp+h sum(i) =sum And   ②   Then

           length=i-begin

        k=i

      End If

      If temp+h sum(i) < 0 Then

        begin=i

        temp= 0

      Else

        temp=temp+h sum(i)

        End If

    Next i

        ks=“(“  ③  ”+Str(xy(2) ) +) ”    ‘开始位置

        js=“(“+Str(k+xy(1) -1) +” “+Str(xy(4) ) +”) ”    ‘结束位置

      Label 3.Caption=“最大子矩阵和为:”+Str(Sum)

      Label 4.Caption=“子矩阵中的元素个数为:”+Str(length*(xy(4) -xy(2) +1) )

      Label 5.Caption=“子矩阵位置为:”+ks+“,”+js

    End Sub

     ② ③ 

以下的变量名合法的是(  )。
A . sqr B . 2pai C . cj1 D . a+b
对英文字母进行加密的规则:用26个不重复的ASCⅡ字符作为密钥、字母“A”密钥第1个字符代替,字母“B”用密钥中第2个字符代替,其他字母用类似方法进行加密。现编写一个验证密钥合法性的程序。在文本框Text1中输入密钥,单击“验证”按钮Command1在文本框Text2中输出相应的信息。

  1. (1) 实现验证功能事件的过程名称是
  2. (2) 为实现上述功能:请在划线处填入合适的代码。

    Private Sub Command1_Click()

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

    Dim my(0 To 127) As Boolean      '0~127表示128个ASCⅡ的ASCⅡ值 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

    End If

       ③ 

    Text2.Text="密钥正确!"

    End If

    End Sub

下列语句正确定义了一个单精度实数型变量x 的是( )。
A . Dim x As Single B . 其它三项都不对 C . Dim x As Integer D . Dim x As String
在数组a中,数据的存放情况如下表,当i = 8时,a[i mod 3]的值为

有如下程序段,运行时程序出现如下错误提示,出错语句的位置是(  )

  Private Sub Command1_Click()

    Dim i As Integer

    Dim a(10) As Integer          ‘①

    For i = 1 To 10                    ‘②

        a(i) = Rnd * 100              ‘③

    Next i

    Label1.Caption = Str(a(i))   ‘④

End Sub

A . B . C . D .
有个列表n=[‘水果’,‘砂糖橘’,‘苹果’,‘橙子’],请把列表中‘苹果’改为‘橘子’,选出修改正确的语句(   )
A . n[2]= ‘橘子’ B . n[‘橘子’] C . n[3]=‘橘子’ D . list[‘橘子’]
下列选项中不属于Python基本数据类型的是(   )。
A . int B . float C . list D . bool
以下说法正确的是(     )
A . 列表可以存储任何类型的数据,并且同一个列表中元素的数据类型也可以不同 B . 字典中的键是唯一的,所以其内存放的元素是有序数据 C . 元组和集合的区别在于元组用小括号表示,而集合则用大括号表示 D . 序列都支持相加和相乘操作
字典、集合是python的序列。
Python程序运行时,从键盘输入的内容默认是(   )数据类型
A . 字符串 B . 整数 C . 浮点数 D . 都不是
下面程序的运行结果是(  )。

>>> list1=[a,3,b,10]

>>> del list1[1:3]

>>> print(list1)

A . [3, 10] B . [a, 10] C . [b, 10] D . [10]
下面代码运行结果是(     )。

list1=[6,3,2,5]

list2=[5,3,7,3]

list3=list(set(list1+list2))

print(list3)

A . [6,3,2,5,5,3,7,3] B . [2,3,5,6,7] C . [3,5] D . {6,3,2,5,5,3,7,3}
若用字典存储某学校7选3科目的选课人数,dict={"物理":238,"化学":227,"生物":312,"政治":226,"历史":287,"地理":257,"技术":322},要修改化学的人数为217,以下选项中能实现正确修改的是(      )
A . dict[1]=217 B . dict["化学"]=217 C . dict{"化学"}=217 D . dict[化学]=217
下列属于日期型数据的是(   )。
A . @January 10,2021@ B . #January 10,2021#     C . January 10,2021 D . &January 10,2021&