0607第1学期vb考试题及标准答案.doc
西北农林科技大学本科课程考试试卷20062007年第1学期程序设计基础(VB)课程A卷命题教师:_ 审题教师:_题目一二三四总分得分阅卷人得分一、单项选择题(每题2分,共40分,从四个选项中选出最佳答案填在括号内)1VB中,窗体文件的扩展名是( )。A、.basB、.frmC、.vbpD、.jpg2要想改变一个标签的标题文本,应该设置以下( )属性的值。A、NameB、TitleC、CaptionD、Text3命令按钮可以用图片代替文字标题,这时除设置其Picture属性外,还应该对其( )进行设置。A、EnabledB、CaptionC、StyleD、MouseIcon4文本框焦点顺序由以下( )属性决定。A、TabIndexB、IndexC、TabStopD、SetFocus5能够获得一个文本框中光标位置的属性是( )。A、TextB、SelLengthC、SelStartD、SelText6以下叙述中正确的是( )。A、Label的Name属性指定Label的名称,用来标识一个LabelB、Label的Name属性用于设置在Label标题中的文本C、Label的Name属性值可以在程序运行期间被改变D、Label的Name属性值可以为空7以下叙述中错误的是( )。A、打开一个工程文件时,系统能自动装入与该工程有关的窗体文件B、保存VB程序时,应分别保存窗体文件及工程文件C、VB应用程序只能以解释方式执行D、窗体文件包含该窗体及其控件的属性及所有事件代码8Kill语句在VB语言中的作用是( )。A、清内存B、删除磁盘上文件C、清病毒D、清屏幕9为建立一个随机文件,其中每条记录由多个不同数据类型的数据项组成,应使用( )。A、用户自定义数据类型B、数组C、字符串类型D、变体类型10在窗体上添加一个文本框(Text1)和一个标签(Label1),程序运行后,如果在文本框中输入指定的信息,则立即在标签中显示相同的内容,可以实现上述操作的事件过程是( )。A、Private Sub Label1_Change() Label1.Caption = Text1.TextEnd SubB、Private Sub Label1_Click() Label1.Caption = Text1.TextEnd SubC、Private Sub Text1_Change() Label1.Caption = Text1.TextEnd SubD、Private Sub Text1_Click() Label1.Caption = Text1.TextEnd Sub11以下关于Sub过程和Function过程叙述错误的是( )。A、凡是用Sub过程能实现的功能都可以用Function过程实现B、凡是用Function过程能实现的功能都可以用Sub过程实现C、Sub过程和Function过程中参数传递都可以采用传值或传地址D、Sub过程名和Function过程名都可以返回一个处理结果12设有如下语句( )。 Dim a, b As Integer c = "西北农林科技大学" d = #1/20/2007#以下关于这段代码的叙述中错误的是( )。A、a被定义为Integer类型变量B、b被定义为Integer类型变量C、c中的数据是字符串D、d中的数据是日期类型13设x=10,y=20,以下不能在窗体上显示出“A=30”的语句是( )。A、Print A=x+yB、Print "A=" x + yC、Print "A=" & x + yD、Print "A=" + Str(x + y)14在窗体上添加一个命令按钮(Command1)和一个文本框(Text1),事件过程代码如下:Private Sub Command1_Click() x = Val(Text1.Text) If x = 1 Or x = 3 Then y = x * x ElseIf x >= 10 Or x <= -10 Then y = x ElseIf x > -10 And x < 10 Then y = -x End IfEnd Sub运行程序后,在文本框中输入3,再单击命令按钮,以下关于程序执行叙述正确的是( )。A、执行y = x * xB、执行y = -xC、先执行y = x * x,再执行y = -xD、程序出错15以下关于文件的叙述中错误的是( )。A、使用Append方式打开文件时,文件指针被定位于文件尾B、当以Input方式打开文件时,如果文件不存在,则建立一个新文件C、顺序文件各记录的长度可以不同D、随机文件打开后,既可以进行读操作,也可以进行写操作16下面程序段的执行结果为( ). Dim a(1 To 6) As Integer For i = 1 To 6 a(i) = i Next i Print a(i)A、输出数组a的全部元素值B、输出数组a的某一元素值C、输出不确定D、程序出错17一个VB工程中有两个窗体(Form1和Form2),当前启动窗体为Form1,如果要将Form2设置为启动窗体,应该进行的操作是( )。A、修改工程属性B、修改Form2窗体属性C、修改Form1窗体属性D、以上均可18表达式Len("VB程序设计")的值为( )。A、6B、12C、10D、519在默认情况下,语句Dim a!(2,3)定义的数组在内存占有字节数为( )。A、6B、24C、12D、4820以下程序段执行结果为( )。Option Base 1Private Sub Command1_Click() Dim a() As String a = Split("资环,水建,农学,机电,人文,植保", ",") Print a(2)End Sub A、水建B、农学C、机电D、出错得分二、写出程序运行结果(每小题4分,共16分。答案写在指定位置)1. Private Sub Command1_Click() Dim a(3, 3) As Integer For i = 1 To 3 For j = 1 To 3 a(i, j) = i * j + i Next j Next i Sum = 0 For i = 1 To 3 Sum = Sum + a(i, 4 - i) Next i Print SumEnd Sub运行结果是:_2. Function fun(m As Integer) As Integer Dim k As Integer, sum As Integer sum = 0 For k = m To 1 Step -2 sum = sum + k Next k fun = sumEnd FunctionPrivate Sub Command1_Click() Print fun(10)End Sub运行结果是:_3Private Type newtype a As Integer b As IntegerEnd TypePrivate Function fun(ByVal m As Integer, ByVal n As Integer) As newtype Dim r As Integer, mn As Integer, p As newtype mn = m * n Do r = m Mod n If r = 0 Then Exit Do m = n: n = r Loop fun.a = n fun.b = mn / nEnd FunctionPrivate Sub Command1_Click() Dim x As Integer, y As Integer, z As newtype x = 6: y = 15 z = fun(x, y) Print z.a, z.bEnd Sub运行结果是:_4Private Sub Command1_Click() Dim a(1 To 4, 1 To 4) As Integer For i = 1 To 4 For j = 1 To 4 a(i, j) = IIf(i + j) Mod 2 = 0, 1, 0) Next j Next i For i = 1 To 4 For j = 1 To 4 Print a(i, j); Next j Print Next iEnd Sub运行结果是:_得分三、完善程序(每空2分,共12分。)一个自然数倒过来读仍是这个数,就叫回文数,有些回文数还是素数,就叫回文式素数,如93239。以下程序用于求出10000到99999范围内的回文式素数。其中判断回文数及素数的模块均被定义为函数并在主程序中调用,请补充完善程序。Function hw(m As Long) As Boolean Dim a As Integer, b As Integer, c As Integer, d As Integer a = Left(m, 1): b = Mid(m, 2, 1) c = _ d = _ hw = IIf(a = d And b = c, True, False)End FunctionFunction ss(m As Long) As Boolean Dim k As Long, i As Long, f As Boolean f=True k = Sqr(m) For i = 2 To k If _ Then f = False Exit For End If Next i _End FunctionPrivate Sub Command1_Click() Dim m As Long, n As Integer For m = 10000 To 99999 If _ Then Print Tab(n Mod 10) * 8 + 1); m; n = n + 1 End If Next mEnd Sub得分四、按要求完成以下程序(共32分,答案按题号顺序写在第4小题之后及附页上)1从键盘输入一个年份,判断其是否闰年,闰年的条件是:“年份能被4整除且不能被100整除,或者能被400整除”(6分)2编程求5!+7!+10!(8分)3有一个M×M矩阵,M由键盘输入,数据随机产生,范围在10-99之间,求四周各元素之和。(8分)4随机产生200个4位整数,按由小到大顺序排序后存入C盘根目录下的顺序文件file.txt中。(10分)西北农林科技大学本科课程考试参考答案与评分标准考试课程:程序设计基础(VB)学年学期:20062007学年第1学期试卷类型:A卷考试时间:2007年元月23日专业年级:全校06级各专业 一、选择题(每小题2分,共40分)BCCAC ACBAC DAAAB DAADB二、写出程序的运行结果(每题4分,共16分)1、162、303、3 30(写对一个得2分,写反不得分)4、1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 (写在一行扣2分)三、选择完善程序(每空2分,共12分)Mid(m,4,1) Right(m,1) 注意:只要能取出第四、五位即可得分m mod i=0(只要能判断整除即可)ss=f ss(m) hw(m)(只写ss及hw不得分,如果写了True但写错了扣1分)四、程序设计题(共32分,语句出错扣1到3分)。1、判断闰年(6分)(1)声明变量并赋值(1分)(2)IF结构正确(2分)(3)条件表达式书写正确(2分)(4)正确的输出(1分)2、求阶乘(8分)(1)正确声明变量(1分)(2)算法正确(5分)(3)结果正确输出(2分)3、求四周元素之和(8分)(1)正确声明动态数组及变量(2分)(2)正确给数组各元素赋值(2分)(3)正确求和及输出(4分)4、排序与文件操作(10分)(1)定义变量及数组正确(1分)(2)正确产生数据并给数组赋值(1分)(3)排序算法正确并完成排序(3分)(4)正确打开文件(2分,路径不对扣1分)(5)正确写入文件(2分)(6)关闭文件(1分)