大学vb考试题库(1)
更新时间:2024-02-02 16:42:01 阅读量: 教育文库 文档下载
一1、与传统的程序设计语言相比,Visual Basic最突出的特点是(C)。 A、结构化程序设计 B、程序开发环境 C、事件驱动编程机制 D、程序调试技术
2、赋值语句:a=123 & MID(\执行后,a变量中的值是(C)。 A、\ B、123 C、12334 D、157 3、保存一个工程至少应保存两个文件,这两个文件分别是(B)。 A、文本文件和工程文件 B、窗体文件和工程文件 C、窗体文件和标准模块文件 D、类模块文件和工程文件
4、以下能在窗体Form1的标题栏中显示\窗体\的语句是(C)。 A、Form1.Name=\窗体\B、Form1.Title=\窗体\C、Form1.Caption=\窗体\D、Form1.Text=\窗体\
5、为了装入一个Visual Basic应用程序,应当(D) A、只装入窗体文件(.frm) B、只装入工程文件(.vbp)
C、分别装入工程文件和标准模块文件(.bas) D、分别装入工程文件、窗体文件和标准模块文件 6、赋给一个数组的数据类型一定要(A)。 A、相同 B、不相同 C、两可 D、都不对 7、下面正确的赋值语句是(C)。 A、x+y=30 B、y=π*r*r C、y=x+30 D、3y=x 8、Visual Basic 6.0集成环境的主窗口中不包括(C)。 A、标题栏 B、菜单栏 C、状态栏 D、工具栏 9、以下叙述中错误的是(C)。
A、Visual Basic 是事件驱动型可视化编程工具
B、Visual Basic应用程序不具有明显的开始和结束语句
C、Visual Basic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性 D、Visual Basic中控件的某些属性只能在运行时设置
10、要使Print方法在Form_Load事件中起作用,要对窗体的(C)属性进行设置。 A、Backcolor B、ForeColor C、AutoRedraw D、BackStyle
11、若要使命令按钮不可操作,要对(A)属性进行设制。 A、Enabled B、Visible C、BackColor D、Caption 12、以下叙述中错误的是(B)。
A、一个工程中可以包含多个窗体文件
B、在一个窗体文件中用Private定义的通用过程能被其他窗体调用
C、在设计VB程序时,窗体、标准模块、类模块等需要分别保存为不同类型的磁盘文件。 D、一个工程默认的启动对象是Form1
13、Cls方法可以清除窗体或图片框中的(C)内容。 A、在设计阶段使用Picture设置的背景位图 B、在设计阶段放置的控件
C、在运行阶段产生的图形和文字
D、以上均可
14、设x=3,y=5,则以下表达式值为真的是 (C) A、(-3+5>x) And (y>0) B、(x<0) Eqv (y>0) C、(x>y) Or (y>0) D、x>=y And y>10
15、为了防止用户随意将光标置于控件之上,应将进行(D)设置。 A、将控件的TabIndex属性设置为0 B、将控件的TabStop属性设置为True C、将控件的TabStop属性设置为False D、将控件的Enabled属性设置为False
16、要判断在文本框是否按了Enter键,应在文本框的(D)事件中判断。 A、Change B、KeyDown C、Click D、KeyPress 17、以下关于焦点的叙述中,错误的是(A)。
A、如果文本框的TabStop属性为False,则不能接收从键盘上输入的数据 B、当文本框失去焦点时,触发LostFocus事件
C、当文本框的Enabled属性为False时,其Tab顺序不起作用 D、可以用TabIndex属性改变Tab顺序
18、如果文本框的Enabled属性设为False,则(A)。
A、文本框的文本将变成灰色,并且此时用户不能将光标置于文本框上。
B、文本框的文本将变成灰色,用户仍然能将光标置于文本框上,但是不能改变文本框中的内容。
C、文本框的文本将变成灰色,用户仍然能改变文本框中的内容。
D、文本框的文本正常显示,用户能将光标置于文本框上,但是不能改变文本框中的内容。 19、程序运行后,在窗体上单击鼠标,此时窗体不会接收到的事件是(C)。 A、MouseDown B、MouseUp C、Load D、Click
20、图像框有一个属性,可以自动调整图形的大小,以适应图像框的尺寸,这个属性是(B)。 A、Autosize B、Stretch C、AutoRedraw D、Appearance
21、为了防止用户随意将光标置于控件之上,应设置的属性是(D)。 A、将控件的TabIndex属性设置为0 B、将控件的TabStop属性设置为True C、将控件的TabStop属性设置为False D、将控件的Enabled属性设置为False 22、不论何控件,共同具有的是(B)属性。 A、Text B、Name C、ForeColor D、Caption
23、以下关于窗体的描述中,错误的是(A)。
A、执行Unload Form1语句后,窗体Form1消失,但仍在内存中 B、窗体的Load事件在加载窗体时发生
C、当窗体的Enabled属性为False时,通过鼠标和键盘对窗体的操作都被禁止 D、窗体的Height、Width属性用于设置窗体的高和宽 24、当运行程序时,系统自动执行窗体的(A)事件过程。 A、Load B、Click C、Unload D、GotFocus
25、窗体设计器是用来设计(B)。 A、应用程序的代码段 B、应用程序的界面 C、对象的属性 D、对象的事件
26、Visual Basic是一种面向对象的可视化程序设计语言,采取了(A)的编程机制。 A、事件驱动 B、按过程顺序执行 C、从主程序开始执行 D、按模块顺序执行 27、确定一个控件在窗体上的位置的属性是(D)。 A、Width或Height B、Width和Height C、Top或Left D、Top和 Left
28、如果要改变窗体的标题,则需要设置的属性是(A)。 A、Caption B、Name C、BackColor D、BorderStyle 29、以下叙述中错误的是(C)。
A、打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件 B、保存Visual Basic程序时,应分别保存窗体文件及工程文件 C、Visual Basic应用程序只能以解释方式执行 D、事件可以由用户引发,也可以由系统引发 30、以下叙述中错误的是(B)。
A、双击鼠标可以触发DblClick事件
B、窗体或控件的事件的名称可以由编程人员确定 C、移动鼠标时,会触发MouseMove事件 D、控件的名称可以由编程人员设定
31、在Visual Basic中最基本的对象是(C)。它是应用程序的基石,是其他控件的容器。 A、文本框 B、命令按钮 C、窗体 D、标签 32、以下叙述中正确的是(A)。
A、窗体的Name属性指定窗体的名称,用来标识一个窗体 B、窗体的Name属性的值是显示在窗体标题栏中的文本 C、可以在运行期间改变对象的Name属性的值 D、对象的Name属性值可以为空
33、在设计阶段,当双击窗体上的某个控件时,所打开的窗口是(C)。 A、工程资源管理器窗口 B、工具箱窗口 C、代码窗口 D、属性窗口
34、Visual Basic是一种面向对象的可视化程序设计语言,采取了的编程机制是(A)。 A、事件驱动 B、按过程顺序执行 C、从主程序开始执行 D、按模块顺序执行 35、用来设置粗体字的属性是(C)。 A、FontItalic B、FontName C、FontBold D、FontSize
36、如果一个工程含有多个窗体及标准模块,则以下叙述中错误的是(A)。 A、如果工程中含有Sub Main过程,则程序一定首先执行该过程 B、不能把标准模块设置为启动模块
C、用Hide方法只是隐藏一个窗体,不能从内存中清除该窗体 D、任何时刻最多只有一个窗体是活动窗体
37、为了把焦点移到文本框,所使用的方法是(A)。 A、SetFocus B、Visible C、Refresh D、GetFocus
38、INT(100*RND)产生的随机整数的闭区间是(A)。 A、[0,99] B、[1,100] C、[0,100] D、[1,99]
39、如果要在命令按钮上显示图形文件,应设置命令按钮的(B)。 A、Style属性和Graphics属性B、Style属性和Picture属性 C、Caption属性 D、Graphics属性 40、若要使命令按钮不可操作,要对(A)属性进行设制。 A、Enabled B、Visible C、BackColor D、Caption
41、假定窗体的名称为Form1,则把窗体的标题设置为“VB_Test”的语句为(B)。 A、Form1=“VB_Test” B、Form1.Caption=“VB_Test” C、Form1.Text=“VB_Test” D、Form1.name=“VB_Test” 42、以下叙述中错误的是(A)。
A、在工程资源管理器窗口中只能包含一个工程文件及属于该工程的其他文件 B、以.BAS为扩展名的文件是标准模块文件 C、窗体文件包含该窗体及其控件的属性 D、一个工程中可以含有多个标准模块文件
43、要使文本框获得输入焦点,则应采用文本框控件的哪个方法(A)。 A、GotFocus B、LostFocus C、KeyPress D、SetFocus
44、以下不能在“工程资源管理器”窗口中列出的文件类型是(B)。 A、.bas B、.res C、.frm D、.ocx
45、刚建立一个新的标准EXE工程后,不在工具箱中出现的控件是(C)。 A、单选按钮 B、图片框 C、通用对话框 D、文本框 46、以下叙述中错误的是(B)。
A、双击鼠标可以触发DblClick事件
B、窗体或控件的事件的名称可以由编程人员确定 C、移动鼠标时,会触发MouseMove事件 D、控件的名称可以由编程人员设定
47、以下能够触发文本框Change事件的操作是(D)。 A、文本框失去焦点 B、文本框获得焦点 C、设置文本框的焦点 D、改变文本框的内容 48、以下叙述中错误的是(C)。
A、一个工程中只能有一个Sub Main过程
B、窗体的Show方法的作用是将指定的窗体装入内存并显示该窗体 C、窗体的Hide方法和Unload方法的作用完全相同
D、若工程文件中有多个窗体,可以根据需要指定一个窗体为启动窗体 49、语句Print Abs(-6^2)+Int(-6^2)的输出结果是(A)。 A、0 B、1 C、-1 D、-72
50、如果将布尔常量值TRUE赋值给一个整型变量,则整型变量的值为(B)。 A、0 B、-1 C、TRUE D、FALSE
51、函数String(n, \的功能是(B)。 A、把数值型数据转换为字符串 B、返回由n个字符组成的字符串 C、从字符串中取出n个字符
D、从字符串中第n个字符的位置开始取子字符串
52、语句Print Format(“Hello World”,“>”)的输出结果是(C)。 A、hello WORLD B、hello world C、HELLO WORLD D、HELLO world 53、声明符号常量应该用关键字(B)。 A、Static B、Const C、Private D、Variant
54、要强制显示声明变量,可在窗体模块或标准模块的声明段中加入语句(B)。 A、Option Base 0 B、Option Explicit C、Option Base 1 D、Option Compare 55、下列可作为Visual Basic变量名的是(D)。 A、A#A B、4A C、?xy D、constA
56、设a=10,b=5,c=1,执行语句Print a > b > c后,窗体上显示的是(B)。 A、True B、False C、1 D、出错信息 57、执行x$=String(6, \后,x的值是(B)。 A、124abc B、111111 C、124 D、abc 58、设a=6,则执行 x=IIf(a>5,-1,0)后,x 的值为(D) A、5 B、6 C、0 D、-1
59、执行语句:c$=“Glad”& Mid$(“Nice to meet you”,5,3),则变量c$的值为(C)。 A、Nice to meet you B、Glad Nice to meet you C、Glad to D、Glad 60、下面(D)是合法的字符常数。 A、ABC$ B、\ C、' ABC' D、ABC 61、对于语句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 为关系表达式
62、设有声明:Dim X As Integer,如果Sgn(X) 的值为-1,则X的值是(D)。 A、任何整数 B、0 C、等于0的整数 D、小于0的数 63、在一行内写多条语句时,每个语句之间用(B)符号分隔。 A、, B、: C、、 D、;
64、从键盘上输入两个字符串,分别保存在变量str1、str2中。确定第二个字符串在第一个字符串中起始位置的函数是(D)。 A、Left B、Mid C、String D、Instr
65、设S=\中华人民共和国\,表达式Left(S,1)+Right(S,1)+Mid(S,3,2)的值为(B) A、\中华民国\ B、\中国人民\C、\中共人民\ D、\人民共和\66、下列可作为 Visual Basic中的变量名的是(A)。 A、Filename B、A(A+B) C、254D D、Print 67、下面(A)是合法的变量名。
A、X_yz B、123abc C、Integer D、X-Y 68、以下变量命名非法的是(C)。 A、xyz123 B、printaa C、boolean D、Bernald
69、设有变量声明:Dim TestDate As Date,为变量TestDate正确赋值的表达方式是(A)。 A、TextDate=#1/1/2002# B、TestDate=#“1/1/2002”# C、TextDate=date(“1/1/2002”)
D、TestDate=Format(“m/d/yy”,“1/1/2002”)
70、设a=2,b=3,c=4,d=5,表达式a>b AND c<=d的值是(B)。 A、True B、False C、-1 D、1 71、表达式6*8 Mod 9的值是(B)。 A、4 B、3 C、6 D、7
72、 假设变量bool_x是一个布尔型(逻辑型)的变量,则下面正确的赋值语句是(D) A、bool_x = \ B、bool_x = .False. C、bool_x = #False# D、bool_x = False 73、设a=“Visual Basic”,下面使b=“Basic”的语句是(B)。 A、b=Left(a,8,12) B、b=Mid(a,8,5) C、b=Rigth(a,5,5) D、b=Left(a,8,5)
74、语句Print Format$(32548.5,“###,###.###”)的输出结果是(B)。 A、32548.5 B、32,548.5 C、032,548.50 D、32,548.50 75、以下声明语句中错误的是(D)。 A、Const var1=123 B、Dim var2 = 'ABC' C、Dim x_y_z% D、Static var3 As Integer 76、可以同时删除字符串前导和尾部空白的函数是(C)。 A、Ltrim B、Rtrim C、Trim D、Mid 77、下列可为合法变量名的是(D)。 A、Integer B、False C、public D、thanksgiving 78、变量未赋值时,数值型变量的值为( A)。 A、0 B、空 C、1 D、无任何值 79、表达式16/4-2^5*8/4 Mod 5\\2的值为(B)。 A、14 B、4 C、20 D、2
确的80、下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正语句是(D)。
A、If sex=\男\<40 And (duty=\教授\副教授\ Then n=n+1 B、If sex=\男\<40 And InStr(duty,\教授\>0 Then n=n+1 C、If sex=\男\<40 And Right(duty,2)= \教授\ Then n=n+1
D、If sex=\男\<40 And duty=\教授\副教授\81、设a=3,b=5,则以下表达式值为真的是(B)。 A、a>=b And b>10 B、(a>b)Or(b>0) C、(a<0)or(b<0)
D、(-3+5>a)And(b>0) 82、执行语句a=InputBox(\将显示一个输入对话框,在对话框的输入区中显示的信息是(A)。
A、Today B、Tomorrow C、Yesterday
D、Day before Yesterday
83、VB提供了结构化程序设计的3种基本结构,这3种基本结构是(B)。 A、递归结构,分支结构,循环结构 B、选择结构,过程结构,顺序结构
C、过程结构,输入、输出结构,转向结构 D、分支结构,循环结构,顺序结构
84、下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是(D)。
A、If sex=“男”And age<40 And InStr(duty,“教授”)>0 Then n=n+1
B、If sex=“男”And age<40 And (duty=“教授”Or duty=“副教授”) Then n=n+1 C、If sex=“男”And age<40 And Right(duty,2)= “教授” Then n=n+1
D、If sex=“男”And age<40 And duty=“教授”And duty=“副教授” Then n=n+1 85、当语句w=IIf(4>10,”Red”,“Green”)执行后,变量w中的值是(C)。 A、Null B、“Red” C、“Green” D、-1
86、赋值语句:a=123+MID(“123456”,3,2)执行后,a变量中的值是(D)。 A、“12334” B、123 C、12334 D、157
87、设有语句x=InputBox(“AAAA”,“BBBB”,“”),程序运行后,所产生的对话框的标题应为(C)。 A、AAAA B、空 C、BBBB
D、出错,不能产生对话框
88、下面正确的赋值语句是(C)。 A、x+y=30 B、y=π*r*r C、y=x+30 D、3y=x
89、VB提供了结构化程序设计的三种基本结构,三种基本结构是(D)。 A、递归结构、选择结构、循环结构 B、选择结构、过程结构、顺序结构 C、过程结构、输入输出结构、转向结构 D、选择结构、循环结构、顺序结构
90、下面程序段求两个数中的大数,不正确的是(D)。 A、Max=IIf(x>y,x,y)
B、If x>y Then Max=x Else Max=y
C、Max=x:If y>=x Then Max=y D、If y>x Then Max=y :Max=x
91、下列程序段: Dim x If x Then Print x Else Print x+1 运行后,显示的结果是(A)。 A、1 B、0 C、-1 D、出错
92、以下不属于vb的三种基本结构的是(C)? A、顺序结构 B、选择结构 C、递归结构 D、循环结构
93、语句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为关系表达式
94、赋值语句:a=123 & MID(“123456”,3,2)执行后,a变量中的值是(C)。 A、“12334” B、123 C、12334 D、157
95、下面程序段显示的结果是(A)。 Dim x
x=Int(Rnd)+5 Select Case x Case 5 “优秀” Case 4
Print“良好” Case 3
Print“通过” Case Else
Print“不通过” End Select A、优秀 B、良好 C、通过 D、不通过
96、为了给x,y,z这3个变量赋初值1,下面正确的赋值语句是(A)。 A、x=1:y=1:z=1 B、x=1,y=1,z=1 C、x=y=z=1
D、xyz=1
97、下列语句正确的是(C)
A、If A≠B Then Print \不等于B\ B、If A<>B Then Printf A不等于B C、If A<>B Then Print \不等于B\ D、If A≠B Print \不等于B\
98、设有语句x$=InputBox(“输入数值”,“0”,“示例”),程序运行后,如果从键盘上输入数值10并按回车键,则下列叙述中正确的是(D)。 A、变量X的值是数值10
B、在InputBox对话框标题栏中显示的是“示例” C、0是默认值
D、变量X的值是字符串“10”
99、运行下列程序段后,显示的结果为(B) J1=4: J2=9 If J1 100、InputBox函数返回值的类型为(B)。 A、数值 B、字符串 C、变体 D、数值或字符串(视输入的数据而定) 101、一个数组说明为Dim a(0 to 5,1 to 5) As Integer,则该数组共有(C) 个元素。 A、25 B、36 C、30 D、不确定 102、数组声明语句Dim a(2 to 3, -2 to 2,3 to 5)中,数组a包含元素的个数为(C)。 A、120 B、75 C、30 D、13 103、如果在上题语句前加入 Option Base 1,则该数组共有(D) 个元素。 A、15 B、16 C、13 D、不确定 104、如果有声明 Dim a(15) As Integer,则该数组共有(B)个元素。 A、15 B、16 C、13 D、不确定 105、一个数组说明为Dim a(5,1 to 5) As Integer,则该数组共有(C) 个元素。 A、25 B、36 C、30 D、不确定 106、在VB中,默认的数组下标的下界从0开始,要想在通用声明段界定下界,则应使用(A)。 A、Option Base B、Option Explicit C、Explicit D、Low Base 107、如下数组声明语句,正确的是(B)。 A、Dim a[3, 4] as Integer B、Dim a(3, 4) as Integer C、Dim a(n, n) as Integer D、Dim a[3][4) as Integer 108、赋给一个数组的数据的值的类型一定要(A)。 A、相同 B、不相同 C、两可 D、都不对 109、数组的下标可取的变量类型是(A)。 A、数值型 B、字符型 C、日期型 D、可变型 110、数组声明语句Dim a(0 to 3, -2 to 2,0 to 5)中,数组a包含元素的个数为(A)。 A、120 B、75 C、60 D、13 111、假定有如下的Sub过程: Sub S (x As Single, y As Single) t = x x = t / y y = t Mod y End Sub 在窗体上添加一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim a As Single Dim b As Single a = 5: b = 4 S a, b Print a, b End Sub 程序运行时,单击命令按钮得到的结果(D)。 A、5 4 B、1 1 C、1.25 4 D、1.25 1 112、用以下方式声明的变量,(B)可以在整个程序中通用? A、在窗体模块用Dim进行声明 B、在窗体模块用Public进行声明 C、在窗体模块用Private进行声明 D、在窗体模块用Static进行声明 113、在窗体上添加一个命令按钮和三个标签,编写事件过程: Private x As Integer Private Sub Command1_Click() Static y As Integer Dim z As Integer N=10: z=N+z: y=y+z: x=x+z Label1.Caption = x Label2.Caption = y Label3.Caption = z End Sub 程序运行后,连续三次单击命令按钮,则三个标签中显示的内容分别是(A)。 A、10 10 10 B、30 30 30 C、30 30 10 D、10 30 30 114、以下叙述中错误的是(D)。 A、如果过程被定义为Static类型,则该过程中的局部变量都是Static类型 B、Sub过程中不能嵌套定义Sub过程 C、Sub过程中可以嵌套调用Sub过程 D、事件过程可以像通用过程一样由用户定义过程名 115、在在窗体上添加一个命令按钮Command1和一个文本框Text1,然后编写如 下事件过程: Private Sub Command1_Click() Dim x As Integer, y As Integer, z As Integer x = 5 y = 7 z = 0 Text1.Text = \ Call p1(x, y, z) Text1.Text = Str(z) End Sub Private Sub p1(ByVal a As Integer, ByVal b As Integer, c As Integer) c = a + b End Sub 程序运行后,单击命令按钮得到的结果是(A)。 A、12 B、0 C、Str(z) D、没有显示结果 116、如果在程序中要将a定义为静态变量,且为整型数,则应使用的语句是:(B) A、Redim a As Integer B、Static a As Integer C、Public a As Integer D、Dim a As Integer 117、以下程序的运行结果是(C) Sub s1(b() As Integer) For i = 1 To 4 b(i) = 2 * i Next i End Sub Private Sub Command1_Click() Dim a(1 To 4) As Integer For i = 1 To 4 a(i) = i + 5 Next i s1 a() For i = 1 To 4 Print a(i) Next i End Sub A、12 14 16 18 B、6 7 8 9 C、2 4 6 8 D、1 2 3 4 118、以下程序的运行结果是(D)。 Function f(m As Integer) As Integer b = 1 Static c As Integer b = b + 1 c = c + 1 f = m * b * c End Function Private Sub Command1_Click() Dim a As Integer a = 2 Sum = 0 For i = 1 To 3 Sum = Sum + f(a) Next i Print Sum End Sub A、12 B、28 C、32 D、24 119、下列程序输出结果(C)。 Private Sub Command1_Click() For i = 1 To 10 GetValue i Next i Print GetValue(i) End Sub Private Function GetValue(ByVal a As Integer) Static S As Integer S = S + a GetValue = S End Function A、10 B、65 C、66 D、11 120、在过程定义的变量,若希望在离开该过程后,还能保存过程中局部变量的值,则应使用(D)关键字在过程中定义局部变量。 A、Dim B、Private C、Public D、Static 121、在过程定义中用(C)表示形参的传值。 A、Var B、ByDef C、ByVal D、Value 122、在在窗体上添加一个命令按钮Command1和两个名称分别为Label1和 Label2的标签,然后编写如下事件过程: Private X As Integer Private Sub Command1_Click() X = 5: y = 3 Call proc(X, y) Label1.Caption = X Label2.Caption = y End Sub Sub proc(ByVal a As Integer, ByVal b As Integer) X = a * a y = b + b End Sub 程序运行后,单击命令按钮,则两个标签label1和label2中显示的内容分别是(B)。 A、25,3 B、25,6 C、5,3 D、5,6 123、以下程序的运行结果是(C)。 Dim x As Integer, y As Integer, z As Integer Sub s1(a As Integer, b As Integer) Dim c As Integer a = 2 * a b = b + 2 c = a + b End Sub Sub s2(a As Integer, ByVal b As Integer) Dim c As Integer a = 2 * a b = b + 2 c = a + b End Sub Private Sub Command1_Click() x = 4:y = :4 z = 6 Call s1(x, y) Print x + y + z Call s2(x, y) Print x + y + z End Sub A、24 28 B、20 28 C、20 18 D、20 20 124、以下关于过程及过程参数的描述中,错误的是(C)。 A、过程的参数可以是控件名称 B、用数组作为过程的参数时,使用的是“传地址”方式 C、只有函数过程能够将过程中处理的信息传回到调用的程序中 D、窗体可以作为过程的参数 125、以下属于Visual Basic合法的数组元素是(C) A、x8 B、x[8] C、s(0) D、v[8] 126、下列叙述中正确的是(C)。 A、在窗体的Form_Load事件过程中定义的变量是全局变量 B、局部变量的作用域可以超出所定义的过程 C、在某个Sub过程中定义的局部变量可以与其它事件过程中定义的局部变量同名,但其作用域只限于该过程 D、在调用过程时,所有局部变量被系统初始化为0或空字符串 127、假定有以下函数过程: Function Fun(S As String) As String Dim s1 As String For i = 1 To Len(S) s1 = UCase(Mid(S, i, 1)) + s1 Next i Fun = s1 End Function 在窗体上添加一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim str1 As String, str2 As String str1 = InputBox(\请输入一个字符串\ str2 = Fun(str1) Print str2 End Sub 程序运行后,单击命令按钮,如果在输入对话框中输入字符串“abcdefg”,单击\确定\按钮后程序在窗体上输出结果(D)。 A、abcdefg B、gfedcba C、GFEDCBA D、ABCDEFG 128、若已编写了一个Sort子过程,在该工程中有多个窗体,为了方便的调用Sort子过程,应该将该过程放在(B)。 A、窗体模块 B、标准模块 C、类模块 D、工程 129、下面子过程语句说明合法的是(D) A、Sub f1(ByVal n() As Integer) B、Function f1(f1 As Integer) As Integer C、Sub f1(n() As Integer)As Integer D、Function f1(ByVal n As Integer)As Integer 130、在过程定义的变量,若希望在离开该过程后,还能保存过程中局部变量的值,则应使用(D)关键字在过程中定义局部变量。 A、Dim B、Private C、Public D、Static 131、在窗体上画三个单选按钮,组成一个名为chkOption的控件数组。用于标识各个控件数组元素的参数是(D)。 A、Tag B、Index C、ListIndex D、Name 132、假如列表框(List1)有四个数据项,那么把数据项“China”添加到列表框的最后,应使用(D)语句。 A、List1.AddItem 3, \ B、List1.AddItem \C、List1.AddItem \D、List1.AddItem \ 133、如果列表框(List1)中没有被选定的项目,则执行List1.RemoveItem List1.ListIndex语句的结果是(D)。 A、移去第一项 B、移去最后一项 C、移去最后加入列表的一项 D、以上都不对 134、以下叙述中错误的是(C)。 A、在KeyUp和KeyDown事件过程中,从键盘上输入A或a被视作相同的字母(即具有相同的KeyCode) B、在KeyUp和KeyDown事件过程中,将键盘上的“1”和右侧小键盘上的“1”视作不同的数字(具有不同的KeyCode) C、KeyPress事件中不能识别键盘上某个键的按下与释放 D、KeyPress事件中可以识别键盘上某个键的按下与释放 135、设组合框Combo1中有3个项目,则以下能删除最后一项的语句是(B)。 A、Combo1.RemoveItem Text B、Combo1.RemoveItem 2 C、Combo1.RemoveItem 3 D、Combo1.RemoveItem Combo1.Listcount 136、下列控件中,没有Caption属性的是(B)。 A、框架 B、列表框 C、复选框 D、单选按钮 137、引用列表框(List1)最后一个数据项应使用的表达式是(C) A、List1.List(List1.ListCount) B、List1.List(ListCount) C、List1.List(List1.ListCount-1) D、List1.List(ListCount-1) 138、窗体的MouseDown事件过程Form_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)有4个参数,关于这些参数,正确的描述是(A)。 A、通过Button参数判定当前按下的是哪一个鼠标键 B、Shift参数只能用来确定是否按下Shift键 C、Shift参数只能用来确定是否按下Alt和Ctrl键 D、参数x,y用来设置鼠标当前位置的坐标 139、复选框的Value属性为1时,表示(B)。 A、复选框未被选中 B、复选框被选中 C、复选框内有灰色的勾 D、复选框操作有错误。 140、引用列表框的最后一项应使用(A)。 A、List1.List(List1.ListCount-1) B、List1.List(List1.ListCount) C、List1.List(ListCount) D、List1.List(ListCount-1) 141、设窗体上有一个列表框控件List1,且其中含有若干列表项。则以下能表示当前被选中的列表项内容的是(D)。 A、List1.List B、List1.ListIndex C、List1.Index D、List1.Text 142、表示滚动条控件取值范围最大值的属性是(A)。 A、Max B、LargeChange C、Value D、Max-Min 143、为了在按下Esc键时执行某个命令按钮的Click事件过程,需要把该命令按钮的一个属性设置为True,这个属性是(D)。 A、Value B、Default C、Cancel D、Enabled 144、假如列表框(List1)有四个数据项,那么把数据项“China”添加到列表框的最后,应使用语句(D)。 A、List1.AddItem 3, \ B、List1.AddItem \C、List1.AddItem \ D、List1.AddItem \145、复选框的Value属性为2时,表示(C)。 A、复选框未被选中 B、复选框被选中 C、复选框内有灰色的勾 D、复选框操作有错误。 146、为了在按下回车键时执行某个命令按钮的事件过程,需要把该命令按钮的一个属性设置为True,这个属性是(A)。 A、Value B、Default C、Cancel D、Caption 147、下面说法不正确的是(D)? A、层菜单不允许设置快捷键 B、使菜单项中的文字具有下画线,可在标题文字前加&符号 C、一菜单项名为MenuTerm,则语句MenuTerm.Enable = Flase 将使该菜单项失效 D、希望在菜单中显示\符号,则在标题栏中输入\符号 148、以下叙述中错误的是(C)。 A、在程序运行时,通用对话框控件是不可见的 B、在同一个程序中,用不同的方法(如ShowOpen或ShowSave等)打开的通用对话框具有不同的作用 C、调用通用对话框控件的ShowOpen方法,可以直接打开在该通用对话框中指定的文件 D、调用通用对话框控件的ShowColor方法,可以打开颜色对话框 149、菜单编辑器中,输入哪一个选项(A)会在菜单栏上显示文本 A、标题 B、名称 C、索引 D、访问键 150、菜单控件只有一个事件(B) A、MouseUp B、Click C、DBClick D、KeyPress 151、在用通用对话框控件建立“打开”或“保存”文件对话框时,如果需要指定文件列表框所列出的文件类型是文本文件(即.txt文件),则正确的描述格式是(A)。 A、“text (.txt)|(*.txt)” B、“文本文件( .txt) | (.txt)” C、“text(.txt)||(*.txt)” D、“text(.txt)(*.txt)” 152、下面哪个属性可以控制菜单项可见或不可见(C) A、Hide B、Checked C、Visible D、Enabled 153、下面说法不正确的是(D) A、层菜单不允许设置快捷键 B、使菜单项中的文字具有下画线,可在标题文字前加&符号。 C、一菜单项名为MenuTerm,则语句MenuTerm.Enabled = Flase 将使该菜单项失效。 D、希望在菜单中显示“&”符号,则在标题栏中输入“&”符号。 154、下面哪个属性可以控制菜单项可见或不可见(C)? A、Hide B、Checked C、Visible D、Enabled 155、改变驱动器列表框的Drive属性将激活(A)事件。 A、Change B、Scroll C、KeyDown D、KeyUp 156、在窗体上建立通用对话框需要添加的控件是(C) A、Data控件 B、Form控件 C、CommonDialog控件 D、VBComboBox控件 157、下面几个关键字均表示文件的打开方式,只能进行读不能写的是(A)。 A、Input B、Output C、Random D、Append 158、为建一个随机文件,其中每一条记录由多个不同数据类型的数据项组成,应使用(A)。 A、记录类型 B、数组 C、字符串类型 D、变体类型 159、下列说法错误的是(B)。 A、当用Write # 语句写顺序文件时,文件必须以Output或Append方式打开 B、用Open语句打开一个文件时,对同一个文件可以用几个不同的文件号打开 C、用Output和Append方式打开文件时,不用将文件关闭,就能重新打开文件 D、用Append方式打开文件时,进行写操作,写入文件的数据附加到原来文件的后面 160、执行语句Open \后,对文件\中的数据能够进行的操作是(C)。 A、只能写不能读 B、只能读不能写 C、即可以读,也可以写 D、不能读,也不能写 1,下面程序对已知数组a,删除数组中数组元素中某个元素 Private Sub Command1_Click() Dim a(), key%, i%, j% a = Array(1, 6, 8, 3, 5, 9, 10, 2, 7, 4) key = Val(InputBox(\输入要删除的值\For i = 0 To UBound(a) If key = a(i) Then For j = i + 1 To UBound(a) a(j - 1) = a(j) Next j ReDim Preserve a(UBound(a) - 1) MsgBox (\删除完成\ Exit Sub End If Next i MsgBox (\找不到要删除的元素\End Sub 2,下列程序表示将输入的一个数插入到按递减的有序数列中,插入后使该序列仍有序 Private Sub Form_Click() Dim a, i%, n%, m% a = Array(19, 17, 15, 13, 11, 9, 7, 5, 3, 1) n = UBound(a) ReDim Preserve a(n + 1) m = Val(InputBox(\输入欲插入的数\For i = UBound(a) - 1 To 0 Step -1 If m >= a(i) Then a(i + 1) = a(i) If i = 0 Then a(i) = m Else a(i + 1) = m Exit For End If Next i For i = 0 To UBound(a) Print a(i) Next i End Sub 3,下列程序在1000~9999之间查找满足如下条件的整数:该整数,逆向排列得到的 另一个四位数是它自身的倍数(2倍以上)。查找结果和逆向排列数分别显示在对应 的列表框 Private Sub Command1_Click() Dim n As Integer Dim m As Integer Dim i As Integer For i = 1000 To 9999 m = 0 n = i Do While n > 0 m = m * 10 + n Mod 10 n = n \\ 10 Loop If m Mod i=0And m \\ i > 1 Then list1.AddItem i list2.AddItem m & \ End If Next i End Sub 4,将100~150之间的偶数,拆分成两个素数之和,最后输出格式如图。其中,prime函数判断 参数x是否为质数 Private Function prime(ByVal x As Integer) As Boolean prime = ture For i = 2 To Sqr(x) If x Mod i = 0 Then prime = False Exit Function End If Next i End Function Private Sub Form_Load() i = 1 For n = 100 To 150 For k = 3 To n / 2 If prime(k) And prime(n - k) Then Print i; \Exit For End If Next k i = i + 1 Next n End Sub 10, 子过程F(N,M,T)对一个四位数n整整数判断:已知该整数n,逆向排列获得另一个4位数m是特自身的倍数,则t为true 表示满足上述条件。。。 Private Sub Command1_Click() Dim t As Boolean, i%, k% text1 = \text2 = \ For i = 1000 To 9999 Call f(i, k, t) If t Then text1 = text1 & i & vbCrLf text2 = text2 & k & \ End If Next i End Sub Sub f(ByVal n%, ByRef m%, byreyftag As Boolean) Dim i% Tag = False m = 0 i = n Do While i > 0 m = m * 10 + i Mod 10 i = i \\ 10 Loop If m Mod n = 0 And m \\ n > 1 Then Tag = True End If End Sub 6.8.子过程MoveStr()是把字符组移动m个位置, 当Tag为Ture是左移,则前m个字符一道字符数组尾 ,例如,“abcdefghij”左移3个位置后,结果为 “defghijabc”;。。。。。 Public Sub MoveStr(a $(),m%,Tag As Boolean) Dim i%, j%, t$ If Tag Then For i = 1 To m c = a(0) For j = 0 To UBound(a) - 1 a(j) = a(j + 1) Next j a (UBound(a)) - 1 Next i Else For i = 1 To m c = a(UBound(a)) For j = UBound(a) To 1 Step -1 a(j) = a(j - 1) Next j a(0) = c Next i End If End Sub 6.9.子过程CountN用来统计字符串中各数字 字符(0-9)出现的个数;主调程序对在textbox1 框输入的文本,每次单击“统计”按钮,调用该子 过程,在Label1框显示结果。 Private Sub Command1_Click() Dim n(9) As Integer, i% Call CountN(n(), text1.Text) list1.Clear For i = 0 To 9 If n(i) Then list1.AddItem \字符\出现的次数为\ Next End Sub Sub CountN(ByRef num%(), ByVal s As String) Dim c As String * 1, i%, m%, j% For i = 0 To 9 num(i) = 0 Next i m = Len(s) For i = 1 To m c = Mid(s, i, 1) If c >= \ j = Val(c) num(j) = num(j) + 1 End If Next i End Sub 6.11.下列程序中的子过程myplit。。用于实现split函数的功能,即将数字字符 s鞍分隔符“,”分离到sArry数组中,分离的个数为n。。。。 Private Sub Text1_KeyPress(KeyAscii As Integer) Dim strl As String, num(100) As Integer, n%, i% If KeyAscii = 13 Then str1 = Trim(Text1.Text) Call MySplit(str1, num, n) list1.Text = \ For i = 1 To n list1.AddItem num(i) Next End If End Sub Sub MySplit(ByVal str1 As String, ByRef sn() As Integer, ByRef n As Integer) Dim i%, j%, ch$ i = 0 j = InStr(Str, \ Do While j > 0 sn(i) = Val(Mid(str1, 1, j - 1)) str1 = Mid(str1, j + 1) i = i + 1 j = InStr(str1, \ Loop sn(i) = Val(str1) n = i End Sub 1工程中有两个窗体form1和form2,一个标准模块module1,设在form1中定义了过程aa,在module1中定义了过程bb。 Sub aa(x, y, z) z = x * x + y * y End Sub Sub bb(x, y, z) z = x ^ 3 + y ^ 3 End Sub 当在form1中单击命令按钮时,调用以上过程计算两个数的平方和和立方和,并分别将计算结果显示在文本框text3和text4中,请填空完成调用语句。 Private Sub Command1_Click() a = Val(Text1.Text) b = Val(Text2.Text) Call [aa(a,b,c1) ] Text3.Text = c1 bb [a,b,c2 ] Text4.Text = c2 End Sub ―――――――――――――――――― 2下面的程序用于根据文本框X中输入的内容进行以下处理:若X为2、4、6,则打印\的值为2、4、6\;若X在11到15之间,则打印\的值为大于等于11小于等于15\;若X大于20,则打印\的值大于20\;否则,打印\不在范围内\。 Private Sub Command1_Click() Select Case Val(X.Text) Case [2,4,6 ] Print \的值为2,4,6\ Case [11 to 15 ] Print \的值为大于等于11小于等于15\ Case Is >20 Print \的值大于20\ Case Else Print \不在范围内\ End Select End Sub ―――――――――――――― 3下面的程序是使用冒泡法对数组进行排序,请将程序补充完整。 Option Base 1 Private Sub Command1_Click() Dim iA(0 To 10) n = 6 iA(0) = 8: iA(1) = 6: iA(2) = 9: iA(3) = 3: iA(4) = 2: iA(5) = 7 For i= 1 To n - 1 ' 进行n-1遍比较 ' 对第i遍比较时,大数沉底 For [j=1 to n-i ] ' 在数组 i~n个元素中选最小元素的下标 If [ iA(j) > iA(j+1) ] Then t = iA(j) iA(j) = iA(j + 1) iA(j + 1) = t End If Next j End Sub ―――――――――――― 4 程序的功能是使用辗转相除法求两个数的最大公约数。 Private Sub Command1_Click() Dim m%, n% m = Int(InputBox(\ n = Int(InputBox(\ Print gcd(m, n) End Sub Public Function gcd%(m%, n%) Dim t% If [ m r = m Mod n If r = 0 Then Exit Do m = n [ n=r ] Loop gcd = n End Function ――――――――― 5、输入任意长度的字符串,要求将字符顺序倒置,例如,将输入的“ABCDEF”变换成“FEDCBA”。请将程序补充完整。 Private Sub Command1_Click() Dim a$, i%, c$, n% 'n存放字符串的长度 a = InputBox(\ n = [Len(a) ] For i = 1 To Int(n / 2) c = Mid(a, i, 1) Mid(a, i, 1) = [ Mid(a,n-i+1,1) ] Mid(a, n - i + 1, 1) = c Next i End Sub ―――――――――― 6、下面的程序允许用户按Enter(回车)键后,将组合框中没有的项目添加到组合框。请将程序补充完整。 Private Sub Combo1_KeyPress(KeyAscii As Integer) Dim flag As Boolean If KeyAscii = 13 Then flag = False For i = 0 To Combo1.ListCount - 1 '查找项目是否已存在 If [ combo1.text=combo1.list(i) ] Then flag = True Exit For End If Next i If flag = False Then '不存在则添加 [ combo1.AddItem combo1.Text ] End If End If End Sub ――――――――― 7、下面的程序是使用选择法对数组进行升序排列,请将程序补充完整。 Option Base 1 Private Sub Command1_Click() Dim iA(1 To 10) n = 6 iA(1) = 8: iA(2) = 6: iA(3) = 9: iA(4) = 3: iA(5) = 2: iA(6) = 7 For i = 1 To n - 1 ' 进行n-1遍比较 iMin = i ' 对第i遍比较时,初始假定第i个元素最小 For [ j=i+1 to n ] ' 在数组 i~n个元素中选最小元素的下标 If [a(j) t = iA(i) 'i~n个元素中选出的最小元素与第i个元素交换 iA(i) = iA(iMin) iA(iMin) = t Next i End Sub ――――――――――― 8、找出被3、5、7除,余数均为1的最小的5个正整数。 Private Sub Command1_Click() Dim countn%, n% n = 1: countn = 0 Do n = n + 1 If [ n mod 3=1 And n mod 5=1 And n mod 7=1 ]Then Print n countn = countn + 1 End If Loop [ until count n=5 ] End Sub ―――――――――――――― 9、下面程序段是检查输入的算术表达式中圆括号是否配对,并显示相应的结果。本程序在文本框输入表达式, 边输入,边统计,以输入回车键作为表达式输入结束,然后显示结果。 Dim count1% Private Sub Text1_KeyPress(KeyAscii As Integer) If [ chr(keyAscii) ] = \ count1 = count1 + 1 ElseIf Chr(KeyAscii) = \ [ count1=count1+1 ] End If If KeyAscii = 13 Then If count1 = 0 Then Print \左右括号配对\ ElseIf count1 > 0 Then Print \左括号多于右括号\个\ Else Print \右括号多于左括号\个\ End If End If End Sub ―――――――――――― 10、顺序文件的建立。建立文件名为“c:\\stud1.txt”的顺序文件,内容来自文本框, 每按Enter键写入一条记录,然后清除文本框的内容,直到文本框内输入“END”字符串。 Private Sub Form_Load() Open “c:\\stud1.txt” For Output As #1 Text1.Text=“” End Sub Private Sub Text1_KeyPress(keyAscii As Integer) If keyAscii=13 Then If[ Ucase(Text1)=\ ] Then Close #1 End Else [Print #1,Text1 ] Text1.Text=“” End If End If End Sub ――――――――――――― 11、输入若干字符,统计有多少个元音字母、有多少个其他字母,不区分大小写,并显示结果。其中,CountY中放元音字母个数,CountC中放其他字符数。 Private Sub Command1_Click() Dim CountY%, CountC%, i% Dim C$, B$ c=Text1.Text For i = 1 To Len(C) B =UCase(Mid(C, i, 1)) If [ \ ] Then Select Case B Case \ CountY = CountY + 1 Case [ Else ] CountC = CountC + 1 End Select End If Next i Print \元音字母有\个\ Print \其它字母有\个\End Sub ―――――――― 12、将C盘根目录下的一个文本文件old.dat复制到新文件new.dat中,并利用文件操作语句 将old.dat文件从磁盘上删除。 Private Sub Command1_Click() Dim str1 $ Open “c:\\old.dat” For Input As #1 Open “c:\\new.dat” [For output As #2 ] Do While[ Not EoF(1) ] Line Input #1,str1 Print #2,str1 Loop Close #1,#2 KILL “c:\\old.dat” End Sub ――――――――― 13、产生[10,37]之间的随机整数的Visual Basic表达式是[ 表示字符变量s是字母字符(不区分大小写)的VB表达式是[ 将一个两位数x的个位数与十位数交换位置,组成另一个两位数,则对应的表达式是[<(x Mod 10)+x\\10>]。 随机产生一个“C”~“L”范围内的大写字符,则对应的VB表达式是[ 下面程序段运行后的输出结果是[<2 20 3 21 4 22 5 23>]。 For i = 0 To 3 Print Tab(5 * i + 1); \Next i 循环语句For i=-3 to 20 Step 0 的循环次数是[<无数次>]。 在过程中定义的局部变量,如果希望过程结束后还保存变量的值,则应使用[ 由Array函数建立的数组,其变量必须是[ 要使循环语句循环执行20次,For k=____ to -5 Step -2,则k=[<33>]。 循环语句For i=-3.5 to 5.5 Step 0.5的循环次数是[<19>]。 下列程序段中,第41句共执行了[<12>]次。 30 For j = 1 To 12 Step 3 40 For k = 6 To 2 Step -2 41 Print j, k 42 Next k 43 Next j 循环语句For i=-3 to 20 Step 4的循环次数是[<6>]。 下面程序运行后的输出结果是[<**$$$****$$$$$>]。 a = \For i = 1 To 4 If i Mod 2 = 0 Then x$ = String(Len(a) + i, b) Else x$ = String(Len(a) + i, a) End If Print x$; Next i 下面程序的运行结果是[<22 484>]。 x = 242: y = 44 z = x * y Do Until nx = y If x > y Then x = x - y Else y = y - x Loop Print x, z / x 下列程序段中,第40句共执行了[<4>]次。 30 For j = 1 To 12 Step 3 40 For k = 6 To 2 Step -2 41 Print j, k 42 Next k 43 Next j 如果在建立菜单时在标题文本框中输入一个[<下划线或者“_”>],那么菜单显示时形成一个 分隔线 如果菜单标题的某个字母前输入一个[<&>]符号,那么该字母就成了热键字母。 [ 列表框中的[ [=\。 表示x是5的倍数或9的倍数的逻辑表达式是[]和Selected两个属性均为数组。