1、 晨曦制作VB上机试题全国计算机等级考试二级VB上机题库(第一套)一、 基本操作题(2小题,每小题15分,共计30分)1在名称为Form1的窗体上画一个文本框,其名称为T1,宽度和高度分别为1400和400;在画两个按钮,其名称分别为C1和C2,标题分别为“显示”和“扩大”,编写适当的事件过程。程序运行后,如果单击C1命令按钮,则在文本框中显示“等级考试”,如图1所示,如果单击C2命令按钮,则使文本框在高、宽方向上各增加一倍,文本框中的字体大小扩大到原来的3倍,如图2所示。注意:要求程序中不得使用变量。存盘时必须放在考生文件夹下,工程文件名为sjt1.vbp,窗体文件名为sjt1.frm。 图
2、1 图2解析:(大家请注意,以下分析加入我个人的理解和方法,都已通过上机验证,有的题方法不止一种,大家可以和我互相交流,我的邮箱:hero_chenxi,QQ:313691262,也可从论坛讨论)这道题没什么难度,主要考你窗体、按钮及文本框的基本属性,所以大家一定要熟练掌握常用控件的基本属性。打开VB(不用我说了吧),新建一个工程(标准的EXE),单击控件面板的“TextBox”控件(也可双击,直接在窗体建立),在属性面板中将“名称”修改为T1,“Width”修改为1400,“Height”修改为400。然后单击控件面板的“CommanButton”添加两个命令按钮,在属性面板中将“名称”分别
3、修改为C1和C2,“Caption”分别修改为显示和扩大。接下来双击显示按钮,进入代码编写窗口,键入:(按钮的Click事件)T1.text=”等级考试”双击扩大按钮,键入:(按钮的Click事件)T1.width=T1.width+1400T1.Height=T1.Height+400T1.fontsize=T1.fontsize*3最后单击保存按钮,工程命名为sjt1.vbp,窗体命名为sjt1.frm。总结:这道题只要错一点就没有分,主要考大家仔细认真及属性设置的熟练程度,大家一定了解Caption、Text等属性在不同控件含义是不同,有的控件有这个属性,而那个控件没有,名称属性是不能在
4、运行期间改变的等等。以上限于时间原因,不能一一举例、分析,我会在以后给出更多总结。2在名称为Form1的窗体上画一个命令按钮,其名称为C1,标题为“转换”;然后再画两个文本框,其名称分别为Text1和Text2,初始内容为空白,编写适当的事件过程。程序运行后,在Text1中输入一行英文字符串,如果单击命令按钮,则Text1文本框中的字母都变为小写,而Text2的字符变为大写。例如,在Text1中输入Visual Basic Programming,则单击命令按钮后,结果如图所示。要求:不得使用任何变量。注意:存盘时必须放在考生文件夹下,工程文件名为sjt2.vbp,窗提文件名为sjt2.frm
5、。解析:(大家请注意,以下分析加入我个人的理解和方法,都已通过上机验证,有的题方法不止一种,大家可以和我互相交流,我的邮箱:hero_chenxi,QQ:313691262,也可从论坛讨论)这道题主要考查控件的属性及字母大小写转换函数,新建一个工程,在窗体上添加一个”CommandButton”控件,将“名称”属性修改为C1,“Caption”属性修改为转换;再添加两个“TextBox”控件,将“名称”属性分别修改为“Text1”和“Text2”,将“Text”属性中的内容清空。接下来双击“转换”按钮,进入脚本编写窗口,键入:(按钮的Click事件) Text1.text=LCase(Text
6、1.text) Text2.text=UCase(Text1.text)最后保存工程为sjt2.vbp,窗体为sjt2.frm.总结:大家一定要掌握VB中的常用函数(数学函数、字符串函数、输入输出函数等)及各种运算符。二、 简单应用题(2小题,每小题20分,共计40分)1.在考生目录下有一个工程文件sjt3.vbp,相应的窗体文件为sjt3.frm。包含所有控件和部分程序,如图所示。要求:1)利用属性窗口向列表框添加四个项目:Visual Basic,Turbo C,C+,Java;2)请编写适当的程序完成以下功能:当选择列表框中的一项和单选按钮Option1,然后单击“确定”命令按钮,则文本
7、框中显示“XXX笔试”;当选择列表框中的一项和单选按钮Option2,然后单击“确定”命令按钮,则文本框中的一项和单选按钮Option2,然后单击“确定”命令按钮,则文本框中显示“XXX上机”。其中“XXX”是在列表框中所选择的项目。注意:考生不得修改窗体文件中已经存在的程序,退出程序时必须通过单击窗体右上角的关闭按钮。在结束程序运行之前,必须至少进行一次选择操作(包括列表框和单选按钮),否则不得分。最后把修改的文件按原文件名存盘。解析:(大家请注意,以下分析加入我个人的理解和方法,都已通过上机验证,有的题方法不止一种,大家可以和我互相交流,我的邮箱:hero_chenxi,QQ:313691
8、262,也可从论坛讨论)这道题考查大家列表框、单选按钮的属性设置首先打开工程sjt3.vbp,打开窗体sjt3.frm,选择其中的List1控件,在属性面板中,在“List”属性中添加“Visual Basic”、“Turbo C”、“C+”、“Java”。双击窗体的“确定”按钮并输入以下代码:(按钮的Click事件)If Option1.Value=True then Text1.Text=List1.List(List1.ListIndex)+Option1.CaptionEnd IfIf Option2.Value=True then Text1.Text=List1.List(List
9、1.ListIndex)+Option2.CaptionEnd If最后单击保存按钮。总结:列表框(ListBox)和组合框(ComboBox)、单选按钮(OptionButton)和复选框(CheckBox)这几个控件的区别(事件和属性) 。例如,同样是Value事件,对于单选按钮来说,可以设置为True和Flase;而对于复选按钮来说,设置的值为0,1,2。2在考生目录下有一个工程文件sjt4.vbp,相应的窗体文件为sjt4.frm。在窗体上已经有一个命令按钮。其名称为Command1,标题为“计算并输出”;程序运行后,如果单击命令按钮,程序将计算500以内两个数之间(包括开头和结尾的数
10、)所有连续数的和为1250的正整数,并在窗体上显示出来,这样的数有多组,程序输出每组开头和结尾的正整数,并用“”连接起来,如图所示,这个程序不完整,请把它补充完整。要求:去掉程序中的注释符,把程序中的?该为正确的内容,使其实现上述功能,但不得修改程序中的其他部分。最后把修改的文件按原文件存盘。解析:(大家请注意,以下分析加入我个人的理解和方法,都已通过上机验证,有的题方法不止一种,大家可以和我互相交流,我的邮箱:hero_chenxi,QQ:313691262,也可从论坛讨论)这到题用到了循环语句和选择语句题目给出的程序如下:(一共三个空)Private Sub Command1_Click(
11、) Dim i As Integer, j As Integer, iSum As Integer Print 连续和为1250的正整数是: For i = 1 To 500 ? = 0 赋初值 For j = i To 500 iSum = ? 进行累加 If iSum = 1250 Then Exit For Next If iSum = ? Then 和是否为1250 Print i; ; j End If NextEnd Sub答案为:1)isum 2)j+iSum 3)1250总结:不要忘记将程序前面的去掉,否则还会认为是注释语句掌握选择、循环语句,因为在实际问题中经常用到三、 综合
12、应用题(1小题,计40分)在窗体上画一个文本框,名称为Text1,初始内容为空白,并设置多行显示格式;然后再画两个命令按钮,其名称分别为Command1和Command2,标题分别为“显示”和“保存”,如图所示,编写适当的事件过程。程序运行后,如果单击“显示”命令按钮,则读取考生 目录下的in5.txt文件,并在文本框中显示出来,该文件是一种用随机存取方式建立的文件,共有5个记录,要求按记录号顺序显示全部记录,每个记录一行;如果单击“保存”命令按钮,则把所有记录保存到考生目录下的顺序文件out5.txt中。随机文件in5.txt中的每个记录包括3个字段,分别为姓名、性别和年龄,其名称和长度分别
13、为:Name 字符串 8Sex 字符串 4Age Integer其类型定义为:Private Type StudInfo Name As String*8 Sex As String*4 Age As IntegerEnd Type要求:1) 文件out5.txt以顺序存取方式建立和保存。2) 存盘时必须放在考生目录下,工程为sjt5.vbp,窗体文件名为sjt5.frm。解析:(大家请注意,以下分析加入我个人的理解和方法,都已通过上机验证,有的题方法不止一种,大家可以和我互相交流,我的邮箱:hero_chenxi,QQ:313691262,也可从论坛讨论)这道题主要考查顺序和随机文件的读、写
14、操作新建一个工程,在窗体上添加“TextBox”控件,在属性面板中,将“Text”属性设为空,把“名称”属性设为“Text1”,把“Multiline”属性设为True。然后再添加两个“CommandButton”控件,在属性面板中将“名称”属性分别改为“Command1”、“Command2”,将“Caption”属性分别设为“显示”、“保存”。在窗体上单击右键选择“查看代码”选项,在代码窗体中写下如下代码:Private Type StudInfo Name as string*8 Sex as string*4 Age as integerEnd TypeDim pers as stud
15、infoDim recmum as integer显示按钮脚本:Private sub command1_click() Open app.path+”in5.txt” for random as #1 Len=len(pers) recnum=lof(1)/len(pers) Cls For i=1 to recnum Get #1,pers Text1.text=text1.text+pers.name+pers.sex+str(pers.age)+vbcrlf Next i Close 1End sub保存按钮脚本:Private sub command2_click() Open ap
16、p.path+”out5.txt” for output as #1 Print #1,text1.text Close #1End sub最后,单击保存按钮,工程保存为sjt5.vbp,窗体保存为sjt5.frm。全国计算机等级考试二级VB上机题库(第二套)1. 基本操作(2小题,每小题15分,共计30分)注意:下面出现的考生文件夹均为C:WEXAM00000000*请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。(1)在名称为Form1,标题为窗体 的窗体上画一个标签,其名称为Label1,标题为等级考试,BorderStyle属性为1,且可以自动调整大小,再
17、画一个框架,名称为Frame1,标题为科目,如图所示。 注意:存盘时必须存放在考生文件夹下,工程文件名为sjt1.vbp,窗体文件名为sjt1.frm。 *(2)在名称为Form1的窗体上画两个图像框,其名称分别为Image1和Image2,Stretch属性分别为True和False,然后通过属性窗口在Image1中装入一个图形文件pic.jpg(位于考生文件夹下),编写适当的事件过程。程序运行后,如果单击窗体,则可清除Image1中的图形,并把该图形复制到Image2中,如图所示。 注意:要求程序中不得使用变量。存盘时必须存放在考生文件夹下,工程文件名为sjt2.vbp,窗体文件名为sjt
18、2.frm。 第一题主要考查了Frame控件属性的使用及Label控件的使用。在Label与Frame控件中可通过使用Caption属性来指定其要显示的内容,同时可通过Font属性来设定要显示文字的字体。第二题主要考查了Image控件的Stretch属性的使用方法,通过指定Stretch可以指定图片是否被拉伸,同时也考查了Image控件中图片的清除方法,可用Set控件名.Picture=Nothing来清除Image控件中的图片。2. 简单应用(2小题,每题20分,计40分)注意:下面出现的考生文件夹均为%USER%*(1)在考生文件夹下有一个工程文件sjt3.vbp,相应的窗体文件为sjt3
19、.frm。在名称为Form1的窗体上有一个名称为Text1的文本框和名称为Command1、标题为确定的命令按钮,一个名称为List1的列表框和两个名称分别为Option1和Option2、标题分别为添加和删除的单选按钮,如图1所示。程序运行后,如果选择单选按钮Option1并在文本框中输入一个字符串,然后单击确定命令按钮,则把文本框中的字符串添加到列表框中,并清除文本框,如图2所示;如果选择列表框中的一项和单选按钮Option2,并单击确定命令按钮,则删除列表框中所选择的项目,如图3所示;如果不选择列表框中的项目,或者没有在文本框中输入字符串,则单击确定命令按钮后,将显示一个信息框未输入或未
20、选择项目,如图4所示。该程序不完整,请把它补充完整。要求:去掉程序中的注释符,把程序中的 ? 改为正确的内容,使其能正确运行,但不能修改程序中的其他部分。最后用原来的文件名保存工程文件和窗体文件。 *(2)在考生文件夹下有一个工程文件sjt4.vbp,相应的窗体文件为sjt4.frm。在窗体上有一个命令按钮,其名称为Command1,标题为计算。程序运行后,如果单击命令按钮,程序将根据下面的公式计算的值:/4 = 1 - 1/3 + 1/5 - 1/7 + .所提供的窗体文件已给出了命令按钮的事件过程,程序运行结果如图所示。该程序不完整,请把它补充完整。要求:去掉程序中的注释符,把程序中的 ?
21、 改为正确的内容,使其能正确运行,但不能修改程序中的其他部分。最后用原来的文件名保存工程文件和窗体文件。 第一小题:该题考查考生对ListBox控件的使用。列表框的AddItem方法用来在列表框中插入一行文本,其语法为:列表框名.AddItem 字符串 ,索引值如果省略索引值,则字符串被添加到列表框的尾部;使用索引值可以将字符串插入列表框中的指定位置。索引值从0开始,到列表项总数-1止。列表框的RemoveItem方法用来删除列表框中的指定项目,其语法为:列表框名.RemoveItem 索引值列表框的ListIndex属性用来设置或返回列表框中当前选中的列表项。第二小题:该题考查了Do-Loo
22、p循环结构语句和公式计算的算法实现,相关程序如下:Private Sub Command1_Click() Dim Result As Double Dim Sign As Integer Dim i As Integer Result = 0 Sign = 1 i = 1 Do Result = Result + Sign / i i = i + 2 Sign = -Sign Loop While 1 / i = 0.0001 Text1.Text = Result * 4End Sub3. 综合应用(1小题,计30分)注意:下面出现的考生文件夹均为%USER%在考生文件夹下有一个工程文件s
23、jt5.vbp,相应的窗体文件为sjt5.frm。窗体外观如图1所示。三个命令按钮的名称分别为Command1、Command2和Command3,标题分别为读取数据、首字母大写和存盘。程序运行后,如果单击读取数据命令按钮,则读取考生文件夹下in5.txt中的全部文本(文本中的单词与单词之间或标点符号与单词之间均用一个空格分开),并在文本框中显示出来,如图2所示; 如果单击首字母大写命令按钮,则将文本框中每个单词的第一个字母变为大写字母(如果原来已是大写字母则不改变),并在文本框中显示出来,如图3所示;如果单击存盘命令按钮,则把文本框中的内容(首字母大写后)保存到考生文件夹下的文件out5.t
24、xt中。窗体文件中已给出了部分程序,请把它补充完整,使其实现上述功能。 要求:1)编写读取数据命令按钮的Click事件过程。2)去掉首字母大写命令按钮和存盘命令按钮事件过程中的注释符,把程序中的 ?改为正确的内容,使其能正确运行。3)用原来的文件名保存工程文件和窗体文件。本题主要考查了文件的操作,文件中字符串的处理方法。主要代码如下:Dim s As StringPrivate Sub Command1_Click() Open in5.txt For Input As #1 s = Input$(LOF(1), 1) Close #1 Text1.Text = sEnd SubPrivate
25、 Sub Command2_Click() Dim oldSen As String Dim newSen As String Dim ch As String Dim lastCh As String oldSen = Text1.Text strlen = Len(oldSen) lastCh = Left(oldSen, 1) For i = 1 To strlen ch = Mid(Text1.Text, i, 1) If lastCh = Then ch = UCase(ch) End If newSen = newSen & ch lastCh = ch Next i Text1.
26、Text = newSenEnd SubPrivate Sub Command3_Click() Open out5.txt For Output As #1 Write #1, Text1.Text Close #1End Sub答案:Dim a(10) As IntegerDim b(10) As IntegerDim c(10) As IntegerPrivate Sub Command1_Click() Open App.Path & dataA.txt For Input As #1 Open App.Path & dataB.txt For Input As #2 For i =
27、0 To 9 Input #1, a(i) Input #2, b(i) Next Close #1, #2End SubPrivate Sub find(x() As Integer, t As Control) Dim i As Integer, max As Integer max = x(1) For i = 2 To 10 If max x(i) Then max = x(i) Next i t.Text = maxEnd SubPrivate Sub Command2_Click() Dim i As Integer For i = 1 To 10 c(i) = a(i) + b(
28、i) Next i Open App.Path & out51.txt For Output As #1 For i = 0 To 9 Print #1, c(i) Next Close #1End SubPrivate Sub Command3_Click() Call find(a, Text1) Call find(c, Text2) Open App.Path & out52.txt For Output As #1 Print #1, Text1.Text, Text2.Text Close #1End Sub 编写适当的事件过程,使程序运行后,可以使图像框闪烁,其闪烁速度可以通过滚
29、动条来调节。提示:图像框的闪烁可以通过图像框交替地显示和隐藏来实现。要求:程序中不得使用变量,每个事件过程中只能写一条语句。注意:存盘时必须存放在考生文件夹中,工程文件名为“sit2.vbp”,窗体文件名为“sjt2.frm”。解答:Private Sub HScroll1_Scroll() Timer1.Interval = HScroll1.ValueEnd SubPrivate Sub Timer1_Timer() Image1.Visible = Not Image1.VisibleEnd Sub题目:在名为Form1的窗体上绘制两个图像框,名称分别为Pic1和Pic2,宽度和高度均为1500,通过属性窗口把图像文件tp1.jpg放入Pic1中,把图像文件tp2.jpg放入Pic2中;再绘制一个名为Cmd1的命令按钮,标题为图片交换,如图1-4所示。编写适当的事件过程,使得在运行时,如果单击窗体,则交换两个图像框中的图像。注意不允许使用第三个图像框。Private Sub Form_Click() Dim pic As Object Set pic = Image1.Picture Image1.Picture = Image2.Picture Image2.Picture = picEnd Sub第 23 页 共 23 页