1、第一部分:客观题一、 单项选择题1、在窗体模块的通用段中声明变量时,不能使用的关键字是( )A、 Dim B、 Public C、Private D、 Static2、在设计阶段,当双击窗体上的某个控件时,所打开的窗口是() A、工程资源管理器窗口 B、工具箱窗口 C、 属性窗口 D、代码窗口3、若要使某可见控件获得焦点,可使用( )方法来实现。 、Refresh 、Setfocus 、Gotfocus 、Value4、下列不可作为VB变量名的是()A、ABT1 B、Alpha C、ABC D、4*Delta5、表达式 5 Mod 3+35*2的值是 ()A、 0 B、 6 C、4 D、 26
2、、下列语句中,正确的赋值语句是( )A、 i + j = 10 B、 2i = j C、 j = i + j D、 i * j = 07、执行下列程序段后,x的值是( )。 n = 4: x = 1: i = 1 Do x = x * i i = i + 1 Loop While i nA、 2 B、 6 C、 10 D、 14 8、当用户在窗体上单击鼠标时,不会触发的事件是() 、Click 、MouseDown 、MouseUp 、DblClick9、下列为整型变量的是( )A、 x! B、 x# C、x$ D、 x%10、要从For循环中直接退出循环,可使用的语句( )。A、Exit D
3、o B、Exit Loop C、Exit For D、Stop11、下列逻辑表达式中,能正确表示条件“x,y都是奇数”的是()A、x Mod 2 =1 Or y Mod 2 =1 B、x Mod 2 =0 Or y Mod 2=0C、x Mod 2 =0 And y Mod 2=0 D、x Mod 2 =1 And y Mod 2 =112、在通用声明中给出Option Base 1语句,则数组a包含( )个数组元素。 Dim a(3, -2 To 1, 5) As IntegerA、60 B、75 C、120 D、1313、设窗体上有一个名称为Text1的文本框,要求只能显示信息,不能输入,
4、应选择答案()A、=0 B、=0C、=False D、=False14、命令按钮CommandButton的Picture,DownPicture和DisablePicture属性都已装入图形,按下命令按钮,其上显示的图形是( )A、Picture属性中的图形 B、DownPicture属性中的图形C、DisablePicture 属性中的图形 D、不显示图形15、在窗体上画一个名称为Command1的命令按钮,并编写如下程序:Private Sub Command1_Click()Dim x As IntegerStatic y As Integerx=10:y=5Call f1(x,y)P
5、rint x,yEnd SubPrivate Sub f1(ByRef x1 As Integer, y1 As Integer)x1=x1+2y1=y1+2End Sub程序运行后,单击命令按钮,在窗体上显示的内容是 ()A、 10 5 B、 12 5 C、 10 7 D、 12 716、执行以下程序段,输出结果为 ()Private Sub Command1_Click()a$=abbacddcbaFor i=6 To 2 Step -2 X=Mid(a,i,i) Y=Left(a,i) z=Right(a,i) z= UCase(x & y & z)Next iPrint zEnd Su
6、bA、 ABA B、ABBABA C、 BBABBA D、AABAAB17、以下( )语句可表示50,100之间的随机数。A、Int(Rnd * 51) + 49 B、Int(Rnd * 51 +50) C、Int(Rnd * 50) + 5 D、Int(Rnd * 50 + 50)18、执行x = InputBox(请输入半径,0,求面积) ,在输入框中输入3后回车,则下列叙述正确的是( )A、x的值是数值3 B、 x的值是字符3C、0是默认值 D、 对话框标题是求面积19、设置图像框的( )可使框内的图片按图像框大小自动调整。A、 AutoSize属性为True B、 Stretch属性为
7、TrueC、 AutoSize属性为False D、 Stretch属性为False20、有如下事件过程Private Sub Command1_Click()x = 1For i = 1 To 3If i = 1 Then a = x * xIf i = 3 Then a = x * x + 2Print a; Next iEnd Sub运行时,单击命令按钮,则结果是( ):A、 2 5 11 B、1 5 1 C、 2 2 3 D、1 1 121、在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:Private Sub Command1_Click() Static X As
8、 IntegerStatic Y As IntegerClsY = 1: Y = Y + 5: X = 5 + XPrint X, YEnd Sub程序运行时,单击命令按钮Command1三次后,窗体上显示的结果为()A、15 16 B、15 6 C、15 15 D、 5 622、设a=3,b=5,则以下表达式值为TRUE的是()A、 a=b And b10 B、 ab Or b0C、 a0 D、 -3+5a and b023、从键盘上输入两个字符串,分别保存在变量str1、str2中。确定第二个字符串在第一个字符串中起始位置的函数是()A、 Left B、Mid C、String D、Ins
9、tr24、下列哪组语句可以将变量a,b的值互换( )A、 a=b: b=a B、 a=a+b: b=a-b: a=a-bC、 a=c: c=b: b=a D、 a=(a+b)/2: b=(a-b)/225、可以同时删除字符串前导和尾部空格的函数是()A、 Ltrim B、 RtrimC、Trim D、Mid26、表达式293的值是() A、 1 B、7 C、 8 D、 927、下列程序运行后,单击command1时显示的结果是( ) Private Sub Command1_Click() x = 1 mysub x + 2 Print xEnd Sub Public Sub mysub(x
10、As Integer) x = 3 * x - 1 If x 4 Then x = x + 10 Print x;End SubA、 8 1 B、 8 8 C、 19 1 D、 19 1928、以下有关Visual Basic语言描述中错误的是( )。A、不区分大小写 B、语句是一行一句,以回车键结束C、用“,”分隔一行中的多个语句D、一条语句放在多行中,则在前一行结束处使用续行符空格+下划线(“ _”)连接下一行29、在窗体上添加两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(其Name属性为Command1),然后编写如下事件过程:Private Sub Comma
11、nd1_Click() x = 0 Do While x 50 x = (x + 2) * (x + 3) n = n + 1 Loop = Str(n) = Str(x)End Sub程序运行后,单击命令按钮,在两个文本框中显示的值分别为( )A、1和0B、2和72C、3和50D、4和16830、设有如下声明:Dim X As Integer如果Sgn(X) 的值为-1,则X的值是( )A、整数 B、大于0的整数 C、等于0的整数 D、小于0的数二、 判断题下列各题如果是正确的,请在机读卡对应位置上涂A,如果是错误的涂B。答在试卷上不得分1、VB程序运行后,在内存中只能驻留一个窗体。2、在V
12、B中,控件的属性只能在设计时修改,运行时无法改变。3、执行Unload Form1语句后,窗体Form1消失,但仍在内存中。4、在一个窗体模块中可以调用在其他窗体中被定义为Public的通用过程。5、Function过程与Sub过程最主要的区别是:SUB过程不能返回值,而FUNCTION过程能返回值。6、用Print方法可以在图像框中输出数据。7、Dim a,b,c As Integer能将a,b,c都声明成整型变量。8、语句print “*”;tab(10);”a”与语句print “*”;spc(10);”a”的显示结果是一样的。9、控件数组使用Index属性来标识控件元素,其范围必须从0
13、开始。10、文件号的最大取值为512。第二部分:主观题三、 填空题请在答题卷对应位置填写答案,答在试卷上不得分。1、数学关系式a2+b2 表示成正确的VB表达式为_【1】_ 。2、计算表达式的值Int * 100 + / 100_【2】_ 。3、赋值语句g = 123 + Mid(123456, 3, 2)执行后,变量g中的值是_【3】_ 。4、在编写代码时可以添加说明性文字。注释方法有2种,一种是使用注释标记符撇号();另一种是使用以关键字_【4】_开头的注释语言。5、设a=a,b=b,c=c,d=d,执行语句x=IIf(ad), A,B)后,x的值为_【5】_ 。6、在VB中,描述对象特征
14、的数据称为对象的_【6】_。7、有下面的表达式x1=val(“1e2abcd”),运行后,x1的值为:_【7】_ 。8、产生一个两位数的随机数的表达式为:_【8】_。9、只有控件对象的Enabled和Visible属性值均为_【9】_ 时,该控件对象才能接受焦点。10、设a=10,b=5,c=1,执行语句Print abc后,窗体上显示的是_【10】_ 。四、 读程序写结果请将答案填写在答题卷对应位置处,答在试卷上不得分。1、下面程序执行后a的值是_【1】_。Private Sub Command1_Click() Dim a As Integer, b As Integer a = 1: b
15、 = 1 Do While b 5 a = b - a b = b + 1 Loop Print aEnd Sub2、下列程序运行后,单击窗体时显示的结果是_【2】_。Private Sub Form_Click() Dim x As Integer x = 1 mysub x Print xEnd SubPrivate Sub mysub(x As Integer) x = 3 * x - 1 If x 30 Then Exit For Next i Print n, iEnd Sub五、 编写程序题请将程序代码写在答题卷对应位置处,答在试卷上不得分。1、生成大小为1到100的50个随机整数
16、,使用选择排序法对这些数进行由小到大的排序,并将其显示出来。(8分)2、编写一函数过程计算1到n的累乘,参数n在调用时传递,函数名为mul。在主程序中调用该函数完成计算sum=1!+2!+3!+4!+5!,然后把sum结果打印出来。(6分)3、找出所有四位整数的回文数,并把找出的这些回文数保存在顺序文件”c:”中。(顺读和倒读都一样的字符串称“回文”,如:“level”,“1221”) (6分)第一部分:客观题一、 单项选择题1-5、 DDBDD 6 -10、 CBDDC 11-15、 DADBD 16-20、 CBBBC21-25、 BBDBC 26-30 、DACBD二、 判断题1、B 2
17、、B 3、B 4、A 5、A 6、B 7、B 8、B 9、B 10、B第二部分:主观题三、填空题1、a2+b2 2、3、 157 4、 REM 5、 “A” 6、 属性7、 100 8、 int(rnd*90+10) 9、 true 10、 false四、读程序写结果题1、3 2、11 3、224、1234 5、5, 35五、编写程序题1、生成大小为1到100的50个随机整数,使用选择法对这些数进行由小到大的排序,并将其显示出来。Private Sub Command1_Click() Dim a(49) as integer (1分) Dim i as integer, k as integ
18、er Randomize Time For i=0 to 49 a(i)=Int(Rnd*(100-1+1)+1) (1分) next i for i=0 to 48 (1分) k=I (1分) for j=i+1 to 49 (1分) if a(k)a(j) then k=j (1分) next j tmp=a(i): a(i)=a(k): a(k)=tmp (1分)next ifor i=0 to 49 print a(i); (1分)next iEnd Sub2、编写一函数过程计算1到n的累乘,参数n在调用时传递,函数名为mul。在主程序中调用该函数完成计算sum=1!+2!+3!+4!
19、+5!,然后把sum结果打印出来。Private Sub Command1_Click() Dim sum as Integer, I as integer Sum=0 (1分) For i=1 to 5 Sum=Sum+mul(i) (1分) Next i Print sum (1分)End subPrivate Function mul(n as integer) as integer (1分) Dim s as integer, i as integer S=1 For i=1 to n S=s*i (1分) Next i Mul=s (1分)End Sub3、找出所有四位整数的回文数,
20、并把找出的这些回文数保存在顺序文件”c:”中。(顺读和倒读都一样的字符串称“回文”,如:level,1221) Private Sub Command1_Click()Dim i As Integer, n As Integer, s As StringDim j As IntegerOpen “c:” for Output As #1 (1分)For i = 1000 To 9999 (1分) s = Trim(Str(i) (1分) If Mid(s, 1, 1) = Mid(s, 4, 1) And Mid(s, 2, 1) = Mid(s, 3, 1) Then (2分) Print
21、#1, s (1分) End IfNext iClose #1 End Sub ViSual Basic程序设计上机试题考试要求:1、考试时间为2个小时。2、不得使用U盘,不得使用VB课件:违反此要求者按作弊处理。3、考试目录为F:Source,要求将程序保存到该文件夹下。4、每完成一题,在该文件夹中保存以题目序号命名的frm和vbp文件。例如第二题的结果保存为和。第一题:20分1、设计一个如下界面的成绩计算程序。其中总评成绩中平时占20,期中和期末各占30%和50%。程序结果保存为和。参考代码:Private sub Command1_Click() =*val(text1)+*val(te
22、xt2)+*val(text3)End SubPrivate sub Command2_Click() Text1=”: Text2=” : Text3=”End Sub第二题:20分一个四位数,各位之和等于其前两位,各位之积各于其后二位,试求之。界面自定。程序结果保存为和。参考答案:该题的结果为1236For a=1 to 9For b=0 to 9For c=0 to 9For d=0 to 9X=1000*a+100*b+10*c+dIf a+b+c+d=10*a+b and a*b*c*d=10*c+d then print xNext d,c,b,a第三题:20分3、设计一个如下界面
23、的菜单程序,要求效果:单击菜单项可调出相应功能。提示:Shell函数的格式为shell 路径,。程序结果保存为和。程序结果保存为和。参考程序:Private Sub Mnote_Click() Shell , 1End SubPrivate Sub MExit_Click() EndEnd Sub第四题:25分编程实现如下程序,当在列表框中单击某一学生姓名时,在文本框出现学生的籍贯。相应的学生信息如下表:序号姓名籍贯1王芸姗安徽2林丽菲辽宁3张雪涛陕西要求的程序界面:程序结果保存为和。参考答案:Dim a, bPrivate Sub Form_Load() a = Array(王芸姗, 林丽菲
24、, 张雪涛) b = Array(安徽, 辽宁, 陕西) For i = LBound(a) To UBound(a) a(i) Next iEnd SubPrivate Sub List1_Click() Text1 = bEnd Sub第五题:25分用形状控件在窗体上画一个蓝色小球,运行时可用上、下、左、右四个方向键控制其移动。程序界面为:程序结果保存为和。参考程序:Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyUp: , - 100 Case vbK
25、eyDown: , + 100 Case vbKeyLeft: - 100, Case vbKeyRight: + 100, End SelectEnd Sub第六题:20分颜色拾取程序:单击“选取颜色”按钮后,出现调色板,选中某种颜色后,改变文本框的背景色。界面如下:程序结果保存为和。 参考程序:Private Sub Command1_Click() = End Sub第七题:20分数据库浏览程序,显示中Employees表中的Photo字段。提示:数据库的位置在d:program filesmicrosoft visual studiovb98,照片显示采用OLE控件。程序结果保存为和。参考答案:采用data控件,设置属性Databasename和Recordsource;Ole控件的属性设置是Datasource和datafield