当前位置:首页 >> 高中教育 >> 大学vb考试题库 (1)

大学vb考试题库 (1)


一 1、与传统的程序设计语言相比,Visual Basic 最突出的特点是(C) 。 A、结构化程序设计 B、程序开发环境 C、事件驱动编程机制 D、程序调试技术 2、赋值语句:a=123 & MID("123456",3,2)执行后,a 变量中的值是(C) 。 A、"12334" B、123 C、12334 D、157 3、保存一

个工程至少应保存两个文件,这两个文件分别是(B) 。 A、文本文件和工程文件 B、窗体文件和工程文件 C、窗体文件和标准模块文件 D、类模块文件和工程文件 4、以下能在窗体 Form1 的标题栏中显示"VisualBasic 窗体"的语句是(C) 。 A、Form1.Name="VisualBasic 窗体" B、Form1.Title="VisualBasic 窗体" C、Form1.Caption="VisualBasic 窗体" D、Form1.Text="VisualBasic 窗体" 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, "str")的功能是(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, "124abc")后,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、" ABC" 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 = "False" 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="男"And age<40 And (duty="教授"Or duty="副教授") Then n=n+1 B、If sex="男"And age<40 And InStr(duty,"教授")>0 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 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("Today","Tomorrow","Yesterday",,,"Day before yesterday",5), 将显示 一个输入对话框,在对话框的输入区中显示的信息是(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 "A 不等于 B" B、If A<>B Then Printf A 不等于 B C、If A<>B Then Print "A 不等于 B" D、If A≠B Print "A 不等于 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<J2 Then Print J2 Else Print J1 A、4 B、9 C、13 D、49 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*ab=b+2c=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, "China" B、List1.AddItem "China", List1.List1Count-1 C、List1.AddItem "China", 3 D、List1.AddItem "China" 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, "China" B、List1.AddItem "China", List1.List1Count-1 C、List1.AddItem "China", 3 D、List1.AddItem "China", List1.List1Count 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 "Sample.dat" For Random As #1 Len = 50 后, 对文件"Sample.dat"中的数 据能够进行的操作是(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 & "=" & i & "*" & m \ i 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; ":"; "="; k; "+"; n - k 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 & "=" & i & "*" & k \ i & vbCrLf 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 "字符" & i & "出现的次数为" & n(i) 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 >= "0" And c <= "9" Then 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,则打印"X 的值为 2、4、6";若 X 在 11 到 15 之间,则打印"X 的值为大于等于 11 小于等于 15";若 X 大于 20,则打印"X 的值大于 20";否则,打印"X 不在范围内"。 Private Sub Command1_Click() Select Case Val(X.Text) Case [2,4,6 ] Print "X 的值为 2,4,6" Case [11 to 15 ] Print "X 的值为大于等于 11 小于等于 15" Case Is >20 Print "X 的值大于 20" Case Else Print "X 不在范围内" 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("input an integer")) n = Int(InputBox("input another integer")) Print gcd(m, n) End Sub Public Function gcd%(m%, n%) Dim t% If [ m<n ] Then t = m: m = n: n = t Do 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("input a string") 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)<a(imin) ] Then iMin = j Next 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) ] = "(" Then count1 = count1 + 1 ElseIf Chr(KeyAscii) = ")" Then [ count1=count1+1 ] End If If KeyAscii = 13 Then If count1 = 0 Then Print "左右括号配对" ElseIf count1 > 0 Then Print "左括号多于右括号"; count1; "个" Else Print "右括号多于左括号"; -count1; "个" 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)="END" ] 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 [ "A"<=B And B<="Z" ] Then Select Case B Case "A","E","I", "O","U" CountY = CountY + 1 Case [ Else ] CountC = CountC + 1 End Select End If Next i Print "元音字母有"; CountY; "个" Print "其它字母有"; CountC; "个" 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 ――――――――― <PIXTEL_MMI_EBOOK_2005>6 13、产生[10,37]之间的随机整数的 Visual Basic 表达式是[<int(Rnd*28+10)>]。 判断 s 字符变量是大写字母字符的逻辑表达式为[<s>="A" And s<="Z">]。 表示 x 是 5 的倍数或 9 的倍数的逻辑表达式是[<x Mod 5=0 Or x Mod 9=0>] Len("vb 程序设计")的值是[<6>]。 表 示 字 符 变 量 s 是 字母字 符 ( 不 区 分 大 小 写)的 VB 表 达 式 是 [<Lcase(s)>="a" And Lcase(s)<="z"或者 Ucase(s)>="A" And Ucase(s)<="Z">]。 将一个两位数 x 的个位数与十位数交换位置,组成另一个两位数,则对应的表达式是[<(x Mod 10)+x\10>]。

随机产生一个 “C” ~ “L” 范围内的大写字符, 则对应的 VB 表达式是[<Chr(Int(Rnd*10+68))>]。 Round(-3.5)的值是[<-4>]。 Int(3.5)的值是[<3>]。 下面程序段运行后的输出结果是[<2 20 3 21 4 22 5 23>]。 For i = 0 To 3 Print Tab(5 * i + 1); "2" + i; "2" & i; Next i 循环语句 For i=-3 to 20 Step 0 的循环次数是[<无数次>]。 在过程中定义的局部变量,如果希望过程结束后还保存变量的值,则应使用 [<Static>]关键 字进行声明。 由 Array 函数建立的数组,其变量必须是[<Variant>]。 要使循环语句循环执行 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 = "*": b = "$" 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 如果在建立菜单时在标题文本框中输入一个[<下划线或者“_”>],那么菜单显示时形成一个

分隔线 如果菜单标题的某个字母前输入一个[<&>]符号,那么该字母就成了热键字母。 [<Clear>]方法可以清除列表框中的所有内容。 列表框中的[<List>]和 Selected 两个属性均为数组。 [<Style>]属性设置为 1,单选按钮和复选框以图形方式显示。 当用户单击滚动条的空白处时,滑块移动的增量由[<Largechange>]属性决定。 当用户单击鼠标右键时,MouseDown、MouseUp 和 MouseMove 事件过程中的 Button 参数 值为[<2>]。 列表框中项目的序号是从[<0>]开始的。 Visual Basic 中有一种控件组合了文本框和列表框的特性,这种控件是[<组合框>]。 如果窗体的[<KeyPreview>]属性设置为 True,则控件的 KeyPress 事件过程可以接收到在窗 体的 KeyPress 过程中修改过的值。 复选框的[<Value>]属性设置为 2-Grayed 时,变成灰色,禁止用户选择。 复选框的[<value>]属性设置为 2-Grayed 时,复选框变成灰色,禁止用户选择。 滚动条产生 Change 事件是因为它的[<Value>]属性值改变了。 如果要每隔 15 秒产生一个 Timer 事件,则 Interval 属性应设置为[<15000>]。 当用户单击滚动条两端的箭头时,滑块移动的增量由[<Smallchange>]属性决定。 [<List1.Listcount-1>]表示列表框(List1)中最后一项的序号。 Visual Basic 提供的对数据文件的三种访问方式为顺序访问方式、[<二进制访问方式>]和随 机访问方式。

一、单项选择题 1、与传统的程序设计语言相比,Visual Basic 最突出的特点是(C) 。

1 产生 1-100 以内的素数 Private Sub Command1_Click() Dim i%, j%, tag As Boolean For j = 1 To 100 tag = True For i = 2 To j - 1 If j Mod i = 0 Then tag = False Next i If tag Then Print j; Next j End Sub 2、从键盘输入任意长度的字符串,要求将字符顺序倒置,例如,将输入的“ABCDEFG”变换 成“GFEDCBA”。 Private Sub Form_Click() Dim i, a, b, n As String n = InputBox("输入字符") i = Len(n) For a = 1 To i / 2

b = Mid(n, a, 1) Mid(n, a, 1) = Mid(n, i + 1 - a, 1) Mid(n, i + 1 - a, 1) = b Next a Print n End Sub 3.0 到 200 被 5 或 11 整除的数的和 Private Sub Command1_Click() Dim i% For i = 0 To 200 If i Mod 11 = 0 Or i Mod 5 = 0 Then Sum = Sum + i End If Next i Print "总和是"; Sum End Sub 4 输入一年份,判断他是 否为闰 年,并现实是否是闰 年的有关信 息。 Private Sub Command1_Click() Dim y% y = Val(Text1) If y Mod 4 = 0 And y Mod 100 <> 0 Or y Mod 400 = 0 Then MsgBox (y & "年是闰年") Else MsgBox (y & "年是平年") End If End Sub 5、已知x,y,z 3 个变量中存放 了3 个不同的数,比 较它们的大 小并进行调整,使 得x<y<z。 Private Sub Command1_Click() Dim x!, y!, z! x = InputBox("input x") y = InputBox("input y") z = InputBox("input z") Print Tab(8); " "; "x"; " y"; " z" Print "排序前:"; x; " "; y; " "; z If x < y Then t = x: x = y: y = t: If x < z Then t = x: x = z: z = t: If y < y Then t = y: y = z: z = t: Print "排序后:"; ""; x; " "; y; " "; z End Sub 6、 求s=a+aa+aaa+...aaaaa(n 个a) , 其中a 和n 的值随机产 生, a 的范围是[1,9]的整数, n 的范围是[5,10]。 如a=3,n=6,则s=3+33+333+3333+33333+333333。编程确定n 和a 的值,并计算s。 Private Sub Form_click() Dim s!, t!, i!, a%, n% a = Int(Rnd * 9 + 1)

n = Int(Rnd * 6 + 5) t = 0: s = 0 Print Tab(9); "a="; a, "n="; n Print For i = 1 To n t = t * 10 + a s = s + t Print Tab(9); t Next i Print Print Tab(9); "s="; s End Sub 7、计算 100~300 之间所有能被 3 和 7 整除的数之和。 Private Sub Command1_Click() Dim s%, i% s = 0 For i = 100 To 300 If i Mod 3 = 0 Or i Mod 7 = 0 Then s = s + i End If Next i Print "s=" & s End Sub 8、编程求 200--400 范围内 5 的倍数或 7 的倍数之和。(一个数如果同时是 7 和 5 的倍数, 则只能加一次。) Private Sub Command1_Click() Dim s1%, s2%, s3%, i% s1 = 0 s2 = 0 For i = 200 To 400 If i Mod 5 = 0 Or i Mod 7 = 0 Then s1 = s1 + i End If Next i For i = 200 To 400 If i Mod 5 = 0 And i Mod 7 = 0 Then s2 = s2 + i End If Next i s3 = s1 - s2 Print s3 End Sub 9 找出被 3、5、7 除,余数均为 1 的最小的 5 个正整数。 Private Sub Command1_Click()

Dim countN%, n% countN = 0 n=1 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 countN = 5 End Sub 10、 某次歌曲大奖赛, 有7 个评委。 如果分别输入7 个评委对某个参赛者的打分数, 按照去掉一个最高分和一个 最低分的计算办法,求出该参赛者的平均得分。 Private Sub Form_Click() Dim a(6) As Integer, i%, t%, s!, max%, min%, imin%, imax% Randomize For i = 0 To 6 a(i) = InputBox("输入评委所打的分数") 或者 '也可以用随机数产生 'a(i) = Int(Rnd * 31 + 70) Next i For i = 0 To 6 Print a(i); Next i Print imax = 0: max = a(0) For i = 1 To 6 If a(i) >= max Then max = a(i): imax = i Next i t = a(0): a(0) = a(imax): a(imax) = t imin = 6: min = a(6) For i = 0 To 5 If a(i) <= min Then min = a(i): imin = i Next i t = a(6): a(6) = a(imin): a(imin) = t Print "除去最高分和最低分之后的分数" For i = 1 To 5 Print a(i); Next i For i = 1 To 5 s = s + a(i) Next i Print Print "该参赛者的平均得分为"; s / 5 End Sub

11、编程显示 100~500 之间所有的水仙花数之和。(水仙花数是 3 位数,其各位数之和等于 该数本身) Private Sub Form_Click() Print "100~500 之间所有的水仙花数为:" Dim x%, a%, b%, c% For x = 100 To 500 a = x Mod 10 b = (x Mod 100) \ 10 c = x \ 100 If x = a ^ 3 + b ^ 3 + c ^ 3 Then Print x Next x End Sub 12、随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。例如,产生246,输出是642。 Private Sub Command1_Click() Text1 = Int(Rnd * 900 + 100) End Sub Private Sub Command2_Click() Dim x%, x1%, x2%, x3% x = Val(Text1) x1 = x Mod 10 x2 = (x Mod 100) \ 10 x3 = x \ 100 Text2 = x1 * 100 + x2 * 10 + x3 End Sub 否构成三角 13、从键盘输入三角形的三条边 a,b,c 的值,根据其数值,判断能形。 Private Sub Command1_Click() Dim a%, b%, c% a = Val(InputBox("inputa")) b = Val(InputBox("inputb")) c = Val(InputBox("inputc")) If a + b > c And b + c > a And a + c > b Then MsgBox ("能构成三角形") Else MsgBox ("不能构成三角形") End If End Sub 14、已知数组 a(),编程删除 a 中第 5 个元素。数组 a 中的元素分别为{12,6,4,89,75,63, 100,20,31}。 Private Sub Form_Click() Dim a(), i%, n% a = Array(12, 6, 4, 89, 75, 63, 100, 20, 31) n = UBound(a) For i = 0 To n Print a(i);

Next i Print For i = 5 To n a(i - 1) = a(i) Next i n=n-1 ReDim Preserve a(n) For i = 0 To n Print a(i); Next i Print End Sub 14、已知数组 a(),编程删除 a 中第 5 个元素。数组 a 中的元素分别为{12,6,4,89,75,63, 100,20,31}。 Private Sub Form_Click() Dim a(), i%, n% a = Array(12, 6, 4, 89, 75, 63, 100, 20, 31) n = UBound(a) For i = 0 To n Print a(i); Next i Print For i = 5 To n a(i - 1) = a(i) Next i n=n-1 ReDim Preserve a(n) For i = 0 To n Print a(i); Next i Print End Sub 15、随机生成一个整型的二维数组,范围在[10,20]之间,以上三角形式输出该数组。(下三角、全部元素) Dim a%(4, 4), i%, j% Private Sub Form_load() For i = 0 To 4 For j = 0 To 4 a(i, j) = Int(Rnd * 11 + 10) Next j Next i End Sub Private Sub Command1_Click() Picture1.Cls For i = 0 To 4

For j = 0 To 4 Picture1.Print a(i, j); ""; Next j Picture1.Print Next i End Sub Private Sub Command2_Click() Picture2.Cls For i = 0 To 4 For j = i To 4 Picture2.Print a(i, j); ""; Next j Picture2.Print Next i End Sub Private Sub Command3_Click() Picture3.Cls For i = 0 To 4 For j = 0 To i Picture3.Print a(i, j); ""; Next j Picture3.Print Next i End Sub 16、利用随机函数生成一个4×4 的矩阵(即二维矩阵),范围是[20,50]内的整数,输出每行中的最大值和下标。 Dim a%(3, 3), i%, j%, imax% Private Sub Command1_Click() For i = 0 To 3 For j = 0 To 3 a(i, j) = Int(Rnd * 31 + 20) Picture1.Print a(i, j); ""; Next j Picture1.Print Next i imax = 0 For i = 0 To 3 For j = 0 To 3 If a(i, imax) < a(i, j) Then imax = j End If Next j Picture2.Print "第"; i + 1; "行"; "最大值为"; a(i, imax); "下标为"; "("; i; imax; ")" Next i End Sub

17、利用随机函数生成一个 4×4 的矩阵(即二维矩阵),范围是[40,80]内的整数,求它的最 大值及所对应的下标。 Private Sub Form_Click() Dim a(3, 3), max%, imax% For i = 0 To 3 For j = 0 To 3 a(i, j) = Int(Rnd * 41 + 40) Next j Next i For i = 0 To 3 For j = 0 To 3 Print a(i, j); Next j Print Next i For i = 0 To 3 For j = 0 To 3 If max < a(i, j) Then max = a(i, j): imax = i & j Next j Next i Print "max="; max; "imax="; imax End Sub 18、输入一系列字符串,编程求出长度最大的字符串并输出其所对应的次序 Private Sub Form_Click() Dim a(5) As String, b(4) As Integer, t%, max%, imax% For i = 1 To 5 a(i) = InputBox("a") Next i For i = 0 To 4 b(i) = Len(Trim(a(i))) Next i max = 1 For i = 0 To 4 If max < b(i) Then max = b(i): imax = i Next i Print "max="; a(i) Print "cixu="; imax + 1 End Sub 19、利用随机函数生成一个 4×4 的矩阵(即二维矩阵),范围是[20,50]内的整数,输出该矩 阵所有数据之和 Private Sub Form_Click() Dim a(3, 3), sum% For i = 0 To 3 For j = 0 To 3

a(i, j) = Int(Rnd * 31 + 20) Next j Next i For i = 0 To 3 For j = 0 To 3 Print a(i, j); Next j Print Next i For i = 0 To 3 For j = 0 To 3 sum = sum + a(i, j) Next j Next i Print "sum="; sum End Sub 20、输入一系列字符串,将字符串按递减次序排列。请编程实现 Dim a() As String, n%, i%, j% Private Sub Command1_Click() n = Val(Text1) ReDim a(n) As String For i = LBound(a) To UBound(a) a(i) = InputBox("请输入字符串") Picture1.Print a(i); Spc(1); Next i End Sub Private Sub Command2_Click() For i = 0 To n For j = 0 To n - 1 If a(j) < a(j + 1) Then t = a(j): a(j) = a(j + 1): a(j + 1) = t Next j Next i For i = 0 To n Picture2.Print Tab(3); a(i); Spc(1) Next i End Sub 21.随机产生 30~100(包括 30、100)中的十个正整数,求最大值、最小值、平均值,并 显示整个数组的值和结果。 Private Sub Form_Click() Dim a(1 To 10) As Integer, i%, maxa%, mina%, avera! For i = 1 To 10 a(i) = Int(Rnd * 71 + 30) Next i mina = a(1)

maxa = a(1) avera = a(1) For i = 2 To 10 If a(i) > maxa Then maxa = a(i) If a(i) < mina Then mina = a(i) avera = avera + a(i) Next i For i = 1 To 10 Print a(i); Next i Print Print "max="; maxa, "min="; mina, "aver="; avera / 10 End Sub 22、、定义三个 4×4 的二维数组 A,B,C,A 和 B 中的元素均随机生成,数组 A 的范围是 1~ 20,数组 B 的范围是 100~200,数组 C 是 A 和 B 相乘得到的。请编程生成并输出 A,B,C。 Private Sub Form_Click() Dim a%(1 To 4, 1 To 4), b%(1 To 4, 1 To 4), c%(1 To 4, 1 To 4) Print "数组 A" For i = 1 To 4 For j = 1 To 4 a(i, j) = Int(Rnd * 20 + 1) Print Tab(j * 4); a(i, j); Next j Print Next i Print "数组 B" For i = 1 To 4 For j = 1 To 4 b(i, j) = Int(Rnd * 100 + 100) Print Tab(j * 6); b(i, j); Next j Print Next i 'Print "数组 C"; 'For i = 1 To 4 'For j = 1 To 4 'c(i, j) = b(i, j) * a(i, j) 'Print Tab(j * 4); c(i, j); 'Next j 'Print 'Next i Print "数组 C"; For i = 1 To 4 For j = 1 To 4

c(i, j) = b(i, j) * a(i, j) Print Tab(j * 6); c(i, j); Next j Print Next i End Sub 23、随机产生 15 个小写字母,放在字符串中。(提示:c=chr(int(rnd*26+97))) Private Sub Form_Click() Dim a$(1 To 15), i% Print "字符数组为 a(i):" For i = 1 To 15 a(i) = Chr(Int(Rnd * 26 + 97)) Print a(i); Spc(1); Next i Print End Sub Private Sub Form_Load() FontSize = "10" End Sub 24、随机产生 10 个[30,100]内的整数,求最大值及所对应的下标 Private Sub Form_Click() Dim a(9), max%, imax% For i = 0 To 9 a(i) = Int(Rnd * 71 + 30) Print a(i); Next i Print max = a(0) For i = 1 To 9 If max < a(i) Then max = a(i): imax = i Next i Print "max="; max Print "imax="; imax End Sub 25、 定义三个 4×4 的二维数组 A,B,C, A 和 B 中的元素均随机生成, 数组 A 的范围是 1~20, 数组 B 的范围是 100~200,数组 C 是 A 和 B 相加得到的。请编程生成并输出 A,B,C。 Private Sub Command1_Click() Dim a(3, 3), b(3, 3), c(3, 3), t%, m% For i = 0 To 3 For j = 0 To 3 a(i, j) = Int(Rnd * 20 + 1) Picture1.Print a(i, j); Next j Next i

Picture1.Print For i = 0 To 3 For j = 0 To 3 b(i, j) = Int(Rnd * 101 + 100) Picture1.Print b(i, j); Next j Next i Picture1.Print For i = 0 To 3 For j = 0 To 3 c(i, j) = a(i, j) + b(i, j) Picture1.Print c(i, j); Next j Next i 26. 、利用随机函数生成一个4×4 的矩阵(即二维矩阵),范围是[20,50]内的整数,求它的两条对角线上元素之 和。 Private Sub Command1_Click() Dim a%(3, 3), i%, j%, sum% For i = 0 To 3 For j = 0 To 3 a(i, j) = Int(Rnd * 31 + 20) Picture1.Print a(i, j); ""; Next j Picture1.Print Next i sum = 0 For i = 0 To 3 sum = sum + a(i, i) + a(i, 3 - i) Next i Text1 = sum End Sub . 27、利用随机函数生成一 个4×4 的矩阵(即二维矩阵),范围是[40,80]内的整数,求它的 最小 值及所对应的下 标。 Dim a%(3, 3), i%, j%, imin% Private Sub Command1_Click() For i = 0 To 3 For j = 0 To 3 a(i, j) = Int(Rnd * 21 + 40) Picture1.Print a(i, j); ""; Next j Picture1.Print Next i imax = 0 For i = 0 To 3

For j = 0 To 3 If a(i, imin) > a(i, j) Then imin = j End If Next j Picture2.Print "第"; i + 1; "行"; "最小值为"; a(i, imin); "下标为"; "("; i; imin; ")" Next i End Sub 28、随机生成一个整型的二维数组,范围在[10,20]之间,以下三角形式输出该数组。 Private Sub Form_Click() Dim a(4, 4) As Integer For i = 0 To 4 For j = 0 To 4 a(i, j) = Int(Rnd * 11 + 10) Next j Next i For i = 0 To 4 For j = 0 To i Print a(i, j); Next j Print Next i End Sub 29、有 10 个评委对歌手进行打分(分数存放在 A 数组中)要求编程计算歌手平均得分(按 去掉一个最高分和一个最低分的计算办法计算)。 Private Sub Form_Click() Dim a(), max%, min%, imax%, imin%, s! a = Array(98, 97, 95, 91, 90, 99, 93, 94, 93, 96) n = UBound(a) For i = 0 To n Print a(i); Next i Print min = a(0): imin = 0 For i = 0 To n If a(i) < min Then min = a(i): imin = i Next i Print "min="; min; "imin="; imin For i = imin + 1 To n a(i - 1) = a(i) Next i ReDim Preserve a(n - 1) For i = 0 To n - 1 Print a(i);

Next i Print For i = 0 To n - 1 If a(i) > max Then max = a(i): imax = i Next i Print "max="; max; "imax="; imax ReDim Preserve a(n - 2) s = 0 For i = 0 To n - 2 s = s + a(i) Print a(i); Next i Print Print "avr="; s / (n - 1) End Sub 30.已知一维数组 a 中元素已排序,分别为{12,15,21,25,27,35,36,39,48,52},编程将 30 插入数组, 使a 仍保持有序。 Private Sub Form_load() Dim a(), i%, k%, x%, n% a = Array(1, 4, 7, 9, 12, 14, 23, 56) n = UBound(a) For i = 0 To n List1.AddItem a(i) Next i End Sub Private Sub command1_Click() x = Val(Text1) For k = 0 To List1.ListCount - 1 If x < Val(List1.List(k)) Then Exit For Next k List1.AddItem x, k End Sub 31、声明一个整型的二维数组 a(1 to 4,1 to 4),用随机函数产生各元素,范围介于[1,20]之间, 编程将第 1 行和第 3 行对应元素交换。 Private Sub Form_Click() Dim a%(1 To 4, 1 To 4), i%, j% Print "排序前" For i = 1 To 4 For j = 1 To 4 a(i, j) = Int(Rnd * 20 + 1) Print Tab(j * 4); a(i, j); Next j Print Next i

Print "排序后" For j = 1 To 4 t = a(1, j): a(1, j) = a(3, j): a(3, j) = t Next j For i = 1 To 4 For j = 1 To 4 Print Tab(j * 4); a(i, j); Next j Print Next i End Sub 32、随机产生 15 个大写字母,放在字符数组中。提示:c=chr(int(rnd*26+65)) Private Sub Form_Click() Dim a(1 To 15) As String For i = 1 To 15 a(i) = Chr(Int(Rnd * 26 + 65)) Print Tab(i * 2); a(i); Next i End Sub 33.编写一个过程计算并输出区间 [100,1000]内所有素数的和 (要求判断素数使用过程(函数或子过程)来实 现)。调用该过程。(提示:只能被1 和自身整除的自然数成为素数) Function sushu%(ByVal x%) Dim m%, Tag As Boolean, i% m = Val(x) Tag = True For i = 2 To m - 1 If (m Mod i) = 0 Then Tag = False Next i If Tag Then sushu = x End Function Private Sub Command1_Click() Dim i%, k% For i = 100 To 1000 If sushu(i) Then List1.AddItem i Next i Sum = 0 For k = 0 To List1.ListCount - 1 Sum = Sum + Val(List1.List(k)) Next k Label1 = "[100,1000]内所有素数和为:" & Sum End Sub 34、随机产生 10 个 1~100 的正整数放入数组,显示产生的数,求最大值、最小值、平均值。

Private Sub Form_Click() Dim a(1 To 10) As Integer, i%, maxa%, mina%, suma% For i = 1 To 10 a(i) = Int(Rnd * 71 + 30) Next i mina = a(1) maxa = a(1) suma = a(1) For i = 2 To 10 If a(i) > maxa Then maxa = a(i) If a(i) < mina Then mina = a(i) suma = suma + a(i) Next i For i = 1 To 10 Print a(i); Next i Print Print "max="; maxa, "min="; mina, "aver="; suma / 10 End Sub 35.编程输出n 行杨辉三角形图,n 由键盘输入。 Private Sub Command1_Click() Dim n%, i%, j% n = Val(Text1) Dim a%(1 To 1000, 1 To 1000) For i = 1 To n a(i, 1) = 1 Next i For i = 1 To n a(i, i) = 1 Next i For j = 2 To i - 1 For i = 3 To n a(i, j) = a(i - 1, j - 1) + a(i - 1, j) Next i Picture1.Print ; Next j Picture1.Print Tab(j * n); a(i, j) For i = 1 To n For j = 1 To i Picture1.Print a(i, j); ""; Next j Picture1.Print Next i End Sub

37、声明一个整型的二维数组 a(1 to 4,1 to 4),用随机函数产生各元素,范围介于 [1,20]之间,编程将第 2 行和第 4 行对应元素交换。 Private Sub Form_Click() Dim a(0 To 3, 0 To 3), i%, j%, t For i = 0 To 3 For j = 0 To 3 a(i, j) = Int(Rnd * 21 + 1) Print Tab(j * 5); a(i, j); Next j Next i Print Print For j = 0 To 3 t = a(1, j): a(1, j) = a(3, j): a(3, j) = t Next j For i = 0 To 3 For j = 0 To 3 Print Tab(j * 5); a(i, j); Next j Next i End Sub 38、随机产生 10 个[30,100]内的整数,求最小值及所对应的下标。 Private Sub Form_click() Dim a(1 To 10) As Integer, zb%, mina%, i% For i = 1 To 10 a(i) = Int(Rnd * 71 + 30) Print a(i); Next i zb = 1 mina = a(1) For i = 2 To 10 If mina > a(i) Then mina = a(i): zb = i Next i Print Print "min="; mina, "zb="; zb End Sub 39、编写一个判断素数的通用过程(函数或子程序)。调用该过程,计算并输出区间[1000, 1100]内所有素数的和。(提示:只能被 1 和自身整除的自然数称为素数。) Private Sub Picture1_Click() Dim i%, avera avera = 0 For i = 1000 To 1100 If ss(i) <> 0 Then Print ss(i) avera = avera + ss(i)

Next i Picture1.Print avera End Sub Function ss(n) As Integer Dim i%, tag As Boolean tag = True For i = 3 To n / 2 If (n Mod i) = 0 Then tag = False Next i If tag Then ss = n End Function 40.编一子过程 Procmin(a(),amin),求一维数组中 a 的最小值 amin. (随机产生 10 个 200-400 之间的数,并显示数组各元素;调用子函数,显示最小值) Private Sub Form_Click() Dim a(1 To 10), amin, i% For i = 1 To 10 a(i) = Int(Rnd * 200 + 200) Print a(i); Next i Call s(a(), amin) Print Print "min="; amin End Sub Sub s(b(), min) Dim i% min = b(LBound(b)) For i = LBound(b) + 1 To UBound(b) If b(i) < min Then min = b(i) Next i End Sub 41:.编一冒泡程序,对已知整数按递减次序排列,用子过程 Sub sort(a()) Dim imin%, i%, j% For i = 0 To UBound(a) - 1 For j = 0 To UBound(a) - 1 - i If a(j+1) > a(j ) Then t = a(j): a(j) = a(j + 1): a(j + 1) = t End If Next j Next i End Sub Private Sub Form_Click() Dim b(), i% b = Array(8, 9, 4, 2, 6)

Call sort(b()) For i = 0 To UBound(b) Print b(i); Next i End Sub 43.用选择排序法子过程对已知的若干整数按递增次序排列 Sub sort(a()) Dim imin%, i%, j% For i = 0 To UBound(a) - 1 imin = i For j = i + 1 To UBound(a) If a(j) < a(imin) Then imin = j Next j t = a(i): a(i) = a(imin): a(imin) = t Next i End Sub Private Sub Form_Click() Dim b(), i% b = Array(8, 9, 4, 2, 6) Call sort(b()) For i = 0 To UBound(b) Print b(i); Next i End Sub 45.编一冒泡程序,对已知整数按递增次序排列,用子过程 Sub sort(a()) Dim imin%, i%, j% For i = 0 To UBound(a) - 1 For j = 0 To UBound(a) - 1 - i If a(j) > a(j + 1) Then t = a(j): a(j) = a(j + 1): a(j + 1) = t End If Next j Next i End Sub Private Sub Form_Click() Dim b(), i% b = Array(8, 9, 4, 2, 6) Call sort(b()) For i = 0 To UBound(b) Print b(i); Next i End Sub


更多相关文档:

大学vb考试题库 (1)

大学vb考试题库 (1)_高中教育_教育专区。大学vb考试题库 (1) 一1、与传统的程序设计语言相比,Visual Basic 最突出的特点是(C) 。 A、结构化程序设计 B、...

大学vb考试题库1

大学vb考试题库1_IT认证_资格考试/认证_教育专区。1、与传统的程序设计语言相比,Visual Basic 最突出的特点是(C) 。 A、结构化程序设计 C、事件驱动编程机制 ...

大学vb考试题库

大学vb考试题库_广告/传媒_人文社科_专业资料。今日推荐 78份文档 不...河南工业大学vb编程选修... 36页 2下载券 大学vb考试题库 47页 1下载券 河南...

大学vb考试题库大全

大学vb考试题库大全_IT认证_资格考试/认证_教育专区。一、单项选择题 1、与传统的程序设计语言相比,Visual Basic 最突出的特点是(C) 。 A、结构化程序设计 B...

大学vb考试题库大全

大学vb考试题库大全_IT认证_资格考试/认证_教育专区。1,下面程序对已知数组 a,删除数组中数组元素中某个元素 Private Sub Command1_Click() Dim a(), key%,...

大学vb考试题库

大学vb考试题库_IT认证_资格考试/认证_教育专区。第 1 题(2 分) 题号:2681 对象在响应某个事件时, 计算机要执行一段程序, 以完成相应的操作,这样的程序片段...

大学vb考试重点复习题

大学vb考试重点复习题_IT认证_资格考试/认证_教育专区。计算机 vb 试题 1 问题 下面的( 写字母 b。 答案 )语句可以实现:先在窗体上输出大写字母 A,然后在同...

大学VB考试题库

大学VB考试题库_IT认证_资格考试/认证_教育专区。大学VB考试题库大学VB 考试题库 、单项选择题 1、与传统的程序设计语言相比,Visual Basic 最突出的特点是(C...

大学VB期末考试试题

大学VB期末考试试题_理学_高等教育_教育专区。VB 期末考试试题 A 卷一、 填空题 1、VB 程序设计的主要特点是 可视化设计 和 事件编程 。 2、在 VB 中,最主要...

大学vb考试题库无答案版

大学vb考试题库无答案版_IT认证_资格考试/认证_教育专区。一、单项选择题 1、与传统的程序设计语言相比,Visual Basic 最突出的特点是()。 A、结构化程序设计 B...
更多相关标签:
大学vb考试题库 | vb二级考试题库 | 计算机vb二级考试题库 | vb考试题库 | 全国vb二级考试题库 | 计算机2级vb考试题库 | vb程序设计考试题库 | 大学计算机考试题库 |
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com