09秋理科VB考前辅导1.docx
《09秋理科VB考前辅导1.docx》由会员分享,可在线阅读,更多相关《09秋理科VB考前辅导1.docx(9页珍藏版)》请在冰豆网上搜索。
![09秋理科VB考前辅导1.docx](https://file1.bdocx.com/fileroot1/2022-10/27/ef31a92f-fa9f-4491-a5b1-f37fe2b751b4/ef31a92f-fa9f-4491-a5b1-f37fe2b751b41.gif)
09秋理科VB考前辅导1
计算机等级考试二级考试说明
考试内容
Ø计算机文化基础
ØVB程序设计
笔试内容(60%)
ØVB程序设计语言
上机考试内容(40%)
ØWindowsXP操作或文件操作
ØExcel2003或PowerPoint2003操作
ØOutlook或IE操作
Ø程序调试(两道题)
Ø程序设计(两道题)
第一章
VB开发环境(略)
Ø工程窗口、工具箱、窗体设计窗口、属性窗口的使用。
VB采用的是面向对象、事件驱动的编程机制。
(p11)
(面向)对象:
在VB中窗体,控件都是对象,在代码中用名称来表示对象
form1,command1,label1
属性
对象名.属性名=属性值
Label1.Caption=“OK”:
Caption=“OK”
(省略对象名默认指当前窗体的属性。
)
方法
对象名.方法名[参数]
text1.setfocus:
picture1.pset(100,100)
Form1.Print123
Cls
事件
窗体的load,click,dblclick事件等
文本框的change,keypress事件等
事件驱动
事件过程
subform_click()事件过程
事件驱动的执行机制。
窗体(p14)
常用属性
常用事件
Click、dblClick事件
Load事件
常用方法:
Print输出格式很重要
Cls方法
Show方法(p19)
Hide方法与Visible属性相关联
保存VB工程(复习上机考试时再详细讲解)
Ø一个工程文件(*.vbp)
Ø若干个窗体文件(*.frm)
Ø一个工程至少有一个窗体
第二章
基本数据类型(p35)
掌握常用数据类型的关键字、字节数、取值范围
不同类型常量的表示
Ø数值常量
12.4
数值的其它表示方式
&HA2&o713.14E+2
注意与val函数的结合(P50填7)
例如:
val(“&HAKKK123”)
Ø逻辑常量
TrueFalse
Ø字符串常量
“Yuan”,“2000”,”True”
符号常量
Ø符号常量的定义和使用
ConstPI=3.14
r=val(text1.text):
s=r*r*PI
Ø符号常量的值在程序中不能被改变
变量
变量的定义
VB的两种变量声明模式:
显式声明和隐含声明
Dimxasstring
dimaasinteger,basboolean
dimy
dimc,dasinteger
隐含声明
变量也可以不声明而直接使用。
通过在变量名后加类型后缀字符来声明类型(P38)%!
$
注意:
如果代码模块最前面写有OptionExplicit,则变量必须显式声明
变量的初始值
dimaasinteger,basboolean,casstring
a=a+3:
b=notb
定长字符串
dimsasstring*1
print语句
格式:
[<对象名>.]print<输出项>[,|;]<输出项>
Ø分隔符
Ø输出项:
数字带空格,字符串原样,逻辑值true与false
Print“hello”;”world”
Print“hello”,”world”;
Print3>4
Print123;”OK”
Fork=1to10
Ifkmod3=0thenprintkelseprintk;
Nextk
赋值语句
a=b=ck%=1.3E9b=a>c5=x+3y+6=x
Ø从右向左
Ø左边只能是变量和属性
Ø不能越出表示范围
Ø把右边表达式的值转化为左边的类型
k%=7.5m%=6.7
例:
执行a=b:
b=c:
c=a后,将交换a和c的值?
运算符
Ø算术:
\/mod优先级
数位分解
试题讲解:
调试05
PublicSubArmstrongNumber()
'该过程是用于求出1--999之间所有的Armstrong数,并输出。
'所谓Armstrong数是指一个数等于它每位上数字的立方和。
'例如:
371=3^3+7^3+1^3,那么371就是一个Armstrong数。
DimarmstrongAsInteger
DimiAsInteger
DimhundredAsInteger'百位上的数字
DimtenAsInteger'十位上的数字
DimoneAsInteger'个位上的数字
Fori=1To999
hundred=----1----
ten=Int((iMod100)\10)
one=----2----
If----3----Then
Form1.Printi;"isarmstrongnumber"
EndIf
Nexti
EndSub
把数学表达式写成VB表达式(考点)
Ø字符串:
&+
x=123
y=“xyz”+STR(x)
y=“xyz”&x
Ø关系:
<=<>(字符串也可以比较,字符串数组排序时,不需要转换成ASCII码)
Ø逻辑:
NotAndOr
判断整数n是否为正数的表达式(正数应该满足什么条件?
)
判断某一点(x,y)是否在x2+y2=9的上半圆内的表达式
判断年份n是否为闰年的表达式
常用内容函数
Ø数学函数:
三角函数(sin、cos)
其它函数abs、sqr、int、fix、exp、log
Ø字符串函数:
trim、ltrim、rtrim、left、right、mid、len、space、instr、string
统计字符串中有多少数字字符的例子
程序调试04
OptionExplicit
PublicSubsame()
'该过程找出1--1000之间所有的同构数
'所谓同构数是指一个数出现在它的平方数的右端
'如25在25平方625的右端,则25为同构数
'利用数字转字符再取出右端字符的方法进行判断
DimiAsLong
Dimx1AsString,x2AsString
Fori=1To1000
x1=-------1--------'将i转字符型
x2=-------2--------'将i^2转字符型
If------3------Then
Form1.Printi;"是同构数"
EndIf
Nexti
EndSub
程序调试09
PublicSubFindat()
'该过程是用于在一个字符串变量中查找”at”,并用消息框给出查找结果的报告:
没有找到或找到的个数。
Dimstr1AsString
DimlengthAsInteger'字符串长度
DimsumAsInteger'查到的个数
DimiAsInteger
str1=InputBox("请输入一个字符串")
length=----1----
i=1
sum=0
DoWhilei<----2----
If----3----="at"Then
sum=sum+1
EndIf
i=i+1
Loop
If----4----Then
MsgBox"没有找到!
"
Else
MsgBox"找到了"&Str(sum)&"个"
EndIf
EndSub
程序调试11
PublicSubWrap()
'该过程用于判断一个字符串是否“回文”。
'所谓“回文”是指字符串顺读与倒读都是一样的,如“潮起潮落,落潮起潮”。
DimlengthAsInteger
Dimstr1AsString
DimstrleftAsString
DimstrrightAsString
DimkAsInteger
str1=InputBox("请输入任意的字符串")'输入任意字符串
'****错误1*****
length=Val(str1)
k=1
Do
'****错误2*****
strleft=Left(str1,k)'从左边起逐个取出一个字符
'****错误3*****
strright=Right(str1,k)'从右边起逐个取出一个字符
'****错误4****
Ifstrleft=strrightThen
ExitDo
EndIf
k=k+1
LoopWhilek<=length/2
Ifk>length/2Then
Form1.Printstr1&"是回文"
Else
Form1.Printstr1&"不是回文"
EndIf
EndSub
Ø日期函数:
DateTimeYearMonthDayWeekDayHourMinuteSecond
Ø转换函数:
Str和ValChr和Asc
Ø随机函数:
Rnd
int(rnd*90)+10:
int(rnd*90+10)
ØTab()函数(仅能与Print配合使用)
Print"Hello";Tab(10);"World"
Print"Hello",Tab(10);"World"
ØInputbox函数的使用
设s是字符串变量
s=inputbox(“pleaseinputs”)
设n是数值型变量
n=val(inputbox(“pleaseinputn”))
ØMsgbox函数的使用
Msgbox“提示信息”
Msgbox“提示信息”,vbOkOnly
Msgbox“提示信息”,vbOkOnly,”标题”
n=Msgbox(“真的需要退出系统吗?
”,vbYesNo,”询问”)
ifn=vbYesthenend
行if结构:
if<条件>then语句1[else语句2]
例如:
ifx>3theny=x+3elsey=x*x
块IF结构:
if<条件>then
<语句块1>
[else
<语句块2>]
endif
例如:
2
ifx>=1then
ifx>3then
y=x+3
else
y=x*x
endif
else
ifx>0then
y=sqr(x)
else
y=0
endif
endif
注意:
笔试中经常出现类似于P83练习2这样的题目