4.1.3 Python的运算符与表达式 知识点题库

设A=2,B= - 4,则表达式3*A>5 Or B+8<0的值是
编写“加法练习题生成器”程序,实现如下功能:在文本框Text1中输入题数n,单击“生成’’按钮Command1,在列表框List1中显示n个两数之和小于100的加法练习题。程序运行界面如图1所示。

  1. (1) 在设计程序界面时,应使用图2所示“控件工具箱”中的(填写相应编号)添加“生成”按钮。

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

      Private Sub Command1_Click()

        Dim n As Integer, i As Integer, a As Integer, b As Integer

        Randomize

        n=Val(Text1.Text)

        i=    ①      

        Do While i<=n

          a=Int(Rnd*100)

          b=Int(Rnd*100)

          If    ②    Then

              List1.Addtem"("+Str(i)+")"+Str(a)+"+"+Str(b)+"="

              i=i+1

          End If

        Loop

      End Sub

     ②

  3. (3) 运行该程序,在文本框中输入5,单击“生成”按钮后,对语句a=Int(Rnd*100)执行次数的描述,最合理的是(单选,填字母:A,执行次数等于5/B,执行次数大于等于5/C,执行次数小于等于5)。

在 Visual Basic 中,关系表达式 x/y=x\y 为真,则说明(  )
A . x不能被y整除 B . x与y一定不相等 C . x与y一定相等 D . x 能被y整除
编写“输出所有子串”程序,实现如下功能:在文本框Text1中输入字符串,在列表框List1中输出该字符串的所有子串并输出子串的总数。程序运行界面以及工程资源窗口如下图所示。

  1. (1) 观察上图,该程序中的窗体对象名为

    (单选,填字母: A .求所有子串/  B.Forml /  C .子串 .frm /  D .工程 l . vbp )

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

    Private Sub Command 3_ Click ()

    Dim s As String , sum As Integer

    Dim i As Integer , t As Integer , j as Integer

    s = Text1. Text

    t = Len ( s ) : sum = 0

    For i = 1 To t

        For j = i To t

            List1.Addltem

            sum=sum + 1

        Next j

    Next i

    List1. Addltem "总共有"+ + "个子串"

    End Sub

  3. (3) 如果输入的字符串是“abcdefg”,则输出中有 个子串
情报员小王在工作时发现R国会用一些对称字符(如ABBA、ABA、123321)进行通信。R国为防止通信内容被破解,会在对称字符的头、尾加一些无关字符,如:12ABBA、ABAKK、5123432198。因此小王编写了一个VB程序,用于读取通信字符串中最长的对称字符。在文本框Text1中输入通信字符,单击“读取”按钮 Command1,在标签Label2中显示最长的对称字符,程序运行界面如图所示。请完善代码。

Private Sub Command1_Click()

Dim x As String, n As Integer, i As Integer

Dim k As Integer, start As Integer

Dim max As Integer

x = Text1.Text: n = Len(x)

max = 0: start = 1

For i = 1 To n

 k = n

 Do While k > i

  IfAnd k - i + 1 > max Then

  max = k - i + 1

  start=i

 End If

 Loop

Next i

Label2.Caption =“最长回文字符串为” + Mid(x, start, max)

End Sub

Function isPa(t As String) As Boolean ’判断是不是回文数

Dim i As Integer

For i = 1 To Len(t) \ 2

 If Mid(t, i, 1) <> Mid(t, Len(t) - i + 1, 1) Then isPa = False

Next i

End Function

有下列VB程序段:

Dim strA As String, strB As String

strA = "hongda":strB = ""

For i = 1 To Len(strA) * 2

If i / 2 = Int(i / 2) Then

strB = strB + Chr(Asc(Mid(strA, (i - 1) Mod Len(strA) + 1, 1)) + 2)

End If

Next i

该程序段运行后,变量strB的值是(  )

A . "jpfqic" B . "qicqic" C . "phbqic" D . "qicoga"
某算法的部分流程图如图所示,执行这部分流程后,变量a,b的值分别是(  )

A . 8  3 B . 11  8 C . 19  11 D . 30  19
用VB编写求句子中最长单词的程序。输入要求:句子以“.”结束;单词之间用空格分隔,单词没有缩写形式和其他特殊形式。运行界面如图所示程序功能:在文本框 Text1中输入待统计的句子,单击“统计”按钮 Command1,将结果显示在文本框Text2和Text3中。

  1. (1) 代码“Private Sub Command1_Click( )”中的 Command1Click( )是(单选,填字母:A .对象名/B .事件/C .事件处理过程/D .方法)
  2. (2) 根据题意将下列程序补充完整。

    Private Sub Command1 _Click( )

    Dim i As Integer, k As Integer

    Dim s As String, ch As String

    Dim max As Integer     ‘存储句子中最长单词的长度

    Dim ss As String     ‘存储句子中最长的单词

    s= Text1.text

    i=1:k=0:max=0

    ch = “”

    Do While ch <> “.” Or i<= Len(s)

        ch=Mid(s, i, 1)

        If ch<> “” And ch <> “.” Then

                ①    

        Else

            k=0

        End If

        If   ②   Then

            max =k

            ss=   ③   

        End If

        i=i+1

    Loop

    Text2.Text =Str(max)

    Text3. Text =ss

    End Sub

     ② ③ 

有一组正整数,要求仅对其中的素数进行升序排序。排序后素数在前,非素数在后排序示例如下。

排序前

86

71

5

41

81

79

37

89

排序后

5

37

41

71

79

89

86

81

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

Const n = 8

Dim a(1 To n) As Integer

Private Sub Command1_ click ( )

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

Dim flag As Boolean, sl As String, s2 As String

‘ 读取一组正整数,存储在数组a中

‘ 代码略

For i = 1 To n

  s1 = s1 + Str(a(i))

Next i

Text1. Text = s1

For i = 1 To n-1

        ‘①

    If IsPrime(a(k)) Then flag = True

    Else flag = False

    For j = i + 1 To n

      If IsPrime (a(j)) Then

        If       Then    ‘②

          k = j

          flag = True

        End If

      End If

    Next j

    If k <> i Then

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

    End If

  If Not flag Then Exit For ‘ Exit For表示退出循环

  Next i

  ‘依次输出排序后的数据

  ‘代码略

  For i=1 To n

    s2 = s2 + Str(a(i))

  Next i

  Text2. Text = s2

End Sub

Function IsPrime (m As Integer) As Boolean

‘ 本函数判断整数m是不是素数。是素数返回值为True,不是素数返回值为False

‘ 代码略

End Function

加框①处代码应改为

加框②处代码应改为

下列VB表达式中,值最大的是(  )
A . 127Mod 20\2 B . Len(“4+5”) C . Int(Sqr(45) ) D . Asc(“a”)-Asc(“h”)
下列VB逻辑或关系表达式中,输出结果为“真”的是(   )。
A . Int(-7.8) =-7  B . (12<5) or (8>6) C . Not(10<>9) D . (5>3) and (3>1)
仪仗队队员对身高H的选拨要求是:高于1.85米,但不能超过1.90米。下列表达式正确的是(  )
A . H>=1.85 or H<=1.90 B . H>=1.85 and H<=1.90 C . H>1.85 and H<=1.90 D . H>1.85 or H<=1.90
小刘记录了某地每天最高气温和最低气温,现要编写VB程序,计算一周内最大温差(当日最高气温与最低气温之差)。功能如下:在文本框Text1中依次输入本周内每天的最高气温与最低气温(数据都用逗号分隔并以逗号结尾),单击“计算”按钮Cmd后,程序计算出最大温差,结果显示在Label1中。界面设计如下图所示:

  1. (1) Cmd 对象属于类 (单选,填字母:A . Form / B . Label / C . TextBox   D . CommandButton)。
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Command1_Click()

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

    Dim min As Single, max As Single

    Dim d As Single, v As Single, s As String

    s = Text1.Text

    d = 0: maxd = 0

    j = 1: k = 1

    For i = 1 To Len(s)

       If Mid(s, i, 1) = "," Then

       

         j = i + 1

         If  Then

            max = v

         Else

            min = v

            d = max - min

            If d > maxd Then

    End If

         k = k + 1

       End If

    Next i

    Label1.Caption = "本周温差最大值为" & Str(maxd)

    End Sub

  3. (3) 加框处的代码有误,请改正:
  4. (4) 运行该程序,输入数据如上图所示,程序执行到循环结束时,变量k为
有如下VB程序段:

Dim s As String

s="浙江杭州市"

If Len(s)>=5 Then

  s=Mid(s,3,2)

Else

  s=Mid(s,1,2)

EndIf

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

A . "浙江杭州" B . "浙江" C . "杭州" D . "州市"
若x是能被7整除的正整数,下列表达式一定成立的是(    )

① x mod 7=0     ② x\7=0    ③ Int(x/7)=x/7      ④ x/7=x\7

A .   ①② B .   ①③④ C .   ①②④ D . ①③
下列表达式的计算结果与x mod 10的计算结果一样的是(    )
A . int(x/10)*10 B . x \ 10 C . x-(x\10)*10 D . (x mod 10) *10
设a=2,b=5,在python中,表达式a>b And b>3的值是(    )
A . False B . True C . -1 D . 1
VB表达式20 Mod 3 ^ 2 + Not 1 + 99 = 99 < 2的值是(      )
A . 2 B . 3 C . 4 D . 5
下列Python程序段运行的结果是

s = 0

i = 1

while i <= 100:

    if i % 10 != 0 :

        s+= i

        i+ =1

print(s) (       )

A . 4500 B . 4578 C . 5050 D . 6657
下列VB表达式的值为True的是(    )
A . 8\4*4+ Int(8.4)=16 B . "56">"527" C . a> b And a<= b D . Not(a> b Or a<= b)
最近更新