vb程序设计同步学习指导_第1页
vb程序设计同步学习指导_第2页
vb程序设计同步学习指导_第3页
vb程序设计同步学习指导_第4页
vb程序设计同步学习指导_第5页
已阅读5页,还剩139页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章VisualBasic概述

1.1知识点归纳

1.VB的特点

(1)面向对象的可视化编程。

把程序和数据“封装”起来成为••个对象;每个对象都是可视的;从VB工具箱中选用控

件(即现成部件,如文本框、命令按钮等),构成应用程序的用户界面。

(2)事件驱动的编程机制。

传统的程序设计语言面向过程,VB语言面向对象通过事件来触发执行相应的事件过程

(“事件驱动”),从而执行对象的操作,达到运算、处理的目的。

(3)结构化的设计语言。

(4)友好的VB集成开发环境。

2.VB中对象的基本概念

(1)类和对象

类:•组用来定义对象的相关属性和数据的集合。类是创建对象的模型,对象则是按模

型生产出来的成品。例如,人可以称之为类,而每一个人,却只能看做是对象。对象是VB

系统中的基本运行实体,是组程序代码和数据的集合。

(2)对象的三要素

对象的三要素包括:属性、方法和事件。

①属性:对象的外部特征,即用来描述和反映对象特征的参数。不同的对象有不同的属

性。每个对象都有一组特定的属性,可以通过属性窗口或代码窗口对对象的属性进行设置。

②方法:是对象能够执行的动作。它是对象本身内含的一些特殊函数或过程,用于完成

某种特定的功能,供用户直接调用。

③事件:山系统预先设置好的、能被对象识别的动作。一个对象可以识别响应多个不同

的事件。

3.事件、事件过程及事件驱动

①事件:由系统预先设置好的、能被对象识别的动作。发生在用户与应用程序交互时。

如单击控件、鼠标移动、键盘按下等。

②事件过程:指附在对象上的用户编写的程序代码,是事件的处理程序。由事件控制整

个程序的执行流程,当某个事件(一般由用户操作来触发)发生时,系统就会自动执行此事件

的事件过程。

③事件驱动方式:是图形用户界面的本质,由用户控制而代码作出响应。即事件过程

要经过事件的触发才能被执行,这种工作模式称为事件驱动方式。

4.设计VB应用程序的步骤

VB应用程序的开发,大致分为两大部分的工作:设计用户界面和编写程序代码。即先要

确定对象,然后针对这些对象编写代码。基本步骤如下:

(1)建立工程;

(2)设计用户界面;

(3)设置对象的属性值;

(4)编写程序代码,建立事件过程;

(5)保存应用程序;

(6)运行和调试应用程序;

(7)生成可执行文件。

5.控件

控件是建立VB应用程序的基本元素,是VB中预先定义好的、编程能直接使用的对象,

可视化设计就是通过控件实现的。利用控件创建对象是VB编程的•项重要工作。VB中的控

件一般可分为三大类:内部控件、ActiveX控件和可插入的对象控件(也叫插件):

(1)内部控件(也称标准控件):包含在VB系统中,默认状态下在工具箱中以图形的形

式显示,这些控件既不能添加,也不能删除。如:文本框、标签、命令按钮等。

(2)ActiveX控件:存放于扩展名为.ocx的独立文件中,其中包括VB各种版本提供的控

件和仅在专业版和企业版中提供的控件,另外还有许多第三方提供的ActiveX控件。

(3)可插入的对象控件:是指能够添加到工具箱中的对象,添加的方法是选择“工程|部

件”菜单选项打开部件窗口,在“可插入对象”选项卡选择相应文件,添加到工具箱中。

每个控件都有自己的属性、方法和能够识别响应的事件。

6.VB的工作模式

VB是一个集成编辑、编译与运行于一起的集成开发系统。在程序设计过程中其工作状态

可分为3中模式:设计模式、运行模式和中断模式。为了调试程序,用户必须知道系统当前

所处的工作模式及其能实施的相关操作。

(1)设计模式:用于用户基本界面的设计、相关控件的属性设置和程序代码编制。

(2)运行模式:用于在编辑代码过程中编译执行应用程序,以观察运行效果或进行代码调

试。在该模式下,不能对程序界面及代码进行编辑。

(3)中断模式:用于程序运行过程中的暂时中断,这时可以编辑程序代码,并可在“立即

窗口”中显示变量值、中间结果或运行其他命令,但不可编辑界面。该模式主要用作程序代

码的调试和中间结果的检查。在此模式下,选择“运行”菜单下的“继续”选项可以继续运

行程序,选择“结束”选项可以中止程序的运行。

7.VB常见的错误类型

(1)编辑错误:在编辑代码时,VB会对键入的代码直接进行语法检查。当发现代码存在

打字错误,遗漏关键字或标点符等语法错误,VB在Form窗口中弹出一个子窗口,提示出错

信息,出错的那•行变成红色。这时,用户必须单击“确定”按钮,关闭出错提示窗,然后

对出错行进行修改。

(2)编译错误:指按了“启动”按钮,VB开始运行程序前,先编译执行的程序段时,产

生的错误。此类错误由于用户未定义变量、遗漏关键字等原因产生。这时,VisualBasic也弹

出一个子窗口,提示出错信息,出错的那一行被高亮度显示。

(3)运行错误:指VB在编译通过后,运行代码时发生的错误。这类错误往往是指令代

码执行了一非法操作引起的。例如类型不匹配、试图打开一个不存在的文件等。

(4)逻辑错误:程序运行后,得不到所期望的结果,这说明程序存在逻辑错误。这类错

误往往是程序存在逻辑上的缺陷所引起。例如,运算符使用不正确、语句的次序不对、循环

语句的起始、终值不正确等。通常,逻辑错误不会产生错误提示信息,故错误较难排除,需

要程序员仔细地阅读分析程序以及设置断点进行调试。

8.VB程序的调试

测试、调试程序的过程是查找、排除和修改程序中错误的过程。VB中可通过如下方式调

试程序:

(1)进入中断模式

通常系统在中断模式下,用户可查看各变量及属性的当前值,观察界面状况,从而了解

程序执行是否正常,并且可以修改程序代码、修改变量及属性值等。

在程序调试时,使系统进入中断模式的方法有以下几种:

①程序运行时发生错误,被系统检测到而中断。

②程序运行中,按组合键“Ctrl+Break”,也可以单击调试工具栏中“中断”按钮,或选

择“运行/中断”菜单项,就会产生中断。

③在程序代码中设置断点,当程序运行到断点处就会产生中断。

④采用逐语句或逐过程运行,每执行•行语句或一个过程就会产生中断。

⑤在程序代码中使用Stop语句,每执行到Stop语句时,也会产生中断。

在中断模式下,最便捷的查看程序中变量或属性的方法是将鼠标指针停留在要查看的变

量上,系统就会在随后弹出的一个小方框中显示指针所指的变量或属性的当前值。

当在中断模式下调试完毕后,退出中断模式的方法有:

①如果要退出并继续运行程序,则可选择''运行/继续”菜单项,或单击调试工具栏中“继

续”按钮。

②如要结束运行,则可选择“运行/结束”菜单项,或单击调试工具栏中的“结束”按钮。

(2)控制程序的运行。

①逐语句运行。即单击运行,每次只执行一条语句,之后运行中断,按F8快捷键或选择

“调试/逐语句”菜单项执行下一条语句。这样可逐个语句地检查每条语句的执行情况。

②逐过程运行。当程序运行到调用过程时,逐过程运行可将整个被调用过程作为整体来

执行。按ShifHF8快捷键或选择“调试/逐过程”菜单项均可实现逐过程运行。

(3)设置断点调试。找出程序代码中能反映程序执行状况的关键代码行,单击其左边的边框

位置,设置断点。程序运行到断点设置的代码行自动停止执行,并进入中断模式,观察运行

情况。

(4)立即窗口。立即窗口用于显示在程序运行过程中与当前过程有关的信息,可以显示某个

变量或属性值,或执行单个过程或表达式。在立即窗口中可以实现以下功能:

①用Dcbug.Print方法输出信息。调试程序时可在程序代码中添加Dcbug.Printn等语句,

将变量或表达式的值输出到立即窗口中。程序调试完成后,应将Debug.Print语句删除。

②在设计时用来测试表达式。在设计模式下,可以在立即窗口中使用Print方法或?直接

输出一些表达式的结果。例如:在立即窗口中输入:?Int(Rnd*5),按Enter键立即显示一个

随机产生的整数。

③直接从立即窗口打印。在中断模式下,通过使用Print方法或?可在立即窗口中检查变

量或表达式的值。例如:在立即窗口中输入:?i,j,i*j

④从“立即”窗口编辑变量或属性值。在中断模式下,可在立即窗口中设置变量或属性

的值。例如:当程序中断时,在立即窗口中给属性重新赋值:Textl.ForeColor=vbRcd,当程序

继续运行时,文本框中字体的颜色就可变成红色。

⑤从立即窗口中测试过程。从立即窗口可以通过指定参数值来调用过程,以测试程序程

序的正确性。例如:使用新参数来计算调用函数自c()的结果:n=5:?fac(n)

9.VB应用程序的结构

在VB中,一个VB应用程序就是一个工程,以*.vbp工程文件的形式保存,一个工程通

常包含多种类型的文件模块,其中最常见的有:

①窗体模块(*.frm):是创建应用程序的基础。在窗体模块中包含窗体及其控件的属性

设置值,同时还包含在该窗体的代码窗口中编写的对常量、变量、类型和外部过程的声明以

及sub和function过程。

②标准模块(*.bas):存放与窗U或控件无关的代码,通常是其他模块共同使用的声明

和过程代码。

③类模块文件(*.cls):用来定义类,并可用它创建能被应用程序中的过程所调用的对象。

④*.frx二进制文件:系统自动产生,包含属性窗口装入的图片等信息。

⑤资源文件(.res):是指将在程序运行时用到的资源集中在一起的一个文件。一个资源

文件可以包括文字(TEXT)、位图(BITMAP)、图标(ICON)等。并且在程序中调用时不用

指明路径,这就简化了程序的编写并减少了发生错误的可能。

1.2常见错误和难点分析

1.对象名称(Name)属性输入错误

在窗体上创建的每个控件对象都有一个唯一标识它的默认名称。用户也可以在属性列表

窗口中修改对象名。在编写代码时引用该对象的属性或方法时需要指明对象名。当程序中的

对象名错误时,系统会显示“要求对象”的信息。

2.对象的属性名、方法名输入错误

当对象的属性名或方法名输入出错,编译时系统会显示“方法或数据成员未找到”的提

示信息。编写代码时尽量使用自动列出成员功能。即当用户在输入控件对象名和句点后,系

统自动列出该控件对象在运行模式下允许使用的属性和方法,用户可通过按空格键或双击鼠

标左键选择,以防止此类错误的出现。正确的系统按规定的大小写表示。

3.混淆控件的Name属性和Caption属性

Name属性的值用于在程序中唯一的标识该控件对象,在窗体上不可见;而C叩tion属性

的值是在窗体上显示的内容。

4.混淆使用文本框的text属性和标签的Caption属性

文本框的Text属性和Caption属性都可以用于表示控件在窗体上显示的内容的,但两个属

性属于不同的控件,文本框除了用于显示信息以外,还可以用于输入信息。

5.在编译程序时出现“无效字符”错误提示,对应行以红色字显示。

在VB中要注意英文环境下的半角符号和中文环境下全角符号的使用。VB只允许使用英

文环境下的半角符号。最常见的如:逗号,与,双引号与句号.与。的区别。

6.字母和数字形状相似

输入代码时注意小写字母“1”和数字“1”形式相同、小写字母“。”与数字“0”。

7.添加多个相同类型的控件时,无意形成控件数组

在添加多个相同类型的控件时,可在窗体上先添加一个控件,然后“复制”一“粘贴”,

此时会出现对话框询问是否创建控件数组,单击“否”按钮,在窗体上添加同类型不同名称

的控件。如果单击“是”则形成控件数组。

8.语句书写位置错误。

在VB中,除了在“通用声明”段使用Dim等变量声明、Option语句外,任何其他语句

都应放在事件过程中,否则程序运行时会显示“无效外部过程”的提示信息。

9.打开工程时找不到对应的文件

一个最简单的VB应用程序至少也应包括一个工程文件.vbp和一个窗体文件.fhn组成。工

程文件记录该工程内所有文件包括窗体文件.frm、标准模块文件.bas、类模块文件.cis等的名称

和存放路径。若用户在上机结束后,把文件保存到磁盘上,而又遗漏了某个文件,下次打开

工程时就会显示“文件未找到”的提示信息。或者在磁盘上对某个文件进行重命名,这样也

会造成打开工程时显示“文件未找到”的提示信息。建议用户在编保存一个工程时,将该工

程包含的所有文件保存在同•个文件夹中,通常将该工程作为•个整体复制或移动。

10.误用“文件”菜单中的“添加工程”选项,形成工程组。

用户误选“文件|添加工程”菜单选项,无意形成一个工程组。“文件”菜单中的“工程另

存为”选项,现在变成“工程组另存为”选项。解决的办法:在工程资源管理器窗口,选中

不需要的工程,单击鼠标右键打开快捷菜单,选“移除工程”选项,删除工程文件夹下的工

程组文件*.vbg,再重新打开工程就可以了。

1.3习题

一、选择题

1.VB是一种面向对象的程序设计语言,构成对象的三要素是

(A)属性、控件和方法(B)属性、事件和方法

(C)窗体、控件和过程(D)控件、过程和模块

2.窗体编辑器的主要功能是。

(A)设计窗体的外观(B)编写源程序代码

(C)建立用户界面(D)设置对象属性

3.在代码窗口中,当从对象列表框中选定了某•对象后,在中会列出适用该对

象的事件。

(A)过程框(B)属性窗口(C)事件列表框(D工具栏

4.要设置窗体上个控件的属性,可在中进行。

(A)窗体布局窗口(B)工程资源管理器窗口

(C)属性窗口(D)窗体窗口

5.某一窗体的name属性为myForm,它的Load事件过程名称为。

(A)MyFormLoad(B)Me_Load(C)Form_Load(D)Forml_load

6.要在窗体Forml内显示字符串"MyForm",可以使用的语句是。

(A)Form.Caption=''MyForm"(B)Fonnl.Caption=>,MyFormn

(C)Forml.PrintMMyForm"(D)Form.Print”MyForm”

7.以下不能在"工程资源管理器”窗口中列出的文件类型是。

(A).bas(B).res(C).frm(D).ocx

8.设窗体上有一个文本框,名称为textl,程序运行后,要求该文本框只能显示信息,不

能接受输入的信息,以下能实现该操作的语句是。

(A)Textl.MaxLength=O(B)Text1.Enabled=Flase

(C)Textl.Visible=Flase(D)Textl.Width=O

9.以下能在窗体Forml的标题栏中显示"VisualBasic窗体"的语句是。

(A)Forml.Name="VisualBasic窗体"(B)Forml.Title="VisualBasic窗体"

(C)Fomil.Caption="VisualBasic窗体"(D)Forml.Text="VisualBasic窗体”

10.添加一个命令按钮“开始”。若要为命令按钮设置快捷键键,即按下Alt及字母S时,

能够执行"开始"命令按钮的事件过程,方法是:。

(A)把Caption属性设置为&Start(B)把Caption属性设置为S&Start

(C)把Name属性设置为&Start(D)把Name属性设置为S&tart

11.以下叙述中错误的是o

(A)事件过程是响应特定事件的一段程序(B)不同的对象可以具有相同名称的方法

(C)对象的方法是执行指定操作的过程(D)对象事件的名称可以由编程者指定

12.下列关于VisualBasic6.0的控件的叙述中,正确的是。

(A)VisualBasic6.0的控件分为3类:内部控件、标准控件和ActivateX控件

(B)标准控件可以添加,但不能删除

(C)启动VisualBasic6.0后,ActivateX控件就出现在工具箱

(D)ActivateX控件是扩展名为.ocx的独立文件

13.下列说法错误的是。

(A)窗体文件的扩展名为.frm

(B)一个窗体对应--个窗体文件

(C)VisualBasic中一个工程只包含一个窗体文件

(D)VisualBasic中的一个工程最多可包含255个窗体

14.以下关于VisualBasic特点的叙述中,错误的是()

(A)VisualBasic是采用事件驱动编程机制的语言

(B)VisualBasic程序既可以编译运行,也可以解释运行

(C)构成VisualBasic程序的多个过程没有固定的执行顺序

(D)VisualBasic程序不是结构化程序,不具备结构化程序的三种基本结构

15.VB6.0集成开发环境中不能完成的功能是o

(A)编辑源程序(B)编译生成可执行文件

(C)调试运行程序(D)自动查找并改正程序中的语法错误

16.确定一个控件在窗体上的位置的属性是。

(A)Width和Height(B)Width或Height

(C)Top和Left(D)Top或LeR

17.若要使标签空间显示时不覆盖其背景内容,要进行设置的属性是。

(A)BackColor(B)BackStyle(C)ForeColor(D)BordStyle

18.若要使某一文本框控件在程序运行过程中能用鼠标单击获得输入焦点,但不能用按

下Tab键的方式获得输入焦点,则应。

(A)将其Enabled属性设置为False,且其TabStop属性设置为False

(B)将其Enabled属性设置为True,且其TabStop属性设置为False

(C)将其Enabled属性设置为False,且其TabStop属性设置为True

(D)将其Enabled属性设置为True,且其TabStop属性设置为True

19.以下可以产生工程组文件(.vbg)的情况是。

(A)当・个程序中包含了两个以上的窗体时

(B)当一个程序中包含了两个以上的标准模块时

(C)当一个程序中包含了两个以上的工程时

(D)当一个程序中包含了两个以上的类模块时。

20.当窗体上的文字或图形被覆盖或窗体最小化后能恢复原貌,需要将窗体的属

性设置为True。

(A)Visible(B)AutoRedraw(C)Paint(D)Resize

二、填空题

1.与传统的程序设计语言相比,VB最突出的特点是采用编程机制。

2.VB提供两种捽制程序运行的方式,一种是方式,另一种是

方式。

3.VisualBasic6.0有3中工作模式,即,和。

4.如果要在单击命令按钮Command1时执行一段程序代码,则应将这段代码写在

事件过程中。

5.在窗体上已经建立了多个控件如labell、Label2、Text1和Command1,要使程序一运

行时焦点就定位在Command1控件上,应对Command1控件设置属性的值为

6.要清除一个文本框Textl中的文字,则在程序代码中应书写的语句是。

三、编程题

1.编写一个简单的程序,在窗体上有两个命令按钮(“显示”与“隐藏”)和一个标签(标

题为“欢迎使用”),单击“显示”按钮时,将标签显示出来,单击“隐藏”按钮时,将标签

隐藏起来。

2.窗体上含有两个标签、两个文本框和两个命令按钮,两个标签分别用于显示文字“边

长”和“面积”,两个文本框用于输入数据和显示计算结果。运行时,用户在“边长”文本框

中输入某一个正整数,当单击“计算”按钮时,则在“面积”文本框中显示该数的平方数。

单击“结束”按钮,则结束程序的运行。

1.4参考答案

一、选择题

12345678910

BCACCCDBCA

11121314151617181920

DDCDDCBBCB

二、填空题

I.事件驱动

2.逐语句,逐过程

3.设计模式,运行模式,中断模式

4.Commandl_Click

5.TabIndex,0

6.Textl.Text=,M,

三、编程题

1.PrivateSubCommandl_Click()

Label1.Visible=True

EndSub

PrivateSubCommand2_Click()

Label1.Visible=False

EndSub

2.PrivateSubCommandl_Click()

DimxAsSingle

x=Vai(Textl.Text)

Text2.Text=x*x

EndSub

PrivateSubCommand2_Click()

End

EndSub

第二章顺序结构的程序设计

2.1知识点归纳

1.VB提供的数据类型

数据是程序处理的对象。为了更好地处理各种各样的数据,VB定义了多种数据类型,

不同类型的数据,所占的存储空间不一样。VB提供的数据类型主要分为:

①标准数据类型:整型(Integer)、长整型(Long)、字节型(Byte)、单精度型(Single)、双精

度型(Double)、货币型(Currency)、字符串型(String)、逻辑型(Boolean)、日期型(Date)和变体型

(Variant)o

②用户自定义类型:可以用Type…EndTypy语句创建用户定义的类型。

③枚举类型:可以用Enum…EndEnum语句来定义相关的命名常数集合。

2.变量和常量

(1)变量的定义和作用域

①用类型说明符来标识,常用类型说明符有:单精度浮点数!、双精度浮点数#、整型

数据%、长整型数据&、货币型数据@、字符串型数据$。

②在定义变量时指定类型,其格式如下:

[PublicIPrivateIStatic]Dim变量名As数据类型

③变量的作用域指的是变量的有效范围。根据定义位置和使用的变量定义语句的不同,

分为3种:

•局部变量:是在过程(事件过程或通用过程)内定义的变量,其作用域是其所在的过

程。局部变量在过程内用Dim或Static声明。

•模块变量:包括窗体变量和标准模块变量,其作用于窗体内的所有过程。模块变量用

Private或Dim声明。

•全局变量:作用域最大,在工程中的每一模块和窗体都能访问的变量。全局变量用Public

或Global声明。当局部变量和全部变量同名时,在局部变量所在过程中该变量为局部变量,

离开此过程为全局变量。

变量名必须以字母或汉字开头,由字母、数字或下划线组成,长度小于等于255个字符;

不能使用VB中的关键字、过程名、符号常量名和函数名;在为变量命名时应见名知义,尽可

能简单明了,尽量采用VisualBasic建议的变量名前缀或后缀的约定来命名,以便区分变量的

类型,在同一个范围内变量名必须是唯一的。

(2)在VB中,常量分三类,分别为:

①一般常量:在程序代码中直接给出的数据。包括字符串常量(用双引号括起来的一系

列字符)、数值常量(包括整型常量、长整型常量、单精度常量、双精度常量)、布尔常量(只

有True和False两个值)、日期常量(用一对##括起来)。

②用户自定义常量——声明常量的语法为:

[PublicIPrivate]Const常量名[As数据类型]=<:表达式〉

通常,为区分明显,用户定义的常量名用大写字母;常量名在程序中智能引用,不能重

新赋值。

③VB提供的系统常量——系统定义好的常量位于对象库中,在“对象浏览器”中的Visual

Basic(VB)、VisualBasicforApplications(VBA)等对象库中列举了VB的系统常量。如:

VbOkonly、VbYesno

3.运算符与表达式

①算术运算符:人(乘方)、*、/(除法)、\(整除)、mod(求余)+、优先级从左

到右依次降低。

②字符串运算符有两个:&和+,区别是“+”两边必须是字符串,“&”不一定。

③关系运算符:=、>、>=、<、<=、o,运算结果为逻辑值。

④逻辑运算符:Not、And、Or、Xor、Eqv(相等)和Imp(蕴含),其运算结果为逻辑值。

⑤日期运算符:+、一。注意:两个日期可以相减,但不能相加。日期运算的结果可能

是日期,也可能是相隔的天数。

⑥优先级:当一个表达式中存在多种运算符是时,按如下优先级的先后顺序进行运算:

函数一>算术运算(乘方一〉取负一〉乘法/除法一>整除一>求余一>加/减)一>字符串运算

符一>关系运算符一>逻辑运算符(Not—>And—>0r),同级从左到右,有括号时括号内优先。

4.常用内部函数

VB提供了大量的内部函数供用户在编程时调用。内部函数按其功能可分为:数学函数、

转换函数、字符串函数、日期函数和格式输出函数等。

函数的一般调用格式:

〈函数名>([<参数表>])

说明:参数表可以是一个参数或用逗号分隔开的多个参数;参数可以是变量、常量、表

达式,也可以是函数。

5.赋值语句

格式:[Let]<变量>=<表达式>或:[Let][对象名.]<属性名>=<表达式>

功能:将等号右边表达式的值,赋值给等号左边的变量或属性。

说明:

(1)关键字Let可以省略。

(2)向对象赋值时,应指明对象名和属性名,系统默认的对象是当前窗口。

(3)等号在这里称为赋值号。

(4)变量和对象一旦被赋值,新值将代替旧值。

(5)赋值语句具有计算和赋值的双重功能。

(6)等号右边的变量(对象)必须和等号右边的数据类型一致。

注意:在代码中区分赋值语句“=”与关系运算符“=:

6.程序的基本构成。

程序通常由若干条语句共同协作完成一个完整的功能,一般情况下,一个完整的程序应

该包含4个部分:

①说明部分:说明程序中使用的变量的类型、初始值、特性等。

②输入部分:输入程序中需要处理的原始数据。

③加工部分:对程序中的数据按需要进行加工和处理。

④输出部分:将结果以某种形式进行输出。

7.VB程序的书写规则

在编写程序代码时,要遵守一定的规则。不能超越其规定来自由发挥。

(1)一行可写多条语句,语句间用冒号":"分隔,一行最多可有255个字符。

(2)一条语句可分成多行书写。在VB中一般是一行写一条语句,但若单行语句太长,也

可以分若干行书写,但在行末须加入续行符(一个空格紧跟一个下划线

(3)VB代码中不区分大小写字母,自动将关键字的首字母转换成大写。

(4)各关键字之间,关键字和变量名、常量名、过程名之间一定要有空格分隔。

(5)使用缩进格式。为了便于阅读,编写程序代码时,可以使用缩进来反映代码的逻辑结

构和嵌套关系。

(6)严格按照VB规定的格式和符号编写程序。与其他高级语言一样,在VB中使用的分号、

引号、括号等符号都是英文状态下的半角符号,而不能使用中文状态下的全角符号。

(7)程序中可使用注释,注释以Rem开头或用撇号引导注释内容,用撇号“引

导的注释内容,可直接出现在语句的后面。

8.数据的输入输出

一个完整的VB应用程序,应包括数据输入、数据处理和数据输出3个部分。通过数据输

入和数据输出实现应用程序与用户交互的功能。

①数据输入除了利用赋值语句“=”为变量和对象属性设置新值(在程序运行前的编码

阶段输入数据),或利用文本框控件供用户在程序运行过程中输入数据外,还可以使用

InputBox()函数在程序运行过程中从键盘输入数据。

<变量名>=InputBox(<提示信息乂标题北,默认内容D

说明:运行InputBox。函数可以屏幕上产生一个对话框供用户输入数据,并将其输入的内

容作为函数返回值向变量赋值。

②数据输出除了可以在窗体、标签等标准控件上显示信息以外,还可以使用MsgBox过

程或MsgBox。函数弹出对话框显示信息。

MsgBox(提示信息〉[,按钮图标][,标题]

说明:弹出一个MsgBox对话框,显示提示信息,只有一个按钮,无返回值。

或〈变量g>=MsgBox(〈提示信息>[,按钮图标][,标题D

说明:弹出MsgBox对话框,提示用户选择按钮,符用户选择按钮的结果返回,控制程序

的流向。

9.Print方法

Print方法可以在窗体上或其它图形对象上以及打印机上输出信息,而信息输出的位置非

常关键。

(1)Print方法的格式

[对象名.]Print[表达式列表][,|;]

表达式表可以是个或多个表达式,可以是数值表达式,也可以是字符串。对于数值表

达式,打印表达式的值(即:Print语句具有计算和输出双重功能,先计算后打印);而字符串

则原样输出。当输出多个表达式或字符串时,各表达式之间要用分隔符隔开(,或;):

①若用,分隔,则按标准格式显示数据项(以14个字符为一区段);

②若用;分隔,则按紧凑格式输出数据项(字符之间无空格);

③若表达式结尾无标点符号,则执行完该语句后,自动换行;

④若Print语句中无表达式列表,则输出空行。

(2)用Tab()和Spc()函数定位

①Tab。函数

格式:Tab(<n>)

功能:使用在Print语句中,把光标移动到由参数n指定的位置,并从该位置开始输出数

据。

说明:要输出的内容放在Tab函数后,并用;号隔开。在一个Print方法中有多个Tab

函数时,每一个Tab函数对应一个输出项,之间用;号分隔。参数n可以是数值表达式,但

其值是一整数。

②Spc()函数

格式:Spc(<n>)

功能:在Print输出中,用Spc()函数可以跳过n个空格。

说明:Spc函数和输出项之间用;号分隔,其作用和Tab函数类似,可以相互替代。但

Tab函数是从对象的左端开始记数,而Spc()函数只是表示两输出项之间的间隔。

2.2常见错误和难点分析

i.变量名使用系统关键字、系统常量、函数名等。

如:DimdateAsInteger这里Date是日期函数名。

2.无意声明了变体型的变量。

如:Dima,b,cAsInteger这里声明的a和b为变体型变量,正确的应该是:

DimaAsInteger,bAsInteger,cAsInteger

3.赋值号“=”两边的表达式数据类型不匹配

如:a为整型变量,文本框Textl中输入的内容是welcome,代码a=Textl.Text运行过程

中提示“类型不匹配”。

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=3\2,结果只有商的整数部分。

7.字符串连接运算出错。

字符串的连接运算赋有&和+两种,在编写代码过程中,有的用户会写出这样的代码:

DimsasString,nasInteger

s=”计算的结果为:"+n

系统提示错误信息“类型不匹配”。在进行字符串连接运算时,如果使用+进行连接运算,

连接符两边应全为字符型,在使用&连接运算符进行运算时,可以不全是字符型,系统会自动

转换。所以这里换用&运算符或用str(n)进行数据类型转换。

8.逻辑表达式书写错误,编译时没有造成语法错而形成逻辑错。

要在VB中表示数学表达式0<=x<l,有的用户写成:0<=x<l,编译时没有造成语法错误

而形成逻辑错。因为这里x的值不管是多少,这个逻辑表达式的结果都是True。

在VB中,当两个不同类型的变量或常量参加运算时,有自动向精度高的类型转换的功能。

如逻辑常量True转换为数值型的值为一1,False为0;反之数值非0转换为逻辑型的值为True,

0为Falseo表达式0<=x<l的计算过程为:先计算0<=x,结果为true(-l)或False(O);不管是

哪个结果,始终是<1的,表达式结果永远都是True。正确的书写应该是:x>=0Andx<l»

9.数据溢出错误。

有的用户在编写代码求解s=10!时,定义一个整型变量s(DimsAsInteger)来表示10!

的结果,编译提示错误信息“溢出”。在VB定义了多种数据类型,不同类型的数据,所占的

存储空间不一样。整型变量2个字节的存储空间无法满足10!结果的需要,发生溢出。解决的

办法是:DimsasLong,长整型数据有4个字节的存储空间。另外对于浮点型数据也要根据实

际的数据值来决定声明为单精度型(Single)还是双精度型(Double)。

10.标准函数名输入错误

VB提供了很多事先定义好具有特定功能的内部函数,供用户使用。当函数名写错时,运

行程序,系统显示错误提示信息“子程序或函数未定义”,单击“确定”按钮,在指示位置检

查函数名是否输入正确。

11.声明局部变量和窗体级变量的问题。

在VB程序中,需要用变量用来暂时存放一些中间结果,这些变量在使用前需要声明。变

量一般在过程内部声明使用,称为局部变量。但当多个过程需要用到同一个变量的值时,该

变量必须放在所有代码的最前面即“通用声明”段声明,称为窗体级变量。

12.在Form_Load事件过程中print和set_focus方法不起作用

Form_Load过程即系统在窗体装入内存时无法同步地用Print、SetFocus方法显示或定位

控件的焦点。解决方法:

①Print显示信息:

方法一、在属性窗口将窗体AutoRedraw属性设置为True。

方法二、在FormLoad事件过程第一行添加Show语句

②SetFocus方法定位焦点:在属性窗口中对要定位焦点的控件的Tabindex属性值设置为0。

13.在使用计时器控件实现简单的动画时,计时器不工作。

一个计时器两个属性(Enabled和Interval)一个事件(Timer):只有在保证给计时器的

Enabled属性赋值True,Interval属性值非0,timer事件过程编写正确的情况下,计时器正常

工作。

2.3习题

一、选择题

i.在一个语句行内写多条语句,语句之间应该用来分隔。

(A)逗号(B)分号(C)顿号(D)冒号

2.以下可以作为VisualBasic变量名的是。

(A)Fl.l(B)Int(C)F2A(D)2FA

3.当标签的标题内容太长,需要根据题目自动调整标签的大小时,应设置标签的属性

为True。

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

4.在窗体匕已经建立了多个控件,如Textl,Label1,Command1o若要程序开始运行时焦点

定位在Textl上,应将Textl的Tabindex属性设置为。

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

5.在程序中将变量i,t,s,d分别定义为Integer类型,Boolean类型,String类型和Date类型,

下来赋值语句正确的是。

(A)s=5+"abc"(B)t=#True#(C)i="354”+“613”(D)d=#10/05/04#

6.下列语句中错误的是o

(A)A$="abc"(B)x=5+6(C)print“abc”(D)printx=a+b

7.VisualBasic认为下面组变量是同一个变量。

(A)A1和a1(B)Sum和Summary

(C).Aver和Average(D)Al和A_1

8.表达式5Mod3+3\5*2的值是。

(A)0(B)2(C)4(D)6

9.设x=4,y=8,z=7,以下表达式x>zOrz<y的值是»

(A)1(B)-1(C)True(D)False

10.\、/、Mod、*、四个算术运算符中,优先级最低的是___

(A)\(B)/(C)Mod(D)*

11.设A、B、C表示三角形的三条边,表示条件“任意两边之和大于第三边”的布尔表达

式正确的是。

(A)A+B>=CORA+C>=BORB+C>=A

(B)Not(A+B<=CANDA+C<=BANDB+C<=A)

(C)A+B<CORA+C<BORB+C<A

(D)A+B>CANDA+OBANDB+OA

12.表达式(7\3+l)*(18\5-l)的值是。

(A)8.67(B)7.8(C)6(D)6.67

13.代数式X[-\a\+lnl0+sin(x2+2^)/cos(57°)对应的VisualBasic表达式是—

(A)XI-Abs(A)+Log(10)+Sin(X2+2*3.14)/Cos(57*3.14/180)

(B)XI-Abs(A)+Log(10)+Sin(X2+2*7t)/Cos(57*3.14/180)

(C)XI-Abs(A)+Log(10)+Sin(X2+2*3.14)/Cos(57)

(D)XI-Abs(A)+Log(l0)+Sin(X2+2*n)/Cos(57)

14.求一个三位正整数N的十位数的正确方法是。

(A)Int(N/10)-Int(N/100)*10

(B)Int(N/10)-Int(N/100)

(C)N-Int(N/100)*100

(D)Int(N-Int(N/100)*100)

15.表达式Left(“asdf",2)+UCase(“as")的值为。

(A)asas(B)ASAS(C)dfas(D)asAS

16.下列日期型常量表达正确的是。

(A)”2/1/02"(B)2/1/02(C)#2/1/02#(D){2/1/02}

17.设A="12345678”,则表达式Val(Lefit(A,4)+Mid(A,4,2))的值为。

(A)123456(B)123445(C)8(D)6

18.代数式一--对应的VisualBasic表达式是

h+-

d

(A)a/b+c/d(B)a/(b+c)/d(C)(a/b+c)/d(D)a/(b+c/d)

19.函数Len(Str(Val(“123.4»)))的值为。

(A)11(B)5(C)6(D)8

20.下列表达式计算的结果不是”1234”的是______°

(A)''12"+"34''(B)(C)12+34(D)12&34

21.Int(100*Rnd())+l产生的随机整数的闭区间是。

(A)[0,99](B)[1,100]

(C)[0,100](D)[1,99]

22.如果X是一个正的实数,将千分位四舍五入,保留两位小数的表达式是—

(A)0.01*lnt(X+0.05)(B)0.01*Int(l00(X+0.005))

(C)0.01*Int(l00*(X+0.05))(D)0.01*Int(X+0.005)

23.执行如下两条语句,窗体上显示的是______o

a=9.8596

PrintFormat(a,”$0,000.00”)

(A)0,009.86(B)$9.86(C)9.86(D)$0,009.86

24.在窗体中添加一个命令按钮(名称为Commandl)和一个文本框(名称为Textl),并编写

如下程序代码:

PrivateSubCommand1_Click()

DimxAsInteger,yAsIntegerzAsInteger

x=1:y=2:z=3

x=y:y=z:z=x

Textl.Text=CStr(z)

EndSub

程序运行过程中,用户单击命令按钮Commandl后,文本框Textl中显示。

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

25.以下关系表达式中,其值为False的是。

(A)“ABCWAbC”(B)"the'9''they”

(C)“VISUAL''=UCase("Visual")(D)t<Integer,,>,,Inf,

二、填空题

1.产生[10,40]之间的随机整数的VB表达式是

2.利用文本框1输入数值,将其作为一个圆半径,分别用文本框2及文本框3输出显示圆周

长、圆面积。

PrivateSubCommandlClick()

DimrAsSingle,1AsSingle,sAsSingle

ConstPIAsSingle=3.14159

1=2*PI*r

s=PI*r-2

Text2.Text=1

Text3.Text=s

EndSub

3.利用InputBoxO输入框函数从键盘上输入一个单词,用标准格式在一个输出行内重复显示

3遍。

PrivateSubCommandIClickO

DimaAsString,msgAsString

msg=〃请输入一个单词〃

s=________________________

Print______________________

EndSub

4.用消息框语句显示变量a和b之和。

PrivateSubCommandl_Click()

DimaAsSingle,bAsSingle

a=InputBox("请输入a的值〃)

b=InputBox(〃请输入b的值")

EndSub

5.请完善下面程序,程序运行,用户通过输入框输入姓名,然后弹出消息框中显示“XX先

生:祝您马到成功!”

PrivateSubForm_Load()

DimxAsString

x二InputBox(〃输入您的姓名〃,〃您叫什么名?〃)

EndSub

6.写出下列函数的值:

(1)Int(-3.14159)=(2)sqr(sqr(64))=_______________________

(3)fix(-3.1415926)=(4)int(abs(99-100)/2)=

(5)sgn(7*3+2)=__________________(6)Lcase(uHello,,)=______________________

(7)Left(t€Hello,,,2)=(8)val(“16year”尸__________________________

(9)str(-459.65)=___________________(10)LenCtHello,,)=_______________________

7.写出代数式对应的VisualBasic表达式。

(1)代数式,+)')+0+")对应的VisualBasic表达式为_________________________________

t(x-y)

(2)代数式Ja*+〃°—2abcosa对应的VisualBasic表达式为

(3)代数式------------对应的Visual

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论