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

编写VB程序,实现如下功能:在文本框Text1输入一个字符串,单击命令按钮Command1,判断这个字符串是不是回文字符串(回文字符串就是一个对称的字符串,如“abcba”和“abccba”都是回文字符串,“abc”不是回文字符串)。在文本框Text2中显示结果,是回文字符串显示“yes”,否则显示“no”。程序运行效果如图所示。

  1. (1) 要使命令按钮 Command1的标题变为“判断”,则应该修改该对象的属性。
  2. (2) 为实现上述功能,请在划线处填入合适的代码。

    Private Sub Command1_Click( )

    Dim st As String

    Dim i As Integer, j As Integer

    Dim flag As Boolean

       ①  

    J= Len (st)

    i=1

    flag=True

    Do While flag And (i < = j)

        If Mid(st,i,1)= mid (st,j,1) Then

            i=i+1

               ②   

        Else

            flag=False

        End If

    Loop

    If   ③   then

        Text2. Text = “yes”

    Else

        Text2. Text = “no”

    End If

    End Sub

     ② ③ 

有如下VB程序段:

Private Sub Commandl_Click()

Dim f As Integer,i As Integer

Dim s As     ‘①

f=1:i=1:s=0

DoWhile    ‘②

  s=s+f * 1/i

  f=-1*f

  i=i+2

Loop

Text1.Text=Str(s)

End Sub

下列说法正确的是(  )

A . 该程序段没有输入语句,也没有输出语句 B . 输出结果为表达式1-1/3+1/5-1/7+1/9-1/11的值 C . 若将加框处①改为Integer,输出结果约为0.74 D . 若将加框处②改为“i<=12”,计算结果会出错
编写一个删除数字字符串s中的最大和次大数字字符的程序。具体功能如下:在文本框Text1中输入一个数字字符串,单击“删数”按钮Command1,将删除后的结果显示在文本框Text2中。程序运行界面如图所示。

  1. (1) 要使程序运行时,按钮Command1上显示的标题为“删数”,可在Form_Load事件处理过程中添加语句(单选,填字母:A .Caption.Commandl="删数"/ B .Command1.Caption ="删数"/C .Caption="删数")。
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Command 1_Click()

      Dim s As String,ch As String

      Dim i As Integer,n As Integer

      Dim max1 As Integer,max2 As Integer

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

      If Mid(s,1,1)>Mid(s,2,1)Then

        max 1=1:max2=2

      Else

        max1=2:max2=1

      End If

      For i=3 To n

      ch=Mid(s,i,1)

        If ch>Mid(s,max1,1)Then

            ①   

          max1=i

        ElseIf ch>=Mid(s,max2,1)Then

          max2=i

        End If

      Next i

      For i=1To n

        If   ②  Then Text2.Text=Text2.Text&Mid(s,i,1)

      Next i

    End Sub

     ②

  3. (3) 若在文本框Text1中输入的内容为“82176736”,单击按钮Command1,文本框Text2中显示的内容是
以下能作为 VB 变量名的是(   )
A . Num_01 B . 2xy C . String D . score(i)
对于语句abc. Caption=“你好”,下列理解正确的是(  )
A . Caption称为属性值 B . 该对象可能是标签、按钮或文本框 C . 该语句的作用是将对象属性进行赋值 D . 若流程图表示此算法,该语句应该在处理框中
有如下VB程序段:

Private Sub Text1_Change()

  Dim a As Integer, i As Integer

  a = Val(Text1.Text)

  For i = 1 To 7 Step 3

    If a <= 1000 Then a = a + i

  Next i

  Text1.Text = Str(a)

End Sub

执行该程序段,在文本框Text1中分别输入“1”、“2”、“3”、“4”,Text1中的结果(    )

A . 输入“1”时最大 B . 输入“2”时最大 C . 输入“3”时最大 D . 输入“4”时最大
有如下VB程序段:

s1 = "abcde"

j = 1

s2 = "a"

For i = 1 To Len(s1)

    j = (j + 2) Mod Len(s1) + 1

    s2 = s2 + Mid(s1, j, 1)

Next i

Text1. Text = s2

执行该程序段后,文本框Text1中输出的内容是(    )

A . Acebda B . Acdeab C . Adbeca D . Adaceb
某Visual Basic程序段如下:

Dim a(1 to 6) as Integer

s = 0

Do While s <= 5

    t = Int(Rnd * 6 +1)

    a(t) = a(t) + 1

    If a(t) = 1 Then s = s + a(t)

Loop

已知数组a(1)到a(6)的初值均为0,运行该程序段后,a(1)到a(6)不可能是(    )

A . 111111 B . 123456 C . 654321 D . 222222
编写程序,根据输入的年份(4位整数),判断该年份是否是闰年。
若执行时输入49,以下流程图描述的算法执行结果是(    )。

A . 7 B . 51 C . 47 D . 9
若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。编写python程序,实现如下功能:输入n的值,统计显示n以内的所有双胞胎数。程序运行界面如图所示:

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

def isprime(x):

    for i in range(2,x):

        If

            return False

        return True

        n=int(input(“请输入一个正整数n:”))

        c=0

        k=3

        while k<=n-2:

            if isprime(k) and

                print(k,k+2)

               

                k=k+1

print(“共有”+str(c)+“对双胞胎数”)

下列选项中,可作为Python变量名的是(    )
A . int B . Abc C . float D . Complex
列表在Python中作用非常强,列表可以包含多个数据元素,同时它是一个(     )。
A . 变量 B . 无序集合 C . 有序集合 D . 常量
若变量X=1,则执行语句if x then x=0 else x=1后,X的值是(    )
A . 0 B . 1 C . 实时错误 D . 编译错误
下列选项中变量和数据结构不正确的是(    )
A . _B4 B . list C . 创建字典: m={“李华”, “高三”, “98”} D . “hello  ”*3的值为“hello  hello  hello  ”
在一次比赛中,需要随机给10名选手各编一个0~9范围内的唯一序号,对应的Python程序段如下:

____

a,b=[0]*10,[False]*10

i=0

while i<=9:

  ____

  if not b[r]:

    a[i]=r

    ____

  i=i+1

print(a)

则划线处的代码依次是(        )

① r=random.randint(0,10)

② b[r]=True

③import random

④ b[i]=True

⑤from random import randint

⑥ r=random.randint(0,9)

A . ⑤①② B . ⑤⑥④ C . ③①④ D . ③⑥②
在一升序数组a中插入一个数x,使数组元素仍保持升序。解决该问题的VB程序段如下,在横线处应填入的正确语句以实现功能。

i=n      'n为数组a中的元素个数

do while i>0 and a(i)>x

   

    i=i-1

loop

a(i+1)=x

下列Python表达式值为5的是(   )
A . 5.0**1 B . 10//2 C . 10.2/2 D . 10%2
表达式3+2>5 or 0==False的运行结果是(    )
A . True B . 1 C . 5 D . False
最近更新