上海市2007计算机二级vb试题.doc_第1页
上海市2007计算机二级vb试题.doc_第2页
上海市2007计算机二级vb试题.doc_第3页
上海市2007计算机二级vb试题.doc_第4页
上海市2007计算机二级vb试题.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2007年上海市高等学校计算机等级考试测试卷二级(Visual Basic程序设计)(A卷)一、选择题1.Visual Basic是一种面向对象的程序设计语言,_D_ 不是面向对象系统所包含的三要素。A.变量 B.事件C.属性 D.方法2.要求改变窗体的标题内容,应当通过窗体的_B_属性来实现。A.Caption B.NameC.Text D.Label3.为了使文本框同时具有水平和垂直滚动条,应先把 MultiLine 属性设置为 True,然后再把 ScrollBars 属性设置为_D_ 。A.0 B.1C.2 D.34.要使Print方法在Form_Load事件中起作用,要对窗体的_A_属性进行设置。A.ForeColor B.CaptionC.BackColor D.AutoRedraw5.下面所列的控件中,其值既能在程序设计时设定,又能在程序运行时通过赋值改变的是_B_。A.Drive1.Drive B.Text1.VisibleC.Dir1.Path D.List1.Sorted6.下列控件中无法响应Click事件的是_D_。A.驱动器列表框 B.文本框C.标签 D.时钟7.在Visual Basic代码中,将多个语句合并在一行上的并行符是_B_ 。A.撇号() B.冒号(:)C.感叹号(!) D.问号(?)8.语句If x=1 Then y=1,下列说法正确的是_C_。A.x=1 和 y=1 为赋值语句 B.x=1 和 y=1 均为关系表达式C.x=1 为关系表达式,y=1 为赋值语句 D.x=1 为赋值语句,y=1 为关系表达式9.在默认状态下,若有数组声明:Dim c(3, 4 To 5) As Integer,下面数组元素引用中正确的是 _B_ 。A.c(1,2) B.c(0,5)C.c(4) D.c(4,4)10.在过程 A 中定义了静态变量 y。当调用过程 A 后,在退出过程A 时,y 的值为5。请问,下次再进入过程A 时,y 的值为_B_。A.不定值 B.5C.0 D.无定义出错11.根据变量的作用域,可以将变量分为三类,它们是_B_A.局部变量、窗体/模块级变量和标准变量 B.局部变量、窗体/模块变量和全局变量C.局部变量、模块变量和标准变量 D.局部变量、窗体变量和全局变量12.复选框对象是否被选中,是由其_C_ 属性决定的。A.Caption B.NameC.Value D.Enabled13.要使图像框可以自动调整图形的大小,则需设置_A_属性。A.Stretch B.AppearanceC.Autosize D.AutoRedraw14.执行命令 Circle(600,600),500,3 将绘制_C_。A.圆 B.圆弧C.椭圆 D.扇形15.结构化程序由三种基本结构组成,下面属于三种基本结构之一的是_B_。A.递归结构 B.循环结构C.过程结构 D.输入输出结构二、填充题1.下面的程序段实现的功能是:当在文本框中输入整数n时,在窗体上输出 n+1 行图形。Private Sub Command1_Click() Cls n = Val(Text1) For i = (1) n To 1 Step -1 Print Tab(9 - i); #; Spc(i - 1); #; Spc(i - 1); # Next i Print Tab(9) &”#” 注意双引号 错Tab(9) ;”#” 只能用分隔符&是连接字符串 End Sub2.在程序设计中,将文本框控件Text1用作输入密码,当键盘上按任一键时,都显示*,需要设置_PassworsChar_ 属性。3.表达式20 / 4 - 3 2 * 6 2 mod 7 2 的值是2_5_注意优先级,当然最好的办法是放到程序里面去。4.在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:Private Sub Command1_Click() Dim a%(10, 10) Dim i%, j% For i = 1 To 3 For j = 2 To 4 a(i, j) = i + j Next j Next i Text1.Text = a(2, 3) + a(3, 4)End Sub程序运行后,单击命令按钮,在文本框中显示的值是12_当然最好的办法是放到程序里面去。5.ReDim 语句用于确定_二维_动态_ 数组的大小。6.在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后编写如下程序:Private Sub Command1_Click() Dim x,y,z As Integer x=5: y=7: z=0 Text1.Text=x & y & zEnd Sub程序运行后,如果单击命令按钮,则在文本框中显示的内容是_570_。7.菜单项只有一个事件,即_Click_ 事件。8.Visual Basic提供了三种对数据文件的访问方式,它们是顺序访问方式、二进制访问方式和_随机_访问方式。9.已知窗体 Form1 的 CurrentX = 1000,执行了命令 PSet Step(200, 200) 后,CurrentX 的值为_1200_ 。三、程序填充1.用循环显示如图所示结果。每项数据前交替出现正负号。Option ExplicitPrivate Sub Command1_Click() Dim s As Long, i%, j%, n%, fh%, str1 As String n = Val(Text1) For i = 1 To n s = 0 fh = IIf(i Mod 2 = 0, -1, 1) For j = 1 To i fh = (-fh) (j - 1) s = s * 10 + j 产生 j 列上的数据 str1 = Trim(Str(s) If fh = -1 Then 输出 j 列上的数据 Picture1.Print -; str1; Else Picture1.Print +; str1; End If Next j Picture1.Print不能只写Print Next iEnd Sub数据 Option ExplicitPrivate Sub Command1_Click() Dim s As Long, i%, j%, n%, fh%, str1 As String n = Val(Text1) For i = _(1)_1 To n s = 0 fh = IIf(i Mod 2 = 0, 1, -1) 控制 i 行第一项数据的正负号 For j = 1 To i fh = _(2) 控制 j 列上数据的正负号 s = _(3)_S 产生 j 列上的数据 str1 = Trim(Str(s) If fh = -1 Then 输出 j 列上的 _(4)_ Else Picture1.Print +; str1; End If Next j _(5)_Print_ Next iEnd Sub2. 本程序的功能是用于判断通过输入对话框输入的正整数是否为降序数。判断结果显示在标签框Lable1中。设正整数n=d1d2.dm,如果di+1di(i=1,2,m-1),则n 是一个降序数(即左边的数字大于等于右边的数字),如:321,8844是降序数,而2435不是降序数。 Option ExplicitPrivate Sub Command1_Click() Dim i%, n As String, flag As BooleanOption ExplicitPrivate Sub Command1_Click() Dim i%, n As String, flag As Boolean n = InputBox(输入正整数) flag = False For i = Len(n) To 1 If Mid(n, i, 1) Mid(n, i - 1, 1) Then flag = True Exit For End If Next i If flag Then Label1.Caption = n & 不是降序数 Else Label1.Caption = n & 是降序数 End IfEnd Sub n = _(1)_ InputBox(“输入正整数”) 通过对话框输入数据 flag = False For i = Len(n) _(2)_ Len(n)测试字符串长度 If _Mid(n,i,1)_(3)_ Mid(n, i - 1, 1) Then 判断 flag = _(4)True_ 设置判断标记 Exit For End If Next i If _(5)Not flag_ Then Label1.Caption = n & 不是降序数 Else Label1.Caption = n & 是降序数 End IfEnd Sub四、设计操作1.编写一个完整的程序,要求如下:1. 参见样例在Form1窗体上放置1个文本框,1个标签和1个命令按钮。文本框设置为多行和有滚动条;按钮的Caption为查找,初始状态为不可用;窗体的标题设置为考生真实的准考证号。建立如下菜单:菜单项菜单名备注数据Menu1一级菜单产生Menu11二级菜单窗体2Menu2一级菜单退出(X)Menu3一级菜单在Form2上放置2个命令按钮,按钮的标题分别是绘图和返回,窗体的标题为考生真实的姓名。 2. 在Form1中单击产生菜单项后,在文本框内内随机产生10个四位正整数,每个数占一行,此时查找按钮变为有效;单击查找按钮,在标签内显示文本框内内出现的最大随机数。3. 选择窗体2菜单项,显示Form2 窗体,选择退出菜单项,结束程序运行。在Form2窗体中单击返回按钮,显示Form1窗体。x = Cos y= Sin ;4. 在Form2窗体中单击绘图按钮,重新定义窗体的坐标系为(-4, 4)-(6, -6)。在窗体上用Line方法绘制阿基米德螺线,其中直线的颜色是随机的,直线的一端为坐标(0,0),另一端坐标用阿基米德方程计算:在02 , 步长为0.1。5在C:VB4目录下将工程保存为v4.vbp、Form1 窗体为v41.frm、Form 2 窗体为v42.frm(文件名中符号1是数字1,不是字母L)Dim a(10) As IntegerPrivate Sub Menu11_Click()For i = 1 To 10a(i) = Int(Rnd * 9000 + 1000)Next iText1.Text = For i = 1 To 10Text1.Text = Text1.Text + Trim(Str(a(i) + Space(22)Next iCommand1.Enabled = TrueEnd SubPrivate Sub Command1_Click()Dim Max As IntegerFor i = 1 To 10Form1.Print a(i)Next iFor i = 1 To 10a(1) = MaxIf a(i) Max ThenMax = a(i)End IfNext iPrivate Sub Menu2_Click()Form2.ShowEnd SubPrivate Sub Command1_Click()Dim c As IntegerDim d As IntegerDim e As IntegerDim x As SingleDim y As SingleDim a As SingleConst pi = 3.1416c = Int(Rad * 255)d = Int(Rad * 255)e = Int(Rad * 255)Form2.Scale (-4, 4)-(6, -6)For x = -4 To 4 Step 0.001y = x * x + 3 * x + 2Form2.PSet (x, y), RGB(c, d, e)Next xEnd SubPrivate Sub Command2_Click()Form1.ShowEnd Sub2007年上海市高等学校计算机等级考试测试卷二级(Visual Basic程序设计)(B卷)一、选择题1.结构化程序由三种基本结构组成,下面属于三种基本结构之一的是_B。A.递归结构 B.循环结构C.过程结构 D.输入输出结构2.下列控件中可自动设置滚动条是_C_。A.复选框 B.框架C.文本框 D.标签框3.为了使标签覆盖背景,应把BackStyle属性设置为_A_ 。A.0 B.1C.True D.False4.下列关于控体属性的说法正确的是_。A.单击窗体中的某控件,在属性窗口中的属性列表框中找到所要设置的属性,即可设置其属性值。B.所有对象都具有同样的属性C.控件的属性只能在设计时设置,不能在运行时修改D.控件的每一个属性都具有同样的默认值5.从随机文件中读取数据的命令是_。 A.Input B.PrintC.Get D.Put6.VB中利用Circle 方法可以画_。A.点 B.直线C.直角矩形 D.圆角矩形7.下列_组语句可实现将变量x、y互换。A.x = y : y = xB.y = y + 2 * x : x = y - 2 * x : y =(y - x) / 2C.x = x + y : x = x - y : y = x - yD.y = y + 2x : x = y - 2x : y =(y - x) / 28.为了给x,y,z三个变量赋初值1,下面的赋值语句正确的是_。A.x=1:y=1:z=1 B.x=1,y=1,z=1C.x=y=z=1 D.xyz=19.如果列表框List1中已有10项数据,应使用语句_将数据Mydata插入到列表框的第3项 。A.List1.AddItem Mydata ,3 B.List1.Insert Mydata, 3C.List1.AddItem Mydata, 2 D.List1.Insert Mydata, 210.下面数组声明语句错误的是_。A.Dim a%(-5 to -3) B.Dim a%(-1 to 2,3)C.Dim n%,a%(n) D.Dim a(-1 to 0) as Integer11.从函数过程退出,并返回到主调过程,可使用语句_ 。A.Exit B.ReturnC.Exit Sub D.Exit Function12.触发滚动条Scroll事件的操作是:_。A.单击滚动条箭头 B.单击滚动条箭头与滚动块之间的空白区C.拖曳滑块 D.其他的 3 个说法均可13.设置复选框或单选按钮标题对齐方式的属性是_ 。A.Align B.AlignmentC.Sorted D.Value14.当文件指针到达文件尾部时,_ 函数的值为真。A.LOF() B.EOF()C.LOC() D.LEN()15.为了让加载的图片能随图像框控件Image1的大小自动缩放,需要设置Image1的_ 。A.Stretch属性设置为True B.Stretch属性设置为FalseC.AutoSize属性设置为True D.AutoSize属性设置为False二、填充题1.若VB的执行程序在 C:VB 文件夹内,App.Path 可返回_。2.下面的程序段实现的功能是:当在文本框中输入整数 n 时,在窗体上输出 n+1 行图形。 Private Sub Form_Click() Cls n = Val(Text1) Print Tab(9); # For i = 1 To (1) Print Tab(9-i); #; Spc(i - 1); #; Spc(i - 1); # Next iEnd Sub3.表达式 Mid(abcdefgh,3,4) 的值是_ 。4.在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:Private Sub Command1_Click() Dim i%, j%, s% For i = 1 To 2 For j = 1 To 2 s = s + (i - 1) * 2 + j Next j Next i Print sEnd Sub程序运行后,单击命令按钮,窗体上显示的是_。5.下面程序段的功能是数组x中有10个元素,查找数组中最小元素的下标imin。Dim x%()x=Array(1,-5,7,4,3,2,9,0,-1,5)imin=0For k=1 To 9 If x(k) (1) Then (2) Next kPrint imin6.在Visual Basic中声明静态变量的关键字是_。7.如果窗体上已编辑好菜单,为了能在窗体上使用右键弹出菜单,可在窗体的MouseUp事件中通过其参数Button= _来判断已经按下了鼠标的右键。8.已知窗体Form1 的 CurrentX = 400,执行了命令Line Step(200, 200) - Step (500, 400)后,CurrentX的值为_ 。9.单选框的文本标题是通过_属性设置的。三、程序填充1.以下程序的功能是数据移动。每单击变换矩阵按钮一次,可将矩阵循环上移一行,第一行元素换到最后一行。程序运行界面如图所示。 Form_ Activate()事件:用116的自然数生成1个44按自然排列的二维矩阵,并输出到Picture1上;moveline() 子过程:循环上移矩阵一行;Command1_Click事件过程:调用moveline()子过程,并在Picture2上输出结果。Option ExplicitDim s(4, 4)Private Sub Form_Activate()Dim i%,j%Picture1.Print 生成原始矩阵: & vbCrLfFor i = 1 To 4 For j = 1 To 4 s(i, j) = _ (1)_ 生成矩阵i 行j 列上的元素 Picture1.Print Tab(4 * j); s(i, j); Next j Picture1.PrintNext iEnd SubPublic Sub moveline(a()Dim i%, j%, t%(1 To 4) Picture2.ClsPicture2.Print 变换后的矩阵: & vbCrLfFor j = 1 To 4 保存矩阵第一行的数据 t(j) = _(2)_Next jFor i = 1 To 3 矩阵循环上移一行 For j = 1 To 4 a(i, j) = _(3)_ Next jNext iFor j = 1 To 4_(4)_ = t(j)Next jEnd SubPrivate Sub Command1_Click() 调用子过程Call _(5)_ For i = 1 To 4 For j = 1 To 4 Picture2.Print Tab(4 * j); a(i, j); Next j Picture2.PrintNext iEnd Sub2. 下列代码实现插入排序。在文本框输入一个数, 按回车键后,调用Insert()子过程,将数插入到数组中,使得数组中的各元素保持升序,并显示。Form_ Activate()事件形成原始升序数据;Insert() 子过程将数据x插入到数b()某位置上;Text1_KeyPress事件过程在按回车键后调用Insert()子过程,显示结果。 Option ExplicitDim a() a 数组在各过程中共享Private Sub Form_Activate() Dim i% a = Array(2, 7, 10) Print 原始数据 For i = 0 To 2 : Print a(i); : Next i PrintEnd SubPrivate Sub Insert(b(), ByVal x%) Dim i%, j%, n% n = UBound(b) For i = 0 To n 查找插

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论