Visual Basic综合资料.docx

上传人:b****8 文档编号:28394431 上传时间:2023-07-13 格式:DOCX 页数:24 大小:132.39KB
下载 相关 举报
Visual Basic综合资料.docx_第1页
第1页 / 共24页
Visual Basic综合资料.docx_第2页
第2页 / 共24页
Visual Basic综合资料.docx_第3页
第3页 / 共24页
Visual Basic综合资料.docx_第4页
第4页 / 共24页
Visual Basic综合资料.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

Visual Basic综合资料.docx

《Visual Basic综合资料.docx》由会员分享,可在线阅读,更多相关《Visual Basic综合资料.docx(24页珍藏版)》请在冰豆网上搜索。

Visual Basic综合资料.docx

VisualBasic综合资料

VB程序设计基础

复习资料

1.数据类型

类型

关键字

类型符号

举例

整型

Integer

%

DimxasInteger

Dimx%

x=123%

长整型

Long

&

DimxasLong

Dimx&

x=123&

单精度型

Single

!

DimxasSingle

Dimx!

x=12.3!

双精度型

Double

#

DimxasDouble

Dimx#

x=12.345$

逻辑型

Boolean

DimxasBoolean

x=True

字符型

String

$

DimxasString

Dimx$

x=”12345abcdefg”

日期型

Date

DimxasDate

x=#2012-5-29#

2.常用函数

函数

参数类型

返回值

说明

Sin(x)

X:

数值型

数值型

求弧度X的正弦值

X:

弧度,如果求30度角的正弦值,需要进行角度和弧度的转换,即Sin(30*3.1.416/180)

Cos(x)

X:

数值型

数值型

求弧度X的余弦值

Tan(x)

X:

数值型

数值型

求弧度X的正切值

Atan(x)

X:

数值型

数值型

求弧度X的反正切值

Abs(x)

X:

数值型

数值型

求绝对值

Exp(x)

X:

数值型

数值型

返回e的指定次幂,即ex

Log(x)

X:

数值型

数值型

返回x的自然对数

Sgn(x)

X:

数值型

数值型

符号函数,正数返回1,负数返回-1,0则返回0

Sqr(x)

X:

数值型

数值型

返回x的平方根

Int(x)

X:

数值型

数值型

返回不大于x的最大整数

Fix(x)

X:

数值型

数值型

返回x的整数部分

Fix(-7.8)=-7

Int(-7.8)=-8

Rnd

数值型

取随机数,得到[a,b]之间的随机数:

R=Int(Rnd*(b-a+1))+a

Ltrim(x)

X:

字符型

字符型

去左边的空格

Rtrim(x)

X:

字符型

字符型

去右边的空格

Trim(x)

X:

字符型

字符型

去左右两边的空格

Left(x,n)

X:

字符型

N:

数值型

字符型

对字符串X截取前N个字符

Right(x,n)

X:

字符型

N:

数值型

字符型

对字符串X截取后N个字符

Mid(x,m,n)

X:

字符型

M:

数值型

N:

数值型

字符型

从字符串X的M位开始截取N个字符

Len(x)

X:

字符型

数值型

求字符串的长度

LCase(x)

X:

字符型

字符型

返回小写字母

UCase(x)

X:

字符型

字符型

返回大写字母

Space(n)

N:

数值型

字符型

返回N个空格

String(n,c)

N:

数值型

C:

字符型

字符型

返回N个字符C,即将C重复N次

Instr(x,y)

X:

字符型

Y:

字符型

数值型

返回Y在X中首次出现的位置,0表示Y不在X中

Str(x)

X:

数值型

字符型

把X转换为字符型,一般用法

Trim(Str(x))

Val(x)

X:

字符型

数值型

把X转换为数值,无法转换则返回0,如Val(“abcd”)的值为0

Chr(x)

X:

数值型

字符型

X是某个字符的ASCII编码

Asc(x)

X:

字符型

数值型

返回x的ASCII编码值

Date

日期型

返回当前日期

Time

日期型

返回当前时间

Now

日期型

返回当前日期和时间

Year(d)

D:

日期型

数值型

返回日期D的年数值

Month(d)

D:

日期型

数值型

返回日期D的月数值

Day(d)

D:

日期型

数值型

返回日期D的日数值

Hour(d)

D:

日期型

数值型

返回日期D的时数值

Minute(d)

D:

日期型

数值型

返回日期D的分数值

Second(d)

D:

日期型

数值型

返回日期D的秒数值

IIf(x,y,z)

X:

逻辑型

Y:

任意型

Z:

任意型

任意型

当x为true时返回y

当x为false时返回z

InputBox(x)

X:

字符型

字符型

弹出输入框,返回输入的值

参数x仅仅起到提示作用

MsgBox(x)

X:

字符型

弹出一个消息对话框,参数X是消息的内容

Print

表达式(多个用逗号或分号隔开)

屏幕输出函数,可以输出1个或多个变量的值

3.程序控制结构

结构类型

结构体

顺序结构

从上到下,从左到右

分支结构

单路分支

If<逻辑表达式>then

<语句块>

EndIf

如果语句块只有一行,也可以写成:

If<逻辑表达式>then<语句块>

二路分支

If<逻辑表达式>then

<语句块1>

Else

<语句块2>

EndIf

多路分支IF

If<逻辑表达式1>then

<语句块1>

ElseIf<逻辑表达式2>

<语句块2>

ElseIf<逻辑表达式N>

<语句块N>

[Else

<语句块N+1>]

EndIf

多路分支

Select

SelectCase<表达式>

Case<表达式列表1>

<语句块1>

Case<表达式列表N>

<语句块N>

……

[CaseElse

<语句块N+1>

EndSelect

For循环

For<循环变量i>=<初始值>To<终止值>[Step步长]

Next<循环变量i>

Do循环

格式1:

先判断条件,后执行循环体

Dowhile/until<逻辑条件>

<循环语句>

Loop

格式2:

先执行循环体,后判断条件

Do

<循环语句>

Loopwhile/until<逻辑条件>

While循环

While<逻辑条件>

<循环语句>

Wend

相当于Dowhile循环

4.数组

要求掌握一维数组,看懂二维数组

数组必须先申明,然后才能使用

Dimx(5)asInteger:

申明X是整型的一维数组,最大下标为5,则数量为6,各个数组变量为:

X(0)、X

(1)、X

(2)、X(3)、X(4)、X(5)

数组的默认起始下标为0,如果要从1开始,有两种办法:

第一,在“通用对象申明部分”使用语句“OptionBase1”

第二,定义数组时候:

DimDimx(1to5)asInteger

二维数组的申明:

Dimx(2,2)asInteger:

表示申明了一个3×3的二维数组,各个数组变量为:

X(0,0)、X(0,1)、X(0,2)

X(1,0)、X(1,1)、X(1,2)

X(2,0)、X(2,1)、X(2,2)

5.过程和函数

过程Sub

定义:

privatesub过程名字(参数列表)

EndSub

例如定义一个求阶层的过程:

求X的阶乘,结果赋值给y

Privatesubfactorial(xasInteger,yasLong)

Y=1

Fori=xto1step-1

Y=y*i

Nexti

EndSub

调用:

DimxAsInteger

DimyAsLong

x=5

Callfactorial(x,y)

Printy

函数Function,类似于Sub,但是可以有返回值

定义:

privatefunction函数名(参数列表)as返回类型

EndFunction

定义阶乘的函数:

Privatefunctionfactorial(xasInteger)asLong

DimyasLong

Y=1

Fori=xto1step-1

Y=y*i

Nexti

Factorial=Y

EndFunction

调用:

DimxAsInteger

x=5

Printfactorial(x)

参数传递

按值传递ByVal

创建新的内存变量,复制值

按地址传递ByRef(默认)

共用相同的内存变量

6.常用控件

控件名

常用属性

常用事件

Form

Caption

Backcolor

Font

Fontsize

FontBold

FontItalic

FontUnderline

Load

Click

Unload

Label

Autosize

Caption

Wordwrap

Left

Top

Width

Height

Text

Text

Enabled

Visible

change

Optionbutton

Value

click

Checkbox

value

click

ListBox

List

Listcount

Listindex

Text

Sorted

Selected

Multiselect

Additem

Removeitem

Clear

Click

Dbclick

combobox

与list一样

style

Timer

Enabled

interval

Timer

7.练习题

1、输入一个数,判断奇数还是偶数?

PrivateSubForm_Click()

w=InputBox("请输入一个数")

IfwMod2=0Then

Print"偶数"

Else

Print"奇数"

EndIf

EndSub

2、输入一个数,判断是否是闰年

PrivateSubForm_Click()

w=InputBox("请输入一个年份")

IfwMod4=0AndwMod100<>0OrwMod400=0Then

Print"闰年"

Else

Print"不是闰年"

EndIf

EndSub

3、输入一个成绩,判断是否及格,分档次做

PrivateSubForm_Click()

w=InputBox("请输入成绩")

Ifw>=90Then

Print"优秀"

ElseIfw>=80Then

Print"良好"

ElseIfw>=70Then

Print"中等"

ElseIfw>=60Then

Print"及格"

Else

Print"不及格"

EndIf

EndSub

4、三个数比较大小

PrivateSubForm_Click()

a=Val(InputBox("a=?

"))

b=Val(InputBox("b=?

"))

c=Val(InputBox("c=?

"))

Ifa>bThen

t=b

b=a

a=t

EndIf

Ifa>cThen

t=c

c=a

a=t

EndIf

Ifb>cThen

t=c

c=b

b=t

EndIf

Print"从小到大:

";a;b;c

EndSub

5、输入一个年份,输出中文大写,即2010->二零一零年

PrivateSubForm_Click()

x=InputBox("请输入一个年份")

Y1=Val(Mid(x,1,1))

Y2=Val(Mid(x,2,1))

y3=Val(Mid(x,3,1))

y4=Val(Mid(x,4,1))

ss="零一二三四五六七八九"

Y1=Mid(ss,Y1+1,1)

Y2=Mid(ss,Y2+1,1)

y3=Mid(ss,y3+1,1)

y4=Mid(ss,y4+1,1)

PrintY1&Y2&y3&y4

EndSub

6、输入三角形的三个边长,求面积。

PrivateSubForm_Click()

a=Val(InputBox("输入三角形的一个边长"))

b=Val(InputBox("输入三角形的一个边长"))

c=Val(InputBox("输入三角形的一个边长"))

p=(a+b+c)/2

m=p*(p-a)*(p-b)*(p-c)

s=Sqr(m)

Ifa+b>cAnda+c>bAndb+c>aAnda>0Andb>0Andc>0Then

Print"三角形面积为:

"&s

Else

Print"输入的三边不能构成三角形"

EndIf

EndSub

7、任意输入一个数,判断它是否是水仙花数。

PrivateSubForm_Click()

w=InputBox("请输入一个三位数")

a=Val(Mid(w,1,1))

b=Val(Mid(w,2,1))

c=Val(Mid(w,3,1))

IfVal(w)=a^3+b^3+c^3Then

Printw&"是水仙花数"

Else

Printw&"不是水仙花数"

EndIf

EndSub

8、求1+2+3+...+N的和值,N从键盘输入

PrivateSubForm_Click()

w=InputBox("请输入一个数'")

s=0

Fori=1Tow

s=s+i

Nexti

Prints

EndSub

9、求A!

的值,A值从键盘输入。

PrivateSubForm_Click()

a=InputBox("请输入一个数")

s=1

Fori=aTo1Step-1

s=s*i

Nexti

Prints

EndSub

10、输入10个整数,输入完毕后要做三件事情:

A、输出这十个数的和。

b、输出这十个数的平均值。

c、输出其中奇数的个数,以及这些奇数,放在一个字符串中

PrivateSubForm_Click()

s=0

c=""

d=0

Fori=1To10

a=Val(InputBox("输入第"&i&"个数"))

s=s+a

IfaMod2<>0Then

d=d+1

c=c&a&""

EndIf

Nexti

Print"十个数的和";s

Print"平均";(s/10)

Print"奇数个数"&d

Print"奇数为"&c

EndSub

11、定义长度为10的一个数组,随机产生10个数据分别填入该数组。

要求填入的数值不相等,打印出这10个数值。

PrivateSubForm_Click()

Dimx(10)AsInteger

Fori=1To10

x(i)=Int(Rnd*90)+10

Nexti

Fori=1To10

Printx(i)

Nexti

EndSub

12、P86,实例5.1

PrivateSubForm_Click()

Dimf(30)AsLong

f

(1)=1

f

(2)=1

Fori=3To30

f(i)=f(i-1)+f(i-2)

Nexti

Fori=1To30

Printf(i)

IfiMod5=0ThenPrint

Nexti

EndSub

13、投骰子游戏

PrivateSubCommand1_Click()

a=Int(Rnd*(6-1+1))+1

b=Int(Rnd*(6-1+1))+1

c=Int(Rnd*(6-1+1))+1

Text1.Text=a

Text2.Text=b

Text3.Text=c

Ifa=b=cThen

Label2.Caption="哈哈。

好手气!

"

EndIf

Ifa=bOrb=cOra=cThen

Label2.Caption="呵呵。

也不错阿!

"

EndIf

Ifa<>bAndb<>cAnda<>cThen

Label2.Caption="嘿嘿。

下次再来!

"

EndIf

EndSub

PrivateSubCommand2_Click()

End

EndSub

PrivateSubForm_Load()

Label1.FontSize=20

Label2.FontSize=20

Label2.Caption=""

Text1.FontSize=18

Text2.FontSize=18

Text3.FontSize=18

EndSub

14、找零钱

PrivateSubCommand1_Click()

a=Val(Text1.Text)

b=Val(Text2.Text)

c=b-a

d=c\50

e=(c-50*d)\10

f=(c-50*d-10*e)\5

g=(c-50*d-10*e-5*f)\1

Text3.Text=c

Text4.Text=d

Text5.Text=e

Text6.Text=f

Text7.Text=g

EndSub

PrivateSubCommand2_Click()

End

EndSub

15、两个列表框数据迁移

PrivateSubCommand1_Click()

DimiAsInteger

Fori=List1.ListCount-1To0Step-1

IfList1.Selected(i)Then

List2.AddItemList1.List(i)

List1.RemoveItemi

EndIf

Nexti

EndSub

PrivateSubCommand2_Click()

DimiAsInteger

Fori=List2.ListCount-1To0Step-1

IfList2.Selected(i)Then

List1.AddItemList2.List(i)

List2.RemoveItemi

EndIf

Nexti

EndSub

PrivateSubForm_Load()

Fori=1To10

List1.AddItem"Item"&i

Nexti

EndSub

16、会移动的文字。

文字在表单的范围内左右移动

DimfxAsBoolean

PrivateSubForm_Load()

Label1.FontSize=20

Label1.Left=0

fx=True

Timer1.Enabled=True

Timer1.Interval=100

EndSub

PrivateSubTimer1_Timer()

IffxThen

Label1.Left=Label1.Left+100

Else

Label1.Left=Label1.Left-100

EndIf

IfLabel1.Left<=0Then

fx=True

EndIf

IfLabel1.Left>=Form4.Width-Label1.WidthThen

fx=False

EndIf

EndSub

17、百分之一秒计时器

DimfenAsInteger

DimmiaoAsInteger

DimhaomAsInteger

PrivateSubCommand1_Click()

Timer1.Enabled=True

EndSub

PrivateSubCommand2_Click()

Timer1.Enabled=False

EndSub

PrivateSubCommand3_Click()

Timer1.Enabled=False

fen=0

miao=0

haom=0

Text1.Text="00:

00:

00"

EndSub

PrivateSubForm_Load()

Text1.FontSize=36

Text1.Text="00:

00:

00"

Timer1.Enabled=False

Timer1.Interval=10

fen=0

miao=0

haom=0

EndSub

PrivateSubTimer1_Timer()

haom=haom+1

Ifhaom>=100Then

haom=0

miao=miao+1

Ifmiao>=60Then

miao=0

fen=fen+1

EndIf

EndIf

a=IIf(haom<10,"0"&haom,""&haom)

b=IIf(miao<10,"0"&miao,""&miao)

c=IIf(fen<10,"0"&fen,""&fen)

Text1.Text=c&":

"&b&":

"&a

EndSub

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1