VB程序练习题稿.docx

上传人:b****4 文档编号:12400855 上传时间:2023-04-18 格式:DOCX 页数:18 大小:30.55KB
下载 相关 举报
VB程序练习题稿.docx_第1页
第1页 / 共18页
VB程序练习题稿.docx_第2页
第2页 / 共18页
VB程序练习题稿.docx_第3页
第3页 / 共18页
VB程序练习题稿.docx_第4页
第4页 / 共18页
VB程序练习题稿.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

VB程序练习题稿.docx

《VB程序练习题稿.docx》由会员分享,可在线阅读,更多相关《VB程序练习题稿.docx(18页珍藏版)》请在冰豆网上搜索。

VB程序练习题稿.docx

VB程序练习题稿

1.退出VisualBasic的快捷键是______。

A.Ctrl+QB.Shift+Q

C.Alt+QD.Ctrl+Alt+Q

2.窗体设计器是用于设计______。

A.应用程序的界面B.对象的属性

C.应用程序的代码D.窗体的代码

3.启动VisualBasic后,VB为用户建立的第一个窗体是______。

A.Form1B.Form

C.窗体1D.窗体

4.启动VisualBasic后,VB为用户新建立的工程的名字是______。

A.窗体1B.工程1

C.窗体D.工程

5.工程资源管理器窗口包含的文件类型有______种。

A.1B.2

C.3D.4

6.如果VB环境中缺少某个窗口,一般应从主菜单______的下拉菜单中找到相应的激活命令。

A.编辑B.文件

C.调试D.视图

7.能够通过标准工具栏打开的窗口是______。

A.代码窗口B.设计器窗口

C.属性窗口D.窗体布局窗口

8.窗体文件的扩展名______。

A..basB.vbp

C..exeD.frm

9.工程文件的扩展名______。

A..comB.vbp

C..exeD.bas

10.VisualBasic的编程机制是______。

A.面向过程B.面向对象

C.事件驱动D.可视化

(三)练习题

使用VB建立一个应用软件的全过程有哪些步骤?

1.具体过程如下

(1)在窗体上建立用户窗口(界面)对象。

(2)分别对对象设置属性。

(3)分别对对象事件的过程编程且完成代码输入。

(4)运行程序和调试程序。

(5)保存程序。

1.保存VB文件,至少要保存几个文件?

应先保存什么文件?

2.至少保存2个文件,先保存窗体文件,后保存工程文件。

工程文件,窗体文件,标准模块文件,类模块文件的文件名的扩展名分别是什么?

3..vbp,.frm,..bas,.

2.用代码对窗体中的控件设置属性值,这些代码应该放在什么事件中?

.应该放在窗体装入(Form_Load)事件中

3.运行程序有几种方法?

各是什么?

三种:

方法一是执行工具栏中的启动按钮;方法二是选取菜单中的“运行/启动”命令;方法三是直接按F5键。

4.从代码窗口返回到设计窗体窗口(VB集成开发环境)有几种方法?

至少5种方法:

点击窗体窗口;选择菜单栏的view\object;shift+F7;点击资源管理器中的窗体按钮;单击工程资源管理器中的窗体名称(如:

form1)。

7.输入代码忘记属性值时怎么办?

在代码窗口输入代码时,控件的名称及圆点输入后,系统自动出现属性及方法的下拉列表,可以帮助使用者快速输入。

8.在代码窗口输入代码时,输入控件的名称及圆点后,出现下拉列表后,如何输入方法或属性?

输入方法或者属性关键字的首字母进行初选,再用鼠标或者光标键细选,然后双击鼠标左键或者单击空格键。

9.窗体、标签、命令按钮、文本框的默认属性分别是什么?

标签、命令按钮、文本框、图形图像框的默认属性分别为:

caption、caption、text和picture。

10.在输入代码时,如何从属性列表和方法列表中快速输入属性及方法?

可以先输入属性或方法的首字母,然后找到需要的属性及方法并选择,用鼠标双击或击空格键即可完成输入。

第三章VB语言基础

(三)练习题

1.VB定义了哪几种数据类型?

变量有哪几种数据类型?

常量有哪几种数据类型?

VB6.0定义了13种数据类型,分别是整数、长整数、单精度浮点型、双精度浮点型、货币型、字节型、变长字符串、定长字符串、布尔型、日期型、对象型、可变类型(数值)、可变类型(字符)。

变量的数据类型有:

数值型(整型、长整型、单精度浮点型、双精度浮点型、货币型和字节型)、字符串(变长字符串和定长字符串)、布尔型、日期型、对象型、可变数据类型(数值和字符)。

1.常量的数据类型有:

字符串常量、数值常量(整型、长整型、单精度浮点型、双精度浮点型、货币型和字节型)、布尔常量、日期常量。

2.如果希望使用变量x来存放数据765432.123456,应该将变量x声明为何种类型?

应该使用双精度数Double类型。

3.VB共有几种表达式?

根据什么确定表达式的类型?

VB有5种类型的表达式,分别是:

算术表达式、字符串表达式、关系表达式、布尔表达式和日期表达式,VB根据表达式的运算符来确定表达式的类型。

4.在VB中,对于没有赋值的变量,系统默认值是什么?

在VB中,当使用声明语句建立一个变量后,系统自动将数值类型的变量赋初值0,变长的字符串被初始化为一个零长度的字符串(""),而定长的字符串则用空格填充。

Variant变量被初始化为Empty。

将布尔型的变量初始化为False。

5.VB算术表达式a/(b+c/(d+e/Sqr(f)))的数学表达式是什么?

写成的数学表达式为

6.函数Int(Rnd(0)*10)属于哪个范围内的整数?

(0,10)

7.顺序结构的特点是什么?

顺序结构是一种线性结构,在这种结构中,各操作块按照各自某种顺序依次执行。

8.Rem和单撇号有什么不同?

Rem命令及命令后的说明文字要求独占一行,Rem和注释文字间一定要加一个空格,如果非要使用Rem命令将注释语句写在某条语句后,则需在Rem前使用英文“:

”号;而单撇号没有上述限制

9.试述Tab()和Space()两个函数的区别?

Tab()函数是绝对定位函数,总是从左边界开始;Space()函数能从当前输出位置起输出若干空格(形成一段空距)

10.试述Int()和Fix()两个函数的区别?

Fix(x)函数无论对正数或负数都是去掉小数部分,取整数部分(符号不变),如:

Fix(9.1)=Fix(9.9)=9,Fix(-9.1)=Fix(-9.9)=-9;而Int(x)函数返回的是不超过x的最大整数,如:

Int(9.1)=Int(9.9)=9,Int(-9.1)=Int(-9.9)=-10。

(5)练习题

1.将一个一维数组a(9)中各元素值按行的顺序放入二维数组b(3×3)。

PrivateSubCommand2_Click()

DimSumAsSingle,CountAsInteger,ValAsSingle

Sum=0

Count=-1

Val=1

WhileVal<>0

Val=InputBox("请输入一个数:

"&Chr(13)&Chr(10)&"输入0结束程序!

")

Sum=Sum+Val

Count=Count+1

Wend

IfCount<>0Then

Print"While-Wend循环:

","共输入了";Count;"个数","平均值为:

";Sum/Count

EndIf

EndSub

2.用随机数函数产生10个40内的整数,使用选择排序法从小到大排序PrivateSubForm_Click()

DimNasInteger,SumasSingle,TermasSingle

N=1

Sum=0

Do

Term=1/(N*N)

Sum=Sum+Term

N=N+2

LoopUntilTerm<0.0001

Print"运算结果为:

";Sum

Print"最后一项的值为:

";Term

EndSub

3.生成下列二维数组,且按下列格式输出。

3456

78910

11121314

15161718PrivateSubCommand1_Click()

PrintTab(18);"双循环的结果"

Fori=1To10

PrintTab(25-i);

Forj=1To2*i-1

Print"*";

Nextj

Print

Nexti

EndSub

4.将一个一维数组反序放置。

例如:

a=(67,89,76,98,66),反序放置后,a=(66,98,76,89,67)PrivateSubCommand1_Click()

DimACountAsInteger,BCountAsInteger,

DimCCountAsInteger,QCountAsInteger

DimCHAsString*1

ACount=0

BCount=0

CCount=0

QCount=0

ForI=1To30

CH=InputBox("请输入一个字符!

"&Chr(13)&Chr(10)+"连续输入三个字符Q,可结束程序","字符统计")

CH=UCase(CH)

IfCH="Q"ThenQCount=QCount+1ElseQCount=0

IfQCount=3Then

MsgBox"连续输入了三个字符Q,结束输入",,"注意"

ExitFor

EndIf

SelectCaseCH

Case"A"

ACount=ACount+1

Case"B"

BCount=BCount+1

Case"C"

CCount=CCount+1

EndSelect

NextI

Text1.Text=ACount:

Text2.Text=BCount:

Text3.Text=CCount

EndSub

5.有一个m×n矩阵,找出最大元素值及其最大元素值所在的行、列位置。

PrivateSubForm_Click()

DimNAsInteger,IAsInteger

N=InputBox("请输入一个数正整数N:

")

factorial=1

Sum=0

ForI=1ToN

factorial=factorial*I

Sum=Sum+factorial

NextI

Print"小于自然数";N;"的自然数阶乘之和为:

",Sum

EndSub

6.将矩阵m(n,n)主对角线和次对角线上的元素置为1,其余元素置为0。

PrivateSubForm_Click()

a=0

b=1

Printa,b,

Fori=1To9

a=a+b

b=a+b

Printa,b,

IfiMod2=1ThenPrint

Nexti

EndSub

运行结果见图:

7.

PrivateSubForm_Click()

Fori=1To9

Forj=1Toi

PrintTab(11*(j-1));j;"*";i;"=";Str(i*j);

Nextj

Print

Nexti

EndSub

运行结果如下图所示:

7.将一个二维数组a(m,n)按行顺序将每个元素放入一个一维数组b(m×n)。

编写了两个按扭的事件程序。

“求最大公约数”按扭的过程为:

DimAAsInteger,BAsInteger,NAsInteger,MAsInteger,RAsInteger

PrivateSubCommand1_Click()

M=Val(Text1.Text)

N=Val(Text2.Text)

A=M

B=N

IfN=0ThenExitSub

R=MModN

DoWhileR<>0

M=N

N=R

R=MModN

Loop

Label3.Caption=N

EndSub

“求最小公倍数”按扭的过程为:

PrivateSubCommand2_Click()

IfN<>0ThenLabel4.Caption=A*B/N

EndSub

运行界面可参阅图。

说明:

该设计运行时,如果要求最小公倍数,需要先按“求最大公约数”的按扭,求出最大公约数后方可按“求最小公倍数”的按扭

8.将用inputbox()输入的一个数插入到一个按递增排列的有序数列中,插入后该数列仍然有序。

窗体的Click事件过程为:

PrivateSubForm_Click()

n=0

Fori=3To1000Step2

prime=1

x=2

m=Int(Sqr(i))

Whilex<=mAndprime=1

IfiModx=0Then

prime=0

Else

x=x+1

EndIf

Wend

Ifprime=1AndiMod10=3Then

n=n+1

IfnMod5=0Then

Printi

Else

Printi,

EndIf

EndIf

Nexti

Print

Print"1000以内个位数为3的素数共有";n;"个"

EndSub

9.有一个无序数组,删去与第一个元素值相同的其他元素值,删除后其他元素的值前移。

运行结果见图

10.

窗体的Click事件过程为:

PrivateSubForm_Click()

Sum=1/2

x=1

y=2

Fori=2To10

temp=x

x=y

y=x+temp

Sum=Sum+x/y

Nexti

Print"数列的前10项的和为:

",Sum

Print"该数列的第10项为:

",x;"/";y

EndSub

说明:

该数列的规律是:

数列项的分子为其前一项的分母,分母为其前一项的分子与分母之和。

在程序中注意生成新的分子和分母时需要利用中间变量temp,并且关注计算的顺序。

1.函数过程有什么不足?

1.当有以下二点时,用函数不方便:

(1)不是为了获得某个函数值,而是为了某种功能的处理。

(2)要获得多个结果。

2.子过程与函数过程区别有哪些?

2.

(1)函数过程名有值,有类型,在函数体内至少赋值一次;子过程名无值,无类型,在子过程体内不能对子过程名赋值;

(2)调用时,子过程调用是一句独立的语句。

函数过程不能作为单独的语句加以调用,必须参与表达式运算。

(3)一般当过程有一个函数值,使用函数过程较直观;反之若过程无返回值,或有多个返回值,使用子过程较直观。

3.函数的参数传递时,什么是传址方式?

3.

传址:

形参得到的是实参的地址,当形参值的改变同时也改变实参的值

4.函数的参数传递时,什么是传值方式4.

传值:

形参得到的是实参的值,形参值的改变不会影响实参的值。

5.什么是变量、过程的作用域?

5.

作用域:

变量、过程随所处的位置不同,可以被访问的范围

6.过程的作用域有哪几个级别?

其对应的关键字是什么?

6.

窗体/模块级:

加Private关键字的过程,只能被定义的窗体或模块中的过程调用。

全局级:

加Public关键字(缺省)的过程,可供该应用程序的所有窗体和所有标准模块中的过程调用。

7.在VB中,变量有哪些级别?

如何定义?

7.

局部变量:

在过程内声明的变量,只能在本过程中使用。

窗体/模块级变量:

在“通用声明”段中用Dim语句或用Private语句声明的变量,可被本窗体/模块的任何过程访问。

全局变量:

在“通用声明”段中用Public语句声明的变量,可被本应用程序的任何过程或函数访问。

8.什么是递归?

请举例说明。

8.用自身的结构来描述自身就称为“递归”。

例如对阶乘的定义:

n!

=n*(n-1)!

(n-1)!

=(n-1)*(n-2)!

……,0!

=1

9.设计递归时应遵循哪些原则?

9.递归过程中有终止的条件和终止时的值或某种操作;每递归调用一次,其中的参数要向终止方向收敛。

(三)练习题

1.VB中可使用的控件分为哪几类?

1.VB中可使用的控件分为三类:

标准控件、ActiveX控件和可插入对象。

2.框架有什么作用?

2.每个窗体中可能会存在许多控件,为了将控件适当地按功能分组,可以使用框架将某些控件组合在一起,对一个窗体中的各种功能进行分类,以便于用户识别。

当用框架将同一个窗体上的单选按钮分组后,每一组单选按钮都是独立的

3.列表框的作用是什么?

3.列表框以列表形式显示一系列项目,用户可以从中选择一个或者多个列表项。

4.组合框有哪几种类型?

4.组合框的类型有:

下拉式组合框(Style属性值为0)、简单组合框(Style属性值为1)和下拉式列表框(Style属性值为2)。

5.时钟控件的作用如何?

5.时钟控件是一种可按一定时间间隔触发事件的控件,通常用于检查系统时钟,确定是否执行某项任务。

运行时,时钟控件不可见。

6.鼠标事件有哪些?

6.鼠标事件有Click、Dblclick、MouseDown、MouseUp和MouseMove。

7.键盘事件有哪些?

各自的作用如何?

7.键盘事件有KeyPress、KeyUp和KeyDown。

其中KeyUp和KeyDown所接收到的信息与KeyPress接收到的不完全相同。

KeyUp和KeyDown能检测到KeyPress不能检测到的功能键、编辑键和箭头键。

KeyPress接收到的是用户通过键盘输入的ASCII码字符。

8.Animation控件有什么用处?

8.Animation控件只能播放无声的AVI文件,不能播放含有声音数据的AVI文件。

9.怎样设置鼠标光标的形状?

9.鼠标光标的形状通过MousePointer属性来设置,该属性可以在属性窗口中设置,也可以在程序代码中设置。

MousePointer的属性是一个整数,可以取0~15。

10.SSTab控件的Click事件过程有什么特点?

10.SSTab控件用来制作含有选项卡的对话框。

SSTab控件具有特殊的Click事件过程,其参数previoustab标识先前为活动的选项卡。

另外,在当前活动的选项卡上单击不会触发Click事件,只有当单击其他的选项卡时才发生该事件。

第八章数据文件(三)练习题

1.什么是文件?

1.

文件是存储在外部介质上数据的集合。

2.根据访问模式,文件可分为哪些种类?

请说出其特点。

2.

文件是记录的集合。

可分为下列三种:

顺序访问模式:

顺序文件,记录可长可短;按顺序依次把记录写入文件;按顺序依次把记录读出来。

随机访问模式:

随机文件,记录的长度相同;随机文件可以直接访问文件中的任意一个记录,根据记录号访问。

二进制访问模式:

二进制文件(可认为记录长度为1)。

直接把二进制码存放在文件中。

3.若要对文件进行访问,需要经过哪几个步骤?

3.

需要进行三个步骤:

打开文件、对文件进行操作和关闭文件。

4.打开一个顺序文件时,有哪几种打开的模式?

都有什么作用?

4.

有三种打开的模式可以选择:

OUTPUT:

对文件进行写操作;

INPUT:

对文件进行读操作;

APPEND:

把数据追加到文件末尾。

5.读顺序文件时,有哪几种命令可以使用?

命令的格式和作用各是什么?

5.

有三种命令语句可以使用:

INPUT#文件号,变量列表

把读出的每个数据项分别存放到所对应的变量。

LINEINPUT#文件号,字符串变量

读一行到变量中,主要用来读取文本文件。

INPUT$(读取字符数,#文件号)

随意读取字符

6.LOF()和EOF()都有什么作用?

6.

LOF(文件号):

返回文件的长度(总字节数)。

EOF(文件号):

返回读写位置。

指针在文件尾时,EOF函数为True,否则为False。

7.已知有一个数据文件data.dat,请编写程序将data.dat中的数据复制到文件student.dat中去。

7.

PrivateSubForm_Load()

DimcharAsByte

DimFileNum1,FileNum2asInteger

FileNum1=FreeFile'打开源文件

Open"C:

\DATA.DAT"ForBinaryAs#FileNum1

FileNum2=FreeFile'打开目标文件

Open"C:

\STUDENT.DAT"ForBinaryAs#FileNum2

DoWhileNotEOF(FileNum1)

Get#FileNum1,,char'从源文件读出一个字节

Put#FileNum2,,char'将一个字节写入目标文件

Loop

Close#FileNum1

Close#FileNum2

EndSub

8.已知一个学生信息的文本文件为student.dat,学生信息包括:

姓名(字符型),专业(字符型),年龄(整型),分数(整型)

编写程序,找出其中分数最高的和分数最低的学生并输出其记录到文件HL.TXT中去。

8.

PrivateSubForm_Click()

Dimname$,spe$,age%,score%

Dimhname$,hspe$,hage%,hscore%

Dimlname$,lspe$,lage%,lscore%

Open"c:

\student.dat"ForInputAs#1

Open"c:

\HL.TXT"ForOutputAs#2

Hscore=-1

Lscore=-1

DoWhileNotEOF

(1)

Input#1,name,spe,age,score

Ifscore>hscorethen

Hname=Name

Hspe=Spe

Hage=Age

Hscore=Score

EndIf

Ifscore

Lname=Name

Lspe=Spe

Lage=Age

Lscore=Score

EndIf

Loop

Write#2,Hname,Hspe,Hage,Hscore

Write#2,Lname,Lspe,Lage,Lscore

Close#1,#2

EndSub

9.已知一个学生信息的文本文件为student.dat,学生信息包括:

姓名(字符型),专业(字符型),年龄(整型),分数(整型)

编写程序,统计出其中不及格的学生人数并输出。

9.

PrivateSubForm_Click()

Dimname$,spe$,age%,score%,Count%

Open"c:

\student.dat"ForInputAs#1

Count=0

DoWhileNotEOF

(1)

Input#1,name,spe,age,score

Ifscore<60thenCount=Count+1

Loop

Print“不及格的人数为:

”,Count

Close#1

EndSub

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

当前位置:首页 > 工程科技 > 信息与通信

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

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