4.1.2 Python的数据类型 知识点题库

在程序中用变量存储某个人的身份证号码,以下数据类型合适的是:(   )
A . Integer B . Long C . String D . Boolean
有如下VB程序段:

Dim a(l To 5) As Integer, i As Integer, c As Integer

a(l) = 2 : a(2) = 1 : a(3) = 3 : a(4)=4 : a(5) = 5

c=0

For i = 3 To 5

If a(i - 2) + a(i - 1) = a(i) Then c = c + 1

Next i

Textl. Text = Str(c)

该程序段运行后,文本框Textl中显示的内容是(   )

A . 1 B . 2 C . 3 D . 4
下列属于字符串String类型常量的是(   )
A . " False " B . 56.78 C . False D . 5678
以下可作为Visual Basic变量名的是(   )。 (多选) 
A . F1.1 B . pi C . F2A D . 2FA
下列属于正确的赋值语句是(   )。  
A . b=a+5 B . a+5-b=0 C . b-5=a D . a+5=b
小明编写了一个字符串加密程序,功能如下:在文本框Text1中输入明码,单击“加密”按钮Command1后,在文本框Text2中显示加密后的密文,运行界面如下图所示。

加密算法如下:

1)将明码中每个字符的八位二进制ASCII码(不足八位的左端补0,凑足八位)分成两段(左4位一段,右4位为另一段),如字符“C”的二进制ASCII值为01000011,分段后为0100,0011;

2)将高位段(左边4位)左移一位,并将原第一位数码移到第4位(如0100转化为1000),再转化为十六进制数(如1000化为8);

3)对另一段(右4位)执行2)所示算法,如0011→0110→6;

4)顺次连接两位十六进制数,得到该字符的暗码,如“C”的暗码为“86”;

5)将每个字符的暗码按照明码的顺序连接。

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

  1. (1) 按照加密算法,字符“J”的密文是
  2. (2) 请在划线处填入合适代码。

      Private Sub Command1_Click()

      Dim i As Integer, j As Integer

      Dim m As Integer, k As Integer, c As String

      Dim x As Integer, y As Integer

      Dim d(1 To 8) As Integer     ‘数组d存储字符ASCII码二进制从左到右的各位数码

      Dim mw As String      ‘mw存储暗码

      mw =“”

      For i = 1 To Len(Text1.Text)

       c = Mid(Text1.Text,i,1)

       For j = 1 To 8

        d(j) = 0

       Next j

       m = Asc(c)

     

       Do While m > 0

        d(k) = m Mod 2

        m = m \ 2

        k =k-1

       Loop

      x = d(1) :y = d(5)

      For j = 1 To 3

       d(j) =d(j+1)

     

      Next j

      d(4) = x:d(8) = y

      mw = mw + btoh(d)

      Next i

      Text2.Text = mw

      End Sub

      ‘将数组元素中的二进制数转换成对应的十六进制数

      Function btoh(d() As Integer) As String

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

      str1 = “0123456789ABCDEF”: s = 0: ch =“”

      For i = 1 To 8

       s = s * 2 + d(i)

       If i = 4 Then

        ch = Mid(str1,s+1,1)

        s = 0

       End If

       Next i

     

      End Function

小吴为了研究冒泡排序过程中数据的”移动”情况,编写了一个VB程序,功能如下:在列表框List1中显示排序前数据(存储在数组a中),在文本框'Text1中输入初始位置(即下标值),单击“排序”按钮Command1后,在标签Labell中显示指定初始位置的数据在排序过程中的位置变化情况,排序后的数据显示在列表框List2中。程序运行界面如图所示。

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

Dim a(1 To 8)As Integer

Dim n As Integer

Private Sub Form_Load()

    a(1)= 30:a(2)= 47:a(3)= 30:a(4)= 72

    a(5)= 70:a(6)= 23:a(7)= 99:a(8)= 24

    n = 8

    For i = 1 To 8

      List 1.Addltem a(i)

    Next i

End Sub

Private Sub Command1_Click()

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

    Dim pos As Integer

    Dim s As String

    s = Text1.Text

    pos = Val(Text1.Text)

    For i = 1 To n- 1

      For j = n To i+1 Step-1

        If a(j)< a(j -1) Then

                ‘⑴

          a(j-1)= a(j)

          a(j)= k

          '如果pos位置的数据参与交换,则更新pos值,记录pos变化位置

          If pos = j Then

            pos = j-1

            s = s + " →" + Str(pos)

              ‘⑵

            pos = j

            s = s + " →" + Str(pos)

          End If

        End If

      Next j

    Next i

    Label1.Caption = "位置变化情况:" +s

    For i = 1 To n

      List2.AddItem Str(a(i))

    Next i

End Sub

 ⑵ 

幸运数。一组由1开始的奇数数列为:

1,3,5,7,9,11,13,15,17,19,21,23,25,……

此数列的第二项为3,将此数列的第3n个数删除,留下的数为:

1,3,7,9,13,15,19,21,25,……

新数列的第三项为7,将新数列的第7n个数删除,留下的数为:

1,3,7,9,13,15,21,25.……

若一直重复上述步骤,最后剩下的数就是幸运数。

下列程序的功能是找出1000以内的幸运数,但加框处代码有错,请改正。

Private Sub Commandl_Click()

Dim a(500)As Integer,b(500)As Integer

Dim i As Integer,m As Integer,k As Integer

Dim top As Integer,bott As Integer

'产生由1开始的奇数数列,依次存储在数组a中,代码略

top=2:bott=500

Do While top<bott

        ‘⑴

  For i=1 To bott

    If i Mod a(top)<>0 Then

      b(k)= a(i)

      k=k+1

    End If

Next i

      ‘⑵

  top = top+1

  For i=1 To bott

    a(i)=b(i)

  Next i

Loop

For i=1 To bott

  List1.AddItem Str(a(i))

Next i

End Sub

 ⑵ 

某编码由4个信息位和3个校验位组成,通过对编码信息进行验算,能够检测并纠正一位错误代码。该7位编码中b1~b4为信息位,p1~p3为校验位,位置如表所示:

编码中位

1

2

3

4

5

6

7

对位信息

p1

p2

b1

p3

b2

b3

b4

校验的方式如下,求校验值g1、g2、g3:

g1 = p1 Xor b1 Xor b2 Xor b4

g2 = p2 Xor b1 Xor b3 Xor b4

g3 = p3 Xor b2 Xor b3 Xor b4

其中Xor 为异或运算,规则是:0 Xor 0 =0,0 Xor 1 =1,1 Xor 0 =1,1 Xor 1 =0,p1 Xor b1 是将p1、b1 转换为二进制后按位进行异或运算,如7 Xor 12 的结果为11。

a.若计算得到的校验值g1、g2、g3 均为0,说明校验正确,数据无错误。例如:若7 位编码为1101001,计算校验值g1、g2、g3 值均为0,验证正确。

b.若校验值g1、g2、g3 不全为0,说明数据有错,出错位置为g3g2g1(二进制数表示),纠错的方法是对错误的位进行取反,即“0”变“1”,“1”变“0”。例如:若7 位编码为1111001,计算校验值g1=1、g2=1、g3=0,不全为0,说明数据有错,错误位置在011(二进制数)位,即第3位,原位置上“1”应为“0”,正确编码为1101001。

小明为此编写了VB 程序,程序运行时,在文本框Text1 中输入编码值,单击“校验”按钮Command1 后,在文本框Text2 中输出运行结果,如图所示。

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

  1. (1) 若按上述规则的7位编码为1001000,其中一位有错,则正确的编码应为
  2. (2) 请在划线处填入合适的代码并对加框处改正

    Function check(s As String) As Integer

    Dim i As Integer, g1 As Integer, g2 As Integer, g3 As Integer

    Dim c(1 To 7) As Integer

    For i = 1 To 7

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

    Next i

    g1 = c(1) Xor c(3) Xor c(5) Xor c(7)

    g2 = c(2) Xor c(3) Xor c(6) Xor c(7)

    g3 = c(4) Xor c(5) Xor c(6) Xor c(7)

    If g1 + g2 + g3 = 0 Then check=0 Else check=

    End Function

    Private Sub Command1_Click()

    Dim i As Integer, m As Integer, Outs As String

    m=  ② 

    If m = 0 Then

      Text2.Text = “验证正确,数据无错误”

    Else

      For i = 1 To 7

     If i = m Then

       Outs=Outs+   ③  

     Else

       Outs = Outs + Mid(Text1.Text, i, 1)

     End If

      Next i

      Text2.Text = “第” + Str(m) + “位上数据有错误,正确编码应为:” + Outs

    End If

    End Sub

     ② ③ 

    加框处改正:

   数据类型可以分为数据类型和数据类型。
以下是简单数据类型的是(   )
A . tuple B . set C . int D . list
已知赋值语句 s="Good Bye!",则下列定义变量s正确的是(   )
A . dim s as integer B . dim s as long C . dim s as double D . dim s as string
有如下VB程序段,该程序段执行后,变量x中存储的是(  )

k=1

For j=2 To 100

  If a(j)>a(k)Then k=j

Next j

x=a(k)

A . a(1)至a(100)中的最小值 B . a(1)至a(100)中的最大值 C . a(2)至a(100)中的最小值 D . a(2)至a(100)中的最大值
请问如何将字符串转化为浮点数值型?(    )
A . float( ) B . int( ) C . str( ) D . input( )
public class Arrray_1

{

    publics tatic void main(String args[])

    {

        Int a[]={1,2,3}, b[];

        Int c=5, d;

        b=a

        d=c

        System.out.printIn (a[0]+""+a[1]+""+a[2]"");

        System.out.printIn (b[0]+""+b[1]+""+b[2]"");

        System.out.printIn("c= " +c+"d="+d);

    }

}

  1. (1) 程序输出的结果是
  2. (2) int表示的数据类型 ,还有哪些数据类型
以下说法正确的是(     )
A . 列表可以存储任何类型的数据,并且同一个列表中元素的数据类型也可以不同 B . 字典中的键是唯一的,所以其内存放的元素是有序数据 C . 元组和集合的区别在于元组用小括号表示,而集合则用大括号表示 D . 序列都支持相加和相乘操作
下列选项中,不属于Python语言基本数据类型的是(    )
A . char B . str C . int D . float
为了丰富学生业余生活,学校举办校园歌手大赛,邀请了5位音乐老师作为评委打分,打分的上限是10分。统计选手得分时,去掉一个最高分,再去掉一个最低分,取评委打分的平均值作为选手的最终得分。程序运行结果界面如图所示。

请分析任务,完成下列题目。

程序代码如下:

Private Sub Command1_Click()

Dim s As single

Dim Max , Min ,i As Integer

Dim a(5) As Integer

Max = 0

Min =     ①       

s = 0

For i = 1 To 5

    a(i) = InputBox("请输入第" & i & "个分数")

    s = s + a(i)

    If     ②    Then Max = a(i)  

    If  Min > a(i) Then Min = a(i)   

Next i

s =       ③          

Text1.Text = Max

Text2.Text = Min

Text3.Text = s

End Sub

Private Sub Command2_Click()

Text1.Text = ""

Text2.Text = ""

Text3.Text = ""

End Sub

Private Sub Command3_Click()

End Sub

请分析任务,完成下列题目。

  1. (1) 下列控件在本程序窗体中用到的是(   )
    A . 列表框 B . 单选按钮 C . 标签 D . 组合框
  2. (2) 为精确计算选手的最终得分,程序中变量s的数据类型应定义为(   )
    A . 整型 B . 单精度型 C . 字符型 D . 布尔型
  3. (3) 程序中①所在位置表达式正确的是(   )
    A . 0 B . 1 C . 5 D . 10
  4. (4) 程序中②所在位置表达式正确的是(   )
    A . Max < a(i) B . Max >a(i) C . Max =a(i) D . Max <> a(i)
  5. (5) 程序中③所在位置表达式正确的是(   )
    A . s/3 B . (s+Max+ Min)/5 C . (s - Max - Min) / 3 D . (s - Max - Min) / 5
  6. (6) 变量s所表示的含义是(   )
    A . 最低分 B . 最高分 C . 评委打分 D . 最终得分
  7. (7) 当一个选手的得分分别为9,8,9,7,8的时候,下列最终得分计算正确的是(   )
    A . 8 B . 8.33 C . 7.66 D . 7
  8. (8) 程序中Command1控件响应的事件是(   )
    A . 单击事件 B . 双击事件 C . 载入事件 D . 活动事件
  9. (9) 程序中数组a(5)包含的元素个数是(   )
    A . 1 B . 5 C . 6 D . 10
  10. (10) 程序“For i = 1 To 5 ……Next i”中“s = s + a(i) ”被执行的次数是(   )
    A . 1 B . 4 C . 5 D . 6
表达式'1'!='123'的值是(    )
A . True B . false C . true D . False
有如下 python 程序段:

a = [1] * 6

b = [96,88,84,91,99,80]

for i in range(6):

  for j in range(i+1,6):

    if b[j] > b[i]:

      a[i] += 1

    else:

      a[j] += 1

该程序段运行后,列表 a 的值为(     )

A . [5, 3, 2, 4, 6, 1] B . [2, 4, 5, 3, 1, 6] C . [10, 6, 4, 8, 12, 2] D . [4, 8, 10, 6, 2, 12]
最近更新