《vb程序设计同步学习指导习题教学资料.doc》由会员分享,可在线阅读,更多相关《vb程序设计同步学习指导习题教学资料.doc(329页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Good is good, but better carries it.精益求精,善益求善。vb程序设计同步学习指导习题-第一章VisualBasic概述1.1知识点归纳1VB的特点(1)面向对象的可视化编程。把程序和数据“封装”起来成为一个对象;每个对象都是可视的;从VB工具箱中选用控件(即现成部件,如文本框、命令按钮等),构成应用程序的用户界面。(2)事件驱动的编程机制。传统的程序设计语言面向过程,VB语言面向对象通过事件来触发执行相应的事件过程(“事件驱动”),从而执行对象的操作,达到运算、处理的目的。(3)结构化的设计语言。(4)友好的VB集成开发环境。2VB中对象的基本概念(1)类和
2、对象类:一组用来定义对象的相关属性和数据的集合。类是创建对象的模型,对象则是按模型生产出来的成品。例如,人可以称之为类,而每一个人,却只能看做是对象。对象是VB系统中的基本运行实体,是一组程序代码和数据的集合。(2)对象的三要素对象的三要素包括:属性、方法和事件。属性:对象的外部特征,即用来描述和反映对象特征的参数。不同的对象有不同的属性。每一个对象都有一组特定的属性,可以通过属性窗口或代码窗口对对象的属性进行设置。方法:是对象能够执行的动作。它是对象本身内含的一些特殊函数或过程,用于完成某种特定的功能,供用户直接调用。事件:由系统预先设置好的、能被对象识别的动作。一个对象可以识别响应多个不同
3、的事件。3事件、事件过程及事件驱动事件:由系统预先设置好的、能被对象识别的动作。发生在用户与应用程序交互时。如单击控件、鼠标移动、键盘按下等。事件过程:指附在对象上的用户编写的程序代码,是事件的处理程序。由事件控制整个程序的执行流程,当某个事件(一般由用户操作来触发)发生时,系统就会自动执行此事件的事件过程。事件驱动方式:是图形用户界面的本质,由用户控制而代码作出响应。即事件过程要经过事件的触发才能被执行,这种工作模式称为事件驱动方式。4设计VB应用程序的步骤VB应用程序的开发,大致分为两大部分的工作:设计用户界面和编写程序代码。即先要确定对象,然后针对这些对象编写代码。基本步骤如下:(1)建
4、立工程;(2)设计用户界面;(3)设置对象的属性值;(4)编写程序代码,建立事件过程;(5)保存应用程序;(6)运行和调试应用程序;(7)生成可执行文件。5控件控件是建立VB应用程序的基本元素,是VB中预先定义好的、编程能直接使用的对象,可视化设计就是通过控件实现的。利用控件创建对象是VB编程的一项重要工作。VB中的控件一般可分为三大类:内部控件、ActiveX控件和可插入的对象控件(也叫插件):(1)内部控件(也称标准控件):包含在VB系统中,默认状态下在工具箱中以图形的形式显示,这些控件既不能添加,也不能删除。如:文本框、标签、命令按钮等。(2)ActiveX控件:存放于扩展名为.ocx的
5、独立文件中,其中包括VB各种版本提供的控件和仅在专业版和企业版中提供的控件,另外还有许多第三方提供的ActiveX控件。(3)可插入的对象控件:是指能够添加到工具箱中的对象,添加的方法是选择“工程|部件”菜单选项打开部件窗口,在“可插入对象”选项卡选择相应文件,添加到工具箱中。每个控件都有自己的属性、方法和能够识别响应的事件。6VB的工作模式VB是一个集成编辑、编译与运行于一起的集成开发系统。在程序设计过程中其工作状态可分为3中模式:设计模式、运行模式和中断模式。为了调试程序,用户必须知道系统当前所处的工作模式及其能实施的相关操作。(1)设计模式:用于用户基本界面的设计、相关控件的属性设置和程
6、序代码编制。(2)运行模式:用于在编辑代码过程中编译执行应用程序,以观察运行效果或进行代码调试。在该模式下,不能对程序界面及代码进行编辑。(3)中断模式:用于程序运行过程中的暂时中断,这时可以编辑程序代码,并可在“立即窗口”中显示变量值、中间结果或运行其他命令,但不可编辑界面。该模式主要用作程序代码的调试和中间结果的检查。在此模式下,选择“运行”菜单下的“继续”选项可以继续运行程序,选择“结束”选项可以中止程序的运行。7VB常见的错误类型(1)编辑错误:在编辑代码时,VB会对键入的代码直接进行语法检查。当发现代码存在打字错误,遗漏关键字或标点符等语法错误,VB在Form窗口中弹出一个子窗口,提
7、示出错信息,出错的那一行变成红色。这时,用户必须单击“确定”按钮,关闭出错提示窗,然后对出错行进行修改。(2)编译错误:指按了“启动”按钮,VB开始运行程序前,先编译执行的程序段时,产生的错误。此类错误由于用户未定义变量、遗漏关键字等原因产生。这时,VisualBasic也弹出一个子窗口,提示出错信息,出错的那一行被高亮度显示。(3)运行错误:指VB在编译通过后,运行代码时发生的错误。这类错误往往是指令代码执行了一非法操作引起的。例如类型不匹配、试图打开一个不存在的文件等。(4)逻辑错误:程序运行后,得不到所期望的结果,这说明程序存在逻辑错误。这类错误往往是程序存在逻辑上的缺陷所引起。例如,运
8、算符使用不正确、语句的次序不对、循环语句的起始、终值不正确等。通常,逻辑错误不会产生错误提示信息,故错误较难排除,需要程序员仔细地阅读分析程序以及设置断点进行调试。8VB程序的调试测试、调试程序的过程是查找、排除和修改程序中错误的过程。VB中可通过如下方式调试程序:(1)进入中断模式通常系统在中断模式下,用户可查看各变量及属性的当前值,观察界面状况,从而了解程序执行是否正常,并且可以修改程序代码、修改变量及属性值等。在程序调试时,使系统进入中断模式的方法有以下几种:程序运行时发生错误,被系统检测到而中断。程序运行中,按组合键“Ctrl+Break”,也可以单击调试工具栏中“中断”按钮,或选择“
9、运行/中断”菜单项,就会产生中断。在程序代码中设置断点,当程序运行到断点处就会产生中断。采用逐语句或逐过程运行,每执行一行语句或一个过程就会产生中断。在程序代码中使用Stop语句,每执行到Stop语句时,也会产生中断。在中断模式下,最便捷的查看程序中变量或属性的方法是将鼠标指针停留在要查看的变量上,系统就会在随后弹出的一个小方框中显示指针所指的变量或属性的当前值。当在中断模式下调试完毕后,退出中断模式的方法有:如果要退出并继续运行程序,则可选择“运行/继续”菜单项,或单击调试工具栏中“继续”按钮。如要结束运行,则可选择“运行/结束”菜单项,或单击调试工具栏中的“结束”按钮。(2)控制程序的运行
10、。逐语句运行。即单击运行,每次只执行一条语句,之后运行中断,按F8快捷键或选择“调试/逐语句”菜单项执行下一条语句。这样可逐个语句地检查每条语句的执行情况。逐过程运行。当程序运行到调用过程时,逐过程运行可将整个被调用过程作为整体来执行。按Shift+F8快捷键或选择“调试/逐过程”菜单项均可实现逐过程运行。(3)设置断点调试。找出程序代码中能反映程序执行状况的关键代码行,单击其左边的边框位置,设置断点。程序运行到断点设置的代码行自动停止执行,并进入中断模式,观察运行情况。(4)立即窗口。立即窗口用于显示在程序运行过程中与当前过程有关的信息,可以显示某个变量或属性值,或执行单个过程或表达式。在立
11、即窗口中可以实现以下功能:用Debug.Print方法输出信息。调试程序时可在程序代码中添加Debug.Printn等语句,将变量或表达式的值输出到立即窗口中。程序调试完成后,应将Debug.Print语句删除。在设计时用来测试表达式。在设计模式下,可以在立即窗口中使用Print方法或?直接输出一些表达式的结果。例如:在立即窗口中输入:?Int(Rnd*5),按Enter键立即显示一个随机产生的整数。直接从立即窗口打印。在中断模式下,通过使用Print方法或?可在立即窗口中检查变量或表达式的值。例如:在立即窗口中输入:?i,j,i*j从“立即”窗口编辑变量或属性值。在中断模式下,可在立即窗口中
12、设置变量或属性的值。例如:当程序中断时,在立即窗口中给属性重新赋值:Text1.ForeColor=vbRed,当程序继续运行时,文本框中字体的颜色就可变成红色。从立即窗口中测试过程。从立即窗口可以通过指定参数值来调用过程,以测试程序程序的正确性。例如:使用新参数来计算调用函数fac()的结果:n=5:?fac(n)9VB应用程序的结构在VB中,一个VB应用程序就是一个工程,以*.vbp工程文件的形式保存,一个工程通常包含多种类型的文件模块,其中最常见的有:窗体模块(*.frm):是创建应用程序的基础。在窗体模块中包含窗体及其控件的属性设置值,同时还包含在该窗体的代码窗口中编写的对常量、变量、
13、类型和外部过程的声明以及sub和function过程。标准模块(*.bas):存放与窗口或控件无关的代码,通常是其他模块共同使用的声明和过程代码。类模块文件(*.cls):用来定义类,并可用它创建能被应用程序中的过程所调用的对象。*.frx二进制文件:系统自动产生,包含属性窗口装入的图片等信息。资源文件(.res):是指将在程序运行时用到的资源集中在一起的一个文件。一个资源文件可以包括文字(TEXT)、位图(BITMAP)、图标(ICON)等。并且在程序中调用时不用指明路径,这就简化了程序的编写并减少了发生错误的可能。1.2常见错误和难点分析1.对象名称(Name)属性输入错误在窗体上创建的每
14、个控件对象都有一个唯一标识它的默认名称。用户也可以在属性列表窗口中修改对象名。在编写代码时引用该对象的属性或方法时需要指明对象名。当程序中的对象名错误时,系统会显示“要求对象”的信息。2对象的属性名、方法名输入错误当对象的属性名或方法名输入出错,编译时系统会显示“方法或数据成员未找到”的提示信息。编写代码时尽量使用自动列出成员功能。即当用户在输入控件对象名和句点后,系统自动列出该控件对象在运行模式下允许使用的属性和方法,用户可通过按空格键或双击鼠标左键选择,以防止此类错误的出现。正确的系统按规定的大小写表示。3混淆控件的Name属性和Caption属性Name属性的值用于在程序中唯一的标识该控
15、件对象,在窗体上不可见;而Caption属性的值是在窗体上显示的内容。4.混淆使用文本框的text属性和标签的Caption属性文本框的Text属性和Caption属性都可以用于表示控件在窗体上显示的内容的,但两个属性属于不同的控件,文本框除了用于显示信息以外,还可以用于输入信息。5在编译程序时出现“无效字符”错误提示,对应行以红色字显示。在VB中要注意英文环境下的半角符号和中文环境下全角符号的使用。VB只允许使用英文环境下的半角符号。最常见的如:逗号,与,双引号“”与“”句号.与。的区别。6.字母和数字形状相似输入代码时注意小写字母“l”和数字“1”形式相同、小写字母“o”与数字“0”。7.
16、添加多个相同类型的控件时,无意形成控件数组在添加多个相同类型的控件时,可在窗体上先添加一个控件,然后“复制”“粘贴”,此时会出现对话框询问是否创建控件数组,单击“否”按钮,在窗体上添加同类型不同名称的控件。如果单击“是”则形成控件数组。8语句书写位置错误。在VB中,除了在“通用声明”段使用Dim等变量声明、Option语句外,任何其他语句都应放在事件过程中,否则程序运行时会显示“无效外部过程”的提示信息。9.打开工程时找不到对应的文件一个最简单的VB应用程序至少也应包括一个工程文件.vbp和一个窗体文件.frm组成。工程文件记录该工程内所有文件包括窗体文件.frm、标准模块文件.bas、类模块
17、文件.cls等的名称和存放路径。若用户在上机结束后,把文件保存到磁盘上,而又遗漏了某个文件,下次打开工程时就会显示“文件未找到”的提示信息。或者在磁盘上对某个文件进行重命名,这样也会造成打开工程时显示“文件未找到”的提示信息。建议用户在编保存一个工程时,将该工程包含的所有文件保存在同一个文件夹中,通常将该工程作为一个整体复制或移动。10误用“文件”菜单中的“添加工程”选项,形成工程组。用户误选“文件|添加工程”菜单选项,无意形成一个工程组。“文件”菜单中的“工程另存为”选项,现在变成“工程组另存为”选项。解决的办法:在工程资源管理器窗口,选中不需要的工程,单击鼠标右键打开快捷菜单,选“移除工程
18、”选项,删除工程文件夹下的工程组文件*.vbg,再重新打开工程就可以了。1.3习题一、选择题1VB是一种面向对象的程序设计语言,构成对象的三要素是_。(A)属性、控件和方法(B)属性、事件和方法(C)窗体、控件和过程(D)控件、过程和模块2窗体编辑器的主要功能是_。(A)设计窗体的外观(B)编写源程序代码(C)建立用户界面(D)设置对象属性3在代码窗口中,当从对象列表框中选定了某一对象后,在_中会列出适用该对象的事件。(A)过程框(B)属性窗口(C)事件列表框(D工具栏4要设置窗体上个控件的属性,可在_中进行。(A)窗体布局窗口(B)工程资源管理器窗口(C)属性窗口(D)窗体窗口5某一窗体的n
19、ame属性为myForm,它的Load事件过程名称为_。(A)MyForm_Load(B)Me_Load(C)Form_Load(D)Form1_load6要在窗体Form1内显示字符串”MyForm”,可以使用的语句是_。(A)Form.Caption=”MyForm”(B)Form1.Caption=”MyForm”(C)Form1.Print”MyForm”(D)Form.Print”MyForm”7以下不能在工程资源管理器窗口中列出的文件类型是_。(A).bas(B).res(C).frm(D).ocx8设窗体上有一个文本框,名称为text1,程序运行后,要求该文本框只能显示信息,不能
20、接受输入的信息,以下能实现该操作的语句是_。(A)Text1.MaxLength=0(B)Text1.Enabled=Flase(C)Text1.Visible=Flase(D)Text1.Width=09以下能在窗体Form1的标题栏中显示“VisualBasic窗体的语句是_。(A)Form1.Name=VisualBasic窗体(B)Form1.Title=VisualBasic窗体(C)Form1.Caption=VisualBasic窗体(D)Form1.Text=VisualBasic窗体”10添加一个命令按钮“开始”。若要为命令按钮设置快捷键键,即按下Alt及字母S时,能够执行开
21、始命令按钮的事件过程,方法是:_。(A)把Caption属性设置为&Start(B)把Caption属性设置为S&Start(C)把Name属性设置为&Start(D)把Name属性设置为S&tart11以下叙述中错误的是_。(A)事件过程是响应特定事件的一段程序(B)不同的对象可以具有相同名称的方法(C)对象的方法是执行指定操作的过程(D)对象事件的名称可以由编程者指定12下列关于VisualBasic6.0的控件的叙述中,正确的是_。(A)VisualBasic6.0的控件分为3类:内部控件、标准控件和ActivateX控件(B)标准控件可以添加,但不能删除(C)启动VisualBasic
22、6.0后,ActivateX控件就出现在工具箱(D)ActivateX控件是扩展名为.ocx的独立文件13下列说法错误的是_。(A)窗体文件的扩展名为.frm(B)一个窗体对应一个窗体文件(C)VisualBasic中一个工程只包含一个窗体文件(D)VisualBasic中的一个工程最多可包含255个窗体14以下关于VisualBasic特点的叙述中,错误的是()(A)VisualBasic是采用事件驱动编程机制的语言(B)VisualBasic程序既可以编译运行,也可以解释运行(C)构成VisualBasic程序的多个过程没有固定的执行顺序(D)VisualBasic程序不是结构化程序,不具
23、备结构化程序的三种基本结构15VB6.0集成开发环境中不能完成的功能是_。(A)编辑源程序(B)编译生成可执行文件(C)调试运行程序(D)自动查找并改正程序中的语法错误16确定一个控件在窗体上的位置的属性是_。(A)Width和Height(B)Width或Height(C)Top和Left(D)Top或Left17若要使标签空间显示时不覆盖其背景内容,要进行设置的属性是_。(A)BackColor(B)BackStyle(C)ForeColor(D)BordStyle18若要使某一文本框控件在程序运行过程中能用鼠标单击获得输入焦点,但不能用按下Tab键的方式获得输入焦点,则应_。(A)将其E
24、nabled属性设置为False,且其TabStop属性设置为False(B)将其Enabled属性设置为True,且其TabStop属性设置为False(C)将其Enabled属性设置为False,且其TabStop属性设置为True(D)将其Enabled属性设置为True,且其TabStop属性设置为True19以下可以产生工程组文件(.vbg)的情况是_。(A)当一个程序中包含了两个以上的窗体时(B)当一个程序中包含了两个以上的标准模块时(C)当一个程序中包含了两个以上的工程时(D)当一个程序中包含了两个以上的类模块时。20当窗体上的文字或图形被覆盖或窗体最小化后能恢复原貌,需要将窗体
25、的_属性设置为True。(A)Visible(B)AutoRedraw(C)Paint(D)Resize二、填空题1与传统的程序设计语言相比,VB最突出的特点是采用_编程机制。2VB提供两种控制程序运行的方式,一种是_方式,另一种是_方式。3VisualBasic6.0有3中工作模式,即_,_和_。4如果要在单击命令按钮Command1时执行一段程序代码,则应将这段代码写在_事件过程中。5在窗体上已经建立了多个控件如label1、Label2、Text1和Command1,要使程序一运行时焦点就定位在Command1控件上,应对Command1控件设置_属性的值为_。6要清除一个文本框Text
26、1中的文字,则在程序代码中应书写的语句是_。三、编程题1编写一个简单的程序,在窗体上有两个命令按钮(“显示”与“隐藏”)和一个标签(标题为“欢迎使用”),单击“显示”按钮时,将标签显示出来,单击“隐藏”按钮时,将标签隐藏起来。2窗体上含有两个标签、两个文本框和两个命令按钮,两个标签分别用于显示文字“边长”和“面积”,两个文本框用于输入数据和显示计算结果。运行时,用户在“边长”文本框中输入某一个正整数,当单击“计算”按钮时,则在“面积”文本框中显示该数的平方数。单击“结束”按钮,则结束程序的运行。1.4参考答案一、选择题12345678910BCACCCDBCA11121314151617181
27、920DDCDDCBBCB二、填空题1事件驱动2逐语句,逐过程3设计模式,运行模式,中断模式4Command1_Click5TabIndex,06Text1.Text=”三、编程题1PrivateSubCommand1_Click()Label1.Visible=TrueEndSubPrivateSubCommand2_Click()Label1.Visible=FalseEndSub2PrivateSubCommand1_Click()DimxAsSinglex=Val(Text1.Text)Text2.Text=x*xEndSubPrivateSubCommand2_Click()EndE
28、ndSub第二章顺序结构的程序设计2.1知识点归纳1VB提供的数据类型数据是程序处理的对象。为了更好地处理各种各样的数据,VB定义了多种数据类型,不同类型的数据,所占的存储空间不一样。VB提供的数据类型主要分为:标准数据类型:整型(Integer)、长整型(Long)、字节型(Byte)、单精度型(Single)、双精度型(Double)、货币型(Currency)、字符串型(String)、逻辑型(Boolean)、日期型(Date)和变体型(Variant)。用户自定义类型:可以用TypeEndTypy语句创建用户定义的类型。枚举类型:可以用EnumEndEnum语句来定义相关的命名常数集
29、合。2变量和常量(1)变量的定义和作用域用类型说明符来标识,常用类型说明符有:单精度浮点数!、双精度浮点数、整型数据、长整型数据&、货币型数据、字符串型数据$。在定义变量时指定类型,其格式如下:PublicPrivateStaticDim变量名As数据类型变量的作用域指的是变量的有效范围。根据定义位置和使用的变量定义语句的不同,分为3种:局部变量:是在过程(事件过程或通用过程)内定义的变量,其作用域是其所在的过程。局部变量在过程内用Dim或Static声明。模块变量:包括窗体变量和标准模块变量,其作用于窗体内的所有过程。模块变量用Private或Dim声明。全局变量:作用域最大,在工程中的每一
30、模块和窗体都能访问的变量。全局变量用Public或Global声明。当局部变量和全部变量同名时,在局部变量所在过程中该变量为局部变量,离开此过程为全局变量。变量名必须以字母或汉字开头,由字母、数字或下划线组成,长度小于等于255个字符;不能使用VB中的关键字、过程名、符号常量名和函数名;在为变量命名时应见名知义,尽可能简单明了,尽量采用VisualBasic建议的变量名前缀或后缀的约定来命名,以便区分变量的类型,在同一个范围内变量名必须是唯一的。(2)在VB中,常量分三类,分别为:一般常量:在程序代码中直接给出的数据。包括字符串常量(用双引号括起来的一系列字符)、数值常量(包括整型常量、长整型
31、常量、单精度常量、双精度常量)、布尔常量(只有True和False两个值)、日期常量(用一对#括起来)。用户自定义常量声明常量的语法为:PublicPrivateConst常量名As数据类型=通常,为区分明显,用户定义的常量名用大写字母;常量名在程序中智能引用,不能重新赋值。VB提供的系统常量系统定义好的常量位于对象库中,在“对象浏览器”中的VisualBasic(VB)、VisualBasicforApplications(VBA)等对象库中列举了VB的系统常量。如:VbOkonly、VbYesno3运算符与表达式算术运算符:(乘方)、*、/(除法)、(整除)、mod(求余)、,优先级从左到
32、右依次降低。字符串运算符有两个:&和+,区别是“+”两边必须是字符串,“&”不一定。关系运算符:=、=、=、,运算结果为逻辑值。逻辑运算符:Not、And、Or、Xor、Eqv(相等)和Imp(蕴含),其运算结果为逻辑值。日期运算符:、。注意:两个日期可以相减,但不能相加。日期运算的结果可能是日期,也可能是相隔的天数。优先级:当一个表达式中存在多种运算符是时,按如下优先级的先后顺序进行运算:函数算术运算(乘方取负乘法/除法整除求余加/减)字符串运算符关系运算符逻辑运算符(NotAndOr),同级从左到右,有括号时括号内优先。4常用内部函数VB提供了大量的内部函数供用户在编程时调用。内部函数按其
33、功能可分为:数学函数、转换函数、字符串函数、日期函数和格式输出函数等。函数的一般调用格式:()说明:参数表可以是一个参数或用逗号分隔开的多个参数;参数可以是变量、常量、表达式,也可以是函数。5赋值语句格式:Let=或:Let对象名.=功能:将等号右边表达式的值,赋值给等号左边的变量或属性。说明:(1)关键字Let可以省略。(2)向对象赋值时,应指明对象名和属性名,系统默认的对象是当前窗口。(3)等号在这里称为赋值号。(4)变量和对象一旦被赋值,新值将代替旧值。(5)赋值语句具有计算和赋值的双重功能。(6)等号右边的变量(对象)必须和等号右边的数据类型一致。注意:在代码中区分赋值语句“”与关系运
34、算符“”。6程序的基本构成。程序通常由若干条语句共同协作完成一个完整的功能,一般情况下,一个完整的程序应该包含4个部分:说明部分:说明程序中使用的变量的类型、初始值、特性等。输入部分:输入程序中需要处理的原始数据。加工部分:对程序中的数据按需要进行加工和处理。输出部分:将结果以某种形式进行输出。7VB程序的书写规则在编写程序代码时,要遵守一定的规则。不能超越其规定来自由发挥。(1)一行可写多条语句,语句间用冒号“:”分隔,一行最多可有255个字符。(2)一条语句可分成多行书写。在VB中一般是一行写一条语句,但若单行语句太长,也可以分若干行书写,但在行末须加入续行符(一个空格紧跟一个下划线“_”
35、)。(3)VB代码中不区分大小写字母,自动将关键字的首字母转换成大写。(4)各关键字之间,关键字和变量名、常量名、过程名之间一定要有空格分隔。(5)使用缩进格式。为了便于阅读,编写程序代码时,可以使用缩进来反映代码的逻辑结构和嵌套关系。(6)严格按照VB规定的格式和符号编写程序。与其他高级语言一样,在VB中使用的分号、引号、括号等符号都是英文状态下的半角符号,而不能使用中文状态下的全角符号。(7)程序中可使用注释,注释以Rem开头或用撇号“”引导注释内容,用撇号“”引导的注释内容,可直接出现在语句的后面。8数据的输入输出一个完整的VB应用程序,应包括数据输入、数据处理和数据输出3个部分。通过数
36、据输入和数据输出实现应用程序与用户交互的功能。数据输入除了利用赋值语句“”为变量和对象属性设置新值(在程序运行前的编码阶段输入数据),或利用文本框控件供用户在程序运行过程中输入数据外,还可以使用InputBox()函数在程序运行过程中从键盘输入数据。=InputBox(,标题,默认内容)说明:运行InputBox()函数可以屏幕上产生一个对话框供用户输入数据,并将其输入的内容作为函数返回值向变量赋值。数据输出除了可以在窗体、标签等标准控件上显示信息以外,还可以使用MsgBox过程或MsgBox()函数弹出对话框显示信息。MsgBox,按钮图标,标题说明:弹出一个MsgBox对话框,显示提示信息
37、,只有一个按钮,无返回值。或=MsgBox(,按钮图标,标题)说明:弹出MsgBox对话框,提示用户选择按钮,将用户选择按钮的结果返回,控制程序的流向。9Print方法Print方法可以在窗体上或其它图形对象上以及打印机上输出信息,而信息输出的位置非常关键。(1)Print方法的格式对象名.Print表达式列表,|;表达式表可以是一个或多个表达式,可以是数值表达式,也可以是字符串。对于数值表达式,打印表达式的值(即:Print语句具有计算和输出双重功能,先计算后打印);而字符串则原样输出。当输出多个表达式或字符串时,各表达式之间要用分隔符隔开(,或;):若用,分隔,则按标准格式显示数据项(以1
38、4个字符为一区段);若用;分隔,则按紧凑格式输出数据项(字符之间无空格);若表达式结尾无标点符号,则执行完该语句后,自动换行;若Print语句中无表达式列表,则输出空行。(2)用Tab()和Spc()函数定位Tab()函数格式:Tab()功能:使用在Print语句中,把光标移动到由参数n指定的位置,并从该位置开始输出数据。说明:要输出的内容放在Tab函数后,并用;号隔开。在一个Print方法中有多个Tab函数时,每一个Tab函数对应一个输出项,之间用;号分隔。参数n可以是数值表达式,但其值是一整数。Spc()函数格式:Spc()功能:在Print输出中,用Spc()函数可以跳过n个空格。说明:
39、Spc函数和输出项之间用;号分隔,其作用和Tab函数类似,可以相互替代。但Tab函数是从对象的左端开始记数,而Spc()函数只是表示两输出项之间的间隔。2.2常见错误和难点分析1.变量名使用系统关键字、系统常量、函数名等。如:DimdateAsInteger这里Date是日期函数名。2无意声明了变体型的变量。如:Dima,b,cAsInteger这里声明的a和b为变体型变量,正确的应该是:DimaAsInteger,bAsInteger,cAsInteger3赋值号“”两边的表达式数据类型不匹配如:a为整型变量,文本框Text1中输入的内容是welcome,代码a=Text1.Text运行过程
40、中提示“类型不匹配”。4同时给多个变量赋值,造成逻辑错误。要给多个变量a、b、c赋值,有的用户写成a=b=c=5,这条语句在C语言中是正确的,但在VB中由于赋值号与逻辑等号书写相同,所以此语句中b和c之间、c和5之间的“=”系统会认为是逻辑等号,所以不会出现语法错误,而形成逻辑错误。5漏掉乘法运算符*在VB中书写S=ab数学表达式时,习惯性的省略了乘法运算符,系统会认为是ab是一个变量,不会认为是求a乘以b,导致逻辑错误。6算术运算符/和的使用混淆。在VB中,/是除法运算符,是整除运算符,有的用户混淆了这两个运算符,在求3除以2的结果时,写成s=32,结果只有商的整数部分。7字符串连接运算出错
41、。字符串的连接运算赋有&和+两种,在编写代码过程中,有的用户会写出这样的代码:DimsasString,nasIntegers=”计算的结果为:”+n系统提示错误信息“类型不匹配”。在进行字符串连接运算时,如果使用+进行连接运算,连接符两边应全为字符型,在使用&连接运算符进行运算时,可以不全是字符型,系统会自动转换。所以这里换用&运算符或用str(n)进行数据类型转换。8.逻辑表达式书写错误,编译时没有造成语法错而形成逻辑错。要在VB中表示数学表达式0=x1,有的用户写成:0=x1,编译时没有造成语法错误而形成逻辑错。因为这里x的值不管是多少,这个逻辑表达式的结果都是True。在VB中,当两个
42、不同类型的变量或常量参加运算时,有自动向精度高的类型转换的功能。如逻辑常量True转换为数值型的值为1,False为0;反之数值非0转换为逻辑型的值为True,0为False。表达式0=x1的计算过程为:先计算0=x,结果为true(-1)或False(0);不管是哪个结果,始终是=0Andx1。9数据溢出错误。有的用户在编写代码求解s=10!时,定义一个整型变量s(DimsAsInteger)来表示10!的结果,编译提示错误信息“溢出”。在VB定义了多种数据类型,不同类型的数据,所占的存储空间不一样。整型变量2个字节的存储空间无法满足10!结果的需要,发生溢出。解决的办法是:DimsasLo
43、ng,长整型数据有4个字节的存储空间。另外对于浮点型数据也要根据实际的数据值来决定声明为单精度型(Single)还是双精度型(Double)。10标准函数名输入错误VB提供了很多事先定义好具有特定功能的内部函数,供用户使用。当函数名写错时,运行程序,系统显示错误提示信息“子程序或函数未定义”,单击“确定”按钮,在指示位置检查函数名是否输入正确。11声明局部变量和窗体级变量的问题。在VB程序中,需要用变量用来暂时存放一些中间结果,这些变量在使用前需要声明。变量一般在过程内部声明使用,称为局部变量。但当多个过程需要用到同一个变量的值时,该变量必须放在所有代码的最前面即“通用声明”段声明,称为窗体级
44、变量。12在Form_Load事件过程中print和set_focus方法不起作用Form_Load过程即系统在窗体装入内存时无法同步地用Print、SetFocus方法显示或定位控件的焦点。解决方法:Print显示信息:方法一、在属性窗口将窗体AutoRedraw属性设置为True。方法二、在Form_Load事件过程第一行添加Show语句SetFocus方法定位焦点:在属性窗口中对要定位焦点的控件的TabIndex属性值设置为0。13在使用计时器控件实现简单的动画时,计时器不工作。一个计时器两个属性(Enabled和Interval)一个事件(Timer):只有在保证给计时器的Enable
45、d属性赋值True,Interval属性值非0,timer事件过程编写正确的情况下,计时器正常工作。2.3习题一、选择题1在一个语句行内写多条语句,语句之间应该用_来分隔。(A)逗号(B)分号(C)顿号(D)冒号2以下可以作为VisualBasic变量名的是_。(A)F1.1(B)Int(C)F2A(D)2FA3当标签的标题内容太长,需要根据题目自动调整标签的大小时,应设置标签的_属性为True。(A)AutoSize(B)WordWrap(C)Enabled(D)Visible4在窗体上已经建立了多个控件,如Text1,Label1,Command1。若要程序开始运行时焦点定位在Text1上,应将Text1的TabIndex属性设置为_。(A)0(B)1(C)2(D)35在程序中将变量i,t,s,d分别定义为Integer类型,Boolean