第四章 程序设计基础 知识点题库

实现如下程序:输入一个非负数,将该数各位上的数字反转得到一个新数。得到的新数,除了原数为0外,反转得到的新数最高位不应为0。程序运行时,在文本框Text1输入数字,单击按钮Command1后在文本框Text2上输出结果。程序界面如图所示。实现上述功能的VB程序如下,在划线处填入合适的代码。

Private Sub Command1_Click()

Dim a As String, n As Integer

a = Text1.Text

Do While n > 1 And Mid (a, n, 1) = “0”

Loop

For i = n To 1 Step -1

 Text2.Text =

Next i

End Sub

十进制数转换为二进制数的算法流程图如下图所示,当输入十进制数63时,改流程图中循环体执行的次数为(  )

A . 4 B . 5 C . 6 D . 7
下列VB表达式的值等于2016的是(  )
A . 2016 Mod 2 ^ 20 B . Len(“2015”) + 1 C . Str(2008) +“8” D . Mid(“20160501”,1,4)
下面的程序段运行后的结果为

s=0

for i in range(1,8,3):

  s=s+i

print(s)

用VB编写一个计算 的程序,程序代码如下,请补充完整。

Private Sub Command1_Click( )

  Dim i, n, tAs Integer

  Dim m, s As Double

  s=1:t=1

  n=Val(Text1.Text)

  For i=2 To n

      m=1

      For j=1 To   ①   

          m=   ②       ‘计算1/(2*i-1)!

      Next j

      s=s+m*t     ‘累加通项式

        t=-t

  Next i

  Text2.Text=Str(s)   ‘结果显示到文本框Text2中

End Sub

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

以下程序段执行后整型变量n的值为(     )

N=0

For i=1 to 25

   If i mod 5= 0 then n=n+i

Next i

A . 50 B . 15 C . 75 D . 210
IP地址是计算机在网络中唯一标识,由四段数字(0-255的整数)组成,中间用点隔开,例如:192.168.1.1。如用四个变量a、b、c、d分别表示IP地址的四段数字,下列语句能正确输出IP的是(     )
A . print(a+“.”+b+“.”+c+“.”+d) B . print(a , . , b , . , c , . , d) C . print(a , b , c , d , sep=”.”) D . print(“a” , “.” , “b” , “.” , “c” , “.” , “d”)
“字符串消消乐”游戏说明:从Text1框输入一串字符,程序会把相邻的相同字符消除,所有相邻的相同字符被消除后,剩余字符会重新拼接成新的字符串,再按照相同的规则消除字符,直到所有相邻的字符都不相同或变成空串为止,输出最后获得的字符串。

例如,输入字符串“addded”点击“运行”按钮后输出字符串“bd”;输入字符串“adddedb”,点击“运行”按钮后输出空字符串:输入字符串“abbba”点击“运行”按钮后输出字符串“bea”。

  1. (1) 要使窗体Form1标题显示“字符串消消乐”,可修改窗体的(单选,填字母:A .Text/B .Caption/C .Name)属性来实现。
  2. (2) 若输入字符串"ABCOCCDBA",点击“运行"按钮后输出字符事为:
  3. (3) 算法的VB程序如下,请在划线处填入合适的代码。

    Private Sub Command1_Click( )

        Din s1 As String, s2 As String

        Dim i As Integer, j As Integer

        S1 = Text1.Text

        Do While Len(s1) > 1

            s2=“”:i=1

            Do While i<= Len(s1)

                For j= i +1 To Len(s1)

                    If Mid(s1, i, 1) < Mid(s1, j, 1) Then Exit For

                Next j

                If j=i+1 Then s2= s2 + Mid(s1, i, 1)

                   

            Loop

            If s2= s1 Then Exit Do

            s1 =

        Loop

        Label1.Caption = s1

    End Sub

某算法程序段如下:

Dim s1 As String, s2 As String, ch As String

Const code = "@*()^&#"

s1 = Text1.Text

For i = 1 To Len(s1)

    ch = Mid(s1, i, 1)

    If ch >= "a" And ch <= "z" Then

        t = (Asc(ch) - 65 + i) Mod 7

        s2 = Mid(code, t + 1, 1) + s2

    Else

        s2 = s2 + ch

    End If

Next i

Text2.Text = s2

若 text1 中输入字符“AbCd”,则 text2 中输出的是 (     )

A .  AC^@ B .  ^@AC C .  ^(@& D . A^C@
四则混合运算是指加法、减法、乘法和除法四种混合运算。现有一程序可计算不带括号的“+”、“-”、“*”三则混合运算。在文本框Text 1中输入表达式(保证符合数学规范),单击“=”按钮Command 1后,在标签Label l中输出运算结果,程序界面如图所示。

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

    Private Sub Command1_Click( )

        Dims As String,ch As String

        Dim i As Integer,t As Integer

        Dim ans As Long,px As Long

        s=Text1.Text

        ans=0:t=0:px= 1

        For i=1 To Len(s)

            ch=Mid(s,i,1)

            IfThen

                t=t*10+Val(ch)

            Else

                px=px*t

               

                If ch= "_" Then

                   

                    px=-1

                End If

                t=0

            End If

        Next i

        Label 1.Caption=Str(ans+

    End Sub

  2. (2) 若删除加框处代码,在文本框Text1中输入表达式“3-2+2*3”,程序运行结束时标签Label1中显示的内容为
下列表达式的运算结果与其他选项不同的是(    )
A . Len("2021") + 2 ^ 2 B . Asc(Mid("ABCD", 4, 1)) - Asc("A") C . 41 \ 2 Mod 3 * 4 D . Abs(-5) + Int(Sqr(10))
编写一个程序,实现九九乘法口诀表。
有如下VB程序段:

S=""

For i = 1 To 3

    j=i+1:k=0

    Do while j<=10

        if a(j)<a(i) and a(j)>a(k) then k=j

        j=j+1

    Loop

    s=s+str(a(k))

next i

数组元素a(0)到a(10)的值依次为“0,8,18,15,4,6,11,12,2,19,10”执行该程序段运行后,变量s的值是(    )

A . “6 15 12 ” B . “10 19 15” C . “6 12 11” D . “6 12 12”
下列字符串比较大小时,最小的是(    )
A . "abc" B . "aab" C . "abcc" D . "aa8"
有如下VB程序段:

temp = a(1)

For i=2 To 10

   

Next i

数组元素a(1)到a(10)的值依次为“36,48,25,32,28,20,30,52,15,8”。程序段中加框处语句执行5次后,变量temp的值为(    )

A . 25 B . 28 C . 20 D . 8
下列VB表达式中,与表达式x=5>3计算结果相同的是(    )
A . x=not 4>3 and 5>3 B . x=not 4>3 or 5>3 C . x=not (4>3 or 5>3) D . x=4<3 or 5>3 and 4>5
如下Python程序段:

s = not 2 * 5 != 11

print (s)

运行程序代码后,s的值是( )

A . True B . False C . 1 D . 0
在VB中,1234,123456&,1.2346E+1,1.2346D+1四个常数分别表示类型。
袜子颜色配对问题。现有不同颜色的袜子若干(袜子的颜色用数字编号1~15表示),颜色相同的袜子才能组成一双,其中有几只袜子是落单的,现要求找出落单袜子的颜色以及能够配对的袜子数量。编写VB程序解决该问题,程序运行时,在文本框Text1中依次输人袜子的颜色编号(数据都用逗号分隔并以逗号结尾),单击“查找”按钮,在列表框List1中输出落单袜子的颜色编号,在标签Label1中显示能配对的袜子数量。运行界面如图所示,实现上述功能的VB程序如下。

请回答下列问题:

Const n=15

Private Sub Command1_ Click() 

  Dim a(1 To n) As Integer      '数组 a存放不同颜色袜子的数量,默认值为0

  Dim s As String, ch As String

  Dim c As Integer, i As Integer, t As Integer

    List1. Clear

    s= Text1. Text

    t=0:c=0:i=1

    Do While i <= Len(s)

        ch= Mid(s, i, 1)

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

            t=t * 10 + Val(ch)

        Else

            a(t)=   ① 

            t=0

        End If

        i=i+ 1

    Loop

    For i=1 To n

        If    ②    Then List1. AddIt-em"落单袜子的颜色为" + Str(i)

        c=

    Next i

    Label1. Caption="能配对的袜子有"+ Str(c) + "双"

End Sub

  1. (1) 写出VB代码中的方法名(只需填一个方法名);
  2. (2) 根据题意,请在划线处填入合适代码

     ② 

  3. (3) 加框处程序代码有错,请改正。
执行下列语句后的结果是什么 (  )

>>>a="123"

>>>print("123"+a)

A . 123123 B . "123" 123 C . 123  123 D . 语法错误