首页 vb期末考试题库

vb期末考试题库

举报
开通vip

vb期末考试题库vb期末考试题库 一、单项选择题 1、与传统的程序设计语言相比,Visual Basic最突出的特点是(C )。 A、结构化程序设计B、程序开发环境 C、事件驱动编程机制D、程序调试技术 2、赋值语句:a=123 & MID("123456",3,2)执行后,a变量中的值是(C)。 A、"12334"B、123C、12334D、157 3、保存一个工程至少应保存两个文件,这两个文件分别是( B)。 A、文本文件和工程文件B、窗体文件和工程文件 C、窗体文件和标准模块文件D、类模块文件和工程文件 4、...

vb期末考试题库
vb期末考试题库 一、单项选择题 1、与传统的程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 语言相比,Visual Basic最突出的特点是(C )。 A、结构化程序设计B、程序开发环境 C、事件驱动编程机制D、程序调试技术 2、赋值语句:a=123 & MID("123456",3,2)执行后,a变量中的值是(C)。 A、"12334"B、123C、12334D、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=30B、y=π*r*rC、y=x+30D、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、BackcolorB、ForeColor C、AutoRedrawD、BackStyle 11、若要使命令按钮不可操作,要对(A)属性进行设制。 A、EnabledB、Visible C、BackColorD、Caption 12、以下叙述中错误的是(B)。 A、一个工程中可以包含多个窗体文件 B、在一个窗体文件中用Private定义的通用过程能被其他窗体调用 C、在设计VB程序时,窗体、标准模块、类模块等需要分别保存为不同类型的磁盘文件。 D、一个工程默认的启动对象是Form1 13、Cls方法可以清除窗体或图片框中的(C )内容。 A、在设计阶段使用Picture设置的背景位图 B、在设计阶段放置的控件 C、在运行阶段产生的图形和文字 D、以上均可 14、设x=3,y=5,则以下 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 达式值为真的是 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、ChangeB、KeyDownC、ClickD、KeyPress 17、以下关于焦点的叙述中,错误的是( )。 A、如果文本框的TabStop属性为False,则不能接收从键盘上输入的数据 B、当文本框失去焦点时,触发LostFocus事件 C、当文本框的Enabled属性为False时,其Tab顺序不起作用 D、可以用TabIndex属性改变Tab顺序 18、如果文本框的Enabled属性设为False,则( A)。 A、文本框的文本将变成灰色,并且此时用户不能将光标置于文本框上。 B、文本框的文本将变成灰色,用户仍然能将光标置于文本框上,但是不能改变文本框中的内容。 C、文本框的文本将变成灰色,用户仍然能改变文本框中的内容。 D、文本框的文本正常显示,用户能将光标置于文本框上,但是不能改变文本框中的内容。 19、程序运行后,在窗体上单击鼠标,此时窗体不会接收到的事件是(C )。 A、MouseDownB、MouseUp C、LoadD、Click 20、图像框有一个属性,可以自动调整图形的大小,以适应图像框的尺寸,这个属性是( B)。 A、AutosizeB、Stretch C、AutoRedrawD、Appearance 21、为了防止用户随意将光标置于控件之上,应设置的属性是(D )。 A、将控件的TabIndex属性设置为0 B、将控件的TabStop属性设置为True C、将控件的TabStop属性设置为False D、将控件的Enabled属性设置为False 22、不论何控件,共同具有的是( B)属性。 A、TextB、Name C、ForeColorD、Caption 23、以下关于窗体的描述中,错误的是( A)。 A、执行Unload Form1语句后,窗体Form1消失,但仍在内存中 B、窗体的Load事件在加载窗体时发生 C、当窗体的Enabled属性为False时,通过鼠标和键盘对窗体的操作都被禁止 D、窗体的Height、Width属性用于设置窗体的高和宽 24、当运行程序时,系统自动执行窗体的( A)事件过程。 A、LoadB、Click C、UnloadD、GotFocus 25、窗体设计器是用来设计( B)。 A、应用程序的代码段B、应用程序的界面 C、对象的属性D、对象的事件 26、Visual Basic是一种面向对象的可视化程序设计语言,采取了(A )的编程机制。 A、事件驱动B、按过程顺序执行 C、从主程序开始执行D、按模块顺序执行 27、确定一个控件在窗体上的位置的属性是(D )。 A、Width或HeightB、Width和Height C、Top或LeftD、Top和 Left 28、如果要改变窗体的标题,则需要设置的属性是( A)。 A、CaptionB、Name C、BackColorD、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、FontItalicB、FontName C、FontBoldD、FontSize 36、如果一个工程含有多个窗体及标准模块,则以下叙述中错误的是(A )。 A、如果工程中含有Sub Main过程,则程序一定首先执行该过程 B、不能把标准模块设置为启动模块 C、用Hide方法只是隐藏一个窗体,不能从内存中清除该窗体 D、任何时刻最多只有一个窗体是活动窗体 37、为了把焦点移到文本框,所使用的方法是( A)。 A、SetFocusB、Visible C、RefreshD、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、EnabledB、Visible C、BackColorD、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、GotFocusB、LostFocus C、KeyPressD、SetFocus 44、以下不能在“工程资源管理器”窗口中列出的文件类型是(B )。 A、.basB、.resC、.frmD、.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、0B、1C、-1D、-72 50、如果将布尔常量值TRUE赋值给一个整型变量,则整型变量的值为( B)。 A、0B、-1C、TRUED、FALSE 51、函数String(n, "str")的功能是( B)。 A、把数值型数据转换为字符串 B、返回由n个字符组成的字符串 C、从字符串中取出n个字符 D、从字符串中第n个字符的位置开始取子字符串 52、语句Print Format(“Hello World”,“>”)的输出结果是( C)。 A、hello WORLDB、hello world C、HELLO WORLDD、HELLO world 53、声明符号常量应该用关键字(B )。 A、StaticB、ConstC、PrivateD、Variant 54、要强制显示声明变量,可在窗体模块或标准模块的声明段中加入语句(B )。 A、Option Base 0B、Option Explicit C、Option Base 1D、Option Compare 55、下列可作为Visual Basic变量名的是(D )。 A、A#AB、4AC、?xyD、constA 56、设a=10,b=5,c=1,执行语句Print a > b > c后,窗体上显示的是( B)。 A、TrueB、FalseC、1D、出错信息 57、执行x$=String(6, "124abc")后,x的值是( B)。 A、124abcB、111111C、124D、abc 58、设a=6,则执行 x=IIf(a>5,-1,0)后,x 的值为( D ) A、5B、6 C、0 D、-1 59、执行语句:c$=“Glad”& Mid$(“Nice to meet you”,5,3),则变量c$的值为(C )。 A、Nice to meet youB、Glad Nice to meet you C、Glad toD、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、0C、等于0的整数D、小于0的数 63、在一行内写多条语句时,每个语句之间用( B)符号分隔。 A、,B、:C、、D、; 64、从键盘上输入两个字符串,分别保存在变量str1、str2中。确定第二个字符串在第一个字符串中起始位置的函数是(D )。 A、LeftB、MidC、StringD、Instr 65、设S="中华人民共和国",表达式Left(S,1)+Right(S,1)+Mid(S,3,2)的值为( B ) A、"中华民国"B、"中国人民" C、"中共人民" D、"人民共和" 66、下列可作为 Visual Basic中的变量名的是(A )。 A、FilenameB、A(A+B)C、254DD、Print 67、下面(A )是合法的变量名。 A、X_yzB、123abcC、IntegerD、X-Y 68、以下变量命名非法的是(C)。 A、xyz123B、printaaC、booleanD、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、TrueB、False C、-1D、1 71、表达式6*8 Mod 9的值是( B)。 A、4 B、3C、6D、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.5B、32,548.5C、032,548.50D、32,548.50 75、以下声明语句中错误的是(B )。 A、Const var1=123 B、Dim var2 = 'ABC' C、Dim x_y_z%D、Static var3 As Integer 76、可以同时删除字符串前导和尾部空白的函数是( C)。 A、LtrimB、RtrimC、TrimD、Mid 77、下列可为合法变量名的是( D)。 A、Integer B、FalseC、publicD、thanksgiving 78、变量未赋值时,数值型变量的值为( A)。 A、0B、空C、1D、无任何值 79、表达式16/4-2^5*8/4 Mod 5\2的值为( B)。 A、14B、4C、20D、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 J12 1、求100以内的素数。 Private Sub Command1_Click() Dim i As Integer, m As Integer, tag As Boolean j = 0 For m = 2 To 100 tag = True:For i = 2 To m - 1 If (m Mod i) = 0 Then tag = False Next i If tag Then Print m; " "; j = j + 1 If j = 10 Then j = 0: Print End If:Next m End Sub 2、从键盘输入任意长度的字符串,要求将字符顺序倒置,例如,将输入的“ABCDEFG”变换成“GFEDCBA”。 Private Sub Command1_Click() Dim a$, I%, c$, d$, 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 Print a End Sub 3、计算0~200之间所有能被11或5整除的数之和 、Private Sub Form_click() Dim i%, sum% Print For i = 0 To 200 If i Mod 5 = 0 Or i Mod 11 = 0 Then sum = sum + i Next i Print "0~200之间所有能被5或100整除的数之和为:", sum End Sub 4、输入一年份,判断它是否为闰年,并显示有关信息。(判断闰年的条件是:年份能被4整除但不能被100整除, 或者能被400整除) Private Sub Command2_Click() Dim y% y = Year(Now) 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三个数,按从大到小显示。 Private Sub Command1_Click() Dim x!, y!, z! x = InputBox("input x") y = InputBox("input y") z = InputBox("input z") Print " 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 < z 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 Command1_Click() Dim s!, t!, i!, a%, n% a = Int(Rnd * 9 + 1) n = Int(Rnd * 6 + 5) t = 0: s = 0 Print "a="; a, "n="; n For i = 1 To n t = t * 10 + a s = s + t Print t; Next i Print Print "s="; s 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 = 0 And n Mod 5 = 0 And n Mod 7 = 0 Then Print n countn = countn + 1 End If Loop Until countn = 5 '或 while countn<5 End Sub 10、某次歌曲大奖赛,有7个评委。如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分。 Private Sub Command1_Click() Dim mark!, aver!, i%, max1!, min1! aver = 0 For i = 1 To 7 mark = InputBox("输入第" & i & "位评为打得分") If i = 1 Then max1 = mark: min1 = mark Else If mark < min1 Then min1 = mark ElseIf mark > max1 Then max1 = mark End If End If aver = aver + mark Next i aver = (aver - mark1 - min1) / 5 Print aver End Sub 11、编程显示100~500之间所有的水仙花数之和。(水仙花数是3位数,其各位数之和等于该数本身) 程序:Private Sub Command1_Click() Dim i%, j%, k%, sxh, m! m = 0 For i = 1 To 4 For j = 1 To 9 For k = 0 To 9 sxh = i * 100 + j * 10 + k If sxh = i ^ 3 + j ^ 3 + k ^ 3 Then m = sxh + m End If Next k Next j Next i Print "m ="; m End Sub 13、从键盘输入三角形的三条边a,b,c的值,根据其数值,判断能否构成三角形。 Private Sub Command1_Click() Dim x%, y%, z% x = Val(InputBox("inputx")) y = Val(InputBox("inputx")) z = Val(InputBox("inputx")) If x + y > z And x + z > y And z + y > x Then MsgBox ("能构成三角形") If x = y And y = z Then MsgBox ("是等边三角形") ElseIf x = y Or y = z Or z = x Then MsgBox ("是等腰三角形") ElseIf Sqr(x * x + y * y) = z Or Sqr(y * y + z * z) = x Or Sqr(x * x + z * z) = y Then MsgBox ("是直角三角形") Else: MsgBox ("是其他三角形") End If 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 21、随机产生10个[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 30、编程输出n行杨辉三角图形,n由键盘输入。 程序代码如下: 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 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 35、已知一维数组a()中的元素已排序,分别为{12,15,21,25,27,35,36,39,48,52},编程将30插入数 组a,并使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 41、编一个冒泡排序法子过程,对已知的若干整数按递减次序排列。提示:子过程的形式为sub sort1(a%())。 Sub Sort1(a()) Dim iMin%, i%, j%, t% 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 Next j Next i For i = 0 To UBound(a) Print a(i); Next i Print End Sub Private Sub Form_Click() Dim b() Print "排序前" b = Array(56, 32, 79, 21, 5, 69, 98, 14, 3, 15) For i = 0 To UBound(b) Print b(i); Next i Print Print "排序后" Call Sort1(b()) End Sub 42、编一个选择排序法子过程,对已知的若干整数按递减次序排列。提示:子过程的形式为sub sort1(a%())。 Sub Sort1(a()) Dim iMin%, i%, j%, t% 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 For i = 0 To UBound(a) Print a(i); Next i Print End Sub Private Sub Form_Click() Dim b(), i% Print "排序前" b = Array(56, 32, 79, 21, 5, 69, 98, 14, 3, 15) For i = 0 To UBound(b) Print b(i); Next i Print Print "排序后" Call Sort1(b()) End Sub 43、编一个选择排序法子过程,对已知的若干整数按递增次序排列。提示:子过程的形式为sub sort1(a%())。 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 iA(j) < iA(iMin) Then iMin = j Next j t = iA(i) 'i~n个元素中选出的最小元素与第i个元素交换 iA(i) = iA(iMin) iA(iMin) = t For k = 1 To n Print iA(k); Next k Print Next i 44、编一个冒泡排序法子过程,对已知的若干整数按递增次序排列。提示:子过程的形式为sub sort1(a%())。 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 Print "冒泡法排序数据变化过程" Print " 8, 6, 9, 3, 2, 7" Print "-----------------------------" For i = 1 To n - 1 ' 进行n-1遍比较 ' 对第i遍比较时,初始假定第i个元素最小 For j = n To i + 1 Step -1 ' 在数组 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 Print "i="; i; Spc(i * 3 - 3); For k = i To n Print iA(k); Next k Print Next i 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 38、随机产生10个[30,100]内的整数,求最小值及所对应的下标。 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 15、随机生成一个整型的二维数组,范围在[10,20]之间,以上三角形式输出该数组。 28、随机生成一个整型的二维数组,范围在[10,20]之间,以下三角形式输出该数组。 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 29、有10个评委对歌手进行打分(分数存放在A数组中)要求编程计算歌手平均得分(按去掉一个最高分和一个最低分的计算办法计算)。a = Array(98, 97, 95, 91, 90, 99, 93, 94, 93, 96) 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 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 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 39、编写一个判断素数的通用过程(函数或子程序)。调用该过程,计算并输出区间[1000,1100]内所有素数的 和。(提示:只能被1和自身整除的自然数称为素数。) 10.编写一个过程计算并输出区间[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 23、随机产生15个小写字母,放在字符数组中。提示:c=chr(int(rnd*26+97)) .Private Sub Command1_Click() Cls Dim a%(14), b$(14), i%, j% For i = 0 To 14 a(i) = Int(Rnd * 26 + 97) b(i) = Chr(a(i)) Print b(i); Next i End Sub 25、定义三个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 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 20、输入一系列字符串,将字符串按递减次序排列。请编程实现 Dim a() As String, n%, i%, j% Private Sub Command1_Click() n = Text1 ReDim a(1 To 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 = 1 To n For j = 1 To n - i 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 = 1 To n Picture2.Print a(i); Spc(1); Next i End Sub Private Sub Form_Load() Text1 = "" End Sub 7、计算100~300之间所有能被3和7整除的数之和。 8、编程求200--400范围内5的倍数或7的倍数之和。(一个数如果同时是7和5的倍数,则只能加一次。) 34、随机产生10个1~100的正整数放入数组,显示产生的数,求最大值、最小值、平均值。 26、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,求它的两条对角线上元素之和。 37、声明一个整型的二维数组a(1 to 4,1 to 4),用随机函数产生各元素,范围介于[1,20]之间,编程将第2行 和第4行对应元素交换。、 17、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[40,80]内的整数,求它的最大值及所对应的下标。 18、输入一系列字符串,编程求出长度最大的字符串并输出其所对应的次序 。 19、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出该矩阵所有数据之和 24、随机产生10个[30,100]内的整数,求最大值及所对应的下标 32、随机产生15个大写字母,放在字符数组中。提示:c=chr(int(rnd*26+65)) 老师没有给的编程题 7.随机产生50—100范围内的20个数,显示最值和平均值: Private Sub Command1_Click() Dim i%, min%, max%, avg%, x% min = 100 max = 50 avg = 0 For i = 1 To 20 x = Int(Rnd * 51 + 50) Print x; If x > max Then max = x If x < min Then min = x avg = avg + x Next i: Print Print "最小值="; min, "最大值="; max, "平均值="; avg / 20 End Sub 15.编一子过程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 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 5.已制X、Y、Z3个变量中存放了3个不同的数,比较它们的大小并进行调整,使X〈Y〈Z Private Sub Command1_Click() x = Val(Text1) y = Val(Text2) z = Val(Text3) If y < x Then t = y: y = x: x = t ' y与x交换 End If ' 使得y>x If z < y Then t = z: z = y: y = t ' z与y交换使得z>y If y < x Then ' 此时的x,y已不是原x,y的值 t = y: y = x: x = t End If End If Print "X="; x, "Y="; y, "Z="; z End Sub 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 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 "a="; a, "n="; n For i = 1 To n t = t * 10 + a s = s + t Print t Next i Print Print "s="; s 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 Print i; Sum = Sum + i End If Next i Print Print "总和是"; Sum 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 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
本文档为【vb期末考试题库】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_321575
暂无简介~
格式:doc
大小:127KB
软件:Word
页数:69
分类:生活休闲
上传时间:2017-09-30
浏览量:51