首页 VisualBasic程序设计基础(川版)习题答案

VisualBasic程序设计基础(川版)习题答案

举报
开通vip

VisualBasic程序设计基础(川版)习题答案VisualBasic程序设计基础(川版)习题答案 VB习题答案(1-4) 习题1 一、选择题 1. 以下叙述中,错误的是_________。 (A)一个Visual Basic 应用程序可以含有多个标准模块文件 (B)一个visual Basic 工程可以含有多个窗体文件 (C)标准模块文件可以属于某个指定的窗体文件 (D)标准模块文件的扩展名是.bas 标准模块文件(.bas)不属于任何一个窗体文件。参考答案为C。 2. 以下叙述中错误的是_________。 (A)一个工程可以包括多种类型...

VisualBasic程序设计基础(川版)习题答案
VisualBasic程序设计基础(川版)习题答案 VB习题答案(1-4) 习题1 一、选择题 1. 以下叙述中,错误的是_________。 (A)一个Visual Basic 应用程序可以含有多个标准模块文件 (B)一个visual Basic 工程可以含有多个窗体文件 (C)标准模块文件可以属于某个指定的窗体文件 (D)标准模块文件的扩展名是.bas 标准模块文件(.bas)不属于任何一个窗体文件。参考答案为C。 2. 以下叙述中错误的是_________。 (A)一个工程可以包括多种类型的文件 (B)Visual Basic应用程序既能以编译方式执行,也能以解释方式执行 (C)程序运行后,在内存中只能驻留一个窗体 (D)对于事件驱动型应用程序,每次运行时的执行顺序可以不一样 内存中可以驻留多个窗体,当前窗体只能有一个。参考答案为C。 3. Visual Basic的窗体设计器主要是用来___________。 (A)建立用户界面 (B)添加图形、图像、数据等控件 (C)编写程序源代码 (D)设计窗体的布局 参考答案为A。 4. Visual Basic是一种结构化高级程序设计语言,它采用的是_________驱动方式。 (A)键盘 (B)鼠标 (C)事件 (D)函数 参考答案为C。 5. Visual Basic程序设计语言属于_________。 (A)面向过程的语言 (B)机器语言 (C)面向对象的语言 (D)汇编语言 参考答案为C。 6. Visual Basic一共有设计、运行和中断三种模式,要使用调试工具应该_________。 (A)进入设计模式 (B)进入运行模式 (C)进入中断模式 (D)不用进入任何模式 VB中三种模式分别为:设计模式下可以进行界面设计和代码的编写;运行模式下执行 代码,接受用户的操作;中断模式下可以修改代码,但不能改变界面,这个模式下通常进行 代码调试,当运行出错时,默认转到该模式下进行调试。参考答案为C。 1 7. 假定一个Visual Basic应用程序由一个窗体模块和一个标准模块构成。为了保存该应用程序,以下正确的操作是_________。 (A)只保存窗体模块文件 (B)分别保存窗体模块、标准模块和工程文件 (C)只保存窗体模块和标准模块文件 (D)只保存工程文件 一个工程中可包含多个文件,当打开一个工程文件时会自动加载工程内所有文件。对程序保存需分别保存工程文件及窗体文件。参考答案为B。 二、填空题 1. Visual Basic 6.0分为3种版本,这3种版本是_________、_________和_________。 参考答案:学习版、专业版、企业版 2. 应用程序最终面向用户的窗口是_________,它对应于应用程序的运行结果。 参考答案:窗体设计器 3. 如果打开了不需要的菜单或对话框,可以用_________键关闭。 参考答案:ESC 三、简答题 1. 简述Visual Basic语言的特点。 参考答案: Visual Basic是Windows操作平台下的可视化编程语言,它继承和发展了BASIC语言的基本功能,具有简单易学、功能强大等特点。Visual Basic提供了可视化设计工具,以图形用户界面(GUI)为PC机用户提供了一个直观的工作环境。支持面向对象的程序设计(OOP),采用事件驱动方式,提供对象的链接与嵌入(OLE)和访问数据库等功能。 2. Visual Basic 6.0的集成开发环境由哪些部分组成,各部分的主要功能是什么。 参考答案: 1. 标题栏:用来显示打开的工程名称和系统的工作状态。 2. 菜单栏:菜单栏中包括“文件”、“编辑”、“视图”、“工程”、“格式”、“调试”、“运行”、“查询”、“图表”、“工具”、“外接程序”、“窗口”和“帮助”共有13个菜单项。这是一组下拉式菜单,提供了设计、编辑、编译和调试应用程序所需要的绝大部分功能和命令。 3. 工具栏: Visual Basic 6.0提供了“编辑”、“标准”、“窗体编辑器”和“调试”4种工具栏。工具栏上形象直观的排列着一些最常用的命令按钮,对应特定的常用操作命令。 4. 控件箱:控件箱提供了一组控件。设计界面时,用户可以用鼠标双击控件箱中的控件,在窗体中画出该控件,或用鼠标单击控件箱中的控件,然后在窗体中拖动鼠标画出所需的控件。 5. 窗体设计器:窗体设计器是应用程序最终面向用户的窗口。各种控件、图形、数据2 以及程序的运行结果都在窗体设计器窗体中显示出来。 6. 工程资源管理器:在工程资源管理器窗口中(图1-2),列出了应用程序的工程以及工程中的窗体和模块。 7. 属性窗口:属性窗口主要用来设置Visual Basic窗体及各控件的属性特征,属性窗口的主体部分分为左右两列,左边是控件的属性名列表,右边是控件的属性值列表。 8. 窗体布局窗口:窗体布局窗口用于观察应用程序中各窗体在屏幕上的位置。可以在窗体布局窗口用鼠标拖动窗体小图像的方法来改变窗体布局。 3. 什么是对象的属性、事件和方法。 参考答案: 属性是一个对象的数据,用来表示对象的状态。属性具有属性值,改变对象的属性值就可以改变对象的状态。对象常见的属性有标题(Caption)、名称(Name)、颜色(Color)、字体大小(Fontsize)、是否可见(Visible)等。 事件(Event)是能被对象识别的动作,例如Click(单击),DblClick(双击),Load(装入),MouseMove(移动鼠标),Change(改变)等。Visual Basic编程的核心就是为每一个要处理的事件编写响应事件的程序代码。 方法(Method)即是具有完成某种功能的过程和函数,它决定了对象要执行的动作。 4. 简述编写并运行Visual Basic程序的一般步骤。 参考答案: (1)创建应用程序界面。 (2)设置界面上各个对象的属性 (3)编写事件驱动代码 (4)单击工具栏上的启动按钮,运行该程序。 四、编程题 编写程序,在窗体上显示“第一个Visual Basic程序”。 参考答案: (1)创建应用程序界面。 (2)设置界面上各个对象的属性 (3)编写事件驱动代码 Private Sub Command1_Click() Text1.Text = "第一个Visual Basic程序" End Sub Private Sub Command2_Click() End End Sub 3 (4)单击工具栏上的启动按钮,运行该程序。 单击“开始”按钮。 习题2 一、选择题 1. 下面可以正确定义2个整形变量和1个字符串变量的语句的是_________。 (A)Dim n , m AS Interger , s AS String (B)Dim a% , b$ , c AS String (C)Dim a AS Integer , b , c AS String (D)Dim x% , y AS Integer , z AS String 变量定义未指明数据类型,则为变体类型变量。A选项定义n为变体类型变量;B答案定义了1个整型变量和2个字符串变量;C选项的b变量也为变体类型变量,D选项满足要求。参考答案为D。 2. 设有如下语句: Dim a , b As Integer c = "Visual Basic" d = #7/20/2005 # 以下关于这段代码的叙述中,错误的是_________。 (A)a 被定义为Integer 类型变量 (B)b 被定义为Integer 类型变量 (C)c 中的数据是字符串 (D)d 中的数据是日期类型 VB中变体类型变量有三种情况,一是直接使用未经定义的变量;第二是显式的将变量定义为变体类型,例 Dim m As Variant;第三种情况是定义变量但未指明该变量的数据类型,程序中对a变量的定义就属第三种情况,故A选项错误。变量c,d均是未定义的变量为变体类型,但分别存放的数据为字符串型和日期型。参考答案为A。 3. 执行以下程序后输出的是_________。 Private Sub Command1_Click() Ch$=”AABCDEFGH” Print Mid(Right(ch$,6),Len(left(ch$,4)),2) End Sub (A)CDEFGH (B)ABCD (C)FG (D)AB 程序中有4个函数调用,其中Mid 的三个参数分别是Righ(ch$,6)、Len(left(ch$,4))和2,而left(ch$,4)又是函数Len的参数,由这几个字符串函数的功能知:函数Righ(ch$,6)的结果值为”CDEFGH”, left(ch$,4)值为”AABC”, Len(left(ch$,4))结果为4,所以输出Mid(Right(ch$,6),Len(left(ch$,4)),2)结果值为“FG”,C选项正确。参考答案为C。 4. 设a = 4 , b = 3 , c = 2 , d = l,表达式 a > b+1 Or c < d And b Mod c 的值4 是_________。 (A)True (B)l (C)-l (D)0 表达式计算按优先级由高到低顺序计算,其中运算符优先级高低为“算术运算符>字符运算符>关系运算符>逻辑运算符”,逻辑运算符中“Not>And>Or”,同时关系运算结果值为逻辑值;逻辑运算分两种情况,(1)逻辑值参与逻辑运算结果为逻辑值,(2)数值数据参与逻辑运算则按二进制位进行逻辑运算。照此规则,本题先算数运算b Mod c(值为1)、b+1(值为4),再做关系运算a > b+1(值为False)、c < d(值为False)最后做逻辑运算c < d And b Mod c(值为0)及a > b+1 Or c < d And b Mod c(值为0),即整个表达式值为0。参考答案为D。 5. 以下可以作为Visual Basic变量名的是_________。 (A)A#A (B)counstA (C)3A (D)?AA 参考答案为B。 6. 以下能从字符串”VisualBasic”中直接取出子字符串”Basi”的函数是_________。 (A)Left (B)Mid (C)String (D)Instr 参考答案为B。 7. 表达式3^2*2+3 MOD 10\4的值是_________。 (A)18 (B)1 (C)19 (D)0 参考答案为C。 8. 下面的变量名合法的是_________。 (A)k_name (B)k ame (C)name (D)k-name 参考答案为A。 9. 设有如下变量声明Dim time1 As Date,为变量time1正确赋值的表达式是_________。 (A)time1 = #11:34:04# (B)time1 = Format(Time,"yy:mm:dd") 5 (C)time1 = #"11:34:04"# (D)time1 = Format("hh:mm:ss",Time) 参考答案为A。 10. 表达式12000 + "129" & 200的值是_________。 (A)12329 (B)"12129200" (C)"12000129200" (D)"12329" 参考答案为B 11. 在窗体上画两个文本框,其名称分别为Text1和Text2,然后编写如下程序: Private Sub Form_Load() Text1.Text = "" Text2.Text = "" Text1.SetFocus End Sub Private Sub Text1_Change() Text2.Text = Mid(Text1.Text , 8) End Sub 程序运行后,如果在文本框Text1中输入BeijingChina,则在文本框Text2中显示的内 容是_________。 (A)BeijingChina (B)China (C)Beijing (D)BeijingC 参考答案为B 12. 在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() a$ = "VisualBasic" Print String(3, a$) End Sub 程序运行后,单击命令按钮,在窗体上显示的 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 是_________。 (A)VVV (B)Vis (C)sic (D)11 参考答案为A 13. 执行语句s = Len(Mid("VisualBasic", 1, 6))后,s的值是_________。 (A)"Visual" (B)"Basic" (C)6 (D)11 14. 在窗体上画一个文本框、一个标签和一个命令按钮,其名称分别为Text1、Label1 和Command1,然后编写如下事件过程: Private Sub Text1_Change() Label1.Caption = Right(Trim(Text1.Text), 3) End Sub 程序运行后,在文本框中输入“abcdef”,单击命令按钮,则在标签中显示的内容是 6 _________。 (A)空 (B)abcdef (C)abc (D)def 参考答案为D 15. 设a=2,b=3,c=4,表达式Not a<=c Or 4*a=b^2 And b<>a+c的值是_________。 (A)-1 (B)1 (C)True (D)False 参考答案为D 16. 执行以下程序段后,变量c$的值为_________。 a$ = "Visual Basic Programming" b$ = "Quick" c$ = b$ & UCase(Mid$(a$, 7, 6)) & Right$(a$, 12) (A)Visual BASIC Programming (B)Quick Basic Programming (C)QUICK Basic Programming (D)Quick BASIC Programming 参考答案为D 二、填空题 1. 描述“X是小于100的非负整数”的Visual Basic表达式是_________。 要描述该语句,X必须满足大于等于零,同时小于100,另还需体现整数特点,参考答 案:X%<100 AND X%>=0 2. 窗体上有一个命令按钮,事件代码如下: Private Sub Command1_Click() A = "1" B = "2" A = Val(A) + Val(B) B = Val("12") If A <> B Then Print A - B Else Print B - A End Sub 程序运行后,单击命令按钮,输出_________。 参考答案:-9 3. 以下语句的输出结果是_________。 a% = 3.1425926 Print a% 参考答案:3 4. a$ = LCase("Hello"),a$的值是_________,b$ = UCase("Hello"),b$的值是 _________。 7 参考答案:hello、HELLO + "34"的值是_________,表达式"12" & "34"的值是_________,表达5. 表达式"12" 式12 & 34的值是_________,表达式12 + 34的值是_________。 参考答案:1234、1234、1234、46 6. 整形变量M中存放了一个两位数,要将两位数交换位置,例如24变成42,实现的表达式为_________。 参考答案:((M mod 10)*10 + M\10) 7. 代数式|y| + e-3xln3x的Visual Basic表达式为_________。 参考答案:abs(y) + exp(-3 * x) * log(3 * x) 三、简答题 数据类型,变量有哪几种数据类型,常量有哪几种数1. Visual Basic定义了几种 据类型。 参考答案: Visual Basic基本数据类型: 1. 字符串型(String):字符串分为变长字符串和定长字符串两种。 2. 数值型:数值型数据分为整型数和浮点数两类。 3. 货币型(Currency) 4. 变体型(Variant) 5. 字节型(Byte) 6. 布尔型(Boolean) 7. 日期型(Date) 8. 对象型(Object) Visual Basic中包含两种常量,即文字常量和符号常量。 变量的基本数据类型:Byte(字节型),Boolean(布尔型),Integer(整型),Long(长整型),Single(单精度型),Double(双精度型),Currency(货币型),Date(日期型),Object(对象型),String(变长字符串),String(定长字符串),Variant(变体型、数字),Variant(变体型、字符) 2. 符号常量和变量有什么不同点? 参考答案: 符号常量一经定义,就不能在程序中的其他位置改变其值。变量的值在程序中可以改变。 3. 指出下列正确的变量名: g(1-k) 6adhs *sss kL2.1 Print 8 x+1 ahi π .ex3 j5h 参考答案: 正确的变量名:ahi,j5h 4. 指出下列正确的Basic数字形式: -1.25 ?3.88 45.2468E-6 77.876D-5 5.6D 0.123 89E D2585 10^(2.7) 3^5 参考答案: 正确的数字形式:-1.25,45.2468E-6,77.876D-5,0.123 5. 下列Basic表达式若有错误,请说明错误原因,并改正错误: 0 (1) ts+cos(30) (2) (x+y)^(25?s) (3) [(X1+X2)*(X1-3)-6]*7 (4) (X?-2)+sin(1.2+π) 参考答案: 改正: (1) ts+cos(30*3.141593/180) (2) (x+y)^(25/s) (3) ((X1+X2)*(X1-3)-6)*7 (4) (X/(-2))+sin(1.2+3.141593) 6. 写出下列数学式的Visual Basic表达式: (1) sin(a)[cos(b)+1.5] 52 (2) (X1+4)(e-a) (3) 36[(X1+π)(X1?3.3)-B] -2 (4) X+5.8sin(3.5π) 参考答案: Visual Basic表达式: (1) sin(a)*(cos(b)+1.5) (2) (X1+4)^5*(exp(2)-a) (3) 36*((X1+3.141593)*(X1/3.3)-B) (4) X^2+5.8*sin(3.5*3.141593) 习题3 一、选择题 1. 设在名称为Myform的窗体上只有1个名称为C1的命令按钮,下面叙述中正确的是 _________。 (A)窗体的Click事件过程的过程名是Myform_Click (B)命令按钮的Click事件过程名是C1_Click 9 (C)命令按钮的Click事件过程的过程名是Command1_Click (D)上述3种过程名称都是错误的 窗体事件过程名为“Form_事件名”,其他对象事件过程名为“对象名_事件名”,故窗 体的Click事件过程名为Form_Click,命令按钮的Click事件过程名为C1_Click。选项B正参考答案为B 确。 2. 在Visual Basic工程中,可以作为启动对象的程序是_________。 (A)任何窗体或标准模块 (B)任何窗体或过程 (C)Sub Main过程或其他任何模块 (D)Sub Main过程或任何窗体 参考答案为D 3. 新建一个工程将其窗体的Name属性设置为Myfrm,则默认的窗体文件名为______。 (A)Form1.frm (B)Myfrm.frm (C)Form1.vbp (D)工程1.frm 参考答案为B 4. 将窗体的_________属性设置为False后,运行时窗体上的按钮、文本框就不会对用 户的操作做出响应。 (A)ControlBox (B)Visible (C)Enabled (D)BorderStyle 参考答案为C 5. 以下说法正确的是___________。 (A)窗体文件的扩展名为 .vbp (B)一个窗体对应一个窗体文件 (C)Visual Basic中的一个工程只包括一个窗体 (D)Visual Basic中一个工程最多可以包含256个窗体文件 参考答案为B 6. 当运行程序时,系统自动执行启动窗体的某个事件过程。这个事件过程是_________。 (A)Load (B)Click (C)Unload (D)GotFocus 参考答案为A 7. 无论何控件,都具有一个共同属性。这个属性是_________。 (A)Text (B)Font (C)Name (D)Caption 参考答案为C 8. Print方法可以在_________对象上输出数据 (A)桌面 (B)窗体 (C)状态栏 (D)标题栏 10 参考答案为B ”的语句是_________。 9. 以下能在窗体Form1的标题栏中显示“VisualBasic窗体 (A)Form1.Name="VisualBasic窗体" (B)Form1.Title="VisualBasic窗体" (C)Form1.Caption="VisualBasic窗体" (C)Form1.Text="VisualBasic窗体” 参考答案为C 10. 语句Print Format$(12345,"0000,00.00")输出结果为_________。 (A)12345.00 (B)12345 (C)012,345.00 (D)123,45 11. 对用MsgBox显示的消息框,下面_________是错的。 (A)可以有一个按钮 (B)可以有两个按钮 (C)可以有三个按钮 (D)可以有四个按钮 参考答案为D 12. 语句a=InputBox("Today","Tomorrow","Yesterday",,,"Day before yesterday",5) 将显示一个对话框,在对话框的输入区中显示的信息是_________。 (A)Today (B)Tomorrow (C)Yesterday (D)Day before yesterday 参考答案为C 13. 设窗体上有一个文本框,名称为text1,程序运行后,要求该文本框不能接受键盘 输入,但能输出信息,以下属性设置正确的是_________。 (A)text1.maxlength = 0 (B)text1.Enabled = False (C)text1.visible = False (D)text1.Width = 0 参考答案为B 14. 在窗体上画一个名称为Timer1的计时器控件,要求每隔0.5秒发生一次计时器事 件,则以下正确的属性设置语句是_________。 (A)Timer1.InterVal=0.5 (B)Timer1.Interval=5 (C)Timer1.Interval=50 (D)Timer1.Interval=500 参考答案为D 15. 将文本框的_________属性设置为True时,文本框可以输入或显示多行文本,且会 在输入的内容超出文本框的宽度时自动换行。 (A)Multiline (B)Scrollbars (C)Text (D)Enabled 参考答案为A 16. 当窗体得到焦点时触发_________。 11 (A)Active (B)OnFocus (C)GotFocus (D)Initilize 参考答案为C 17. 在窗体上画一个文本框,其名称为Text1。为了在程序运行后Text1中的文本不可编辑,应当使用的语句_________。 (A)Text1.Clear (B)Text1.Locked=True (C)Text1.Visible=False (D)Text1.Enabled=False 参考答案为B 二、填空题 1. Visual Basic是一种面向对象的程序设计语言,构成对象的三要素是_________、_________、_________。 参考答案:属性、事件、方法 2. 在刚建立工程时,使窗体上的所有控件具有区别于默认值的相同的字体格式,应对_________的_________属性进行设置。 参考答案:Form窗体、Font 3. 下述程序段在运行时的显示结果是_________。 Dim x As Single Cls x=1.344+8 Print Len(x) 参考答案:4 4. 以下语句Print Int(12345.6789*100+0.5)/100的输出结果是_________。 参考答案:12345.68 5. 当文本框的SelStart属性设置为0时,表示__________________,SelStart属性设置为1时表示__________________。 6. 当文本框得到焦点时触发_________事件,当文本框失去焦点时触发_________事件。 参考答案:GotFocus、LostFocus 三、简答题 下列语句是否有错,若有,请说明错误原因,并改正错误: 1. Let = 17 2. T1$ = XYZ 3. L*2 = K + E 4. 1A = 34 , 2A = 66 12 参考答案: 改正: 1. Let x = 17 2. T1$ = “XYZ” 3. L = (K + E)/2 4. A1 = 34 : A2 = 66 四、编程题 1. 设计一个窗体,在窗体上用标签控件显示商品的名称和单价,用文本框控件接收输入的购买数量,当单击“购买”按扭时,计算购买商品的总价格,并在弹出的消息框中显示出购买明细和总价格。假定有以下三种商品: 铅笔:每只1.50元 笔记 哲学笔记pdf明清笔记pdf政法笔记下载课堂笔记下载生物化学笔记PDF 本:每本5.20元 计算器:每件80.00元 参考答案: 设计界面如图: 程序代码如下: Private Sub Command1_Click() Sum = 1.5 * Text1.Text + 5.2 * Text2.Text + 80 * Text3.Text Msg$ = "铅笔" & Text1.Text & "只;" & "笔记本" & Text2.Text & "本;" & "计算器" & Text3.Text & "件。" & "金额:" & Sum MsgBox (Msg$) End Sub 2. 编应用程序,在窗体上显示由如下“*”号构成的三角形图案。 * * * * * * * * * * * * * * * * * * * * * * * * * 参考答案: 设计界面如图,程序代码如下: 13 Private Sub Form_Click() Form1.Print Tab(15); "*" Form1.Print Tab(14); "***" Form1.Print Tab(13); "*****" Form1.Print Tab(12); "*******" Form1.Print Tab(11); "*********" End Sub Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "显示星号三角形,单击窗体开始" End Sub 3. 编写程序,将摄氏温度转换为华氏温度。二者之间的关系是: F = 32 + 1.8C 其中F是华氏温度,C是摄氏温度。程序运行后,弹出一个对话框用于接收输入的摄氏温度值,确定输入后在弹出的消息框中显示转换后的华氏温度值。 参考答案: 设计界面如图: 程序代码如下: Private Sub Command1_Click() C = Text1.Text Text2.Text = 32 + 1.8 * C End Sub 4. 编写程序,在文本框中输入英文字符,单击“大写”按钮把英文字符转换为大写,单击“小写”按钮把英文字符转换为小写。 参考答案: 设计界面如图 程序代码如下 14 Private Sub Command1_Click() Text1.Text = UCase$(Text1.Text) End Sub Private Sub Command2_Click() Text1.Text = LCase$(Text1.Text) End Sub 习题4 一、选择题 1. 以下循环语句中在任何情况下都至少执行一次循环体的是_________。 (A)Do While <条件> (B)While <条件> 循环体 循环体 Loop Wend (C)Do (D)Do Until <条件> 循环体 循环体 Loop Until <条件> Loop 参考答案为C 2. 某人设计了如下程序用来计算并输出7!(7的阶乘) Private Sub Command1_Click() t=0 For k=7 To 2 Step -1 t=t*k Next Print t End Sub 执行程序时,发现结果是错误的,下面的修改方案中能够得到正确结构的是_________。 (A)把t=0改为t=1 (B)把For k = 7 To 2 Step -1改为For k =7 To 1 Step -1 (C)把For k = 7 To 2 Stip-1改为Fork=1 To 7 (D)把Next改为Next k 参考答案为A 3. 以下程序段的输出结果是__________。 num =0 While num<=2 15 num = num+1 Wend Print num (A)2 (B)3 (C)4 (D)程序出错 参考答案为B 4. 设a="a",b="b",c="c",d="d",执行语句x=IIf ((ad),"A","B")后,x的值 为__________。 (A)"a" (B)"b" (C)"B" (D)"A" 参考答案为D 5. 以下Case语句中错误的是__________。 (A)Case 0 To 10 (B)Case Is>10(C)Case Is>10 And Is<50 (D)Case 3,5,Is>10 参考答案为C 6. 设有以下循环结构: Do 循环体 Loop While <条件> 则下列叙述中错误的是__________。 (A)若“条件”是一个为0的常数,则一次也不执行循环体 (B)“条件”可以是关系表达式,逻辑表达式或常数 (C)循环体中可以使用Exit Do语句 (D)如果“条件”总是为True,则不停地执行循环体 参考答案为A 7. 设组合框Combo1中有3个项目,则以下能删除最后一项的语句是__________。 (A)Combo1.RemoveItem Text (B)Combo1.RemoveItem 2 (C)Combo1.RemoveItem 3 (D)Combo1.RemoveItem Combo1.Listcount 参考答案为B 8. 在窗体上画一个列表框和一个命令按钮,其名称分别为List1和Command1,然后编 写如下事件过程: Private Sub Form_Load() List1.AddItem "Item 1" List1.AddItem "Item 2" List1.AddItem "Item 3" End Sub Private Sub Command1_Click() 16 List1.List(List1.ListCount) = "AAAA" End Sub 程序运行后,单击命令按钮,其结果为__________。 (A)把字符串“AAAA”添加到列表框中,但位置不能确定 (B)把字符串“AAAA”添加到列表框的最后(即“Item 3”的后面) (C)把列表框中原有的最后一项改为“AAAA” (D)把字符串“AAAA”插入到列表框的最前面(即“Item 1”的前面) 参考答案为B 9. 在窗体上画一个名称为List1的列表框,一个名称为Label1的标签,列表框中显示 若干个项目。当单击列表框中的某个项目时,在标签中显示被选中项目的索引值。下列能正 确实现上述操作的程序是__________。 (A)Private Sub List1_Click() (B)Private Sub List1_Click() Label1.Caption=List1.ListIndex Label1.Name=List1.ListIndex End Sub End Sub (C)Private Sub List1_Click() (D)Private Sub List1_Click() Label1.Name=List1.Text Label1.Caption =List1.Text End Sub End Sub 参考答案为A 二、填空题 1. 设a=6,则执行x=IIf(a>5, -1, 0)后,x的值为_________。 参考答案:-1 2. 下面程序段的执行结果为_________。 x = Int(Rnd + 4) Select Case x Case 5 Print "优秀" Case 4 Print "良好" Case 3 Print "通过" Case Else Print "不通过" End Select 参考答案:良好 3. 执行下面的程序段后,变量s的值为_________。 17 s = 5 For i = 2.6 To 4.9 Step 0.6 s = s + 1 Next I 参考答案:9 4. 下面的程序执行时,可以从键盘输入一个正整数,然后把该数的每位数字按逆序输 出。例如:输入7685,则输出5867,输入1000,则输出0001。请填空。 Private Sub Command1_Click() Dim x As Integer x=InputBox(“请输入一个正整数”) While x>_________ Print x Mod 10; x=x\10 Wend Print_________ End Sub 参考答案:10、x 5. 只有将组合框的Style属性设置为_________时,才能触发DbClick事件。 参考答案:1 6. 获得列表框List1中项目个数的语句是_________。 参考答案:List1.ListCount 三、简答题 -21. 写出数学式|x|<2.5×10对应的Visual Basic表达式。 参考答案:x<2.5e-2 and x>-2.5e-2 2. 逻辑运算符And、Or和Not的优先级最高的是哪一个。 参考答案:Not 3. 已知 W=10 X=9 Y=8 Z=7 ,求下列表达式的结果: (1) W>X And Y<=Z OR X>Y (2) X>Z Or W=Y AND YY And X=Z) (4) Not (Y<>X Or W*3>Z) 参考答案:(1) True (2) True (3) True (4) False 4. 写出下列十进制整数逻辑运算的结果: (1) X = 23 And 14 (2) X = 23 Or 14 18 (3) X = -1 And 19 (4) X = -1 Or 10 (5) X = Not -1 参考答案:(1) 6 (2) 31 (3) 19 (4) –1 (5) 0 四、编程题 1. 已知变量X和Y的值分别为5、6,编写程序,交换变量X和Y的值。 参考答案: 设计界面如图,程序代码如下: Private Sub Form_Click() x = 5: y = 6 t = x: x = y: y = t Form1.Print "x="; x, "y="; y End Sub Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "x = 5", "y = 6" Form1.Print "单击窗体交换x,y的值" End Sub 2. 征兵的条件是:男性18,20岁,1.65米以上;女性16,18岁,1.60米以上。 编写程序,从键盘输入一个人的数据时,判断是否符合征兵的条件。 参考答案: 设计界面如图: 程序代码如下: Private Sub Command1_Click() age = Val(Text1.Text) h = Val(Text2.Text) If Option1.Value = True Then If age >= 18 And age <= 20 And h >= 1.65 Then 19 Label4.Caption = "合格" Else Label4.Caption = "不合格" End If Else If age >= 16 And age <= 18 And h >= 1.6 Then Label4.Caption = "合格" Else Label4.Caption = "不合格" End If End If End Sub 3. 编写程序,计算下面表达式1+1×3+1×3×5+„„+1×3ׄ„(2N+1)的值。 参考答案: 设计界面如图: 程序代码如下: Private Sub Command1_Click() n = Val(InputBox("请输入N值")) Sum = 1 term = 1 For k = 3 To 2 * n + 1 Step 2 term = term * k Sum = Sum + term Next k Form1.Print "1+1×3+1×3×5+„„+1×3ׄ„(2N+1)="; Sum End Sub Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "计算1+1×3+1×3×5+„„+1×3ׄ„(2N+1)" 20 End Sub 4. 由随机函数产生10道一位整 数与两位整数相加的加法题,产生的 加法题依次显示在屏幕上,每产生一 道题后,由用户输入答案,如果答案 正确,记10分;如果答案错误,允许 第二次输入答案,第二次输入答案正 确,记5分,错误记0分。最后给出 总得分。 参考答案: 设计界面如图 程序代码如下 Private Sub Form_Click() s = 0 For i = 1 To 10 a = Int(10 * Rnd) b = Int(10 + 10 * Rnd) str1$ = "第" & i & "题 " & a & "+" & b c = Val(InputBox(str1$ & " 第一次回答")) If a + b = c Then s = s + 10 str2$ = str1$ & " 10分" Else c = Val(InputBox(str1$ & " 第二次回答")) If a + b = c Then s = s + 5 str2$ = str1$ & " 5分" Else str2$ = str1$ & " 0分" End If End If Form1.Print str2$ Next i Form1.Print "总分"; s End Sub Private Sub Form_Load() 21 Form1.AutoRedraw = True Form1.Print "加法题,第一次回答正确10分," Form1.Print "第二次回答正确5分" Form1.Print "单击窗体开始" End Sub 5. 编写程序把一个分数化为最简分数。对一个分数化简,实际是要寻找分子N与分母M 的最大公因子。 参考答案: 设计界面如图 程序代码如下 Private Sub Command1_Click() Dim m As Integer, n As Integer, u As Integer, v As Integer m = Val(Text1.Text) n = Val(Text2.Text) If m > n Then u = m: v = n Else v = m: u = n End If Do r = u Mod v u = v: v = r Loop Until r = 0 m = m / u: n = n / u Label2.Caption = "化简后分子 " & m & " , 分母 " & n End Sub 6. 幼儿园的小朋友分吃一堆糖果。第一天吃了一半,又吃了一颗;第二天,同样吃 了剩下的一半,又多吃了一颗。到第十天一看,只剩一颗糖果。问原来共有多少颗糖果。 参考答案: 程序代码如下 Private Sub Form_Click() num = 1 For k = 9 To 1 Step -1 num = (num + 1) * 2 Next k Form1.Print "糖果数为"; num End Sub 22 Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "计算糖果数" Form1.Print "单击窗体开始" End Sub 3337. 求解方程X+Y-Z=3,其中X、Y、Z均为正整数,且1?Z?6。 参考答案: 程序代码如下 Private Sub Form_Click() For x = 1 To 6 For y = 1 To 6 For z = 1 To 6 If x ^ 3 + y ^ 3 - z ^ 3 = 3 Then Form1.Print x; y; z End If Next z Next y Next x End Sub Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "解方程X^3+Y^3-Z^3=3" Form1.Print "单击窗体开始" End Sub 8. 验证“哥德巴赫猜想:任何一个大于6的偶数,可以表示为两个素数之和”,从键盘 输入一个大于6的偶数后,打印出所有的分解结果。 参考答案: 程序代码如下 Private Sub Form_Click() n = Val(InputBox("输入一个大于6的偶数")) If n <= 6 Or n Mod 2 <> 0 Then Form1.Print "数据错误" Else For m1 = 2 To n / 2 23 m2 = n - m1 f = 0 For i = 2 To m1 - 1 If m1 Mod i = 0 Then f = 1: Exit For Next i For i = 2 To m2 - 1 If m2 Mod i = 0 Or f = 1 Then f = 1: Exit For Next i If f = 0 Then Print m1; m2 Next m1 End If End Sub Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "打印两个素数之和" Form1.Print "单击窗体开始" End Sub 习题五(参考答案) 一、单项选择题 1 B 2 C 3 D 4 A 5 D 6 D 7 A 8 C 9 C 10 D 二、程序填空题 1. 下面程序用“冒泡法”对数组a中的10个数按升序进行排序,请将程序 补充完整。 Private Sub Command1_Click() a = Array(5, 16, 7, 8, 90, 65, 50, 68, 25, 55) For i = 1 To 【 ? 】 ' ? UBound(a) - 1 For j = 【 ? 】 ' ? 1 To UBound(a) - i ' 24 If 【 ? 】Then ' ? a(j) > a(j + 1) t = a(j + 1) a(j + 1) = a(j) a(j) = t End If Next j Next i For i = 1 To UBound(a) Print a(i); Next i Print End Sub 2. 下面程序用“折半查询法”,对数组a中数值进行查询,请将程序补充完 整。 Option Base 1 Private Sub Form_Click() Dim a As Variant a = Array(-10, 5, 8, 26, 30, 56, 69, 76, 90, 123) k = Val(InputBox("输入要查询的关键值")) low = 1 【 ? 】 ' ? hig = UBound(a) Do While low <= hig 【 ? 】 ' ? m = (low + hig) \ 2 If k = a(m) Then Print k; "has be found,on"; m; "th position." Exit Do ElseIf k < a(m) Then hig = m - 1 Else 【 ? 】 ' ? low = m + 1 End If Loop 25 End Sub 三、程序设计 (参见习题五源代码) 习题六(参考答案) 一、单项选择题 1 B 2 D 3 C 4 D 5 B 6 C 7 B 8 A 9 D 10 C 二、程序填空题 1. 下列程序的功能是,通过调用过程swap,调换数组中数值的存放位置,即a(1)与a(10)的值互换,a(2)与a(9)的值互换,……,a(5)与a(6)的值互换。请将程序补充完整。 Option Base 1 Private Sub Command1_Click() Dim a(10) As Integer For i = 1 To 10 a(i) = i Next Call swap(【 ? 】) ' ? a() 或a For i = 1 To 10 Print a(i); Next End Sub Sub swap(b() As Integer) n = 【 ? 】 ‘ ? UBound(b) For i = 1 To n / 2 t = b(i) b(i) = b(n) b(n) = t 26 【 ? 】 ' ? n = n - 1 或 n = 10 - i Next i End Sub 2. 下列程序的功能是找出一个数,各位数字的阶乘相加之和等于该数,阶乘 由Function过程计算。请将程序补充完整。 Private Sub Command1_Click() For k = 1 To 1000 a = LTrim(Str(k)) n = 0 For i = 【 ? 】 „ ? 1 To Len(a) p = Val(Mid(a, i, 1)) n =【 ? 】 ' ? n + fact(p) Next i If n = k Then Print k Next k End Sub Function fact(x) If x <= 1 Then fact = 1 Else fact = 【 ? 】 ' ? x * fact(x - 1) End If End Function 三、程序设计 (参见习题六源代码) 27 习 题 七 1. 单项选择题 (1) 根据数据的存取方式和结构,文件可以分为( )。 A) 顺序文件和随机文件 B) 程序文件和数据文件 C) ASCII文件和二进制文件 D) 文本文件和二进制文件 (2) 下列叙述不正确的是( )。 A) 打开一个文件后,才能对其进行读写操作 B) Open语句兼有打开文件和新建文件的功能 C) 当用Open语句打开一个已经打开的文件时,将出现错误信息 D) 用Open语句以顺序输入的方式打开一个不存在的文件时,将建立该文件 (3) 以下能判断是否到达文件尾的函数是( )。 A) BOF B) LOC C) LOF D) EOF (4) 下面关于顺序文件的描述正确的是( )。 A)每条 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 的长度必须相同 B)可通过编程对文件中的某条记录方便地修改 C)数据只能以ASCII码形式存放在文件中,所以可通过文本编辑软件显示 D)文件的组织结构复杂 (5) 能对顺序文件进行输出操作的语句是( )。 A) Put B) Get C) Write D) Read (6) 下列叙述错误的是( )。 A) 文件是实现程序和数据分离的重要方式 B) 按文件的性质分类, 可将文件分为ASCII文件和二进制文件 C) 文件的存取方式有顺序文件和随机文件两种 D) 文件的逻辑结构通常有记录文件和流式文件两种形式 (7) 目录 工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录 列表框的Path属性的作用是( )。 A) 显示当前驱动器或指定驱动器上的路径 B) 显示当前驱动器或指定驱动器上的某目录下的文件名 C) 显示根目录下的文件名 D) 只显示当前路径下的文件 (8) 执行语句Open"Tel.dat"For Random As #1 Len=50后,对文件Tel.dat中的数据能够执行的操作是( )。 A) 只能写,不能读 B) 只能读,不能写 C) 既可以读,也可以写 D) 不能读,不能写 (9) 下面关于随机文件的描述不正确的是( )。 A)每条记录的长度必须相同 28 B)一个文件中记录号不必惟一 C)可通过编程对文件中的某条记录方便地修改 D)文件的组织结构比顺序文件复杂 (10) 文件号最大可取的值为( )。 A) 255 B) 511 C) 512 D) 256 (11) PRINT #1,STR1 $中的PRINT是( )。 A)文件的写语句 B)在窗体上显示的方法 C)子程序名 D)以上均不是 (12) 为了建立一个随机文件,其中每一条记录由多个不同数据类型的数据项组成,应使用( )。 A)记录类型 B)数组 C)字符串类型 D)变体类型 (13) 在窗体上画一个名称为Drive1的驱动器列表框,一个名称为Dir1的目录列表框,一个名称为File1的文件列表框,两个名称分别为Label1、Label2,标题分别为空白和“共有文件”的标签。编写程序,使得驱动器列表框与目录列表框、目录列表框与文件列表框同步变化,并且在标签Label1中显示当前文件夹中文件的数量。如图7-14所示。 图7-14 (9)题的运行界面 能够正确实现上述功能的程序是( )。 A) Private Sub Dir1_Change() B) Private Sub Dir1_Change() File1.Path=Dir1.Path File1.Path=Dir1.Path End Sub End Sub Private Sub Drive1_Change() Private Sub Drive1_Change() Dir.Path=Drive1.Drive 29 Dir1.Path=Drive1.Drive Label1.Caption=File1.ListCount Label1.Caption=File1.List End Sub End Sub C) Private Sub Dir1_Change() D) Private Sub Dir1_Change() File1.Path=Dir1.Path File1.Path=Dir1.Path Label1.Caption=File1.ListCount Label1.Caption=File1.List End Sub End Sub Private Sub Drive1_Change() Private Sub Drive1_Change() Dir1.Path=Drive1.Drive Dir1.Path=Drive1.Drive Label1.Caption=File1.ListCount Label1.Caption=File1.List End Sub End Sub (14) 设在工程中有一个标准模块,其中定义了如下记录类型 Type Books Name As String*10 TelNum As String*20 End Type 在窗体上画一个名为Commandl的命令按钮,要求当执行事件过程 Commandl_Click时,在顺序文件Person.txt中写入一条记录。下列能够完成该 操作的事件过程是( )。 A) Private Sub Command1_Click() B) Private Sub Command1_Click() Dim B As Books Dim B As Books Open "c:\Person.txt" For Output As #1 Open "c:\Person.txt" For Input As #1 B.Name = InputBox("输入姓名") B.Name = InputBox("输入姓名") B.TelNum = InputBox("输入电话号码") B.TelNum = InputBox("输入电话号码") Write #1, B.Name, B.TelNum Print #1, B.Name, B.TelNum Close #1 Close #1 30 End Sub End Sub C) Private Sub Command1_Click() D) Private Sub Command1_Click() Dim B As Books Dim B As Books Open "c:\Person.txt" For Output As #1 Open "c:\Person.txt" For Input As #1 B.Name = InputBox("输入姓名") B.Name = InputBox("输 入姓名") B.TelNum = InputBox("输入电话号码") B.TelNum = InputBox("输入电话号码") Write #1, B Print #1, Name, TelNum Close #1 Close #1 End Sub End Sub 2. 填空题 (1) Visual Basic提供的对数据文件的三种访问方式为随机访问方式、 和二进制访问方式。 (2) 文件操作的一般步骤是打开(或建立)文件、进行读写操作和 。 (3) Visual Basic中,文件指针的定位通过 语句来实现。 (4) Visual Basic中,用于读写随机文件的语句分别是 。 和 (5) 在Visual Basic中,用来返回用Open语句打开的文件的大小的函数 是 。 (6) 当目录列表框的Path属性改变时,将触发 事件;而当文件列 表框的Path属性改变时,将触发的事件是 。 (7) 如果要在文件列表框中只显示后缀为rar和zip的压缩文件,则应该将 文件列表框的某属性设置为"*.rar;*.zip",这个属性是 。 31 (8) 要在一个顺序文件的末尾增加数据,则该文件的打开方式应为 。 (9) 以下程序的功能是:把当前目录下的顺序文件smtext1.txt的内容读入内存,并在文本框Text1中显示出来。请填空。 Private Sub Command1_Click( ) Dim inData As String Text1.Text ="" Open ".\smtext1.txt" As #1 Do While Input #1, inData Text1.Text = Text1.Text & inData Loop Close #1 End Sub (10) 在窗体上建立一个文本框,其名称为Text1,在属性窗口中把该文本框的MultiLine属性设置为True,然后编写如下的事件过程: Private Sub Form_Click() Open "d:\test\smtext1.txt" For Input As #1 Do While Not Line Input #1, aspect$ whole$ = whole$ + aspect$ + Chr$(13) + Chr$(10) Loop Text1.Text = whole$ Close #1 Open "d:\test\dmtext2.txt" For Output As #1 Print #1, Close #1 End Sub 上述程序的功能是:把磁盘文件smtext1.txt的内容读到内存并在文本框中显示出来,然后把该文本框中的内容存入磁盘文件smtext2.txt,请填空。 (11)以下代码建立文件名为“c:\stud1.txt”的顺序文件,内容来自文本框,每按一次回车键写入一条记录,然后清除文本框的内容,直到文本框内输入“END”字符串。 Private Sub Form_Load() Open〝c:stud1.txt〞For Output As #1 Text1=〝〞 End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) 32 If KeyAscii=13 Then If Then Close #1 End Else Text1=〝〞 End If End If End Sub (12) 磁盘文本文件e:\my\zg.dat的工资和职称情况,每条记录由工号、工资、职称组成,现对有职称的职工加工资,规定“教授”或“副教授”加原有工资的15%,“讲师”加原有工资的10%,“助教”加原有工资的5%,其他人员不加工资。本程序要求根据加工资的条件修改原文本文件内各类人员的相应工资。 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 :文本文件不能直接进行修改,只能增加一个临时文件,顺序地从老文件读出内容,判断是否要修改。若不修改,则将原内容写到临时文件中;若修改,则将新内容写入临时文件中,直到文件结束。 然后,通过临时文件将内容重新依次写回老文件。由此可见顺序文件修改某一条记录比较麻烦,但适合于批量数据的整体修改或处理。当然,也可通过VB提供的文件操作命令,删除老文件,将临时文件改名为老文件或将临时文件复制为老文件。 Private Sub Command1_Click() Dim no%,gz!,zc$ Open〝e:\my\zg.txt〞For Input As #1 Open〝e:\my\lszg.txt〞For Output As #2 Do While Not EOF(1) 33 Select Case zc gz=gz*1.15 Case 〝讲师〞 Case 〝助教〞 Gz=gz*1.05 End Select Loop Close #1,#2 Open〝e:\my\zg.txt〞 Open 〝e:\my\lszg.txt〞 Do While Not EOF(2) Input #2,no,gz,zc Loop Close #1,#2 End Sub 34 3. 编程题 (1) 编写程序,查找文件Student.txt中是否有字符串"LiMing"。 (2) 编写程序,实现驱动器列表框、目录列表框和文件列表框的同步操作。在文件列表框中显示所有后缀为*.log的文件,当用户双击文件列表框中的某个文件时,该文件的内容在文本框中显示出7-15所示。 图7-15 习题(2)的运行结果 (3) 编写程序,从键盘上输入若干个学生记录(姓名、性别、年龄、成绩、电话),以“DONE”为输入结束符,将输入的数据写入随机文件。输入完毕后,将所有的学生记录读出来打印在窗体上。学生记录定义如下: Type Student Name As String * 8 Sex As String * 2 Age As Integer Score As Integer 35 Tel As String * 12 End Type (4) 编一个程序,完成如下功能:当用户分别在源文件框和目标文件框中输入文件名后,单击“复制”按钮,则将源文件复制到目标文件。程序运行界面如图7-16所示。 图7-16 习题(4)程序运行界面 (5) 在窗体上画两个名称分别为Command1和Command2的命令按钮,其标题分别设为“添加货物”和“查找货物”;两个名称分别为Label1和Label2的标签,其Caption属性分别为“货号”、“货名”;再画两个名称分别为Text1和Text2的文本框,其Text属性设为空白字符串。程序界面如图7-17所示。编写一个程序,实现如下功能:在“货号”和“货名”框中输入相应信息,点击“添加货物”按钮可以向文件中添加信息;在“货号”框中输入货号,点击“查找货物”按钮可以将找到的货号和货名显示在文本框中。 图7-17 习题(5)程序界面 36 习题七参考答案: 一、选择题 (1)A (2)C (3)D (4)C (5) C (6) B (7) A (8)C (9)B (10)B (11)A (12)A (13) C (14) A 二、填空题 (1)顺序访问方式 (2)关闭文件 (3) Seek (4) Put Get (5) LOF (6) Change PathChange (7) Pattern (8) Append (9) For Input Not EOF(1) (10) EOF(1) Text1.Text或Text1或whole或whole$ (11)ucase(text1.text)=”END” print #1,text1.text (12)input #1,no,gz,zc case “教授”,”副教授” gz=gz*1.1 write #2,no,gz,zc for output as #1 for input as #2 write #1,no,gz,zc 三、编程题 (1) Private Sub Form_Click() Open "Student.txt" For Input As #1 total$ = Input$(LOF(1), 1) Close #1 37 location = InStr(1, total$, "LiMing") If location <> 0 Then Print "找到LiMing" Else Print "未找到LiMing" End If End Sub (2) 将文本框的MultiLine属性设置为True,ScrollBars属性设置为3。 Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub Private Sub Form_Load() File1.Pattern = "*.log" End Sub Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub Private Sub File1_DblClick() Dim textline As String Dim total As String Dim filename As String If Right(Dir1.Path, 1) <> "\" Then filename = File1.Path + "\" + File1.filename Else filename = File1.Path + File1.filename End If Open filename For Input As #1 While Not EOF(1) Line Input #1, textline total = total + textline + Chr(13) + Chr(10) Wend Text1.Text = total 38 Close #1 End Sub (3) Private Sub Form_Click() Dim onestudent As Student Open "Student.dat" For Random As #1 onestudent.Name = InputBox("请输入姓名:") While RTrim$(onestudent.Name) <> "DONE" onestudent.Sex = InputBox("请输入性别:") onestudent.Age = InputBox("请输入年龄:") onestudent.Score = InputBox("请输入成绩:") onestudent.Tel = InputBox("请输入电话:") number = number + 1 Put #1, number, onestudent onestudent.Name = InputBox("请输入姓名:") Wend Print "姓名"; Tab; "性别"; Tab; "年龄"; Tab; "成绩"; Tab; "电话" For i = 1 To number Get #1, i, onestudent Print onestudent.Name; Tab; onestudent.Sex; Tab; onestudent.Age; _ Tab; onestudent.Score; Tab; onestudent.Tel Next i Close #1 End Sub (4) Private Sub Command1_Click() Open Text1.Text For Binary As #1 Open Text2.Text For Binary As #2 Dim OneByte As Byte FileLength = LOF(1) 39 For i = 1 To FileLength Get #1, , OneByte Put #2, , OneByte Next i Close #1 Close #2 End Sub (5) Private Type Goods Name As String * 20 No As Integer End Type Private Sub Form_Load() Open "Goods" For Random As #1 End Sub Private Sub Command1_Click() Dim MyGoods As Goods MyGoods.No = Val(Text1.Text) MyGoods.Name = Text2.Text Put #1, , MyGoods Text1.Text = "" Text2.Text = "" End Sub Private Sub Command2_Click() Dim Isfound As Boolean Dim temp As Goods Seek #1, 1 Do While Not EOF(1) Get #1, , temp If temp.No = Val(Text1.Text) Then Text2.Text = temp.Name Isfound = True Exit Do End If Loop If Not Isfound Then Text2.Text = "没有要查找的书目" 40 End Sub Private Sub Form_Unload(Cancel As Integer) Close #1 End Sub 41
本文档为【VisualBasic程序设计基础&#40;川版&#41;习题答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_477730
暂无简介~
格式:doc
大小:222KB
软件:Word
页数:55
分类:生活休闲
上传时间:2017-10-20
浏览量:43