Basic程序设计课后习题.docx
《Basic程序设计课后习题.docx》由会员分享,可在线阅读,更多相关《Basic程序设计课后习题.docx(15页珍藏版)》请在冰豆网上搜索。
![Basic程序设计课后习题.docx](https://file1.bdocx.com/fileroot1/2023-1/2/257515c8-73f7-4aeb-b21e-0c8378a70e11/257515c8-73f7-4aeb-b21e-0c8378a70e111.gif)
Basic程序设计课后习题
《VisualBasic程序设计》课后习题
第一章VB程序设计概述习题
1.简述VB6.0的主要特点。
2.VisualBasic6.0有多种类型的窗口,若要在设计时看到代码窗口,应怎样操作?
3.叙述建立一个完整应用程序的过程。
4.当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。
试问该工程涉及多少个要保存的文件?
若要保存该工程中的所有文件,应先保存什么文件,再保存什么文件?
若不这样做,系统会出现什么信息?
5.VisualBasic6.0窗体设计器的主要功能是什么?
6.如何使用VB6.0的帮助系统?
第二章VB编程基础习题
1.要判断在文本框中是否按下Enter键,应在文本框的()事件中判断。
2.文本框中的Scrollbars属性设置了非零值,却没有效果,原因是()。
3.要使窗体在运行时不可改变窗体的大小和没有最大化和最小化按钮,只要对()属性设置就有效。
4.要使控件在运行时不可显示,应对()属性进行设置。
5.要使Form1窗体的标题栏显示“欢迎使用”语句应写为()
6.不论任何控件,共同具有的属性是()。
7.要使命令按钮不可操作,要对( )属性设置。
8.在窗体上建立了文本框对象Text1,可以通过( )事件获得输入键盘的KeyAscii码。
9.在新建工程时,使窗体上的所有控件具有相同的字体格式,应对()的()属性进行设置。
第三章VB语言基础习题
1.下列哪些是VB的合法常量,分别指出其类型。
(1)100.0
(2)%100(3)1E1(4)123D3
(5)123,456(6)0100(7)ASDF(8)“12345”
(9)#2000/10/7#(10)100#(11)&O100(12)&H123(13)true
(14)T
2.把下列算术表达式写成VB表达式
(1)
(2)
(3)Sin(450)+
(4)(1+XY)
3.根据条件写出相应的VB表达式
(1)产生“C”到“L”范围内的一个大写字符。
(2)产生100到200(包括100和200)范围内的一个正整数。
(3)取字符型变量S中从第五个字符起的6个字符。
(4)将变量X的值按四舍五入保留小数点后两位。
(5)将任意一个两位数X的个位数与十位数对换。
4.写出下列表达式的值
(1)123+23Mod10\7+Asc(“A”)
(2)100+“100”&100
(3)Int(68.55*100+0.5)/100
(4)已知A$=“87654321”,求表达式Val(Left$(A$,4)+Mid$(A$,4,2))的值。
第四章控制结构习题
1.求A、B、C三个数中的最大值(A、B、C为任意整数)。
2.计算s=1+1×2+1×2×3+1×2×3×4+….+1×2×3×….×10
3.编一个程序,计算某个学生的奖学金等级是否为一等奖学金,以三门功课成绩m1、m2和m3为评奖依据,奖学金一等奖评定标准如下:
(1)平均分大于95分。
(2)有两门成绩是100分,且第三门功课不低于80分。
4.输入一个数字(0---7),显示对应的星期一至星期日。
5.求二次方程ax2+bx+c=0的实数根。
6.计算分段函数:
y=
7.随机产生20个0—100之间的整数,求小于50的整数之和。
第五章数组习题
1.在VB6.0中,数组的下界默认为0,用什么语句可以重新定义数组的默认下界?
2.要分配存放12个元素的整型数组,下列数组声明(下界若无,按默认规定)哪些符合要求?
(1)n=12
(2)Dima%()
Dima(1Ton)ASIntegern=11
ReDima(n)
(3)Dima%[2,3](4)Dima(1,1,2)ASInteger
(5)Dima%(10)(6)Dima!
()
ReDima(1To20)ReDima(3To2)ASInteger
(7)Dima%(2,3)(8)Dima(1To31To4)ASInteger
3.已知下面的数组声明,写出它的数组名、数组类型、维数、各维的上下界、数组的大小、并按行的顺序列出各元素。
Dima(-1To2,3)AsIntger
4.声明一个一维字符类型数组,有20个元素,每个元素最多放10个字符,要求:
(1)由随机数形成小写字母构成的数组,每个元素的字符个数由随机数产生,范围1~10。
(2)要求将生成的数组分4行显示,规定每个元素宽度为10。
(3)显示生成的字符数组中字符最多的元素。
第六章过程习题
1、子过程和函数过程的异同点是什么?
2、什么是形参?
什么是实参?
3、调用子过程或函数过程时,实参与形参的对应关系如何?
应注意什么问题?
4、值传递与地址传递的选择及其特点是什么?
5、要使变量在某事件过程中保值,有哪几种变量声明的方法?
6、下面程序的输出结果是()
PrivateSubcommand1_Click()
ch="ACBFDE"
procch
Printch
EndSub
PrivateSubproc(chAsString)
S=""
Fork=Len(ch)To1Step-1
s=s&Mid(ch,k,1)
Nextk
ch=s
EndSub
A)EDFBCAB)FEDCBAC)AD)F
7、在窗体上画一个名称为Command1的命令按钮,并编写以下程序
PrivateSubCommand1_Click()
Printfun("ABCD")
EndSub
Functionfun(stAsString)AsString
stlen=Len(st)
temp=""
Fork=1Tostlen/2
temp=temp+Mid(st,k,1)+Mid(st,stlen-k+1,1)
Nextk
fun=temp
EndFunction
程序运行时,单击命令按钮,则窗体上显示的是___
A)ABCDB)ACBDC)ADBCD)BCAD
8、在窗体上画一个命令按钮,其名称为Command1,然后编写如下程序:
PrivateSubCommand1_Click()
Dima(10)AsInteger,xAsInteger
Fori=1To10
a(i)=8+i
Nexti
x=1
Printa(f(x))
EndSub
Functionf(ByRefxAsInteger)
x=x+3
f=x
EndFunction
程序运行后,单击命令按钮,输出结果为。
A)12B)15C)16D)18
9、函数过程F1的功能是:
如果参数b为奇数,则返回值为1,否则返回值为0。
以
下能正确实现上述功能的代码是()
A)FunctionF1(bAsInteger)
IfbMod2=0Then
Return0
Else
Return1
EndIf
EndFunction
B)FunctionF1(bAsInteger)
IfbMod2=0Then
F1=0
Else
F1=1
EndIf
EndFunction
C)FunctionF1(bAsInteger)
IfbMod2=0Then
F1=1
Else
F1=0
EndIf
EndFunction
D)FunctionF1(bAsInteger)
IfbMod2<>0Then
Return0
Else
Return1
EndIf
EndFunction
10、编写一个过程,用来计算圆的面积。
要求在主程序中用Inputbox语句输入任意圆的半径然后调用过程并输出圆的面积。
11、编写一个函数,用来计算圆的面积。
要求在主程序中用Inputbox语句输入任意圆的半径然后调用函数并输出圆的面积。
12、编写一个过程,用来计算并输出S=1+1/2+1/3+…+1/100的值。
13、编写求解一元二次方程ax2+bx+c=0的过程,要求a、b、c及解x1、x2都以参数传送的方式与主程序交换数据,输入a、b、c和输出x1、x2的操作放在主程序中。
第七章用户界面设计习题
一、选择题:
1.下列控件中,没有Caption属性的是( )。
A 框架 B 列表框 C 复选框 D 单选按钮
2.复选框的Value属性为1时,表示( )。
A复选框未被选中 B 复选框被选中
C复选框内有灰色的勾 D复选框操作有错误
3.用来设置粗体字的属性是( )。
A FontItalicBFontNameCFontBoldDFontSize
4.在用菜单编辑器设计菜单时,必须输入的项有( )。
A 快捷键 B 标题 C 索引 D 名称
5.在下列关于菜单的说法中,错误的是( )。
A 每个菜单项都是一个控件,与其他控件一样也有自己的属性和事件。
B 除了Click事件之外,菜单项还能响应其他如DblClick等事件。
C 菜单项的快捷键不能任意设置。
D 在程序执行时,如果菜单项的Enabled属性为False,则该菜单项变成灰色,不能被用户选择。
6.在下列关于通用对话框的叙述中,错误的是( )。
A CommonDialog1.ShowFont显示字体对话框。
B 在打开或另存为对话框中,用户选择的文件名可以经FileTitle属性返回。
C 在文件打开或另存为对话框中,用户选择的文件名及其路径可以以FileName属性返回。
D 通用对话框可以用来制作和显示帮助对话框。
7.以下正确的语句是( )。
ACommonDialog1.Filter=AllFiles|*.*|Pictures(*.bmp)|*.Bmp
BCommonDialog1.Filter="AllFiles"|"*.*"|"Pictures(*.bmp)"|"*.Bmp"
CCommonDialog1.Filter="AllFiles|*.*|Pictures(*.bmp)|*.Bmp"
DCommonDialog1.Filter={AllFiles|*.*|Pictures(*.bmp)|*.Bmp}
8.在下面关于窗体事件的叙述中,错误的是( )。
A 在窗体的整个生命周期中,Initialize事件只触发一次。
B 在用Show显示窗体时,不一定发生Load事件。
C 每当窗体需要重画时,肯定会触发Paint事件。
D Resize事件是在窗体的大小有所改变时被触发。
9.下面关于多重窗体的叙述中,正确的是( )。
A 作为启动对象的Main子过程只能放在窗体模块内。
B如果启动对象是Main子过程,则程序启动时不加载任何窗体,以后由该过程根据不同情况决定是否加载或加载哪一个窗体。
C 没有启动窗体,程序不能执行。
D 以上都不对。
10.如果Form1是启动窗体,并且Form1的Load事件过程中有Form2.Show,则程序启动
后()。
A 发生一个运行时错误
B 发生一个编译错误
C 在所有的初始化代码运行后Form1是活动窗体
D 在所有的初始化代码运行后Form2是活动窗体
11.假定时钟控件的Interval属性为1000,Enabled属性为True,并且有下面的事件过程,
程序结束后变量x的值为( )。
DimxAsInteger
PrivateSubTimer1_Timer()
Fori=1To10
x=x+1
Nexti
EndSub
A 1000B10000C10D以上都不对
12.当用户按下并且释放一个键后会触发KeyPress、KeyUP和KeyDown事件,这三个事件
发生的顺序是( )。
A KeyPressKeyDownKeyUpBKeyDownKeyUpKeyPress
CKeyDownKeyPressKeyUpD没有规律
13.在下列关于键盘事件的说法中,正确的是( )。
A 按下键盘上的任意一个键,都会引发KeyPress事件
B 大键盘上的“1”键和数字键盘上的“1”键的KeyCode码相同
C KeyDown和KeyUp的事件过程中有KeyAscii参数
D 大键盘上的“4”键的上档字符是“$”,当同时按下Shift和大键盘上的“4”键时,KeyPress事件过程中的KeyAscii参数值是“$”的ASCII值。
14.在KeyDown或KeyUp的事件过程中,能用来检查Ctrl和F3是否同时按下的表达式为( )。
A (Button=vbCtrlMask)And(KeyCode=vbKeyF3)
BKeyCode=vbKeyControl+vbKeyF3
C(KeyCode=vbKeyF3)And(ShiftAndvbCtrlMask)
D(ShiftAndvbCtrlMask)And(KeyCodeandvbKeyF3)
15.当用户将焦点移到另一个应用程序时,当前应用程序的活动窗体将( )。
A 发生DeActivate事件 B 发生LostFocus事件
C 发生DeActivate和LostFocus事件 D DeActivate和LostFocus事件都不发生
二、填空题:
1.复选框 属性设置为2-Grayed时,变成灰色,禁止用户选择。
2.在程序运行时,如果将框架的 属性设为False,则框架的标题呈灰色,表示框架内的所有对象均被屏蔽,不允许用户对其进行操作。
3.滚动条响应的重要事件有 和Change。
4.当用户单击滚动条的空白处时,滑块移动的增量值由 属性决定。
5.滚动条产生Change事件是因为 值改变了。
6.如果要每隔15s产生一个Timer事件,则Interval属性应设置为 。
7.函数将返回系统的时间。
8.当用户单击鼠标右键时,MouseDown、MouseUp和MouseMove事件过程中的Button参数值为 。
9.当用户同时按下Ctrl和Shift键并单击鼠标时,MouseDown、MouseUp和MouseMove事件过程中的Shift参数值为。
10.如果要在程序运行期间改变鼠标的形状,必须先将MousePointer设置为vbCustom,然后在程序中用LoadPicture函数将需要的图标文件(.ico)或指针文件(.cur)装入属性中。
11.只要将MousePointer属性设置为,鼠标指针就恢复原样。
12.如果窗体的属性设为True,则控件的KeyPress事件过程,可以接收到在窗体的KeyPress过程中修改过的KeyAscii值。
13.控件的属性设置为1时启用自动拖放模式。
14.当源对象被拖动到目标对象上方时,在目标对象上将引发事件,释放时又会引发 事件。
15.控件的属性决定控件被拖动时显示的图标。
16.菜单的热键指使用键和菜单项标题中的一个字符来打开菜单。
建立热键的方法是在菜单标题的某个字符前加上一个符号,在菜单中这一字符会自动加上,表示该字符是一个热键字符。
17.如果在建立菜单时在标题文本框中输入一个“ ”,那么菜单显示时形成一个分隔线。
18.如果把菜单项的属性设置为True,则该菜单项成为一个选项。
19.不管是在窗口顶部菜单条上显示的菜单,还是隐藏的菜单,都可以用方法把它们作为弹出菜单在程序运行期间显示出来。
20.假定有一个通用对话框控件CommonDialog1,除了用CommonDialog1.Action=3显示颜色对话框之外,还可以用方法显示。
21.在显示字体对话框之前必须设置属性,否则将发生不存在字体错误。
22.在用Show方法后显示自定义对话框时,如果Show方法后带参数就将窗体作为模式对话框显示。
23.在VB中,除了可以指定某个窗体作为启动对象之外,还可以指定作为启动对象。
24.每当一个窗体成为活动窗口时触发事件,当另一个窗体或应用程序被激活时在原活动窗体上产生事件。
25.如果窗体不在内存中,则Show方法自动把窗体装入内存,此时引发 事件。
第8章数据文件习题
一、选择题:
(1)设已打开5个文件,文件号分别为1,2,3,4,5。
要关闭所有文件,以下语句正确的是()
A)Close#1,2,3,4,5B)Close#1;#2;#3;#4;#5
C)Close#1-#5D)Close
(2)要建立一个学生的随机文件,如下定义了学生的记录类型,由学号、姓名、三门课程成绩(百分制)组成,下列程序段正确的是()
A)Typystud1
noAsInteger
nameAsString
score(1To3)AsSingle
EndType
B)Typystud1
noAsInteger
nameAsString*10
score()AsSingle
EndType
C)Typystud1
noAsInteger
nameAsString*10
score(1T为3)AsSingle
EndType
D)Typystud1
noAsInteger
nameAsString
score(1To3)
EndType
(3)下面叙述不正确的是()
A)若使用Write#语句将数据输入到文件,则各数项之间自动插入逗号,并且将字符串加上双引号。
B)若使用Print#语句输出到文件,则各数据项之间没有逗号分隔,且字符串不加双引号。
C)Write#语句和Print#语句建立的顺序文件格式完全一样。
D)Write#语句和Print#语句均实现向文件写入数据。
(4)FileFiles.Pattern=“*.dat”程序代码执行后,会显示()
A)只包含括展名为“*.dat”的文件
B)第一个dat文件
C)包含所有文件
D)会显示磁盘的路径
(5)如果准备读文件,打开顺序文件“Text.dat”的正确语句是()
A)Open“text.dat”ForWriteAs#1
B)Open“text.dat”ForBinaryAs#1
C)Open“text.dat”ForInputAs#1
D)Open“text.dat”ForRandomAs#1
(6)执行语句Open“C:
\studata.dat”ForInputAs#2后,系统()
A)将C盘当前文件夹下名为studata.dat的文件的内容读入内存
B)在C盘当前文件夹下建立名为studata.dat的顺序文件
C)将内存数据存放在C盘当前文件夹下名为studata.dat的文件中
D)将某个磁盘文件的内容写入C盘当前文件夹下名为studata.dat的文件中
(7)下面对语句功能说明中错误的是()
Open“text.dat”ForOutputAs#FreeFile
A)以顺序输出模式打开文件text.dat
B)如果文件text.dat不存在,则建立一个新文件
C)如果文件text.dat已存在,则打开该文件,新写入的数据将添加到该文件中
D)如果文件text.dat已存在,则打开该文件,新写入的数据将覆盖原有的数据
(8)如果在C盘当前文件夹下已存在名为studata.dat的顺序文件,那么执行语句Open“C:
\studata.dat”ForAppendAs#1之后,将()
A)删除文件中原有内容
B)保留文件中原有内容,并在文件尾填加新内容
C)保留文件中原有内容,并在文件头填加新内容
D)以上均不对
(9)随机文件用于读数据的语句是()
A)GetB)Writ
C)PrintD)Input
(10)设有语句Open“d:
\test.txt”ForOutputAs#1,以下叙述中错误的是()
A)若D盘根目录下无test.txt文件,则该语句创建此文件
B)用该语句建立的文件的文件号为1
C)该语句打开D盘根目录下一个已存在的文件test.txt之后就可以从文件中读取信息
D)执行该语句后,就可以通过Print#语句向文件test.txt中写入信息
(11)以下叙述中错误的是()
A)顺序文件中的数据只能按顺序读取
B)对同一个文件,可以用不同的方式和不同的文件号打开
C)执行Close语句,可将文件缓冲区中的数据写到文件中
D)随机文件中各记录的长度是随机的
二、填空题:
(1)在窗体上画一个文本框,名称为Text1,画一个命令按钮,名称为Command1。
程序运行时,单击命令按钮,能将事先输入到文本框中的内容一个字符一个字符地写入顺序文件test.dat中。
请在空白处填上适当的内容,将程序补充完整。
PrivateSubCommand1_Click()
Open“c:
\test.dat”For_______________As#1
Fori=1ToLen(Text1.text)
Print#1,mid(Text1.Text,I,1)
Next
Close#1
EndSub
(2)随机文件以______为单位读写,随机文件的记录是______记录。
(3)随机文件使用Put语句写数据,使用_____语句读数据。
(4)有一个事件过程,其功能是:
从已存在于磁盘上的顺序文件nm1.txt中读取数据,计算读出数据的平方值,将该数据及其平方值存入新的顺序文件nm2.txt中。
请填空。
PrivateSubForm_Click()
DimxAsSingle,yAsSingle
Open“nm1.txt”ForInputAs#1
Open“nm2.txt”ForInputAs#2
DoWhileNotEOF
(1)
________________
Printx
y=x^2
________________
Pr