vb考试复习资料.docx
《vb考试复习资料.docx》由会员分享,可在线阅读,更多相关《vb考试复习资料.docx(20页珍藏版)》请在冰点文库上搜索。
vb考试复习资料
单选题知识点
1基本概念
2数据类型、格式
3变量定义、声明、命名规则
4运算符、表达式14(算术、字符、关系、逻辑、日期)
5函数7、print方法16
6控件、属性、事件17
7VB窗口布局(视图下的代码、对象、立即、属性、工程…窗口)、窗体
8数组定义、声明、应用
9分支(if、selectcase语句)
10循环(FOR、DO、双重循环、出口语句EXIT)
11简单综合题
1VB的概论、结构化程序设计知识
2VB文件种类(如模拟题二、6)
3VB控件属性(静态设置、动态设置)(如模拟题二、7-8)
4VB对象的事件、方法(如模拟题二、9,单双击引发事件,cls)
5VB变量类型的关键字5、类型字6
6VB的函数(数学7、转换8、日期9、字符串10)
7变量及作用域(如模拟题二、3)
8循环结构(FOR、DO、双重循环、出口语句EXIT)
9逻辑值、ASCII码知识(13是回车符、10是换行符,chr,asc)
10Print格式(,;的作用,标准、紧凑格式等)
判断题知识点
1.综合(三、1,9)2.print有关(三、3)3.窗体,变量有关(三、4)
4.表达式(三、5)5.分支语句(三、6)6.循环语句(三、7)
7.常用控件(三、8)8.VB文件种类9.函数(三、10)
10常量、变量类型(三、2)
数据类型
关键字
类型符
前缀
占字节数
字节型
Byte
无
byt
1
逻辑型
Boolean
无
bln
2
整型
Integer
%
int
2
长整型
Long
&
lng
4
单精度型
Single
!
sng
4
双精度型
Double
#
dbl
8
货币型
Currency
@
cur
8
日期型
Date
无
dtm
8
字符型
String
$
str
与串长有关
对象型
Object
无
obj
4
变体型
Variant
无
vnt
根据需要分配
说明:
(1)不同类型的数据,所占的存储空间不一样。
(2)数据的类型可在数据之后加上一个类型符来表示,例如,413&,86!
,104.67#等。
类型
Integer
Long
Float
double
Currency
String
符号
%
&
!
#
@
$
数学函数
VB中备有各种计算算术函数的子程序,在程序中要使用某个函数时,只要调用该函数就行了。
转换函数
VisualBasic提供了几种转换函数,每个转换函数都可强制一个表达式转换成某种特定的数据类型。
常用的转换函数见p.47表3-8。
日期与时间函数
日期/时间函数用于进行日期和时间处理
函数Weekday返回值1~7,依次表示星期日到星期六。
变量的命名规则
(1)变量名必须以字母开头;
(2)只能由字母、数字和下划线组成。
不能含有小数点、空格等字符;
(3)字符个数不得超过255个;
(4)不能使用VB的关键字(如语句名、函数名等)。
例如,Print、Sub、End等;
(5)不区分变量名中字母的大小写
变量的声明
变量的声明就是向程序说明要使用的变量
有以下2种方法(显式声明与隐式声明)
(1)声明变量(显式声明)
用Dim、Public、Private或Static语句来声明变量
例如:
DimsumAsInteger′把sum定义为整型变量
§普通局部变量:
就是一个任意模块中的一个过程、函数、属性中以dim申请的,存活时间就是这个过程结束,这个变量就不存在了
§静态局部变量:
就是一个任意模块中的一个过程、函数、属性中以static申请的,存活时间就是这个程序\模块结束
§模块级变量:
就是一个任意模块中顶部申请的变量以private、dim、public关键字申请,在模块装入时分配内存,模块内所有过程函数都可以使用
§公用变量:
就是一个任意模块中顶部申请的变量(类模块中不能用于变量)以public关键字申请,可以在整个程序中调用
(2)隐式声明
不加说明就直接使用变量,此时默认的变量类型为变体类型(Variant)。
使用时,系统会以该名字自动创建一个变量,并默认为变体类型。
用隐式声明的方法,有时会导致一些错误。
§为避免以上麻烦,可以规定在使用变量前,必须经过显式声明才能使用,要强制显式声明变量,可以在程序模块的通用声明段中加入语句:
OptionExplicit
§也允许使用类型符来声明变量的类型,如Num%,Sum!
表达式
五类表达式:
算术表达式、字符串表达式、日期表达式、关系表达式和逻辑表达式
1.表达式组成
表达式由变量、常量、运算符、函数和圆括号按一定的规则组成。
运算后的结果类型由数据和运算符共同决定。
2.表达式的书写规则
(1)运算符不能相邻。
例a+*b是错误的。
(2)乘号不能省略。
例x乘以y应写成:
x*y。
(3)括号必须成对出现,均使用圆括号,可以出现多个圆括号,但要配对。
(4)表达式从左到右在同一基准上书写,无高低、大小区分。
3.不同数据类型的转换
在算术运算中,如果操作数具有不同的数据精度,则VisualBasic规定运算结果的数据类型采用精度高的数据类型。
即:
Integer4.优先级
当在表达式中运算符不止一种时,系统会按预先确定的顺序进行运算,这个顺序称为运算符的优先顺序。
不同类型的运算符优先级如下:
算术运算符>字符运算符>关系运算符>逻辑运算符
Print方法
形式:
[对象.]Print[{Spc(n)|Tab(n)}][表达式列表][;|,]
作用:
在对象上输出信息
对象:
窗体、图形框或打印机(Printer),省略对象在窗体上输出。
Spc(n)函数:
插入n个空格,允许重复使用。
Tab(n)函数:
左端开始右移动n列,允许重复使用。
;(分号):
光标定位上一个显示的字符后。
,(逗号):
光标定位在下一个打印区的开始位置处。
无;,则表示换行,即光标移动到下一行的起始位置。
开始打印的位置是由对象的CurrentX和CurrentX属性决定,缺省为打印对象的左上角0,0。
注意:
Print方法在Form_Load事件过程中起作用,必须设置窗体的AutoRedraw为True。
一、命令按钮CommandButton
接受用户输入的命令。
二、文本框TextBox
是一个文本编辑区域,可在该区域输入,编辑和显示正文内容。
三、标签Label
用于显示文本(输出)信息,不能作为输入信息的界面。
四、图片框PictureBox和图象框Image
图片框是一个完整的图片控件,主要作用是显示图片,也可放置其他控件(是个容器)
图象框不是一个容器
五、计时器Timer
计时器可定时触发某些事件的发生,一些动画效果就是靠计时器触发的。
图片框(PictureBox)
1.用途
图片框(PictureBox)和图像框(Image)都是用于显示图形。
图片框可以作为其他控件的容器,还可以在图片框上面放置其他控件,这些控件随图片框的移动而移动
2.常用属性
Picture属性:
用于设置在图片框中要显示的图像文件
例如:
Picture1.Picture=LoadPicture("图形文件名")
Picture1.Picture=LoadPicture()‘清除图片
Align属性:
设置图片框在窗体中的显示方式
AutoSize属性:
确定图片框如何与图形相适应
3.图片框的使用
(1)显示和消除图形:
见Picture属性
(2)用Print方法向图片框输出文本
(3)用图形方法在图片框中画图形
可以使用Circle(画圆)、Line(画线)、Pset(画点)等方法在图片框中画图形
示例
PrivateSubForm_Load()
Show
Picture1.Print"在图片框内写字和画圆";
Picture1.Circle(1200,1000),600,RGB(0,0,255)
Picture1.PSet(1200,1000),RGB(255,0,0)
EndSub
输出平行四边形
PrivateSub图形1_Click()
Cls
Print
Forn=1To8
PrintTab(2*n+2);
Form=1To8
PrintSpc
(1);"*";
Next
Print
Next
EndSub
输出菱形
Forn=1To6
PrintTab(8-n);
Form=1To2*n-1
Print"*";
Nextm
Nextn
Forn=1To5
PrintTab(n+2);
Form=nTo10-n
Print"*";
Nextm
Nextn
输出三角形
Fori=1To5
PrintTab(20-3*i);
Forj=1To2*i-1
Printi;
Nextj
Print
Nexti
Forn=1To4
PrintTab(20-2*n);
Form=1To2*n-1
PrintStr(m);
Nextm
Print
Nextn
DimaAsString,iAsInteger,kAsInteger
a="ABCDEFG"
k=Len(a)
Fori=1Tok
PrintTab(3);Right(a,i)
Nexti
k=1
Fori=1To6
Forj=1Toi
PrintTab(5*j);k;
k=k+1
Nextj
Print
Nexti
DimaAsString,iAsInteger,kAsInteger
a="河南农业大学"
k=Len(a)
Fori=1Tok
PrintTab(3);Left(a,i)
Nexti
Forn=1To5
PrintTab(n+2);
Form=nTo10-n
Print"*";
Next
PrintSpc(4);
Form=1To2*n-1
Print"*";
Next
Print
Next
Dimi%,j%
Fori=4To1Step-1
PrintString(10-2*i-1,"*")
Nexti
Fori=1To5
PrintString(10-2*i+1,"*")
Nexti
Fori=1To5
PrintTab(28-2*i);
Forj=1To2*i-1
Print"*";
Nextj
Print
Nexti
Fori=4To1Step-1
PrintTab(28-2*i);
Forj=1To2*i-1
Print"*";
Nextj
Print
Nexti
输出矩阵
Dima(10,10)AsInteger
DimmAsInteger,nAsInteger
Forn=1To10
Form=1To10
Ifn=mOrn=11-mThen
a(n,m)=1
Else
a(n,m)=0
EndIf
Next
Next
Print
Forn=1To10
Form=1To10
PrintTab(m*3);a(n,m);
Next
Print
Next
求水仙花数
Fori=1To9
Forj=0To9
Fork=0To9
a=100*i+10*j+k
b=i^3+j^3+k^3
Ifa=bThenPrintTab(4);a
Nextk
Nextj
Nexti
求阶梯数
DoWhileTrue
i=i+1
IfiMod2=1AndiMod3=2AndiMod4=3AndiMod5=4AndiMod6=5AndiMod7=0Then
PrintTab(3);"该阶梯至少有";i;"阶"
ExitDo
EndIf
Loop
输入一批数据,若输入数据为纯数字时,求累加和,非纯数字不累加。
输入"End"结束输入,输出累加和。
Dimx$,y!
z!
x=""
z=0
DoWhilex<>"end"
x=InputBox("请输入数据")
y=Val(x)
'a=Trim(Str(y))
'Ifx=aThenz=z+y:
Printz
z=z+y
Loop
Printz
随机生成20个100以内的正整数,将其中的奇数和偶数分两行显示在窗体上。
Dima(1To20),b(1To20),c(1To20),i%,j%,k%
j=0
k=0
Fori=1To20
a(i)=Int(Rnd*100)
Ifa(i)Mod2<>0Then
j=j+1
b(j)=a(i)
Else
k=k+1
c(k)=a(i)
EndIf
Nexti
Fori=1Toj
Printb(i);
Nexti
Print
Fori=1Toj
Printc(i);
Nexti
求方程f(x)=3*x^3-4*x^2-5*x+13=0的根
Dima#,e#,x0#,x1#
a=Val(Text1.Text)
e=Val(Text2.Text)
e=IIf(e<0,0.000001,e)
Ifa<0Then
MsgBox"a不能为负数。
"
Text1.Text=""
Text1.SetFocus
Else
x1=a/2
Do
x0=x1
x1=x0-(3*x0^3-4*x0^2-5*x0+13)/(9*x0^2-8*x0-5)
LoopWhile(Abs(x0-x1)>e)
Text3.Text=x0
EndIf
编写程序实现在一个字符串变量中查找"abc",输出找到的个数或提示没有找到。
字符串由键盘输入。
Dimx$,y$,z%
x=LCase(InputBox("请输入数据"))
y="abc"
z=InStr(x,y)
Ifz=0Then
Print"没找到"
Else
Printz
EndIf
给定一个两位正整数,请找到另一个两位正整数,使得这两个两位正整数之和等于它们各自的对调数之和,若找不到,则输出“查找失败”。
Dima%,b%,c%,d%,e%,f%,g%,hAsBoolean,i%
a=InputBox("请输入一个两位正整数")
b=a\10
c=aMod10
d=c*10+b
h=True
Fori=10To99
e=i\10
f=iMod10
g=f*10+e
Ifa+i=d+gThen
Printa,i
h=False
ExitFor
EndIf
Nexti
IfhThenPrint"查找失败"
输入一串数字,求其中各位数字之和。
例如输入63947,则求6+3+9+4+7。
Dimx$,s%,t%,i%
x=InputBox("请输入数据")
s=0
Fori=1ToLen(x)
t=Val(Mid(x,i,1))
s=s+t
Nexti
Prints
输入一串数字,求其中奇数位数字构成的数与偶数位数字构成的数之差。
例如输入1654238,求1528-643。
Dimx$,y$,z$,s!
t!
i%
x=InputBox("请输入数据")
y=""
z=""
Fori=1ToLen(x)
IfiMod2<>0Then
y=y&Mid(x,i,1)
Else
z=z&Mid(x,i,1)
EndIf
Nexti
PrintVal(y)-Val(z)
输入一串数字,求其中奇数数字的个数及其和。
Dimx$,y%,s!
t!
i%
x=InputBox("请输入数据")
s=0
t=0
Fori=1ToLen(x)
y=Val(Mid(x,i,1))
IfyMod2<>0Then
s=s+y
t=t+1
EndIf
Nexti
Printx
Prints,t
输入一组整数,将其中的奇数按大小顺序输出。
Dima(1To10),b%(1To10),x%,y%,s!
t!
i%,j%
t=0
Fori=1To10
a(i)=InputBox("请输入数据")
Ifa(i)Mod2<>0Then
t=t+1
b(t)=a(i)
EndIf
Nexti
Fori=1Tot-1
Forj=i+1Tot
Ifb(i)
s=b(i)
b(i)=b(j)
b(j)=s
EndIf
Nextj
Nexti
Fori=1Tot
Printb(i);
Nexti
8.下列叙述正确的是( C )
A.对象是包含数据又包含对象数据进行操作的方法的物理实体
B. 对象的属性只能在属性窗口中设置
C.不同的对象能识别不同的事件
D.事件过程都要由用户点击对象来触发
1.对象具有属性和方法。
2.对象的属性是用属性值(数据)来描述的。
3.对象是既包含数据又包含对数据进行操作的方法,并将其封装起来的一个逻辑实体。