《可视化程序设计》试卷三班级______________姓名_____________学号__________得分__________一、选择题(每题2分,共40分)1.以下能在窗体Form1的标题栏中显示“VisualBasic窗体的语句是()A.Form1.Name=VisualBasic窗体B.Form1.Title=VisualBasic窗体C.Form1.Caption=VisualBasic窗体D.Form1.Text=VisualBasic窗体”2.每当窗体失去焦点时会触发的事件是()A.ActiveB.LoadC.LostFocusD.GetFocus3.以下关于多窗体的叙述中,错误的是()A.对于多重窗体程序,需要单独保存每个窗体B.在多重窗体程序中,各窗体的菜单是彼此独立的C.在多重窗体程序中,可以根据需要指定启动窗体D.用Hide方法不但可以隐藏窗体,而且能清除内存中的窗体4.下列可作为VisualBasic变量名的是()A)A#AB)4AC)?xyD)constA5.执行如下两条语句,窗体上显示的是()a=.8596PrintFormat(a,00,00.00)A.0,009.86B.9.86C.9.85D.0,009.866.一只红色的篮球被投进篮,则红色、篮球、投、进篮分别是()A.属性、对象、方法、事件B.属性、对象、事件、方法C.对象、属性、方法、事件D.对象、属性、事件、方法7.控件的()确定当一个事件发生时执行的代码。A.函数B.通用过程C.子程序D.事件过程8.引用列表框(list1)最后一个数据项应使用()A.List1.list(list1.listcount)B.list1.list(list1.listcount-1)C.List1.list(listcount)D.list1.list(listcount-1)9.用菜单编辑器设计菜单时,必须输入的项有()A.快捷键B.标题C索引D.名称10.建立一个新的标准EXE工程后,默认情况下,不在工具箱中出现的控件是()A.单选按钮B.图片框C.通用对话框D.文本框11.假定有一个菜单项,名为MenuItem,为了在运行时使该菜单项失效(变灰),应使用的语句为()。A)MenuItem.Enabled=FalseB.MenuItem.Enabled=TrueC.MenuItem.Visible=TrueD.Menultem.Visible=False12.表示滚动条控件取值范围最大值的属性是()A.MaxB.LargeChangeC.ValueD.Max-Min13.确定一个控件在窗体上的位置的属性是()A.Width和HeightB.Width或HeightC.Top和LeftD.Top或Left14.以下关系表达式中,其值为False的是()A.ABCAbCB.thetheyC.VISUAL=UCase(Visual)D.IntegerInt15.若磁盘文件C:\Data1.dat不存在,下列打开文件语句中,会产生错误的是()A.Open“C:\Data1.dat”ForOutputAs#1B.Open“C:\Data1.dat”ForInputAs#1C.Open“C:\Data1.dat”ForAppendAs#1D.Open“C:\Data1.dat”ForBinaryAs#116.名为Sort的Sub子过程的形式参数为一数组,以下定义语句中正确的是()A.PrivateSubSort(A()AsInteger)B.PrivateSubSort(A(10)AsInteger)C.PrivateSubSort(ByvalA()AsInteger)D.PrivateSubSort(A(,)AsInteger)17.在以下描述中正确的是()A.标准模块中的任何过程都可以在整个工程范围内被调用B.在一个窗体模块中可以调用在其他窗体中被定义为Public的通用过程C.如果工程中包含SubMain过程,则程序将首先执行该过程D.如果工程中不包含SubMain过程,则程序一定首先执行第一个建立的窗体18.向一个TreeView树中为“机械系”添加一个子结点,正确的是()A.TreeView.nodes.add“机械系”,tvwchild,”qc”,”汽车10021”B.TreeView.nodes.add“机械系”,tvwlast,”qc”,”汽车10021”C.TreeView.nodes.addtvwchild,”qc”,“机械系”,”汽车10021”D.TreeView.nodes.add”qc”,”汽车10021”,“机械系”,tvwchild19.AVI动画类似于电影,由若干帧位图组成,Animation控件可以显示()的音频视频动画(AVI文件)。A.无声B.有声C.无声和有声均可D.立体声20.数据库文件与应用程序文件分开,它可以为()应用程序所使用。A.单个B.一个用户C.多个D.固定的二、填空题(每空1分,共15分)1.DIMa(4,-3to1)asString语句定义的数组元素有___________个。2.与数学表达式32|y|x对应的VisualBasic表达式是_____________。3.求表达式的运算结果:5/4*6\5Mod2的输出结果是___________________。4.如果要时钟控制每1分钟发生一个Timer事件,则Interval属性应设置为________。5.为了使窗体form1隐藏但不从内存中释放,应使用________________语句。6.通过数据控件Data1连接c:\vb\Student.mdb数据库内的表class,产生动态集类型的记录集,则需要设置Connect为_______________,DatabaseName为______________,RecordSource为___________。7.下列语句的输出结果_______________________。Str=“WEAreFR*end”S=””Fori=1tolen(str)t=mid(str,i,1)Ift=”a”andt=”z”thens=s&tendifnextiprints8.在VB中有三种文件访问类型:顺序、___________和____________。9.VB中参数传递有两种方式,传值和传地址,默认情况下是________________。10.根据下图写出MsgBox函数的参数。MsgBox__________________,vbokonly+vbExclamation,____________11.已知一个报表datareport,程序执行时,用______________语句可以预览报表。三、程序设计题。(40分)已知学生档案数据库(xsda.mdb)中有以下表。学生班级编码表TB03,表结构序号字段名含义类型宽度小数索引引用字段/显示字段1TB0301班级编码TEXT10K2TB0302班级名称TEXT203TB0303入学年份TEXT44TB0304专业编码TEXT10TB0401/TB04025TB0305学制TEXT16TB0306班级数INTEGER307TB0307班主任TEXT108TB0308毕业标志TEXT1TC0401/TC04029TB0309系部编码TEXT10TB0601/TB0602系部编码表TB06,表结构序号字段名含义类型宽度小数1TB0601系部编码CHAR102TB0602系部名称CHAR203TB0603教学管理用户CHAR104TB0604系主任CHAR10学生档案表xa01,表结构序号字段名含义类型宽度小数索引引用字段/显示字段1XA0101学生编码TEXT10K2XA0102学生学号TEXT103XA0103班内序号TEXT24XA0104姓名TEXT85XA0105入学年月TEXT76XA0106性别TEXT1GC0101/GC01021表示男,2表示女7XA0107出生日期TEXT108XA0108民族TEXT2GC0301/GC03029XA0109籍贯TEXT6GC0201/GC020210XA0110政治面貌TEXT2GC0401/GC040211XA0111健康状况TEXT1012XA0112特长TEXT4013XA0113身份证号TEXT2014XA0114现所在班级TEXT10TB0301/TB03021.SQL语句(10分)(1)查询tb03表,显示2001年入学的班级信息。(2)统计全校男生人数。提示:性别为1表示男生。(3)显示机械系的所有班级信息。(4)显示2000年入学的全校所有姓王的学生的学生学号、姓名、班级名称。(5)将系部编码表中,信管系更新为计算机系。2.设计题(30分)(1)如图所示系部编码维护程序。可以用第一个、下一个等浏览表中数据,亦可用添加、删除等修改表中数据。完善以下程序。(12分)①窗体上有data1数据控件;命令按钮控件数组cmd1,数组中有5个按钮;工具栏toobar1,工具栏上有5个按钮;文本框数组txtxb。②设置data1的属性,使它与数据库xsda.mdb连接,数据源为tb06(系部编码表)③设置文本框的数据源属性,分别与tb06表中tb0601、tb0602、tb0603、tb0604字段绑定。④实现添加、删除等操作PrivateSubCmd1_Click(IndexAsInteger)SelectCase_______________Case0Data1.Recordset.AddNew‘添加Case1_______________________‘删除Data1.Recordset.MoveNextCase2_________________________‘刷新Case3Data1.UpdateRecord‘更新Data1.Recordset.Bookmark=Data1.Recordset.LastModifiedCase4_________________________‘关闭EndSelectEndSub⑤实现第一个、下一个等操作PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)SelectCaseButton.KeyCasefirst‘第一个_________________________Caseprev‘前一个Data1.Recordset.MovePreviousCasenext‘下一个Data1.Recordset.MoveNextCaselast________________________‘最后一个EndSelectEndSub(2)如图所示学生档案查询程序。当用户选择系部名称、班级名称等时,查询需要的数据,并在表格显示查询结果,在状态栏上显示此时的总人数,当用户单击表格中某一行时,将当前信息在文本框中显示。(18分)实现步骤:1.窗体上有表格mshfgrid,文本框数组txtxa01,状态栏statusbar1,工具栏toolbar12.在窗体的load事件中定义公共变量。PrivateSubForm_Load()PublicconAsNewADODB.Connection'定义全局变量PublicrsAsNewADODB.Recordsetcon._________________=Provider=Microsoft.Jet.OLEDB.4.0;_DataSource=e:\vb\data\xsda.mdb;PersistSecurityInfo=Falsecon.CommandTimeout=30‘创建到数据库xsda的连接con.Open'打开到数据源的连接‘打开记录集rs.Openselect*fromxa01,_______,adOpenKeyset,adLockBatchOptimisticSetMSHFgrid.__________