VB实验指导习题 - 图文

更新时间:2023-09-14 22:41:01 阅读量: 资格考试认证 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章 Visual Basic程序设计概述

一、选择题

1. Visual Basic是一种面向对象的可视化程序设计语言,采用了__A_ 的编程机制。 (A)事件驱动 (B)按过程顺序执行 (C)从主程序开始执行 (D)按模块顺序执行 2. 在Visual Basic中最基本的对象是____C____,它是采用程序的基石,是其它程序的容器。 (A)文本框 (B)命令按钮 (C)窗体 (D)标签 3. 多窗体程序是由多个窗体组成。在缺省情况下,VB在应用程序执行时,总是把__B______

指定为启动窗体。

(A)不包含任何控件的窗体 (B)设计时的第一个窗体 (C)包含控件最多的 (D)命名为Form1的窗体 4. 有程序代码如下:

Text1.Text = "Visual Basic"

则:Text1,Text和"Visual Basic"分别代表___C_____。

(A)对象,值,属性 (B)对象,方法,属性 (C)对象,属性,值 (D)属性,对象,值

5. Visual Basic是一种面向对象的程序设计语言,_____A___不是面向对象系统所包含的三

要素。

(A)变量 (B)事件 (C)属性 (D)方法

6. Visual Basic的一个应用程序至少包含一个____B____文件,该文件存储窗体上使用的所

有控件对象和有关的________、对象相应的________过程和________代码。 (A)模块、方法、事件、程序 (B)窗体、属性、事件、程序 (C)窗体、程序、属性、事件 (D)窗体、属性、事件、模块 7. 以下不属于Visual Basic的工作模式是___A_____模式。

(A)编译 (B)设计 (C)运行 (D)中断

8. 在VB集成环境创建VB应用程序时,除了工具箱窗口、窗体中的窗口、属性窗口外,

必不可少的窗口是____C____。

(A)窗体布局窗口 (B)立即窗口 (C)代码窗口 (D)监视窗口 9. 保存新建的工程时,默认的路径是____B____。

(A)My Documents (B)VB98 (C)\\ (D)Windows

10. 将调试通过的工程经“文件”菜单的“生成.exe文件”编译成.exe后,将该可执行文件

拿到其他机器上不能运行的主要原因是____A____。

(A)运行的机器上无VB系统 (B)缺少.frm窗体文件 (C)该可执行文件有病毒 (D)以上原因都不对

11. 对于窗体,下面____D____属性在程序运行时是其属性设置起作用。

(A)MaxButton (B)BorderStyle (C)Name (D)Left

12. 要使Print方法在Form_Load事件中起作用,要对窗体的____C____属性进行设置。 (A)BackColor (B)ForeColor (C)AutoRedraw (D)Caption 13. 若要使标签控件显示时不覆盖其背景内容,要对____D____属性进行设置。 (A)BackColor (B)BorderStyle (C)ForeColor (D)BackStyle 14. 若要使命令按钮不可操作,要对____A____属性设置。

(A)Enabled (B)Visible (C)BackColor (D)Caption 15. 文本框没有____D____属性。

- 28 -

(A)Enabled (B)Visible (C)BackColor (D)Caption 16. 不论何控件,共同具有的是____B____属性。

(A)Text (B)Name (C)ForeColor (D)Caption 17. 要使Form1窗体的标题栏显示“欢迎使用VB6”,以下____D____语句是正确的。 (A) Form1. Caption = “欢迎使用VB6” (B) Form1. Caption = `欢迎使用VB6` (C) Form1. Caption =欢迎使用VB6

(D) Form1. Caption = "欢迎使用VB6"

18. 要使某控件在运行时不显示,应对____B____属性进行设置。

(A)Enabled (B)Visible (C)BackColor (D)Caption

19. 要使窗体在运行时不可改变窗体的大小和没有最大化和最小化按钮,只要对下列

____B____属性进行设置就有效。

(A)MaxButton (B)Bordstyle (C)Width (D)MinButton 20. 当运行程序时,系统自动执行启动窗体的____A____事件过程。

(A)Load (B)Click (C)Unload (D)GotFocus 21. 当文本框的ScrollBars属性设置了非零系值,却没有效果,原因是____B____。 (A) 文本框中没有内容

(B) 文本框的MultiLine属性为False (C) 文本框的MultiLine属性为True (D) 文本框的Locked的属性为True

22. 要判断在文本框是否按了Enter键,应在文本框的____D____事件中判断。 (A)Change (B)KeyDown (C)Click (D)KeyPress 23. 如果文本框的Enabled属性为False,则____A____。

(A) 文本框的文本将变成灰色,并且此时用户不能将光标置于文本上

(B) 文本框的文本将变成灰色,用户仍然能将光标置于文本框上,但是不能改变文本框

中的内容

(C) 文本框的文本将变成灰色,用户仍然能改变文本框中的内容

(D) 文本框的文本正常显示,用户能将光标置于文本框上,但是不能改变文本框中的内

24. 当需要上下文帮助时,选择要帮助的“难题”,然后按____D____键,就可出现MSDN

窗口及显示所需“难题”的帮助信息。

(A)Help (B)F10 (C)Esc (D)F1 25. 窗体文件的扩展名为____D____。 (A) .vbp (B) .bas (C) .exe (D) .frm 26. 指示一个窗体位置的值是窗体的( C )。

(A) 对象 (B) 事件 (C) 属性 (D) 方法

27.下列高级语言中,属于面向过程程序设计语言的是____C____。

(A)visualC++ (B)Java (C)Basic (D)Delphi 28. 下列说法正确的是____D____。

(A)同一个事件的名称在不同的程序中可以不同 (B)事件是用户定义的 (C)对象的事件是不固定的

(D)事件是对象能够识别的动作

29. 与传统的程序设计语言相比,Visual Basic最突出的特点是____C____。

- 29 -

(A)结构化程序设计 (B)编写跨平台应用程序 (C)事件驱动程序编制 (D)程序高度技术

30. 在正确安装Visual Basic后,可以通过多种方式启动Visual Basic。以下方式中,不能启动Visual Basic的是____D____

(A)通过“开始”菜单的“程序”命令

(B)通过“我的电脑”找到VB6.EXE,运行之 (C)通过运行快捷方式

(D)进入DOS方式,执行Vb6.exe

31. Visual Basic集成开发环境界面中的菜单栏有13个菜单项,要显示或隐藏Visual Basic的各种窗口、工具栏,应选择菜单栏中的____B____菜单项的相应属性。

(A)工具 (B)视图 (C)图表 (D)窗口 32. 下列不能打开属性窗口的操作是____C____。 (A)执行“视图”|“属性窗口”命令 (B)单击工具栏上的“属性窗口”按钮 (C)按Ctrl+T快捷键 (D)按F4键

33.“工程窗口”的主要用途是____C____

(A)显示窗体文件,标准模块文件和类模块文件

(B) 只显示工程文件的内容,以使用户了解工程的组成 (C)组织、管理工程文件

(D)方便用户打开相应“代码编辑器”窗口和“窗体设计器”

34. 在设计阶段,当双击窗体上的某个控件时,所传开的窗口是____C____ A)工程资源管理窗口 B)工具箱窗口 C)代码窗口 D)属性窗口

35. 将数据和程序封装起来成为一个逻辑实体,即____A____ (A)对象 (B)事件 (C)属性 (D)窗体 36. 应用程序设计完成后,应及时保存程序,保存的过程是(D)。

(A)只保存窗体文件即可 (B)只保存工程文件即可

(C)先保存窗体文件,再保存窗体文件 (D)先保存窗体文件,再保存工程 37. 下列选项中,不属于Visual Basic特点的是(C)。 (A)可视化程序设计 (B)面向对象 (C)事件驱动编程机制 (C)面向图形

38. 使用“上下相关帮助”的操作方法是:选择一个对象或关键字,然后按下____A____ (A)F1 (B)F2 (C)F3 (D)F4 39. 退出Visual Basic的快捷键是____C____

(A)Ctrl+Q (B)Shift+Q (C)Alt+Q (d)Ctrl+Alt+Q 40.启动Visual Basic,就意味着要建立一个新的____C____

(A)窗体 (B)程序 (C)工程 (D)文件 41.打开Visual Basic集成环境后,显示的工具栏是____B____ (A)编辑工具栏 (B)标准工具栏 (C)高度工具栏 (D)窗体工具栏

42.每个窗体对应一个窗体文件,窗体文件的扩展名是_____C___。 (A).bas (B) .cls C) .frm D) .vbp 43.激活属性窗口使用的热键是____C____。

- 30 -

(A)F2 (B)F3 (C)F4 (D)F5 44.下列可以打开立即窗口的快捷键是____D____

(A) Ctrl+ D (B) Ctrl+ E (C) Ctrl+ F (D) Ctrl+ G 45.网络信息服务管理工具被包含在Visual Basic6.0的____D____。 (A)试用版 (B)标准版 (C)专业版 (D)企业版 46. Visual Basic集成环境的主窗口中不包括____C____。

(A)标题栏 (B)菜单栏 (C)状态栏 (D)工具栏 47.下列不属于Visual Basic的3种运行模式的是_____A___。

(A)查看模式 (B)设计模式 (C)运行模式 (D)中断模式 48.下列不属于Visual Basic应用程序所包括文件的是____C____

(A)窗体文件(* . frm) (B)类表文件(* . bas) (C)文本文件(*.txt) (D)工程文件(*.vbp)

49.成功启动Visual Basic后,系统将自动进入____B____。

(A)查看模式 (B)设计模式 (C)运行模式 (D)中断模式 50.成功启动Visual Basic后,标题栏中显示的信息是____D____. (A)程序1-Microsoft Visual Basic〔设计〕 (B)Form- Microsoft Visual Basic〔设计〕 (C) 模块1- Microsoft Visual Basic〔设计〕

(D)工程1-Microsoft Microsoft Visual Basic〔设计〕〔设计〕 51. 要使文本框获得输入焦点,则采用文本框空件的____D____。 (A)GotFocus方法 (B)LostFocus方法 (C)GetFocus方法 (D)SetFocus方法

52.能够获得一个文本框被选取文本的内容的属性是____C____。 (A)Text (B)Length (C)SelText (D)SelStart

53.要使一个命令按钮成为图形命令按钮,则应设置其____B____属性值。 (A)Picture (B)Style

(C)DownPicture (D)DisabledPicture 54.为了在按下Enter键时执行某个命令按钮的事件过程,需要把该命令按钮的一个属性值设置为Ture,这个属性是____D____。

(A)Visible (B)Cancle (C)Enabled (D)Default 55.以下叙述正确的是____A____。

(A)窗体的Name属性指定窗体的名称,用来标识一个窗体 (B)窗体的Name属性的值是显示在窗体标题栏中的文体 (C)可以在运行期间改变对象的Name属性的值 (D)对象的Name属性值可以为空

56.以下关于窗体的描述中,错误的是____A____。

(A)执行UnloadForm1语句后,窗体Form1消失,但仍在内存中 (B)窗体的Load事件在加载窗体发生

(C)当窗体的Enable属性为False时,通过鼠标和键盘对窗体的操作都被禁止 (D)窗体的Height、Width属性用于设置窗体的高和宽 57.单击窗体上的关闭按钮,触发的是____C____。

(A)Form-Initialize()事件 (B)Form-Load()事件

- 31 -

(C)Form-Unload()事件 (C)Form-Click()事件 58.文本框Text1和Text2用于接收输入的两个数,求这两个数的乘积,错误的是____C____。 (A)y=Text1.text* Text2.text

(B)y=Val(Text1.text)*Val( Text2.text) (C)y=Str(Text1.text)*Str( Text2.text)

(D)文本框的Text属性是字符型,所以以上语句都错误 59.下列语句中,定义窗体单击事件的头语句是____C____。

(A)Private Sub Form-DblClick (B)Private Sub Text-DblClick (C)Private Sub Form-Click (D)Private SubText-DblClick 60.下列语句正确的是(A)。

(A)txt1.Text+txt2.Text=txt3.Text (B)Command1.Name=cmdOK (C)12Lable.Caption=1234 (D)Text1=“123” 二、填空题

1. 当进入VB集成环境,发现没有显示“工具箱”窗口时,应选择________菜单的________

选项,使“工具箱”窗口显示。

2. 要使用新建工程时,在模块的“通用声明”段中自动加入Option Explicit语句,应对

________菜单的________的________选项卡进行相应选项的设置。 3. 对象的属性是指________。 4. 对象的方法是指________。

5. 在刚建工程时,使窗体上的所有控件具有相同的字体格式,应对________的________属

性进行设置。

6. 当文本框的ScrollBar的属性设置为2(有垂直滚动条),但没有垂直滚动条显示时,是

没有把________属性设置为True的原因。

7. 在代码窗口对窗体的BorderStyle、MaxButton属性进行了设置,但运行后没有结果,原

因是这些属性________。

8. 当对命令按钮的Picture属性装入.bmp图形文件后,选项按钮上并没有显示所需的图形,

原因是没有对________属性设置为1(Graphical)

9. 若已建立了Form1、Form2两个窗体,默认启动窗体为Form1。通过________菜单的

________的________选项卡,可将启动窗体设置为Form2。在程序中若要显示Form1窗体,则执行________语句。

10. 在文本框中,通过________属性能获得当前插入点所在的位置。

11. 要对文本框中已有的内容进行编辑,按下键盘上的按键,就是不起作用,原因是设置

________的属性为True。

12. 在窗体上已建立多个控件如Text1、Label1、Command1,若要使程序一运行就定位在

Command1控件上,应把Command1控件的________属性设置为________。 13. Visual Basic 6.0 分为3 种版本是________、_________和企业版。

14. 在MSDN浏览窗口中,选中“目录”选项卡时,在内容显示区显示所有文档的名称。

有些文档名称左边有一个“+”号或者“-”,这个“+”号表示_________。 15. Visual Basic 规定工程文件的扩展名是____________。 16. 面向对象程序设计方法的缩写是__________。

17. 传统的程序设计语言主要是面向_________的,而现在的许多可视化程序设计语言主要是

面向________的。

18. Visual Basic6.0三个版本中,最完整的是________。

19. 默认情况下, Visual Basic的工具箱只显示________控件。

- 32 -

20. 扩展名为.bas的文件称为________。

21. 对象是将数据和程序________起来的一个逻辑实体。 22. 程序在运行模式下,按下_______可切换到中断模式下。

第二章 顺序程序设计

一. 选择题

1. 在一个语句内写多条语句时,每个语句之间用____B____符号分隔。 (A), (B): (C)、 (D); 2. 一句语句要在下一行继续写,用____C____符号作为续行符。

(A)+ (B)– (C)_ (D)? 3. 下面____A____是合法的变量名。

(A)X _ yx (B)123abc (C)integer (D)X – Y 4. 下面________是不合法的整常数。

(A)100 (B)&O100 (C)&H100 (D)0 5. 下面____B____是合法的字符常数。

(A)ABC$ (B)"ABC" (C)`ABC` (D)ABC 6. 下面____A____是合法的单精度型变量。

(A)num! (B)sum% (C)xinte$ (D)mm # 7. 下面____D____是不合法的单精度常数。

(A)100! (B)100.0 (C)1E + 2 (D)100.0D + 2 8. 表达式16/4 – 2^5 * 8/4MOD5\\2的值为____B____。

(A)14 (B)4 (C)20 (D)2 9. 数学关系3≤x<10表示成正确的VB表达式为____B____。

(A)3 < = x <10 (B)3 < = x AND x < 10 (C)x > = 3 OR x < 10 (D)3 < = x AND < 10 10. \\、/、 Mod、*四个算术运算符中,优先级别最低的是____C____。 (A)\\ (B)/ (C)Mod (D)* 11. 与数学表达式

ab 对应,VB的不正确表达式是____D____。 3cd(A)a * b/(3 * c * d) (B)a/3 * b/c/d (C)a * b/3/c/d (D)a * b/3 * c * d 12. Rnd函数不可能为下列____B____值。

(A)0 (B)1 (C)0.1234 (D)0.0005 13. Int(198.555 * 100 + 0.5)/100的值是____C____。

(A)198 (B)199.6 (C)198.56 (D)200 14. 已知 A$ = "12345678",则表达式Val(Left$(A$,4) + Mid$(A$,4,2) )的值为____B____。 (A)123456 (B)123445 (C)8 (D)6 15. Print DateAdd("m",1,#1/30/2000#)语句显示的结果是________。

(A)00 – 2 – 29 (B)00 – 2 – 28 (C)00 – 2 – 30 (D)00 – 1 – 31 16. 表达式DateDiff("y",#12/30/1999#,#1/13/2000#)的结果是____C____。 (A)1 (B)11 (C)14 (D)99 17. 表达式Len("123程序设计ABC")的值是____A____。

(A)10 (B)14 (C)20 (D)17

- 33 -

18. 表达式LenB("123程序设计ABC")的值是____C____。

(A)10 (B)14 (C)20 (D)17 19. 下面正确的赋值语句是____C____。

(A)x + y = 30 (B)y = π* r * r (C)y = x + 30 (D)3y = x

20. 为了给x,y,z三个变量赋初值为1,下面正确的赋值语句是____A____。 (A)x = 1: y = 1: z = 1 (B)x = 1, y = 1, z = 1 (C)x = y = z = 1 (D)xyz = 1

21. 赋值语句:a = 123 + MID("123456",3,2)执行后,a变量中的值是____D____。 (A)"12334" (B)123 (C)12334 (D)157

22. 赋值语句:a = 123 & MID("123456",3,2)执行后,a变量中的值是____C____。 (A)"12334" (B)123 (C)12334 (D)157 23. 下列选项中_____C___是算术运算符。 (A) % (B) & (C) Mod (D) And 24. 下面不合法的标识符是________ A) Go_To B) Tab1 C) 姓名 D) Int

25. 下列选项中,把r定义为双精度型变量的是____C____。 (A) r% (B) r! (C) r# (D) r$

26. 下列表达式中_____D___是错误的。

(A) 2^a/5 (B) –2^1/5 (C) 2^(1/5) (D) (-2)^(1/5)

27. 在下列选项中,正确表达2a+5的表达式是____C____。 (A) 2^a+5 (B) 2^a+2^5 (C) 2^(a+5) (D) 2^a2^5 28. 10 Mod 4的值为____B____。 (A) 1 (B) 2 (C) 4 (D) 10

29. 下列运算符中____A____优先级最高。 (A) / (B) \\ (C) Mod (D) +

30. 在VB中不能表示逻辑真的是____D____。 (A) True (B) -1 (C) 1 (D) T

31. 能正确表达a≤1或a≥5成立的逻辑表达式是____C____。

(A) a<=1或a>=5 (B) a<=1,a>=5 (C) a<=1 or a>=5 (D) a<=1 And a>=5 32. 设X为整型变量,不能正确表达1

(A) 1=5) 33. 求cos35o可以使用的函数是____D____。

(A) cos35 (B) cos(35) (C) cos(35o) (D) cos(35*3.14159/180) 34. Len(“建筑大学”)的值是____B____。 (A) 0 (B) 4 (C) 8 (D) 不能确定

35. 设X是一个正实数,对X的第二位小数四舍五入可以使用的函数是________。 (A) Int(X+0.05)/10 (B) Int((X+0.05)/10) (C) Int(10*(X+0.05))/10 (D) Int(10*(X+0.05)/10)

36. 函数Int(Rnd*99+1)产生随机数的范围是____B____。 (A) [1,99]) (B) [1,99] (C) [1,100]) (D) [1,100] 37.下列赋值语句中,____D____是正确的。

(A) x! = “abc ” (B) a% = “ 10e ” (C) x + 1 = 5 (D) s $ = 100 38.下列选项中,____D____不能交换变量a和b的值。

- 34 -

(A) t = b : b = a : a = t (B) a = a+b : b = a-b : a = a –b (C) t = a : a = b : b = t (D) a = b : b = a 39.下面程序段的功能是___B____ A=12.5:B=Int(A+0.5) Debug.print B

(A)求平均值 (B)将一实数四舍五入取整值 (C)求绝对值 (D)舍去一实数的小数部分 40. 选拔身高T 超过1.7M且体重W小于62.5kg的人,表示该条件的布尔表达式____C____。 (A)T>=1.7 and W<=62.5 (B)T<=1.7 OR W>=62.5 (C)T>1.7 and W<62.5 (D) T>1.7 OR W<62.5 41. 有如下程序

a$=”Flying”:b$=”IS”:c$=”funny!”

print a$+” ”+LCase$(b$)+” ”+UCase$(c$) end

运行后输出的结果是____B____

(A)Flying IS funny ! (B)Flying is FUNNY! (C) Flying IS FUNNY! (D) FLYING IS FUNNY! 42. 下列可作为Visual Basic 变量名的是____D____

(A) A#A (B)4A (C) ?xy (D) constA 43. 表达式Val(“.123E2CD”)返回 ________。 (A).123 (B) 12.3

(C) 0 (D) .123E2CD 44. 函数String(n,”str”)的功能是____B____

(A)把数值型数据转换为字符串 (B)返回由n个字符组成的字符串 (C)从字符串中取出n个字符

(D)从字符串中第n个字符的位置开始取字符串 45. 有如下程序段:

Const c$=”beijing” c$=”shanghai” c$=”hebei” print c$

运行时输出的结果是____D____

(A)beijing (B) shanghai

(C) hebei (D) 显示出错信息

46. 表达式1.5+3\\2>2 or 7 mod 3<4 and not 1 的运算结果是____A____。

(A)-1 (B)0 (C)1 (D)其它 47. 式a%*b&-d#\\2#+c! 的结果的数值类型为________。

(A)整型 (B)长整型 (C)单精度型 (D)双精度型 48. 下列几个表达式大小不同的一个是________。

(A)15 (B)&HF (C)1111 ( D)&O17 49. 设有如下变量声明:

Dim TestDate as Date

为变量TestDate 正确赋值的表达式是____A____。

- 35 -

(A)TestDate=#1/1/2002# (B)TestDate#”1/12002”#

(C) TestDate=date(“1/1/2002”) (D) TestDate=format(“m/d/yy”,”1/1/2002”) 50.设有如下声明

Dim x as interger

如果sgn(x)的值为-1,则x的值是____D____

(A) 整数 (B)大于0的整数

(C) 等于0的数 (D)小于0的数 51. 下列可作为Visual Basic变量名的是____A____

(A)Filename (B)A(A+B) (C)A%D (D)Print 52. 数1.21576654590569D+019写成普通的十进制数是____D____

(A)12157665459056900 (B)121576654590569000 (C)1215766545905690000 (D)12157665459056900000

53.设a=2,b=3,c=4,d=5,则表达式Not a<=c Or 4*c=b^2 And b<>a=c的值是____D____

(A)-1 (B)1 (C) ture (D)False 54. 数2.567E-12写成普通的十进制数是________

(A)0.0000000000002567 (B)0.0000000002567 (C)0.000000002567 (D)0.00000000002567 55. 在窗体画一个名称为command1的命令按钮,然后编写如下程序:

Private sub command1-click( ) Static x as integer Static y as integer

Cls Y=1 Y=y+5 X=x+5 Print x,y End sub

程序运行时,3次单击命令按钮command1后,窗体上显示的结束为________ (A) 15 16 (B) 15 6 (C) 15 15 (D) 5 6 56. 以下程序的输出结果是____B____。

Dim var1 Dim var2 Dim var3 Var1=”Hello” Var2=”World!”

var3=var1 &” ” & var2 var1=10 var2=20

msgbox var1+var2

(A)Hello World! (B) 30 (C) 1020 (D)hello world 57. 设a=3,b=5 , 则以下表达式值为真的是____B____。

- 36 -

(A)a>=b And b>10 (B)(a>b) Or (b>0)

(C) (a<0) Eqv (b>0) (D) (-3+5>a) And (b>0)

二. 填空题

1. 在VB中,1234、123456&、1.2346E + 5、1.2346D + 5四个常数分别表示整型、长整型、单精度、双精度类型。

2. 整型变量x中存放了一个两位数,要将两位数变换位置,例如,13变成31,实现的表

达式是(x mod 10)*10+x\\10。

x?e3?ln3x)(的3. 数学表达式sin15?|x?y|?VB算术表达式为

sin(15*3.14/180)+sqr(x+exp(3))/abs(x-y)-log(3*x)。 4. 数学表达式

a?b 的VB算术表达式为(a+b)/(1/(c+5)-(1/2)*c*d)。

11?cdc?525. 表示x是5的倍数或是9的倍数的逻辑表达式为x mod 5=0 or x mod 9=0。

6. 已知a = 3.5,b = 5.0,c = 2.5,d = True,则表达式:a > = 0 AND a + c > b + 3 OR NOT d

的值是0 或False。

7. Int(– 3.5)、Int(3.5)、Fix(– 3.5)、Fix(3.5)、Round(– 3.5)、Round(3.5)的值分别是-4、3、-3、3、-4、4。

8. 表达式Ucase(Mid("abcdefgh",3,4) )的值是CDEF。

9. 在直角坐标系中,(x,y)是坐标系中任意点的位置,用x与y表示在第一或第三象限的表

达式是x>0 and y>0 or x<0 and y<0。

10. 要以××××年××月××日形式显示当前机器内的日期的Format函数表达式为

Format(Date, \。

11. 计算已进入21世纪有多少天的函数表达式是________。

12. 计算离你毕业(假定毕业年月为2010年7月3日)还有多少个星期的函数表达式是

________。

13.下面程序的运行结果为_____8____。

X=-2.3 Y=125

Z=Len(Str$(x)+Str$(y)) Print z

14. 下列程序的运行结果为____-9____。

A=”1” B=”2”

A=Val(A)+Val(B) B=Val(“12”)

If A<>B Then Print A-B Else Print B-A

15. 假设变量 intVar 为一个整型变量,则执行赋值语句 intVar=”2”+3之后,变量intVar的值___5___;执行赋值语句intVar=“2”+“3”之后,变量intVar的值是___23____。 16.Visual Basic 中,允许一个变量未加定义直接使用,这样Visual Basic即把它当作变体型类型的变量,若使用Dim语句定义这种类型的变量,则在As后面应使用variant关键字。

- 37 -

17.设a=10, b=9, c=8, 则执行以下两条语句后,变量b的值是_____0___。

a=CInt(b/(10/(c/2))) b=c mod a

18.执行以下程序段后,输出结果是____10____。

a$=”ABCDEFGH” b=Len(Mid$(a$,5))

c= Len(Left$(a$,3))+ Len(right$(a$,3)) Print b+c

19.执行以下程序段后,变量e$的值是____43____。

a$=”3”:b$=”5”

c=Val(a$)+Val(b$) d=Val(a$+b$) e=c+d

20. 执行以下程序段后,变量b$的值是shanghai。

a$=”BeijingShanghai”

b$=Mid(a$,Instr(a$,”g”)+1)

21.执行以下程序后,输出结果是true。

X=10 Y=20 Z=30

Print not x>y or z=x+y and z>y

22.运行以下程序段后,输出结果为____8____。

a=4:b=2

Print a*(a-b)

第三章 选择结构程序设计

一. 选择题

1. VB提供了结构化程序设计的三种基本结构,三种基本结构是____D____。 (A) 递归结构、选择结构、循环结构 (B) 选择结构、过程结构、顺序结构

(C) 过程结构、输入、输出结构、转响结构 (D) 选择结构、循环结构、顺序结构

2. 结构化程序由三种基本结构组成,下面属于三种结构之一的是____B____。

(A)递归结构 (B)选择结构 (C)过程结构 (D)输入、输出结构 3. 下面程序段运行后,显示的结果是____A____。 Dim x

If x Then Print x Else Print x + 1

(A)1 (B)0 (C)(1 (D)显示出错信息 4. 语句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为关系表达式

- 38 -

5. 用If语句表示分段函数f(x)???x?1,?x?3,2x?1x?1 下列不正确的程序段是____A___。

(A)If x > = 1 Then f = sqr(x + 1) (B)If x > = 1 Then f = sqr(x + 1)

f = x * x + 3 If x < 1 Then f = x * x + 3 (C)If x > = 1 Then f = sqr(x + 1)___ (D)If x < 1 Then f = x * x + 3___ Else f = x * x + 3 Else f = sqr(x + 1)

?0,?1,?6. 计算分段函数y???2,??3,x?00?x?11?x?2x?2 的值。 下面程序段正确的是____D____。

(A)If x < 0 Then y = 0 (B)If x > = 2 Then y = 3

If x < 1 Then y = 1 If x > = 1 Then y = 2 If x < 2 Then y = 2 If x > 0 Then y = 1 If x > = 2 Then y = 3 If x < 0 Then y = 0 (C)If x < 0 Then (D)If x > = 2 Then y = 0 y = 3

ElseIf x > 0 Then ElseIf x > = 1 Then y = 1 y = 2

ElseIf x > 1 Then ElseIf x > = 0 Then y = 2 y = 1

Else Else y = 3 y = 0 End If End If 7. 下面程序段,显示的结果是____A____。 Dim x

x = Int(Rnd) + 5 Select Case x Case 5

Print"优秀" Case 4

Print"良好" Case 3

Print"通过" Case Else

Print"不通过" End Select

(A)优秀 (B)良好 (C)通过 (D)不能过

8. 下面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

- 39 -

(D) If sex ="男"And age < 40 And duty ="教授"And duty"副教授"Then n = n + 1 9. 下面程序段求两个数中的大数,____D____不正确。

(A)Max = If(x > y,x,y) (B)If x > y Then Max = x Else Max = y (C)Max = x (D)If y > = x Then Max = y If y > = x Then Max = y Max = x 10. 下面语句执行后,变量W中的值是________。

W = Choose(Weekday("2000,5,1"),"Red","Green","Blue","Yellow") (A)"Blue" (B)"Red" (C)"Green" (D)"Yellow" 11. 以下不正确的单行结构条件语句是____D____。

(A) If x>y Then Print “x>y” (B) If x Then t=t*x

(C) If x Mod 3 = 2 then ? x (D) If x<0 Then y=2*x-1 : print 12. 给定程序段: Dim a As Integer, b As Integer, c As Integer

a = 1 : b = 2 : c = 3

If a = c-b Then Print “ ##### ” Else Print “ ***** ”

以上程序____C____。

(A) 没有输出 (B) 有语法错 (C) 输出##### (D) 输出***** 13.下列Case语句中正确的是____C____。

(A) Select Case x (B) Select Case x

Case 1 Or 3 Or 5 Case 1, 3, 5 Y = x*x – 1 y = 2*x – 1 Case Is > 10 Case Is x <= 1 Y = x + 1 y = 2*x + 1 End Select End Select

(C) Select Case x (D) Select Case x

Case Is <= 0 Case x>=1 And x <= 5 Y = x – 1 y = x – 1 Case Is > 0 Case Is > 10 Y = Sqr(x) + 1 y = x*x + 1 End Select End Select 14. 有程序段: I% = 10 : Sum = 0 If I >1 Then Sum = Sum + I I = I – 1 End if

Print Sum 执行之后屏幕上____B____。

(A) 无显示 (B) 显示 10 (C) 显示 54 (D) 显示 55 15.有如下程序

total=0

For k=1 To 3 If k>=1 Then Part=1

ElseIf k>=2 Then Part=2

- 40 -

x End If ElseIf k>=3 Then Part=3 Else part=4 End If

Print part; total=total+part Next k Print total

运行时的输出结果是____C____

(A)3 3 3 9 (B)3 2 1 6 (C)1 1 1 3 (D)1 2 3 6 16.下列程序的执行结果是____A____

a=75

If a>90 Then i=4 Ifa>80 Then i=3 If a>70 Then i=2 If a>60 Then i=1 Print”i=”;i

(A)i=1 (B)i=2 (C)i=3 (D)i=4 17.有如下程序:

x=InputBox(“input value of x:”) Select Case x Case Is>0 y=y+1 Case Is=0 y=x+2 Case Else y=x+3 End Select Print x;y

运行时,从键盘输入-5,输出的结果是____A____ (A)-5 -2 (B)-5 -4 (C)-5 -3 (D)-5 -5 18.设a=6,则执行IIf(a>5,-1,0)后,x的值为________

(A)5 (B)6 (C)0 (D)-1 19.下列程序输出的结果为____C____。

Privrate Sub Commandl_Click() Dim a As Boolean A=Ture

If a Then Goto 11 Else Goto 22 11:

Print “VB” 22:

Print”VC” End Sub

(A)VB (B)VC (C)VB VC (D)出错信息

- 41 -

20.在窗体上画一个名为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1-Click () x=6

If x>6 Then Print \Else

If x<8 Then Print \Else

If x= 6 Then Print \EndIf End If End If End Sub

程序运行后,单击命令按钮,输出的结果是____A____。 (A) x<8 (B) x=6 (C) x<8x=6 (D) x<8或x=6 二. 填空题

1. 下面程序运行后输出的结果是____7____。 x = Int(Rnd) + 3

If x^2 > 8 Then y = x^2 + 1 If x^2 = 9 Then y = x^2 – 2

If x^2 < 8 Then y = x^3 Print y

2. 下面程序的功能是________。 Dim n%,m%

Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then

If IsNumeric(Text1.Text) Then Select Case Text1.Text Mod 2 Case 0

n = n + Text1.Text Case 1

m = m + Text1.Text End Select End If

Text1.Text = "" Text1.SetFocus End If End Sub

3. 下面的程序段是检查输入的算术表达式中圆括号是否配对,并显示相应的结果。本程序

在文本框输入表达式,边输入,边统计,以输入回车符作为表达式输入结束,然后显示结果。

Dim count1%

- 42 -

Private Sub Text1_KeyPress(KeyAscii As Integer) If ________ = "("Then count1 = count1 + 1

ElseIf ________ = ") "Then ________ Else If

If KeyAscii = 13 Then If ________ Then

Print"左右括号配对" ElseIf ________ Then

Print"左括号多于右括号";count1; "个" Else

Print"右括号多于左括号"; – count1; "个" End If End If End Sub

注意:该题中统计括号个数的变量count1在通用声明段声明,若在Text1_KeyPress内声明,程序会产生什么结果?

4. 输入文本框中若干字符,统计有多少个元音字母、有多少个其他字母,直到按Enter键

结束,并显示结果,大小写不区分。其中CountY中放元音字母个数,CountC中放其他字符数。

Dim CountY%,CountC%

Private Sub Text1_KeyPress(KeyAscii As Integer) Dim C$

C = ________

If "A"< = C And C < = "Z"Then Select Case ________ Case ________

CountY = CountY + 1 Case ________

CountC = CountC + 1 End Select End If

If ________ Then

Print"元音字母有"; "个" Print"其他字母有"; "个" End If End Sub

5.以下程序段对应的函数表达式是______

x=InputBox (\x=Clnt(x) Select Case x Case Is<=O y=O

- 43 -

Case Is<=10 y=5+2*x Case Is<=15 y=x-5

Case 1s>15 y=O

End Select

三. 编程题

1. 输入三角形的三条边a、b、c的值,根据其数值,判断能否构成三角形。若能,还要显示三角形的性质:等边三角形、等腰三角形、直角三角形、任意三角形。

2. 输入一年份,判断它是否为闰年,并显示有关信息。判断闰年的条件是:年份能被4整除但不能被100整除,或者能400整除。

3. 已知软件学院入学测试计分情况为:数学(math)满分50分;计算机(computer)满分100分;外语6级(lang6)为“优秀”加15分、“通过”加8 分,外语4级(lang4)为“合格”加6分,外语只能计一次最高的分数。利用InputBox输入一个学生的对应课程的成绩,编写计算考试总分(sum)的程序段。注:括号内为对应课程的变量名。

4. 求方程 ax2?bx?c?0的根。 5. 任给3个实数,求中间数。

第四章 循环结构程序设计

一. 选择题

1. 以下________是正确的For?Next结构。

(A)For x = 1 To Step 10 (B)For x = 3 To – 3 Step – 3 ? ? Next x Next x

(C)For x = 1 To Step 10 (D)For x = 3 To 10 Step 3 re : ? ? Next x Next y If i = 10 Then GoTo re

2. 下列循环语句能正常结束循环的是________。

(A)i = 5 (B)i = 1 Do Do

i = i + 1 i = i + 2

Loop Until i < 0 Loop Until i = 10 (C)i = 10 (D)i = 6 Do Do

i = i – 1 i = i – 2

Loop Until i < 0 Loop Until i = 1 3. 下面程序段的运行结果为________。 For i = 3 To 1 Step – 1 Print Spc(5 – i);

- 44 -

For j = 1 To 2 * i – 1 Print"*"; Next j Print Next i

(A) * (B)* * * * * (C)* * * * * (D)* * * * * * * * * * * * * * * * * * * * * * * * * 4. 下列程序当在文本框输入“ABCD”四个字符时,窗体上显示的是________。 Private Sub Text1_Change( ) Print Text1.Text; End Sub

(A)ABCD (B)A B C D (C)AABABCABCD (D)A AB ABC ABCD

5. 哪个程序段不能分别正确显示1!、2!、3!、4!的值________。 (A)For i = 1 To 4 (B)For i = 1 To 4 n = 1 For j = 1 To i For j = 1 To i n = 1 n = n * j n = n * j Next j Next j Print n Print n Next i Next i (C)n = 1 (D)n = 1 For j = 1 To 4 j = 1

n = n * j Do While j < = 4 print n n = n * j Next j Print n j = j + 1 Loop 6.有程序段: x% = 2

Do While x < 8 Print “ * ” ; X = x + 2 Loop

执行后的输出结果是________。

(A) * (B) ** (C) *** (D) **** 7.有程序段: Dim K% K = 5

- 45 -

Do Until K = 0 K = K – 1 Loop

执行循环体的次数是( )。

(A) 一次也不执行 (B) 一次 (C) 五次 (D) 无限次 8.下面描述中错误的是________。

(A) 执行Do until <条件> … loop 语句中,当〈条件〉为false 时,结束循环体的执行。 (B) 执行While <条件> … Wend 语句时,循环体可能一次也不执行。 (C) Do … loop While<条件> 语句的循环体可能一次也不执行。

(D) 执行Do … loop Until<条件> 语句中,当〈条件〉为true 时,结束循环体的执行。 9. 下面程序段中循环语句的循环次数是________。

For x = 10 To 1 Step –3 Print x Next x

(A) 0 (B) 4 (C) 5 (D) 10

10. 执行语句 For I = 1 to 3 : I = I+1 : Next I 后变量I 的值是________。 (A) 3 (B) 4 (C) 5 (D) 6 11. 下列程序段执行后输出的结果是________。

For I=1 To 2 S = 1

For j = 0 To I – 1 S = S + S * j Next j Print S, Next I

(A) 1 1 (B) 1 2 (C) 2 1 (D) 2 2

12. 在窗体上画两个名称为text1、text2的文本框和一个名称为command1的命令按钮,然

后编写如下事件过程:

Private sub command1-click()

Dim x as integer ,n as integer X=1 N=0

Do while x <20 X=x*3 N=n+1 Loop

Text1.text=str(x) Text2.text=str(n) End sub

程序运行后,单击命令按钮。在两个文本框中显示的值分别是________ (A)9和2 (B)27和3

- 46 -

(C)195和3 (D)600和4 13. 设有以下程序

Private Sub Command1-Click()

Dim sum As Double, x As Double Sum=0 N=0

For i=1 to 5 x=n / i n=n+1

sum=sum+x Next End Sub

该程序通过For循环计算一个表达式的值,这个表达式是________

(A)1+1/2+2/3+3/4+4/5 (B)1+1/2+2/3+3/4 (C)1/2+2/3+3/4+4/5 (D)1+1/2+1/3+1/4+1/5

14. 在窗体上画一个名称为Command1 的命令按钮,一个名称为Label1 的标签,然后编写如下事件过程:

Private Sub Command1-Click() S=0

For i=1 To 15 X=2*i-1

If x Mod 3=0 Then s=s+1 Next i

Label1.Caption=s End Sub

程序运行后单击命令按钮,则标签中显示的内容是________。 (A)1 (B)5 (C)27 (D)45 15. 下列程序段执行的结果为________ K=0

For J=1 To 2 For I=1 To 3 K=I+1 Next I

For I=1 To 7 K=K+1 Next I Next J Print K

(A)10 (B)6 (C)11 (D)16

16. 在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:

Privrate Sub Commandl_Click() X=0

N=InputBox(“”) For i=1 To n

- 47 -

no As Integer no As Integer

name As String * 10 name As String * 10 mark(1 To 3)As Single mark(1 To 3)As String End Type End Type

14.为了使用上述定义的记录类型,对一个学生的各数据项通过赋值语句获得,其值分别为9801、”李平”、78、88、96,下列________程序段正确。

(A)Dim S As stud (B)Dim S As stud stud.no = 9801 S.no = 9801

stud.name ="李平" S.name ="李平" stud.mark = 78,88,96 S.mark = 78,88,96 (C)Dim S As stud (D)Dim S As stud s.no = 9801 stud.no = 9801

s.name = "李平" stud.name = "李平" s.mark = 78,88,96 stud.mark = 78,88,96 s.mark(1) = 78 stud.mark(1) = 78 s.mark(2) = 88 stud.mark(2) = 88 s.mark(3) = 96 stud.mark(3) = 96

15.对已定义好的学生记录类型,要在内存存放10个学生的学习情况,如下数组声明: Dim s10(1 to 10) As Stud

要表示第3个学生的第3门课程和该生的姓名,________正确。

(A) s10(3).mark(3), s10(3).Name (B) s3.mark(3),s3.Name

(C) s10(3).mark,s10(3).Name (D) With s10(3) .mark .Name End With

16.要建立一个学生成绩的随机文件,文件名为"stud.dat",该文件就由以上第14题赋了值的一条记录组成,下列程序段________正确。 (A)Open "stud.dat"For Random As # 1 Put # 1,1 , stud Close # 1

(B)Open "stud.dat"For Random As # 1 Len = len(s) Put # 1,1 , s Close # 1

(C)Open "stud.dat"For Output As # 1 Put # 1,1 , s Close # 1

(D)Open "stud.dat"For Random As # 1 Put # 1 s Close # 1

17. 若以读的方式打开顺序文件“d:\\file1.dat”,则正确的语句是________。

(A) Open “d:\\file.dat” For Output As #1 (B) Open “d:\\file.dat” For Input As #1

(C) Open “d:\\file.dat” For Binary As #1 (D) Open “d:\\file.dat” For Random As #1

- 73 -

18. 判断顺序文件中的数据是否读完,应使用________函数。 (A) LOF (B) LOC (C) EOF (D) FreeFile

19. 若要从1号的随机文件中读取数据,使用的语句为________。 (A) Print #1,r (B) Write #1,r (C) Put #1,r (D) Get #1,r 20. 改变驱动器列表框的Drive属性将引发________事件。 (A) Load (B) Click (C) Pattern change (D) Change 21. 目录列表框和文件列表框都有________属性。 (A) List (B) Value (C) Path (D) Pattern

22. 文件列表框FileListBox用于设置或返回文件类型的属性是________。 (A) Drive (B) Path (C) Pattern (D) FileTitle 23. 下列以读方式打开顺序文件的模式是________。 (A) Output (B) Input (C) Random (D) Binary

24.为了把一个记录型变量的内容写入文件中指定的位置,所使用的语句的格式为

________。

(A) Get文件号,记录号,变量名 (B) Get文件号,变量名,记录号 (C) Put文件号,变量名,记录号 (D) Put文件号,记录号,变量名 25.设有语句Open\

则以下错误的叙述是________。

(A)该语句打开C:盘根目录下一个己存在的文件Test.Dat (B)该语句在C:盘根目录下建立一个名为Test.Dat (C)该语句建立的文件号为1

(D)执行该语句后,就可以通过Print 语句向文件Test.Dat中写入信息 26.设置或返回当前要操作的驱动器使用的属性为________。

(A) Value (B) List (C) pattern (D) Drive 27.下列属性中,目录列表框和文件列表框都有的属性为________。

(A) List (B) Path (C) Value (D) Pattern 28.在程序中,如果执行Close命令,则其作用是________。

(A)关闭当前正在使用的一个文件 (B)关闭第一个打开文件

(C)关闭最近一次打开的文件 (D)关闭所有已经打开的文件 二. 填空题

1. 顺序文件的建立。建立文件名为"c:\\stud1.txt"的顺序文件,内容来自文本框,每按Enter

键写入一条记录,然后清除文本框的内容,直到文本框内输入“END”字符串。 Private Sub Form_Load( ) ________ End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If ________ Then Close # 1 End Else

________

Text1. SelText = ""

- 74 -

End If End If End Sub

2. 将C盘根目录下的一个文本文件old.dat复制到新文件new.dat中,并利用文件操作语句

将old.dat文件从磁盘上删除。 Private Sub Command1_Click( ) Dim str1 $

Open"c: \\ old.dat"________ As # 1 Open"c: \\ new.dat"________ Do While ________ ________ Print # 2,str1 Loop ________ ________ End Sub

3. 文本文件合并。将文本文件"ttxt"合并到"t1.txt"文件中 Private Sub Command1_Click ( ) Dim s $

Open"t1.txt"________ Open"ttxt"________ Do While Not EOF(2) Line Input # 2 , s Print # 1 , s Loop

Close # 1,# 2 End Sub

4. 随机文件的修改。对已建立的有若干条记录的文件名为"c: \\ stud.dat"的随机文件,记

录类型见本章选择题中第13题正确的结构。要读出记录号为5的那条记录,显示在窗体上,然后将其第2门课程的成绩加5分,再写入原记录的位置,再读出,显示修改成功与否。

Private Sub Command1_Click( ) Dim s As stud,________

Open "c: \\ stud.dat"For Random As # 1 Len = len(s) ________

Print s.no,name,s.mark(1) ,s.mark(2),s.mark(3) ________ Put # 1,5,s ________

Print d.no,d.name,d.mark(1) ,d.mark(2) ,d.mark(3) Close # 1 End Sub

5. 顺序文件的修改。磁盘文本文件"c:\\my\\zg.dat"存放了职工的工资和职称情况,每条记

录由工号工资职称组成,之间用逗号分隔。现对有职称的职工加工资,规定"教授"或"

- 75 -

副教授"加原来工资的 15%,"讲师"加原来工资的10%,"助教"加原来工资的5%,其他人员不加工资。本程序要求根据加工资的条件修改原来文本文件内各类人员的相应工资。 分析:

由于文本文件不能直接进行修改,只能增加一个临时文件,依次从老文件读出内容,判断是否满足要修改的条件,若不修改,则将原来内容写到临时文件中;若修改,则将新内容写入临时文件中,直到文件结束。

然后通过临时文件将内容重新依次写回到老文件;当然也可通过VB提供的文件操作命令,删除老文件,将临时文件名改名为老文件或将临时文件复制为老文件。

由此可见顺序文件修改某一条记录比较麻烦,但适合于批量数据的整体修改或处理。 Private Sub Command1_Click( ) Dim no%, gz !,zc $

Open"c: \\ my \\ zg.dat"For Input As # 1 Open"c: \\ my \\ lszg.dat"For output As # 2 Do While Not EOF(1) ________ Select Case zc ________

gz = gz * 1.15 Case"讲师" ________ Case"助教" gz = gz * 1.05 End Select ________

Loop

Close # 1, # 2

Open"c: \\ my \\ zg.dat"________ Open"c: \\ my \\ lszg.dat"________ Do While Not EOF(2) Input # 2, no, gz, zc ________ Loop

Close # 1, # 2 End Sub

6. 统计文本文件中各个字母出现的个数(大小写不区分),存放在S字符串数组中,统计

结果在窗体上显示出现过的字母和出现的次数。要求:

(1) 统计的文件名通过文件列表框获得,文件列表框的名称为File1,文件列表框仅

显示扩展名为.txt的文件。

(2) 当双击文件列表框的某选中的文件时,将文件内容全部读入文本框,然后对其

进行统计。界面如图所示。

- 76 -

Private Sub Drive1_Change( ) Dir1.Path = Drive1.Drive End Sub

Private Sub Dir1_Change( ) File1.Path = Dir1.Path End Sub

Private Sub File1_DblClick( )

Dim s %(1 To 26),i %,C $,j%,fname $ For i = 1 To 26 s(i)________ Next i

If Right(File1.Path,1)="\\"Then

Fname = File1.Path+File1.FileName Else

Fname = ________ End If

Label1 = "选中的文件名"+fname Open fname For Input As # 1 Text.Text = ________

For j = 1 To Len(Text1.Text) C = ________

If C > = "A"And C < = "Z"Then i = ________ s(i) = s(i)+1 End If Next j

Print"出现的字母及个数" For i = 1 To 26 If ________ Next i End Sub

7. 将任一整数插入递增次序的数组a中,使数组仍有序。数组a各元素的值从C盘根目录,

文件名为 data.txt中读取,各数据项间以逗号分隔。

- 77 -

For j=1 To i X=x+1 Next j Next i Print x End Sub

程序运行后,单击命令按钮,如果输入3,则在窗体上显示的内容是________。 (A)3 (B)4 (C)5 (D)6 17.以下能够正确计算n!的程序是________。

(A) Private Sub Command1-Click() N=5:x=1 Do

X=x*1 I=i+1

Loop While i

(B) Private Sub Command1-Click() N=5:x=1:i=1 Do

X=x*i I=i+1

Loop While i

(C) Private Sub Command1-Click() N=5:x=1:i=1 Do

X=x*i I=i+1

Loop While i<=n Print x End Sub

(D) Private Sub Command1-Click() N=5:x=1:i=1 Do

X=x*i I=i+1

Loop While i>n Print x End Sub

18.下列程序的运行结果是________。

s=O:t=O:u=O For x=1 To 3

- 48 -

For y=1 To x For z=y To 3 s=s+1 Next z t=t+1 Next y u=u+1 Next x

Print s;t;u

(A) 3 6 14 (B) 14 6 3 (C) 14 3 6 (D) 16 4 3 二. 填空题

1. 要使下列For语句循环执行20次,循环变量的初值应当是: For k = ________ To – 5 Step – 2 2. 下面程序段要显示________个“*”。 For i = 1 To 5 For j = 2 To i Print"*"; Next j Next i

3. 下列第40句共执行了________次,第41句共执行了________次。

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

4. 以下程序运行后,si、sj、sk、i、j、k的结果分别是________、________、________、

________、________、________。 Private Sub Command1_Click si = 0 ; sj = 0 For i = 1 To 2 For j = 1 To i sk = 0

For k = j To 3 sk = sk + 1 Next k sj = sj + 1 Next j si = si + 1 Next i

Print si,sj,sk,i,j,k End Sub

5. 下面程序运行后输出的结果是________。 Private Sub Command1_Click( ) For i = 0 To 3

- 49 -

Print Tab(5 * i + 1);"2" + i;"2" & i; Next i End Sub

6. 下面程序运行后输出的结果是________。 Private Sub Command1_Click( ) 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 End Sub

7. 执行下面程序,打印的结果是________。 Option Explicit

Private Sub Form_Click( )

Dim i As Integer,j As Integer j = 10

For i = 1 To j step 2 i = i + 1 j = j – i Next i Print i,j End Sub

8. 输入任意长度的字符串,要求将字符顺序倒置,例如,将输入的"ABCDEFG"变换成"

GFEDCBA"。

Private Sub Command1_Click( ) Dim a$,I$,c$,d$

a = InputBox$("输入字符串") n = ________

For i = 1 To ________ c = Mid(a,i,1)

Mid(a,i,1) = ________ ________ = c Next i Print a End Sub

9. 找出被3、5、7除,余数为1的最小的5个正整数。 Private Sub Command1_Click( ) Dim CountN%,n% CountN = 0 n = 1

- 50 -

Do

n = n + 1

If ________ Then Print n

CountN = CountN + 1 End If

Loop ________ End Sub

10. 某次大奖赛,有七个评委打分,如下程序对一名参赛者,输入七个评委的打分分数,去

掉一个最高分、一个最低分后,求出平均分为该参赛者的得分。 Private Sub Command_Click( )

Dim mark!,aver!,i%,max1!,min1! aver = 0

For i = 1 To 7

mark = InputBox("输入第"& i &"位评委的打分") If i = 1 Then

max1 = mark: ________ Else

If mark < min1 Then ________

ElseIf mark > max1 Then ________ End If End If ________ Next i

aver = ________ Print aver End Sub

11. 由键盘输入一个正整数,找出大于或等于该数的第一个质数。 Private Sub Command_Click( ) Dim m%,x%,Tag As Boolean Tag = False

x = InputBox("输入正整数") Do While Not Tag

m = 2 : Tag = ________ Do While Tag And (m<(x \\ 2) )

If x Mod m = 0 Then ________ Else ________ Loop

If Not Tag Then x = x + 1 Loop Print x End Sub

12. 将一个正整数分解为质因数相乘。例如,234 = 2 * 3 * 3 * 13。

- 51 -

Private Sub Command1_Click( ) Dim n%,Factor%,First As Boolean n = InputBox("输入一个正整数") Factor = 2 First = True Do

Do While ________ `内循环考虑到有多个相同的质因数 If First Then

Print n;"=";Factor Else

Print"*";Factor End If ________ First = False Loop

Factor = Factor + 1 Loop Until Factor > n

End Sub

13. 以下程序的功能是:生成20个200—300之间的随机整数,输出其中能被5整除的数并求出它们的和。请填空。

Private Sub Cornrnand1_Click() For i=l To 20

x=Int(Rnd*200+100) If ______ Then Print x S=S+x End If Next i

Print \End Sub

14.在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程:

Private Sub commandl- Click () a=1: b=a

Do Until a>=5 X=a*b

Print Str(a) &\a=a+b b=b+a Loop Print e End Sub

程序运行后,单击命令按钮,输出结果为 三. 编程题

1. 有一长阶梯,如果每步跨2阶最后剩1阶,如果每步跨3阶最后剩2阶,如果每步跨4

- 52 -

2.

3. 4. 5.

阶最后剩3阶,如果每步跨5阶最后剩4阶,如果每步跨6阶最后剩5阶,只有如果每步跨7阶时恰好走完,问这个阶梯有多少阶。

提示:利用其肯定是7的倍数这个条件,然后根据同时满足除n项余m(n = 2,3,4,5,6; m = 1,2,3,4,5)的逻辑关系即可。

一个球从100 m高度自由下落,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少米?落地10次反弹高度多少? 提示:解题思路参照配套教材中猴子吃桃问题。 输出100~200之间不能被3整除的数。 求 n!(即输入n值,求出其阶乘)

第五章 数 组

一. 选择题

1. 如下数组声明语句,_________正确。

(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

?1.12.23.3???2. 要分配存放如下方阵的数据,4.45.56.6 ????7.78.89.9??可使用数组声明语句_________来实现(不能浪费空间)。

(A)Dim a (9) As Single (B)Dim a (3,3) As Single

(C)Dim a (- 1 To 1 , -5 To - 3) As Single (D)Dim a (- 3 To - 1 , 5 To 7) As Single 3. 如下数组声明语句中,数组a包含元素的个数为_________。 Dim a (3, -2 to 2,5)

(A)120 (B)75 (C)60 (D)13 4. 以下程序输出的结果是_________。 Dim a

a = Array (1,2,3,4,5,6,7)

For i = Lbound (a) To Ubound (a) a(i) = a(i) * a(i) Next i Print a(i)

(A)49 (B)0 (C)不确定 (D)程序出错 5. 以下程序输出的结果是_________。 Option Base 1

Private Sub Command1_Click( ) Dim a%(3,3) For i = 1 To 3 For j = 1 To 3

If j > 1 And i >1 Then

a(i,j) = a(i-1,j-1),a(i,j-1) ) + 1 Else

- 53 -

a(i,j) = i * j End If

Print a(i,j);""; Next j Print Next i End Sub

(A)1 2 3 (B)1 2 3 (C) 1 2 3 (D)1 1 1 2 3 1 1 2 3 2 4 6 2 2 2 3 2 3 1 2 3 3 6 9 3 3 3 6. 以下程序输出的结果是_________。 Option Base 1

Private Sub Command1_Click( ) Dim a,b (3,3)

a = Arrary(1,2,3,4,5,6,7,8,9) For i = 1 To 3 For j = 1 To 3 b(i,j) = a(i * j)

If (j > = i) Then Print Tab(j * 3) ; format(b(i,j),"###"); Next j Print Next i End Sub

(A)1 2 3 (B)1 (C)1 4 7 (D)1 2 3 4 5 6 4 5 2 4 6 4 6 7 8 9 7 8 9 3 6 9 9 7. 下列一维数组说明语句错误的是_________。

(A) Dim b(100) As Double (B) Dim b(-5 To 0) As Byte (C) Dim b(-10 to –20 ) As Integer (D) Dim b(5 to 5) As String

8. 若有数组说明语句为Dim a(-3 to 8) , 则数组a包含元素的个数是_________。 (A) 5 (B) 8 (C) 11 (D) 12

9. 设有数组说明语句Dim c(1 to 10) , 则下面表示数组c的元素选项中_________是错误的。 (A) c(I - 1) (B) c(5+0.5) (C) c(0) (D) c(10) 10. 下列数组说明语句中正确的是_________。

(A) Dim a(-1 to 5,8) As String (B) Dim a(n,n) As Integer

(C) Dim a(0 to 8,5 to -1 ) As Single (D) Dim a(10 to -10) As Double 11. 设有数组说明语句Dim b(2, 2) , 则数组b中元素的个数是_________。 (A) 9 (B) 4 (C) 16 (D) 20

12. 若有数组说明语句Dim a( ) As Integer, 则数组a被定义为_________。 (A) 定长数组 (B) 可调数组 (C) 静态数组 (D) 可变类型数组

13. 若有数组说明语句Dim t(1 to 10 ) As Variant, 则数组t被定义为_________。 (A) 数值数组 (B) 可调数组 (C) 字符串数组 (D) 可变类型数组 14.在窗体上画一个命令按钮,其名称为Command1,然后编写程序如下代码:

Option Base 1

- 54 -

Private Sub Command1-Click () Dim a

A=Array (1,2,3,4) j=1

For i=4 to 1 Step -1 s=a (i)*j Print s; Next i End Sub

程序运行后,单击命令按钮,其输出结果是_________

(A)4321 (B)1 (C)34 (D)1234 15.在窗体上画一个命令按钮,然后编写如下程序:

Option Base 1

Private Sub command1_Click() Dim arr(4, 4) For i = 1 To 4 For J = 1 To 4

arr(i, J) = (i - l) * 3 + J Next J Next i

For i = 1 To 2 For J = 1 To 2 Print arr(i, J); Next J Print Next i End Sub

程序运行后,单击命令按钮,输出结果是_________。

(A) 3 4 (B) 7 8 (C) 4 5 D) 4 5 6 7 10 12 7 8 6 7

16. 在窗体上画一个命令按钮,然后编写如下事件过程:

Private Sub Command1_Click() Dim a( )

a=Array(1,3,5,7) s=0

For i=0 To 3 s=s*10+a(i) next i print s End Sub

程序运行后,输出结果为_________ (A)1357 (B)357 (C)7531 (D)753

- 55 -

17.以下哪一项是 Visual Basic 合法的数组元素_________

(A)X9 (B)X[4] (C)x(1,5) (D)x{7}

18.在窗体上画一个名称为Text1的文本框和个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click( )

Dim array1(10,10) as integer Dim i , j As integer For i=1 to 3 For j=2 to 4

array(i , j)=i+j Next i

Text1.text=array1(2,3) + array1(3,4) End Sub

程序运行后,单击命令按钮,在文本框中显示的值是_________ (A)12 (B)13 (C)14 (D)15

19.在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:

Private Sub Command1_click() Dim i As integer, j As integer Dim a(10,10) as integer For i=1 to 3 For j=1 to 3

a(i,j)=(i-1)*3+j print a(i,j); Next j Print Next i End Sub

程序运行后,单击命令按钮,窗体上显示的是_________ (A) 123 (B) 234 246 245 369 456 (C) 147 (D) 123 258 456 369 789

20.在窗体上画3个单选按钮,组成一个名为chkOption的控件数组,用于标识各个控件数组元素的参数是_________。

(A)Tag (B) index (C)listindex (D) Name

21. 在窗体上画一个命令按钮,名称为Command1,然后编写如下事件过程: Option Base 0

Private Sub Command1_Click() Dim city as variant

City=array(“北京”,”上海”,”天津”,”重庆”) Print city(1)

- 56 -

End sub

程序运行后,如果单击命令按钮,则在窗体上显示的内容是_________ (A)空白 (B)错误提示 (C)北京 (D)上海 二. 填空题

1. 随机产生6位同学和分数(分数范围

1~100),存放在数组a中,以每2分一个“*”显示,如图5.5所示。 Private Sub Command1_Click( ) Dim a(1 To 6) For i = 1 To 6

a(i) = ________ Print ________ Next i End Sub

2. 输出大小可变的正方形图案,如图5. 6所示,最外圈是第一层,要求每层上用的数字

与层数相同。 Option Base 1

Private Sub Form_Click( ) Dim a( )

n = InputBox("输入N") ________

For i = ________ For j = i To n – i +1 For k = i To n – i +1 ________ Next k Next j Next i

For i = 1 To n For j = 1 To n

Print Tab(j * 3);a(i,j); Next j ________ Next i End Sub

提示:从最外层开始往里层填充数,里面层覆盖外面已填过的数据。也就是当i = 1时,填9×9个1,当i = 2,填7×7个2??

3. 在一维数组中利用移位的方法显示如图所示的结果。

Private Sub Form_Click( ) Dim a(1 To 7) For i = 1 To 7

a(i) = i: Print a(i); Next i Print

- 57 -

For i = 1 To 7 t = ________

For j = 6 To 1 Step – 1 ________ Next j ________ For j = 1 To 7 Print a(j); Next j Print Next i End Sub 4. 矩阵相乘。

两个矩阵能相乘的必要条件是:前一个矩阵的列数等于后一个矩阵的行数。例如,已知

A为n×k的矩阵,B为k×m的矩阵,A×B的结果C矩阵为n×m,即Cnm?Ank?Bkm,C中每一个元素Cij??abill?1klj,如下生成A、B矩阵,然后相乘。

?51015?A??,??202530??520??

B??1025????1530?? Option Base 1

Private Sub Command1_Click( )

Dim a%(2,3), b%(3,2), c%(2,2),i%,j%,n% n = 5

For i = 1 To 2 For j = 1 To 3 a(i,j) = n ________ n = n + 5 Next j Next i

For i = 1 To 2 For j = 1 To 2 c(i,j) = 0

For k = 1 To 3 c(i,j) = ________ Next k Print c(i,j), Next j Print Next i

- 58 -

End Sub

5. 下面的程序是将输入的一个数插入到按递减的有序数列中,手稿后使该序列仍有序。 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 ________

m = Val(InputBox("输入欲插入的数") ) For i = Ubound(a) – 1 To 0 Step – 1 If m > = a(i) Then ________

If i = 0 Then a(i) = m Else

________ Exit For End If Next i

For i = 0 To Ubound(a) Print a(i) Next i End Sub

6. 冒泡法排序。

冒泡法排序与选择法排序相似,选择法排序在每一轮排序时找最大(递减次序)数的下标,出了内循球环(一轮排序结束),再交换最大数的位置;而冒泡法排序在每一轮排序时将相邻的数做比较,当次序不对就交换位置,最大数已冒出。 冒泡法递增排序的程序如下:

Private Sub Form_Click( ) Dim a ,n%,j%,i%,t

a = Array(19,5,15,7,11,9,23,6,3,1) n = Ubound(a) For i = 0 To n – 1

For j = 0 To n – i – 1 If a(j) > a(j +1) Then

________ : ________: a(j +1) = t End If Next j Next i

For i =0 to Ubound(a) Print a(i) Next i

End Sub

为了提高效率,若在某一轮排序时,未发生位置变换,说明欲排序的序列已有序,排序就可结束。只要在程序中增加一个逻辑变量来进行判断。程序如下:

Private Sub Forn_Click( )

- 59 -

Dim a,n%,m%,i%,Tag As Boolean a = Array(1,5,6,7,4,13,23,26,31,51) n = Ubound(A) For i = 0 To n – 1 Tag = False

For j = 0 To n –1 – i If a(j) > a(j +1) Then ________

________ : ________ : a(j +1) = t End If Next j

If ________ Next i

For i = 0 To Ubound(a) Print a(i) Next i End Sub

7. 下面程序,随机产生n个-10~10无序的随机数,存放到数组中,并显示结果;将数组中

相同的那些数删得只剩一个,并输出经过删除后的数组元素,见下图。 Option Base 1

Private Sub Form_Click( ) Dim i%,j%,n%,m%,a%( ),r!

n = InputBox("输入数组大小") ReDim a(1 To n)

Print"产生的数组:"; For i = 1 To n r = Rnd

If r > 0.5 Then m = 1 Else m = – 1 a(i) = ________ Print a(i); Next i m = 1

Do While m < = n i = ________ Do While i < = n If a (i) = a(m) Then For j ________ a(j) = a(j +1) Next j ________ Else

i = i + 1 End If Loop

- 60 -

m = m + 1 Loop

ReDim ________ Print

Print"删除后的数组:"; For i = 1 To Ubound(a) Print a(i); Next i End Sub 三. 编程题

1. 自动生成并显示如图所示的数字方阵。

提示:下三角数组的生成关系同杨辉三角,生成下三角后就可利用与下三角对称的关系,生成上三角。

2. 自动生成并显示如图所示的字母方阵。

提示:按照Chr(i + 64) = "A",i = 1 To 8的关系分别得B、C、D??。然后找规律生成数组的其余元素。有以下常用方法:

方法一:先生成第一行,然后通过循环移位以后得到若干行;

方法二:也中一个对称方阵。先生成上三角矩阵,再利用对称的特点,生成其余元素。

3. 用随机数产生5行6列的矩阵,其值为1~100之间的分数,表示5位学生期未6门课程

的成绩。再利用ReDim Preserve重新定义5行7列的矩阵,增加的最右列存放每位学生的最高分数;再定义6个元素的一维数组,存放每门课程的平均分数。计算并按图5.11形式显示。

- 61 -

4.编写程序,建立并输出一个10×10的矩阵,该矩阵两条对角线元素为1,其余元素为零。(n=m和n=11-m)

5.建立一个3×3阶矩阵,各元素由键盘输入,求全部元素的平均值,并输出高于平均值的元素及其下标。

第六章 常用控件

一. 选择题

1.下列控件中,没有Caption属性的是________。

(A)框架 (B)列表框 (C)复选框 (D)单选按钮 2.复选框的Value属性为1时,表示________。

(A)复选框未被选中 (B)复选框被选中 (C)复选框内有灰色的勾 (D)复选框操作有错误 3.用来设置粗体字的属性是________。

(A)FontItalic (B)FontName (C)FontBold (D)FontSize 4.将数据项“China”添加到列表框(List1)中成为第一项应使用________语句。 (A)List1 . AddItem"China",0 (B)List1 . AddItem"China",1 (C)List1 . AddItem 0,"China" (D) List1 . AddItem 1,"China" 5.引用列表框(List1)最后一个数据项应使用________。

(A)List1 . List (List1 . ListCount ) (B)List1.List ( List1 . ListCount-1 ) (C)List1 . List( ListCount ) (D)List1 . List ( ListCount-1 )

6.假如列表框(List1)已有四个数据项,那么把数据项“China”添加到列表框的最后,应使用________语句。 (A)List1.AddItem 3 ,"China" (B)List1.AddItem"China"List1.ListCount-1 (C)List1.AddItem"China", 3 (D)List1.AddItem"China"List1.ListCount 7.执行了下面的程序后,列表框中的数据项有________。 Sub Form_Click( ) For i = 1 To 6

List1 . AddItem i Next

For i = 1 To 3

List1 . RemoveItem i Next End Sub

(A)1,5,6 (B)2,4,6 (C)4,5,6 (D)1,3,5

8.如果列表框(List1)中没有被选中的项目,则执行List1.RemoveItem List1 . ListIndex 语句的结果是________。

(A)移去第一项 (C)移去最后一项 (C)移去最后加入列表框的一项 (D)以上都不对

9.如果列表框(List1)中只有一个项目被用户选定,则执行Debug.Print List1.Selected(List1.ListIndex)语句的结果是________。 (A)在Debug窗口输出被选定的项目的索引值 (B)在Debug窗口输出True

(C)在窗体上输出被选定的项目的索引值

- 62 -

(D)在窗体上输出True

10.假定时钟控件的Interval属性为1000,Enabled属性为True,并且有下面的事件过程,程序结束后变量x的值为________。 dim x as Integer

Sub Timer1_Timer ( ) For i = 1 To 10 x = x + 1 Next i End Sub

(A)1000 (B)10000 (C)10 (D)以上都不对 11.在下列说法中,正确的是________。

(A)通过适当的设置,可以在程序运行期间,让时钟控件显示在窗体上 (B)在列表框中不能进行多项选择

(C)在列表框中能够将项目按字母顺序从大到小排列 (D)框架也有Click和DbClick事件

12.为了防止用户随意将光标置于控件之上,应将进行________设置。 (A)将控件的TabIndex属性设置为0 (B)将控件的TabStop属性设置为True (C)将控件的TabStop属性设置为False (D)将控件的Enabled属性设置为False

13.下列________控件没有Min、Max和Value属性。

(A)Slider (B)ProgressBar (C)UpDown (D)SSTab

14.当Slider控件的Min属性为1,Max的属性为40,TickFrequency属性为4 时,滑标上的可见该度数是________,划分了________等分。

(A)11,10 (B)21,20 (C)31,30 (D)41,40 15.一个UpDown控件与文本框“捆绑”在一起,其Min、Max、Value和Increment分别为0、10、9和3,并且选定了“换行”功能,当用鼠标单击向上的箭头时,文本框中的值应是________。

(A)10 (B)12 (C)0 (D)2 16.下面关于拖放和OLE拖放的叙述中,正确的是________。

(A)只要对控件的属性进行适当的设置,就能将控件从一个地方移到另一个地方 (B)文本框、图片框和列表框完全支持自动OLE拖放

(C)当OLEDropMode属性为1时,控件自动实现OLE“放”操作

(D)当控件的DragMode设置为1时,它不能够接收Click和MouseDown事件 17.在下面关于常用的ActiveX控件的说法中,正确的是________。

(A)在Animation控件中,当用Open方法打开AVI文件后直接自动播放 (B)Slider控件有Scroll和Change事件 (C)UpDown不能与Slider“捆绑” (D)选项卡只可以出现在控件的顶端

18.当用户按下并释放一个键后会触发KeyPress、KeyUp、KeyDown事件,这三个事件发生的顺序是________。

(A)KeyPress、KeyDown、KeyUp (B)KeyDown、KeyUp、KeyPress (C)KeyDown、KeyPress、KeyUp

- 63 -

(D)没有规律

19.窗体的KeyPreview属性为True,并且有下列程序。当焦点在窗体上的文本框时按下“a”键,文本框接收到的字符是________。

Sub Form_KeyDown ( KeyCode As Integer,Shift As Integer ) KeyCode = KeyCode + 1 End Sub

(A)"a" (B)"b " (C)空格 (D)没有接收到字符 20.在下列关于键盘事件的说法中,正确的是________。 (A)按下键盘上的任一个键,都会引发KeyPress事件

(B)大键盘上的“1”键和数字键盘上的“1”键的KeyPress码相同 (C)KeyDown和KeyUp的事件过程中有KeyAscii参数 (D)大键盘上的“4”键的上档字符是“$”,当同时按下Shift和大键盘上的“4”键时,KeyPress事件过程中的KeyAscii参数值是“$”的ASCII值

21.在KeyDown或KeyUp的事件过程中,能用来检查Ctrl和F3是否同时按下的表达式为________。

(A)(Button = vbCtrlMask) And (KeyCode = vbKeyF3) (B)KeyCode = vbKeyControl + vbKeyF3

(C)(KeyCode = vbKeyF3) And (Shift And vbCtrlMask) (D)(Shift And vbCtrlMask) And (KeyCode and vbKeyF3) 22.确保文本框中输入的全是数字的最佳方法是________。 (A)在KeyDown或KeyUp事件过程中摒弃非数字输入 (B)在Validate事件过程中利用IsNumeric (C)在Change事件过程中利用IsNumeric (D)在KeyPress事件过程中摒弃非数字输入

23.当用户将焦点移到另一个应用程序时,当前应用程序和活动窗体将________。 (A)发生DeActivate事件 (B)发生LostFocus事件

(C)发生DeActivate和LostFocus事件 (D)DeActivate和LostFocus事件都不发生

24. 当窗体被装入内存时,系统将自动执行________事件过程。 (A) Load (B) Activate (C) Unload (D) QueryUnload 25. 在标签框上显示的内容由________属性来实现。

(A) Name (B) Caption (C) Text (D) ForeColor

26. 要使标题在标签框内居中显示,Alignment属性的取值应为________。 (A) 0 (B) 1 (C) 2 (D) 3

27. 若使标签框根据所显示内容自动调整其大小,则可通过设置________属性值为True来实现。

(A) AutoSize (B) Alignment (C) Enabled (D) Visible

28. 如果设置文本框最多可以接受的字符数,则可以使用________属性。 (A) Length (B) Multiline (C) Max (D) MaxLength

29. 在运行程序时,要使文本框获得焦点,则需使用________方法。 (A) Chang (B) SetFocus (C) GotFocus (D) Move 30. 下列控件中,有AutoSize属性的是________。

(A) 窗体 (B) 文本框 (C) 图片框 (D) 图像框

- 64 -

31. 若把图片框Picture1中的图形清除,可以使用的语句是________。

(A) Picture1.Del (B) Picture1.Picture=LoadPicture(“”)

(C) Picture1.Picture=LoadPicture( ) (D) Picture1.Picture=Nothing 32. 命令按钮上的文本内容由________属性设置。 (A) Text (B) Caption (C) Name (D) Show

33. 若使命令按钮失效,则可以设置________属性的值为False实现。 (A) Value (B) Enabled (C) Visible (D) Cancel

34. 若要得到列表框中项目的数目,可以访问________属性。 (A) List (B) ListIndex (C) ListCount (D) Text

35. 要想清除列表框的所有项目内容,可以使用________方法。 (A) AddItem (B) ReMove (C) Clear (D) Print 36. 设置计时器的时间间隔,可以通过________属性实现。 (A) Value (B) Text (C) Max (D) InterVal

37. 为了在按下回车键时执行某个命令按钮的事件过程,需要把该命令的一个属性设置为True,这个属性是________

(A) Value (B) Default (C) Cancel (D) Enabled

38. 假定在图片框Picture1中装入一个图形,为了清除该图形(注意,清除图形,而不是删

除图片框),应采勇的正确方法是________ (A) 选择图片框,然后按Del 键

(B) 执行语句 Picture1.Picture=LoadPicture(?? “) (C) 执行语句 Picture1. Picture=“ “

(D) 选择图片框,在属性窗口中选择Picture属性条,然后按回车键 39. 删除列表框中指定的项目所使用的方法为________

(A) Move (B) Remove (C) Clear (D) RemoveItem 40. 单击滚动条上的滚动箭头时,产生的事件是________.

(A)Click (B)Scoll (C)Change (D)Move

41. 要使文本框只具有垂直滚动条,则应该________.

(A)将其Multiline设置为True,同时将Scrollbars属性设置为0 (B)将其Multiline设置为True,同时将Scrollbars属性设置为1 (C) 将其Multiline设置为True,同时将Scrollbars属性设置为2 (D) 将其Multiline设置为True,同时将Scrollbars属性设置为3

42.在窗体上画两个单选按钮,名称分别为Option1.Option2,标题分别为”宋体”和”黑体”;一个复选框,名称为Click1,标题为”粗体\一个文本框,名称Text1,Text属性为”改变文字字体”.要求程序运行时,”宋体”单选按钮和”粗体”复选按钮中,则能够实现上述要求的语句列是________

(A)Option1.Value=Ture (B) Option1.Value=Ture Check1.Value=False Check1.Value=Ture (C) Option1.Value=False (C) Option1.Value=Ture Check1.Value= Ture Check1.Value=1

43. 图像控件有一个属性,可以自动调整图形的大小以适应图像的尺寸,这个属性是________. (A)Autosize (B)Streth (C)AutoRedraw (D)Appearance

44. 在运行阶段,要在文本框Text1获得焦点时选中文本框中的所有内容,则对应的事件过程

是________

- 65 -

(A)Private Sub Text1-GotFocus() Text1.SelStart=0

Text1.SelLength=Len(Text1.Text) End Sub

(B) Private Sub Text1-LostFocus() Text1.SelStart=0

Text1.SelLength=Len(Text1.Text) End Sub

(C) Private Sub Text1- Change () Text1.SelStart=0

Text1.SelLength=Len(Text1.Text) End Sub

(D) Private Sub Text1-SetFocus() Text1.SelStart=0

Text1.SelLength=Len(Text1.Text) End Sub

二. 填空题

1. 复选框________属性设置为2—Grayed时,变成灰色,禁止用户选择。 2. ________属性设置为1,单选按钮和复选框的标题显示在左边。 3. ________属性设置为1,单选按钮和复选框以图形方式显示。

4. 在程序运行时,如果将框架的________属性设置为False,则框架的标题呈灰色,表示

框架内的所有对象都被屏蔽,不允许用户对其操作。 5. 列表框中项目的序号是从________开始的。 6. ________表示列表框中最后一项的序号。 7. 列表框中的________和________属性为数组。 8. ________方法可清除列表框中的所有内容。

9. 组合框是给和了文本框和列表框的特性而形成的一种控件。________风格的组合框不允

许用户输入列表框中没有的项。

10. 滚动条响应的重要事件有________和Change。

11. 当用户单击滚动条的空白处时,滑块移动和增量值由________属性决定。 12. 滚动条产生Change事件是因为________值改变了。

13. 如果要每隔壁15s产生一个Timer事件,则Interval属性应设置为________。 14. ________函数将返回系统的时间。

15. Microsoft Windows Common Control 6.0部件包含ToolBar、StatusBar、________、

TreeView、ListView、ImageList、________和ImageCombo等控件。

16. 在设计状态,由Tabs和________属性决定SSTab控件中的选项卡总行数。

17. Microsoft Windows Common Control—26.0部件中的Animation和________等控件。 18. Microsoft Windows Common Control—26.0部件中的Animation控件用来播放________文

件。

19. 当用户单击鼠标右键时,MouseDown、MouseUp和MouseMove事件过程中的Button参

数值为________。

20. 当用户同时按下Ctrl和Shift键并单击鼠标时,MouseDown、MouseUp和MouseMove

事件过程中的Shift参数值为________。

- 66 -

21. 如果要在程序的运行期间改变鼠标的形状,必须先将MousePointer设置为vbCustom,

然后在程序中用LoadPicture函数将需要的图标文件(.ICO)或指针文件(.CUR)装入________属性中。

22. 只要将MousePointer属性设置为________,鼠标指针就会恢复原样。

23. 如果窗体的________属性设置为True,则控件的KeyPress事件过程,可以接收到在窗

体的KeyPress过程中修改过的KeyAscii值。

24. 控件的________属性设置为1时,启用自动拖放模式。

25. 当源对象被拖动到目标对象上方时,在目标对象上将引发________事件,释放时又会引

发________事件。

26. 控件的________属性决定控件被拖动时显示的图标。

27. 在拖放事件过程中可以采用________函数判断源对象的控件类型,供程序识别。

28. 有些控件,如文件框,图片框等,完全支持自动OLE拖放,这意味着无论从控件内拖

出还是在控件内放入都不需要编程,只需将源控件的________设为1(Automatic)和________设为2(Automatic)即可。

29. 下面程序段是将列表框List1中重复的项目删除,只保留一项。

For i = 0 To List1 . ListCount – 1

For j = List1 . ListCount – 1 To ________ Step – 1 If List1 . List ( i ) = List1 . List ( j ) Then ________ End If Next j Next i

30. 下列程序允许用户按Enter键将一个组合键(cboComputer)中没有的项目添加到组合框

中。

Sub cboComputer _ KeyPress (KeyAscii As Integer) Dim flag As Boolean If KeyAscii = 13 Then Flag = False

For i = 0 To cboComputer . ListCount – 1 If ________ Then Flag = True Exit For End If Next

If ________ Then ________ Else

MsgBox ("组合中已有该项目!") End If End If End Sub 三. 编程题

设计一个带有进度条的倒计时程序,

- 67 -

如图所示。进度条指示倒数读秒的 所用时间和剩余时间的大致情况。

第七章 界面设计

一. 选择题

1. 在用菜单编辑设计菜单时,必须输入的项有__________。

(A)快捷键盘 (B)标题 (C)索引 (D)名称 2.在下列关于菜单的说法中,错误的是__________。

(A)每个菜单项都是一个控件,与其他控件一样也有自己的属性和事件 (B)除了Click事件之外,菜单项还能响应其他如DbClick等事件 (C)菜单项的快捷键不能任意设置

(D)在程序执行时,如果菜单项的Enabled属性为False,则该菜单项变成灰色,不能被用户选择

3.在下列程序中,__________不论使用鼠标右键还是左键弹出菜单中的菜单项都响应鼠标单击。

(A)Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single, Y As Single) If Button = 2 Then PopupMenu Menu_Test,2 End Sub

(B)Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single, Y As Single) PopupMenu Menu_Test,0 End Sub

(C)Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single, Y As Single) PopupMenu Menu_Test End Sub

(D)Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single, Y As Single) If (Button = 0) Or (Button = 2) Then PopupMenu Menu_Test End Sub

4.在下列关于通用对话框的叙述中,错误的是__________。 (A)CommonDialog1.ShowFont显示字体对话框

(B)在打开或另存为对话框中,用户选择的文件名可以经Filetitle属性返回

(C)在文件打开或另存为对话框中,用户选择的文件名及其路径可以经FileName属性返回

(D)通用对话框可以用来制作和显示帮助对话框 5.以下正确的语句是__________。

(A)CommonDialog1.Filter = All Files│* . *│Pictures(* .Bump)│* .Bump

(B)CommonDialog1.Filter = "All Files"│"*.*"│"Pictures(*.Bump)"│"*.Bump" (C)CommonDialog1.Filter = "All Files│* . *│Pictures(* .Bump)│* .Bump" (D)CommonDialog1.Filter = {All Files│* . *│Pictures(* .Bump)│* .Bump} 6.在下列关于对话框的叙述中,错误的是__________。 (A)作为对话框窗体的BorderStyle、ControlBox、MaxButton和MinButton应分别设置为1、True、False和False。

(B)语句frmAbout.Show vbModeless,frmMain将frmAbout窗体显示为frmMain的无模式

- 68 -

子窗体

(C)可以将对话框分成两种类型:模式的和无模式

(D)语句frmAbout.Show将frmAbout作为无模式对话框显示

7.在窗体从内存卸载的过程中会发生许多事件,这些事件发生的顺序是__________(其中Terminate事件在窗体及对象的所有引用都被从内存删除后发生)。 (A)Terminate,QueryUnload,Unload (B)QueryUnload,Unload,Terminate (C)QueryUnload,Terminate,Unload (D)Unload,QueryUnload,Terminate

8. 在下面关于窗体事件的叙述中,错误的是__________。 (A)在窗体的整个生命周期中,Initialize事件只触发一次 (B)在用Show显示窗体时,不一定发生Load事件 (C)每当窗体需要重画时,肯定会触发Paint事件 (D)Resize事件是在窗体的大小有所改变时被触发

9. 在下面关于多重窗体的叙述中,正确的是__________。 (A)作为启动对象的Main子过程只能放在窗体模块内

(B)如果启动对象是Main子过程,则程序启动时不加载任何窗体,以后由该过程根据不同情况决定是否加载或加载哪一个窗体 (C)不有启动窗体,程序不能执行 (D)以上都不对

10 .如果Form1是启动窗体,并且Form1的Load事件过程中有Form2.Show,则程序启动后__________。

(A)发生一个运行时错误 (B)发生一个编译错误

(C)在所有的初始化代码运行后Form1是活动窗体 (D)在所有的初始化代码运行后Form2是活动窗体

11.当用户将焦点移到另一个应程序时,当前应用程序的活动窗体将__________。 (A)发生DeActivate事件 (B)发生LostFocus事件

(C)发生DeActivatet和LostFocus事件 (D)DeActivate和LostFocus事件都不发生

12. 在使用菜单编辑器设计菜单时,每单击一次就能把选定的菜单项向上移动一个等级的箭头键是__________。

(A) 右箭头 (B) 左箭头 (C) 上箭头 (D) 下箭头 13. 决定窗体有无控制菜单的属性是__________

(A) ControlBox ( B) MinButton (C) Enable (D) MaxButton 14. 编写如下事件过程:

Private Sub Form_MouseDown(Button AS Integer,Shift As Integer,x As Single,Y As Single) If Button=2 Then print \End If End Sub

Private Sub Forrn_MouseUp (Button AS Integer,Shift As Integer,x As Single,Y As Single) print \

- 69 -

End Sub

程序运行后,如果在窗体上单击鼠标右键,则输出结果为__________。

(A) AAAA (B) BBBB (C) AAAA (D) BBBB

BBBB AAAA

15. 设在菜单编辑器中定义了一个菜单项,名为menu1,为了在运行时隐藏该菜单项应使用的

语句是__________。

(A) menu1.Enabled=True (B) menu1.Enabled=False (C) menu1.Visible=True (D) menu1.Visible=False 16. 以下关于菜单的叙述中,错误的是__________。 (A)在程序运行过程中可以增加或减少菜单项

(B)如果把一个菜单项的Enabled属性设置为False,则可以删除该菜单项 (C)弹出式菜单不能在菜单编辑器中设计

(D)利用控件数组可以实现菜单项的增加或减少 17.下列不能打开菜单编辑器的操作是__________。

(A)按Ctrl+E组合键

(B)单击工具栏中的\菜单编辑器\按钮 (C)执行\工具\中\菜单编辑器\命令 (D)按Shift+Alt组合键

二. 填空题

1. 菜单的热键指使用__________键和菜单项标题中的一个字符来打开菜单。建立热键的方

法是在菜单标题的某个字符前加上一个__________符号,在菜单中这一字符会自动加上__________,表示该字符是一个热键字符。

2. 如果在建立菜单时在标题文本框中输入一个“__________”,那么菜单显示时形成一个

分隔线。

3. 如果把菜单项的__________属性设置为Ture,则菜单项成为一个选项。

4. 不管是在窗口顶部菜单条上显示的菜单,还是隐藏的菜单,都可以用__________方法把

它们作为弹出菜单在程序运行期间显示出来。 5. 假定有一个通用对话框控件CommonDialog1,除了用CommonDialog1.Action = 3显示颜

色对话框之外,还可以用__________方法显示。

6. 在显示字体对话框之前必须设置__________属性,否则将发生不存在字体的错误。 7. 在用Show方法后显示自定义对话框时,如果Show方法后带__________参数就将窗体

作为模式对话框显示。

8. 在VB中,除了可以指定某个窗体作为启动对象之外,还可以指定__________作为启动

对象。

9. 在用Unload方法把窗体从内存中卸载的过程中,依次发生__________、Unload和

__________事件。

10. 每当一个窗体成为活动窗口时触发__________事件,当另一个窗体或应用程序被激活时

在原活动窗体上产生__________事件。

11. 在Toolbar控件的按钮上显示的所有图像都可以用__________控件存储。要在设计时将

该控件和Toolbar控件相关联,需要在__________控件上单击右键,然后单击“属性”显示“属性页”对话框,在“通用”选项卡,从__________框中选择该控件的名称。 12. 如果窗体不在内存中,则Show方法自动把窗体装入内存,此时引发__________事件。 13. MDI窗体是子窗体的容器,在该窗体中可能有__________、__________状态栏,但不可

- 70 -

以有文本框等控件。MDI子窗体是一个__________为True的普通窗体。在该窗体上可以有不同的控件,也可有菜单栏。

14. 图所示的程序能把使用对话框打开的文

件读入到文本框,并能将文件名及其路径作为菜单项动态地添加在文件菜单中。图中“打开文件”菜单项的名称为Open;

样本菜单项的名称为NameArray。 Private Sub Open_Click( )

CommonDialog1.FileName = "* .Txt" CommonDialog1.InitDir = "C:\\Windows"

CommonDialog1.Filter = "Text Files(*.Txt) │*.Txt│All Files(* . *)│* . *" FilterIndex = 1 __________

Text1.Text = ""

Open CommonDialog1.FileName For Input As # 1 Do While Not EOF(1)

Line Input # 1,InputData

Text1.Text = Text1.Text + InputData + vbCrLf Loop Close # 1

iMenuCount = iMenuCount + 1 __________

NameArray(iMenuCount).Caption = __________ NameArray(iMenuCount).Visible = True End Sub

第八章 文 件

一. 选择题

1.下面关于顺序文件的描述,正确的是________。 (A)每条记录的长度必须相同

(B)可通过编程对文件中的某条记录方便的修改

(C)数据只能以ASCII码形式存放在文件中,所以可通过文本编辑软件显示 (D)文件的组织结构复杂

2.下面关于随机文件的描述,不正确的是________。 (A)每条记录的长度必顺相同 (B)一个文件中记录号不必唯一

(C)可通过编程对文件中的某条记录方便的修改 (D)文件的组织结构比顺序文件复杂 3.按文件的组织方式可分为________。

(A)顺序文件和随机文件 (B)ASCII文件和二进制文件 (C)程序文件和顺序文件 (D)磁盘文件和打印文件 4.顺序文件是因为________。

(A)文件中按每条记录的记录号从小到大排序好的 (B)文件中按每条记录的长度从小到大排序好的

- 71 -

(C)文件中按每条记录的关键数据项的从大到小的顺序

(D)记录按进入的先后顺序存放的,读出也是按原先写入的先后顺序读出 5.随机文件是因为________。

(A)文件中的内容是通过随机数产生的 (B)文件中的记录号是通过随机数产生的

(C)可对文件中的记录根据记录号随机地读/写 (D)文件的每条记录的长度是随机的 6.文件号最大可取的值为________。

(A)255 (B)511 (C)512 (D)256 7.KILL语句在VB语言中的功能是________。

(A)清内存 (B)清病毒 (C)删除磁盘上的文件 (D)清屏幕 8.Print # 1,STAR1 $中的Print是________。

(A)文件的写语句 (B)在窗体上显示的方法 (C)子程序 (D)以上均不是

9.为了建立一个随机文件,其中每一条记录由多个不同的数据类型的数据项组成,应使用________。

(A)记录类型 (B)数组 (C)字符串类型 (D)变体类型

10.要从磁盘上读入一个文件名为"c: \\ t1.txt"的顺序文件,下列________正确。 (A)F ="c: \\ t1.txt"

Open F For Input As # 1 (B)F ="c: \\ t1.txt"

Open "F"For Input As # 2

(C)Open"c: \\ t1.txt"For Output As # 1 (D)Open c: \\ t1.txt For Input As # 2

11.要从磁盘上新建一个文件名为” c: \\ t1.txt ”的顺序文件,下列________正确。 (A)F ="c: \\ t1.txt"

Open F For Append As # 2 (B)F ="c: \\ t1.txt"

Open"F"For Output As # 2 (C)Open c: \\ t1.txt For Output As # 2 (D)Open"c: \\ t1.txt"For Output As # 2

12.全局记录类型定义语句应出现在________。

(A)窗体模块 (B)标准模块

(C)窗体模块、标准模块都可以 (D)窗体模块、标准模块均不可以

13.要建立一个学生成绩的随机文件,如下定义了学生的记录类型,由学生号、姓名、三门课程成绩(百分制)组成,程序段________正确。

(A)Type stud (B)Type stud

no As Integer no As Integer

name As String name As String * 10 mark(1 To 3)As Single mark()As Single End Type End Type (C)Type stud (D)Type stud

- 72 -

本文来源:https://www.bwwdw.com/article/2d2h.html

Top