1、附件 12 习题 (vb) 软件技术基础( VB) 习题 (节选)附件 12 习题 (vb) 第 1 章 Visual Basic 概述 一、单项选择题 1. Visual Basic 是一种面向对象的可视化程序设计语言,采取了( )的编程机制。 A) 事件驱动 B) 按过程顺序执行 C) 从主程序开始执行 D) 按模块顺序执行 2. Visual Basic 是一种面向对象的可视化程序设计语言,其中( )不是面向对象系统所包含的三个要素。 A) 变量 B) 事件 C) 属性 D) 方法 3. 在 Visual Basic 中最基本的对象是( ),它是应用程序的基石,是其他控件的容器。 A)
2、文本框 B) 命令按钮 C) 窗体 D) 标签 4. 有如下程序代码: Form1.Caption=“Visual Basic 实例 “ 则 Form1、 Caption 和 “Visual Basic 实例 “分别代表 ( )。 A) 对象、值、属性 B) 对象、方法、属性 C) 对象、属性、值 D) 属性、对象、值 5. 以下能在窗体 Form1 的标题栏中显示 “Visual Basic 窗体 “的语句是 ( )。 A) Form1.Name=“Visual Basic 窗体 “ B) Form1.Title=“Visual Basic 窗体 “ C) Form1.Caption=“Vi
3、sual Basic 窗体 “ D) Form1.Text=“Visual Basic 窗体 “ 6. 以下叙述中错误的是 ( )。 A)事件过程是响应特定事件的一段程序 B)不同的对象可以具有相同名称的方法 C)对象的方法是执行指定操作的过程 D)对象事件的名称可以由编程者指定 7. 以下叙述中错误的是 ( )。 A) 一个工程可以包括多种类型的文件 B) Visual Basic 应用程序既能以编译方式执行,也能以解释方式执行 C) 程序运行后,在内存中只能驻留一个窗体 D) 对于事件驱动型应用程序,每次运行时的执行顺序可以不一样 8. 以下不属于 Visual Basic 系统的文件类型
4、是( ) 。 A) .frm B) .bat C) .vbg D) .vbp 9. VB 集成开发环境有三种工作状态,不属于三种工作状态之一的是( )。 A)设计状态 B)编写代码状态 C)运行状态 D)中断状态 10. Vb 提供了结构化程序设计的三种基本结构,三种基本结构是( )。 A. 递归结构、选择结构、循环结构 B. 选择结构、过程结构、顺序结构 C. 过程结构、输入、输出结构、转向结构 D. 选择结构、循环结构、顺序结构 附件 12 习题 (vb) 11. 下面有关对象属性的叙述中,不正确的是 ( )。 A. 一个对象的属性可分位为外观、行为等若干类。 B. 相同属性可能具有不同的
5、数据类型。 C. 一个对象的所有属性都可在属性窗口的列表中进行设置。 D.属性窗口中的属性列表可以按字母序也可按类别排列。 二、填空题 1. Visual Basic 应用程序中标准模块文件的扩展名是 ( ) 。 2工程文件的扩展名是 ( ) ,窗体文件的扩展名是 ( ) 。 3. 在 VB 集成环境下,如果没有显示“工具箱”窗口,应选择( )菜单的( )选项,使工具箱窗口显示。 4. Visual Basic 是一种面向 ( )的程序设计语言。 5. 一只白色的足球被踢进球门,则白色、足球、踢、进球门是 ( )。 6. Visual Basic 是用 于 开发 ( )环境下的应用程序的工具。
6、 7. 能被对象所识别的动作与对象可执行的活动分别称为对象的 ( )。 8. 一个可执行的 Visual Basic 的应用程序至少要包括一个 ( )。 三、编程题 : 1.理解单击( Click)和双击( DblClick)事件。用鼠标单击或双击窗体改变标签的标题。 提示:选择新建工程,在窗体上添加一个标签控件 Label1。并设置对象属性如下: 将标签的 BackColor(背景色)属性设置为白色; BorderStyle(边框风 格)属性设置为 1;Caption 属性为空白; FoutSize(字体 )属性设为三号字。 双击窗体,在弹出的代码窗口的事件列表中选择 Click 事件,并在
7、该事件的代码区添加如下代码: Label1.Caption = “你单击了窗体 “ 用同样方法选择 DblClick 事件,并在该事件的代码区添加如下代码: Label1.Caption = “你双击了窗体 “ 选择工具栏中的“启动”按钮或按 F5 键,然后单击窗体或者双击窗体。 2. 在窗体上画一个文本框和两个命令按钮,并把两个命令按钮的标题分别 设置为“隐藏文本框”和“显示文本框”。当单击第一个命令按钮时,文本框消失;而当单击第二个命令按钮时,文本框重新出现,并在文本框中显示“ VB 程序设计” (字体大小为 16)。运行该程序。 四、思考题 1结构化程序设计将程序划分为几种基本结构?它们
8、的名称分别是什么? 2 Visual Basic 6.0 集成开发环境中,常用的窗口是什么? 3请简述 VB 的三种工作模式。 4叙述建立一个完整的应用程序的过程。 5当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。问该工程涉及到多少个文件要保存? 6保存工程文件时,若不改变目录名,那么系统默认的目录是什么? 7为什么需要生成 .EXE 可执行文件?生成 .EXE 可执行文件后,是否就可以将其复制到任何计算机上运行? 附件 12 习题 (vb) 8简述使用 Visual Basic 6.0 帮助的方法。 第 2 章 Visual Basic 语言基础 一、单项选择题 1. 在一行内写
9、多个语句时,每个语句之间要用( )符号分隔。 A) , B) ; C) 、 D) : 2. 一个语句要在下一行中继续书写,可以用( )符号作为续 行符。 A) B) C) _ D) 3. 表达式 4+5 6 * 7 / 8 Mod 9 的值是 ( )。 A) 4 B) 5 C) 6 D) 7 4. 以下合法的 Visual Basic 标识符是 ( )。 A) ForLoop B) Const C) 9abc D) a#x 5. 下列可作为 Visual Basic 变量名的是( )。 A) A#A B) 4A C) ?xy D) constA 6. 设有如下的记录类型: Type Stude
10、nt number As String name As String age As Integer End Type 则正确引用该记录类型变量的代码是( )。 A) Student.name = “张红 “ B) Dim s As Student s.name = “张红 “ C) Dim s As Type Student D) Dim s As Type s.name = “张红 “ s.name = “张红 “ 7. 将数学表达式 Cos2(a+b)+5e2写成 Visual Basic 的表达式,其正确的形式是( )。 A) Cos (a+b) 2+5*exp(2) B) Cos2(a
11、+b)+ 5*exp(2) C) Cos (a+b) 2+5*ln(2) D) Cos2(a+b)+ 5*ln(2) 8. 数学关系 3 x 10 表示成正确的 VB 表达式为( )。 A) 3=3 OR Xz) Or z=B AND B=C AND C0 B) A+CB AND B+CA AND C0 C) (A+B=C OR A-B0 D) A+BC AND A-B0 11. 以下声明语句中错误 的是( )。 附件 12 习题 (vb) A) Const var1=123 B) Dim var2 = ABC C) DefInt a-z D) Static var3 As Integer 1
12、2. 可以同时删除字符串前导和尾部空白的函数是( )。 A) Ltrim B) Rtrim C) Trim D) Mid 13. 函数 String( n, “str“)的功能是( )。 A)把数值型数据转换为字符串 B)返回由 n 个 “s“组成的字符串 C)从字符串中取出 n 个字符 D)从字符串中第 n 个字符的位置开始取子字符串 14. Rnd 函数不可能为下列( )值。 A) 0 B) 1 C) 0.1234 D) 0.0005 15. Int(198.555*100+0.5) /100 的值是( )。 A) 198 B) 199.6 C) 198.56 D) 200 16. 如果
13、X 是一个正实数,对 X 的第 3 位小数四舍五入的表达式是( )。 A) 0.01*Int(x+0.005) B)0.01*Int(100*(x+0.005) C) 0.01*Int(100*(x+0.05) D) 0.01*Int(x+0.05) 17. 执行语句 s=Len(Mid(“VisualBasic“,1,6)后, s 的值是 A) Visual B) Basic C) 6 D) 11 18. 下面能进行算术运算的符号是( )。 A) Imp B) Mod C) Not D) Like 19. 在程序中将变量 Inta、 B1、 St、 D 分别定义为 Integer 类型、 B
14、oolean 类型、 String 类型 和Date 类型,下列赋值语句中,正确的是 ( ) 。 A) Inta=“333“+“22“ B) D=#10/05/01# C) St=5+“abc“ D) B1=#True# 20. 描述、中有一个小于的逻辑表达式是 ( )。 A) X=0 and a+cb+3 or not d 的值是( )。 7. 语句 Print “5*20“输出的结果是 ( )。 三、问答题 1. 如果希望使用变量 x 来存放数据 765432.123456,应该把变量 x 定义为何种类型? 2. 在 VB 中,对于没有赋值的变量,系统默认值是什么? 3. 表达式 2*32
15、+2*8/4+32 的值是多少? 4. 设 a=7, b=3, c=4,在 VB 的立即窗 口中求下列表达式的值。 附件 12 习题 (vb) ( 1) a+3*c ( 2) a2/6 (3) a/2*3/2 (4) a mod 3+b3/c5 5. 在立即窗口中求下列函数的值。 (1) Int(-3.14159) (2) Sqr(Sqr(64) (3) Int(Abs(99-100)/2) (4) Fix(-3.1415926) 第 3 章 流程控制语句 一、单项选择题 1. 设 a=10, b=5, c=1,执行语句 Print a b c 后,窗体上显示的是 ( )。 A) True B
16、) False C) 1 D)出错信息 2. 以下关于 MsgBox 的叙述中,错误的是 ( )。 A) MsgBox 函数返回一个整数 B) 通过 MsgBox 函数可以设置信息框中图标和按钮的类型 C) MsgBox 语句没有返回值 D) MsgBox 函数的第一个参数是一个整数,该参数只能确定对话框中显示的按钮数量 3. InputBox 函数 返 回值的类型为( )。 A) 数值 B) 字符串 C) 变体 D) 数值或字符串(视输入的数据而定) 4. 执行如下两条语句,窗体上显示的是 ( )。 a=9.8596 Print Format(a,“$00,00.00“) A) 0,009.
17、86 B) $9.86 C) 9.86 D) $0,009.86 5. 下列程序段运行后,显示的结果是( )。 Dim x If x Then Print x Else Print x+1 A) 1 B) 0 C) 2 D) 错误信息 6. 下面程序段,显示的结果是( )。 Dim a a=Int(Rnd)+5 Select Case a Case 5 Print “优秀 “ Case 4 Print “良好 “ Case 3 Print “通过 “ Case Else Print “未通过 “ End Select A) 优秀 B) 良好 C) 通过 D) 未通过 7. 在窗体上画一个名称为
18、 Command1 的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() 附件 12 习题 (vb) x=InputBox(“Input“) Select Case x Case 1,3 Print “分支 1“ Case Is 4 Print “分支 2“ Case Else Print “Else 分支 “ End Select End Sub 程序运行后,如果在输入对话框中输入 2,则窗体上显示的是 ( )。 A)分支 1 B)分支 2 C) Else 分支 D) 程序出错 8. 设有以下循环结构 Do 循环体 Loop While 则以下叙述中错
19、误的是( )。 A)若 “条件 “是一个为 0 的常数,则一次也不执行循环体 B) “条件 “可以是关系表达式、逻辑表达式或常数 C)循环体中可以使用 Exit Do 语句 D)如果 “条件 “总是为 True,则不停地执行循环体 9. 执行下面的程序段后, x 的值为( )。 x=5 For i=1 To 20 Step 2 x=x+i5 Next i A) 21 B) 22 C) 23 D) 24 10. 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() For i=1 To 4 x=4 For j =1 To 3 x=3 For k
20、=1 To 2 x=x+6 Next k Next j Next i Print x End Sub 程序运行后,单击命令按钮,输出结果是( )。 A) 7 B) 15 C) 157 D) 538 11. 在窗体上画一个命令按钮,然后编写如下事件过程: Prevate Sub Command1_Click() 附件 12 习题 (vb) x=0 Do Until x=-1 a = InputBox(“请输入 A 的值” ) a = Val(a) b = InputBox(“请输入 B 的值” ) b = Val(b) x = InputBox(“请输入 x 的值” ) x = Val(x) a
21、 = a+b+x Loop Print a End Sub 程序运行后,单击命令按钮,依次在输入对话框中输入 5、 4、 3、 2、 1、 -1,则输出结果为 ( )。 A) 2 B) 3 C) 14 D) 15 12. 阅读下面的程序段: For i=1 To 3 For j=1 To i For k=j To 3 a=a+1 Next k Next j Next i 执行上面的三重循环后, a 的值为( )。 A) 3 B) 9 C) 14 D) 21 13. 在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程: Private Sub Command1_Click(
22、) Static x As Integer Cls For i=1 To 2 y=y+x x=x+2 Next Print x,y End Sub 程序运行后,连续三次单击 Command1 按钮后,窗体上显示的是 ( )。 A) 4 2 B) 12 18 C) 12 30 D) 4 6 14. 在窗体上画一个名称为 Command1 的命令按钮,然后编写如下程序: Option Base 1 Private Sub Command1_Click() Dim a As Variant a=Array(1,2,3,4,5) Sum=0 For i=1 To 5 Sum = sum+a(i) 附件
23、 12 习题 (vb) Next i x=Sum/5 For i =1 To 5 If a(i)x Then Print a(i); Next i End Sub 程序运行后,单击命令按钮,在窗体上显示的内容是 ( )。 A) 1 2 B) 1 2 3 C) 3 4 5 D) 4 5 15. 在窗体上画一个名称为 Command1 的命令按钮和一个名称为 Text1 的文本框,然后编写如下事件过程: Private Sub Command1_Click() n = Val(Text1.Text) For i = 2 To n For j = 2 To sqr(i) If i Mod j = 0
24、 Then Exit For Next j If j Sqr(i) Then Print i Next i End Sub 该 事件过程的功能是 ( )。 A) 输出 n 以内的奇数 B) 输出 n 以内的偶数 C) 输出 n 以内的素数 D) 输出 n 以内能被 j 整除的数 16. 设有如下程序: 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 循环
25、计算一个表达式的值,这个表达式是( ) 。 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 17. 在程序中分别将变量 Inta、 Bl、 St、 D 定义为整型、布尔形、字符串型和日期型,下列赋值语句在执行时会出错的是 ( )。 A) Inta=4.6 B) Bl=#True# C) St=5&123.5 D) D=#10/05/01# 18.针对语句 If I=1 Then J=1,下列说法正确的是 ( )。 A) I=1 和 J=1 均为赋值语句 B) I=1 和 J=1 均为关
26、系表达式 C) I=1 为关系表达式, J=1 为赋值语句 D) I=1 为赋值语句, J=1 为关系表达式 二、填空题 附件 12 习题 (vb) 1. 执行下面的程序段后, b 的值为 ( )。 a=300: b=20: a=a+b: b=a-b: a=a-b 2. 下面程序运行的结果是 ( )。 X=Int(Rnd)+3 If x28 Then y=x2+1 If x2=9 Then y=x2-2 If x28 Then y=x3 Print y 3. 执行下面的程序段后, s 的值为 ( )。 s = 5 For i = 2.6 To 4.9 Step 0.6 s = s+1 Next
27、 i 4.在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() a = InputBox(“请输入一个整数 “) b = InputBox(“请输入一个整数 “) Print a + b End Sub 程序运行后,单击命令按钮,在输入对话框中分别输入 321 和 456,输出结果为 ( )。 5. 本程序的功能 是利用随机数函数模拟投币,方法是:每次随机产生一个 0或 1 的整数,相当于一次投币, 1 代表正面, 0 代表反面。在窗体上有三个文本框,名称分别是 Text1、 Text2、 Text3,分别用于显示用户输入投币总次数、出现正面的次数和出现反面的次数,如图 习题 3.1 所示。程序运行后,在文本框 Text1 中输入总次数,然后单击 “ 开始 ” 按钮,按照输入的次数模拟投币,分别统计出现正面、反面的次数,并显示结果。以下是实现上述功能的程序,请填空。 Private Sub Command1_Click() Randomize n=CInt(Text1.Text) n1=0 n2=0 For i=1 To ( ) r=Int(Rnd*2) If r=( ) Then n1=n1+1 Else n2=n2+1 End If 图习题 3.1 填空题 5 运行界面