当前位置:文档之家› (完整word版)vb期末模拟题(答案)

(完整word版)vb期末模拟题(答案)

《程序设计课程》模拟题(A卷答案)一、选择题1.下列叙述中正确的是_____________。

A.数组是用户自定义的数据类型B.数组元素在内存中的存放形式是连续的C.数组在使用时可以采用隐式声明D.数组的下界可以任意答案 B2.复选框的CheckState属性为__________时,表示复选框内有灰色的勾即不可选。

A.UncheckedB.IndeterminateC.CheckedD.None答案 B3.删除列表框中第2项的项目,所使用的方法为______ 。

A.Items.RemoveAtB.MoveC.Items.ClearD.Items.Remove答案 A4.要想从子过程调用后返回两个结果,下面子过程语句说明合法的是 __________。

A.Sub f1(ByVal n%,ByVal m%)B.Sub f1( ByRef n%,ByVal m%)C.Sub f1( ByRef n%, ByRef m%)D.Sub f1(ByVal n%, ByRef m%)答案 C5.下列各赋值语句,语法不正确的是()A.iNumber = 15B.sLength = x + yC.x+y = 5bel1.Text = TimeOfDay答案 C6.在用通用对话框控件建立打开文件对话框时,在文件列表框只允许显示文本文件类型的文件,则Filter属性的正确设置是_________。

A.Text(.txt)||*.txtB.Text(.txt)(*.txt)C.文本文件|(.txt)D.Text(.txt)|*.txt答案 D7.以下程序输出的结果是___________ 。

Dim a() As Integer={1, 2, 3, 4, 5, 6, 7}For i =0 To Ubound (a)a(i) = a(i) * a(i)Next iMsgBox(a(i))A.49B.0C.不确定D.程序出错答案 D8.下列_____________方式声明的变量在每次调用该过程时其值不能保留。

A.在过程体中用Dim语句声明的变量B.在标准模块中声明的变量C.在过程外声明的变量D.在过程体中用Static语句声明的变量答案 A9.在下列关于定时器的说法中,正确的是( )。

A.当Enabled属性为False时,不产生Tick事件B.在程序运行时不可见的,这是因为Visible属性为FalseC.当Interval属性为0,则Tick事件不会发生D.通过适当的设置可以将Interval属性的单位改为秒答案 A10.下面是用户界面控件的是()A.GroupBox控件B.Timer控件C.OpenFileDialog控件D.MenuStrip控件答案 A二、程序填充1. 程序的功能是读取a.txt文件,统计以","逗号间隔的每个字符串中汉字的个数,并以下右图的形式显示在Label1中。

Private Sub Button1_Click(......) Handles Button1.ClickDim str$, k%, i%Label1.Text = ""______(1)_____(1, "c:\a.txt",OpenMode.Input )Do While Not EOF(1)Input(1, str)______(2)_____For i = 1 To Len(Str)If Asc(Mid(str, i, 1)) < 0 Then k = k + 1NextLabel1.Text &= str & ______(3)______ '以如图所示的形式显示LoopEnd Sub答案(1)FileOpen (2)k = 0 (3)"," & k & vbCrLf2.下列程序随机产生n个互不重复的三位数,存放在数组a中。

子过程s( )的功能是统计数组x中百位数与个位数相同的个数。

单击按钮从键盘输入要随机产生的互不重复的三位数的个数,数据以每行5个的形式输出,同时调用子过程s( ),将统计的结果输出。

Private Sub Button1_Click(......) Handles Button1.ClickDim a%(), c%, k%, n%, j%, i%, count%Dim Flag As Booleank = Val(InputBox("输入产生数的个数:"))______(1)_____ a(k-1)a(0) = Int(Rnd() * 900 + 100)n = 1Do While n < kc = Int(Rnd() * 900 + 100)Flag = TrueFor j = 0 To n - 1 'If a(j) = c Then _____(2)_____Next jIf Flag Then ' 没有找到,产生的字母非重复,存放到数组中a(n) = c : n = n + 1End IfLoopFor i = 0 To k - 1Label1.Text &= a(i) & " "If ______(3)_______ Then Label1.Text &= vbCrLf '每行5个数据 Next iCall s(a, count)Label1.Text &= vbCrLf & "满足条件的个数:" & countEnd SubSub s(_____(4)_____) '要求严格区分是传值还是传地址Dim i, k As Integer, f As BooleanFor i = 0 To ______(5)_______k = x(i)If k \ 100 = k Mod 10 Then count = count + 1NextEnd Sub答案(1)ReDim (2)Flag = False (3) (i + 1) Mod 5 = 0(4) ByRef x%(), ByRef count% (5) UBound(x)三、设计操作1. 释放考试结果文件夹(C:\KS)中的error1.exe文件,打开文件夹error1中的应用程序,请修改调试该程序,并按原文件名和位置保存。

正确的运行结果如图所示。

注意:不能修改变量或重新定义变量,不允许增加和删除语句,但可以改变语句次序。

改错题1:(4处错误)功能是通过调用函数过程sum(),将文本框Textbox1中输入的数字字符串的各位数字和在Label1中输出。

改错题2:(3处错误)功能是将文本框Textbox2中输入的字符串大小写字母互换(即原来大写转换为小写、小写转换为大写),其它字符不作转换,并将结果显示在标签Label2中。

2.参见样例,编一个完整的程序,要求:1.界面设计要求(1) 在Form1窗体上放置一个列表框、一个标签,一个字体对话框,并建立一个菜单系统。

窗体的标题为考生的学号;各菜单标题如样例所示。

(2) 在Form2窗体上放置一个简单组合框和一个命令按钮。

2.保存要求必须将项目保存在C:\KS目录下,项目名为"NET"。

3.Form1窗体编程要求"产生10个数"菜单项:在列表框中随机产生10个长度为1~20之间的大写字母字符串;"最长串"菜单项,将列表框中最长的字符串作"☆"标记,并在标签中输出最长的字符串及长度;"字体"菜单项,打开字体对话框,设置列表框中的字体和颜色;"保存"菜单项,将列表框中的数据写到"c:\"文件夹的"a.txt"文件中;"窗体2"菜单项:打开Form2窗体;"结束"菜单项:结束程序的运行。

4.Form2窗体编程要求在简单组合框的文本框中输入一个正整数,回车后若该数为素数,则将其添加到列表框中,当输入非数字字符时,通过信息框给出"输入错误!"的提示。

"返回"按钮:隐藏Form2窗体,返回Form1窗体。

Public Class Form1Private Sub 产生10个串ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 产生10个串ToolStripMenuItem.ClickDim st As StringDim i%, n%, j%ListBox1.Items.Clear()For i = 1 To 10n = Int(Rnd() * 20 + 1)st = ""For j = 1 To nst = st & Chr(Int(Rnd() * 26 + 65))NextListBox1.Items.Add(st)NextEnd SubPrivate Sub 最长串ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 最长串ToolStripMenuItem.ClickDim maxlen%, maxstr$, i%Label1.Visible = Truemaxstr = ""maxlen = 0For i = 0 To ListBox1.Items.Count - 1If Len(ListBox1.Items(i)) > maxlen Thenmaxlen = Len(ListBox1.Items(i))maxstr = ListBox1.Items(i)End IfNextFor i = 0 To ListBox1.Items.Count - 1If Len(ListBox1.Items(i)) = maxlen ThenListBox1.Items(i) = ListBox1.Items(i) & " ★"End IfNextLabel1.Text = "最长字符串为: " & maxstr & vbCrLfLabel1.Text &= "字符数为:" & maxlenEnd SubPrivate Sub 字体ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 字体ToolStripMenuItem.ClickFontDialog1.ShowDialog()ListBox1.Font = FontDialog1.FontListBox1.ForeColor = FontDialog1.ColorEnd SubPrivate Sub 保存ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 保存ToolStripMenuItem.ClickDim i%FileOpen(1, "C:\a.txt", OpenMode.Output)For i = 0 To ListBox1.Items.Count - 1PrintLine(1, ListBox1.Items.Item(i))NextMsgBox("文件成功保存")FileClose(1)End SubPrivate Sub 结束ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 结束ToolStripMenuItem.ClickEndEnd SubPrivate Sub 菜单2ToolStripMenuItem_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) Handles 菜单2ToolStripMenuItem.ClickForm2.ShowDialog()End SubEnd ClassPublic Class Form2Const PI = 3.1415926Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickMe.Close()End SubPrivate Sub ComboBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles ComboBox1.KeyPressIf Asc(e.KeyChar) = 13 ThenIf Not IsNumeric(ComboBox1.Text) ThenMsgBox("输入错误!")ComboBox1.Text = ""ElseDim f As Boolean, x%, i%x = ComboBox1.Textf = TrueFor i = 2 To x - 1If x Mod i = 0 Then f = False : Exit ForNextIf f ThenComboBox1.Items.Add(ComboBox1.Text)End IfComboBox1.Text = ""End IfEnd IfEnd SubEnd Class。

相关主题