友情提示:同学您好,此页面仅供预览,在此页面学习不会被统计哦! 请进入学习空间后选择课程学习。

一、选择题

1.      某窗体上有两个文本框,如果想要在启动程序后,光标在第二个文本框中跳动,可以在下面(  )窗体事件过程中添加语句Text2.SetFocus

    A) Form_Initialize   B) Form_Load     C) Form_Activate    D) Form_GotFocus

2.      下面有关Sub过程的叙述中,正确的是(  )。

A)    事件过程不能被调用,仅当事件发生时才能被触发执行

B)    通用Sub过程的名称不能与模块级变量的名称相同

C)    调用其他模块中定义的公有过程,必须要以其所属模块名作为过程名的前缀

D)    通用Sub过程中只要有给过程名赋值的语句,过程就可以有返回值

3.      下列有关自定义Function函数的描述中,错误的是(  )。

A)    自定义Function函数只能有一个返回值

B)    可以用Call语句调用一个自定义Function函数

C)    若自定义Function函数内部没有给函数名赋值的语句,该函数就没有返回值

D)    自定义Function函数内部可以用Exit Function语句提前结束函数的调用,回到主程序中调用函数的语句处

4.      下列有关通用Sub过程或自定义函数的叙述中,正确的是(  )。

A)    可选参数可以放在必选参数的前面

B)    调用过程时,只要实参为常量或表达式,就可以与形参的数据类型不一致

C)    参数的缺省传递方式为引用传递

D)    若形参用ReRef声明,则参数只能按地址传递

5.      下列有关数组参数的说明中,错误的是(  )。

A)    形参数组前用ByVal修饰,表明参数的传递方式为传值;形参数组前用ByRef修饰或无修饰,表明参数的传递方式为传地址

B)    形参数组可以定义为任意数据类型

C)    若过程的形参为数组,调用该过程时实参也必须为数组,且只要数组名即可

D)    过程体中不可以用Dim语句再次声明形参数组

6.      Form1的通用部分有下面几条声明语句,只有(  )是正确的。

A.) Public a As String*5               B) Public b

C) Public Const c As Integer=5          D) Puclic d(5) As Integer

7.      下列有关变量作用域的叙述中,正确的是(  )。

A)    访问其他模块中的全局变量时,必须用其所属的模块名作为变量名的前缀

B)    模块级变量就是在模块的通用部分用Private关键字声明的变量

C)    作用域不相同的两个变量允许其名称相同

D)    过程内部只能用Dim声明一个局部作用域的变量

8.      如果Form1Form_Click事件过程中有这样几条定义语句:Dim x As Singlearr(5) As String,另有通用Sub过程定义为Private Sub Sub1(a AsInteger,b() As String),则在Form_Click事件过程中调用Sub1过程,下面几条调用语句中哪条是正确的(  )。

A) Call Sub1(x,arr)                     B) Sub1 (x),arr

C) Sub1 x,arr                          D) Call Sub1(x,arr())

二、读程序写结果

1.      PrivateSub Command1_Click()

        Dim x As Integer, y As Integer

        x = 10: y = 100

        Call Example(x, y)

        Print x, y

    End Sub

    Private SubExample(a As Integer, ByVal b As Integer)

        a = a + 10

        b = b + 10

    End Sub

2.      Private Sub Command1_Click()

        Dim n As Integer, i As Integer

        For i = 5 To 1 Step -1

            Call Example(i, n)

            Print i, n

        Next i

    End Sub

    Private Sub Example(x As Integer, y As Integer)

        Static n As Integer

        n = n + x

        x = x - 1

        y = n - y

    End Sub

3.      Private Sub Command1_Click()

        Dim aAs Integer, b As Integer, c As Integer

        a = 10: b = 20

        c = Example(a, b)

        Print a, b, c

    End Sub

    PrivateFunction Example(x As Integer, y As Integer) As Integer

        x = x - 2

        y = y - 5

        If x = 0 Or y = 0 Then

            Example = 1

        Else

            Example = Example(x - 2, y - 5)

        End If

        Print x, y

    End Function

4.      Dim a As Integer

    Private Sub Command1_Click()

        Dim bAs Integer, c As Integer

        a = 1: b = 2

        c = a + b + Example(a, b)

        Print a; b; c

    End Sub

    Private Function Example(x As Integer, y As Integer) As Integer

        x = x + 1

        y = y + 2

        a = a + 4

        Example =x + y + a

        Print Example

    End Function

三、编程题

1. 编写程序找出1~100之间的所有孪生素数。所谓孪生素数就是两个素数之差为2。例如35571113都是孪生素数。要求定义独立的函数判断一个数是否为素数。

2. 编写程序找出所有的四位Armstrong数并输出到列表框中,所谓四位ArmStrong数就是这个数各位数的n次方之和等于这个数,n为这个数的位数。例如:14+64+34+44=1634。要求自定义函数判断一个数是否为Armstrong数。

3. 用递归过程编写求两个自然数的最大公约数的程序。

4. 编写程序把一个N进制数转换为十进制数。要求通过文本框分别输入一个数的进制和数值,单击“转换”按钮可以在第三个文本框显示该N进制数数对应的十进制数,定义自定义函数实现N进制数到十进制数的转换。

5. 编写程序找出一个5*5二维随机数组的鞍点。所谓鞍点就是一个数值在其所在行最大,在其所在列最小的元素。如果数组中没有鞍点,也要有“该数组中无鞍点”的提示输出。要求定义通用Sub过程查找一个数组中的鞍点并输出。

6. 编写程序验证三重哥德巴赫猜想:每个不小于9的奇数都可以表示为三个素数之和。

7. 编写程序找出一个长度为10的随机数数组中第n大的数。要求在窗体装载事件里生成随机数数组,通过文本框输入n的值后单击“查找”按钮,即可在图片框输出数组和数组中第n大元素的值。定义通用Sub过程对数组进行排序。

8. 编写一个多窗体应用程序,一个窗体可以实现求一个数的排列,一个窗体可以实现求一个数的组合,两个窗体间可以相互切换。要求在标准模块中定义名为Fact的公共函数,实现求一个数的阶乘。


参考答案: