VB复习题.docx
- 文档编号:3500121
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:20
- 大小:42.59KB
VB复习题.docx
《VB复习题.docx》由会员分享,可在线阅读,更多相关《VB复习题.docx(20页珍藏版)》请在冰点文库上搜索。
VB复习题
一、问答题
1.叙述建立一个完整的应用程序的过程。
答:
界面设计编写事件过程代码运行、调试保存文件
2.当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。
问该工程涉及到几个文件要保存?
若要保存该工程中的所有文件,正确的操作应先保存什么文件?
再保存什么文件?
若不这样做,系统会出现什么信息?
答:
涉及到两个文件要保存。
先保存窗体文件(.frm),再保存工程文件(.vbp)。
若先保存工程文件,系统也会先弹出“文件另存为”对话框,要求把窗体文件先保存。
3.假定在Windows环境中,要保存工程文件时,若不改变目录名,则系统默认的目录是什么?
答:
VB98
4.当标签框的大小由Caption属性的值进行扩展和缩小,应对该控件的什么属性进行何种设置?
答:
将标签的Autosize设置为True.
5.VB6.0提供的大量图形文件在哪个目录下?
若你的计算机上没有安装,则怎样安装这些图形文件?
答:
VB6.0提供的图形文件在Graphics目录。
6.在VB6.0中,命令按钮的显示形式可以有标准和图形两种选择,这通过什么属性来设置?
若选择图形的,则通过什么属性来装入图形?
若已在规定的属性里装入了某个图形文件,但该命令按钮还是不能显示该图形,而显示的是Caption属性设置的文字,怎样改正?
答:
按钮Style的属性设置为Graphical(或1)。
通过Picture属性来装入图形。
不能显示图形是因为Style的属性设置为Standard(或0),只要改为Graphical(或1),一般还将Caption属性的值设置为空。
7.标签和文本框的区别是什么?
答:
文本是否可编辑。
8.当窗体上有三个文本框和一个命令按钮,若程序运行时,需把焦点定位在第三个文本框处,应对何控件的什么属性进行何种设置?
答:
应对Text3控件进行Text3.TabIndex=0的设置。
9.简述文本框的change与keypress事件的区别。
答:
文本框内容变化,change与keypress事件都会发生,所不同的是Keyprees还将返回一个Keyasii参数
10.当某文本框输入数据后(按了回车键),进行判断认为数据输入错,怎样删除原来数据?
怎样使焦点回到该文本框重新输入?
答:
假定文本框的名称为Text1,则事件过程如下:
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
If出错条件判断成立Then
Text1=””‘先删除原来数据
Text1.SetFocus‘焦点回到Text1
EndIf
……
EndIf
EndSub
11.在程序运行前,对某些控件设置属性值,除了在窗体中直接设置外,还可以通过代码设置,这些代码一般放在什么事件中?
例如,程序要将命令按钮定位在窗体的中央,请写出事件过程。
答:
这些代码一般都放在Form_Load()事件过程中。
要将按钮定位在窗体的中央,事件过程如下:
PrivateSubForm_Load()
Command1.Left=form1.ScaleWidth\2-Command1.Width\2
Command1.Top=form1.ScaleHeight\2-Command1.Height\2
EndSub
其中,ScaleWidth、ScaleHeight表示窗体的相对宽度和高度。
二、填空题
1.对象的三要素为【属性、事件和方法】。
2.在刚建立工程时,使窗体上的所有控件具有相同的字体格式,应对【form窗体】的【font】属性进行设置。
3.当命令按钮的Picture属性装入.bmp图形文件后,选项按钮上并没有显示所需图形,原因是没有对【style】属性设置为1(Graphical)。
4.在文本框中,通过【selstart】属性能获得当前插入点所在的位置。
5.要对文本框中已有的内容进行编辑,按下键盘上的按键,就是不起作用,原因是设置了【locked】属性为True
6.在窗体上已建立多个控件如Text1,Label1,Command1,若要使程序一运行焦点就定位在Command1控件上,应对Command1控件设置【tabindex】属性的值为【0】。
一、问答题
1.VB提供了哪些标准数据类型?
声明类型时,其类型关键字分别是什么?
其类型符又是什么?
答:
见教材P39的表3.1VB的基本数据类型
2.哪种数据类型需要的内存最少,且可存储如3.2345这样的值。
答:
Single(单精度型)
3.将数字字符串转换成数值,用什么函数?
取字符串中的某几个字符,用什么函数?
大小写字母间的转换用什么函数?
答:
数字字符转换成数值用Val函数;取字符串中的某几个字符用mid函数或left函数或right函数;大小写字母间的互换用ucase或lcase函数。
4.下列哪些是VB合法常量,分别指出其类型(见P58习题三1)。
答:
1(#)、3(!
)、4(#)、6(%)、7($)、8($)、9(date)、10(#)、12(%)、14(%)、15(boolean)、18(!
)
一、填空题
1.在程序运行过程中,若需对程序中使用到的变量声明均采用显式声明方式,则必须在程序设计时在通用声明段部分加上OptionExplicit语句。
2.已知有如下声明语句:
Dima,basInteger
则变量a的类型是variant(变体型)。
3.已知有如下四个算术运算符:
*、Mod、/、+,*、/运算符的优先级别最高
4.已知a=3.5,b=5.0,c=2.5,d=True,则表达式:
a>=0anda+c>b+3ornotd的值是false
5.数学表达式
的VB算术表达式为sin(15*3.14/180)+sqr(x+exp(3))/abs(x-y)-log(3*x)
6.数学表达式
的VB算术表达式为(a+b)/(1/(c+5)-c*d/2)
7.数学表达式
的VB算术表达式为(-b+sqr(b^2-4*a*c))/(2*a)
8.表示x是5的倍数或是9的倍数的VB算术表达式为xmod5=0orxmod9=0
9.产生一个”C”~”L”范围内的大写字母表达式为chr(int(rnd*10+67)
10.取字符变量S中第五个字符起的6个字符的表达式为mid(S,5,6)
11.表示10≤X<20的关系表达式为x>=10andx<20
12.表达式Dateadd(“m”,1,#1/30/2000#)的结果为2000-2-29
13.整型变量x中存放了一个两位数,要将两位数交换位置,例如,13变成31,实现的表达式是(xmod10)&x\10
14.在直角坐标系中,x,y是坐标系中任意点的位置,用x与y表示在第一或第三象限的表达式是x>0andy>0orx<0andy<0
15.计算现在起离2010世界杯赛(2010年6月11日)举行还有多少天的函数表达式为DateDiff(“d”,date,#6/11/2010#)
16.计算现在起离你毕业(2012年7月3日)还有多少个星期的函数表达式为DateDiff(“w”,date,#7/3/2012#)
17.表示S字符变量是字母字符(不区分大小写字母)的逻辑表达式是
ucase(S)>=”A”anducase(S)<=”Z”也可以是Lcase(S)>=”a”andLcase(S)<=”z”
18.x,y之一小于z的表达式为x 一、问答题 1.结构化程序设计的三种基本结构是什么? 答: 顺序结构、选择结构和循环结构。 2.指出下列赋值语句中的错误(包括运行时的错误) (1)10x=sin(x)+y变量名不能数字打头 (2)c=3+sqr(-3)sqr函数中的参数不能为负数 (3)c+x+y=c*y赋值语句的左边不能是表达式 (4)x=sin(x)/(20Mod2)分母不能为0 3.msgbox函数与inputbox函数之间有什么区别? 各自获得什么值? 答: msgbox函数的作用是打开信息框,等待用户选择按钮而inputbox函数的作用是打开一个对话框,等待用户输入内容;msgbox函数的返回值是1~7的整数值,而inputbox函数的返回值是用户输入的数据,返回值的数据类型为字符型。 4.要使单精度变量x,y,z分别保留1位、2位、3位小数,并在窗体显示,应使用什么函数? 如何编写对应的Print方法? 答: 使用Format函数,具体如下: Printformat(x,”0.0”);format(y,”0.00”);format(z,”0.000”) 5.语句If<表达式>Then……中的表达式可以是算术、字符、关系、逻辑表达式中的哪些? 答: 可以是算术表达式,关系表达式和逻辑表达式 6.指出下列语句中的错误 (1)ifx≥ythenprintx正确的写法: x>=y (2)if10 x>10andx<20 7.在多分支结构的实现中,可以用If<表达式>Then…ElseIf形式的语句,也可以用SelectCase…EndSelect形式的语句,由于后者的条件语句更灵活、简洁,是否完全可以取代前者? 答: 不可以。 SelectCase…EndSelect形式的语句的使用是受到限制的。 只能用在对一个变量条件的判断。 若要对多个变量条件进行判断,只能使用If<表达式>Then…ElseIf形式的语句 8.计算下列循环语句的次数 (1)Fori=-3to20step4循环次数为: 6 (2)Fori=-3.5to5.5step0.5循环次数为: 19 (3)Fori=-3.5to5.5step-0.5循环次数为: 0 (4)Fori=-3to20step0死循环 9.如果事先不知道循环次数,如何用FOR…Next结构来实现? 答: 可先设循环变量的终值为一个较大的值,然后在循环体内嵌套条件分支 10.如何书写Do…Loop结构,使得循环体至少执行一次? 答: do …. Loopwhile<条件> 11.当发现了死循环,如何终止循环 答: 按ctrl+break键中断程序 12.如何在程序中设置断点? 如何去除断点? 答: 设置断点的方法是将光标移到要设置断点的代码行,按F9或单击调试工具栏的”切换断点”按钮。 设置断点后,代码窗口将以粗体形式突出显示选定行,并在该行显示一个圆点符号,以指出该代码行使一个断点。 清除断点的方法是将光标移到要删除断点的代码行,按F9或单击调试工具栏的”切换断点”按钮,代码左侧的大圆点消失,表示该断点清除。 12.当在编辑程序时,程序代码以红色显示,是什么错误? 答: 编辑错误。 二、填空题 1.下面程序运行后的结果是22和484该程序的功能是用相减法求x,y的最大公约数和最小公倍数 PrivateSubCommand1_Click() Dimx%,y%,z% x=242: y=44 z=x*y DoUntilx=y Ifx>yThenx=x-yElsey=y-x Loop Print"最大公约数";x;"最小公倍数";z/x EndSub 2.给定年份,下列程序用来判断该年是否为闰年。 (提示: 闰年的条件是年号可以被4整除但不能被100整除,或者被400整除) PrivateSubCommand1_Click() Dimy% Y=inputbox(“请输入年号”) If(ymod4=0andymod100<>0)or(ymod400=0)then Print“是闰年” Else Print“是普通年份” Endif Endsub 3.下列程序完成如下功能: 以文本框Text1的值为n,计算1! +2! +3! …n! 的值。 PrivateSubCommand1_Click() N=val(text1) Sum=1: t=1 Fori=1ton T=t*i Sum=sum+t Nexti Print“1! +2! +3! …+”;n;”! 的值为”;sum Endsub 4.找出被3、5、7除,余数均为1的最小的5个正整数。 PrivateSubCommand1_Click() Dimcountn%,n% Countn=0 N=1 Do N=n+1 Ifnmod3=1andnmod5=1andnmod7=1then Printn Countn=countn+1 Endif Loopuntilcountn=5(或Loopwhilecountn<5) Endsub 5.某次大奖赛,有7个评委打分,下列程序对每一位参赛者输入7个评委的分数,去掉一个最高分,去掉一个最低分,求出的平均分就是该参赛者的最后得分。 PrivateSubCommand1_Click() Dimmark! aver! i%,max1! min1! Aver=0 Fori=1to7 Mark=inputbox(“输入第”&I&“位评委的打分”) Ifi=1then Max1=mark: min1=mark Else Ifmark Min1=mark Elseifmark>max1 Max1=mark Endif Endif Aver=aver+mark Nexti Aver=(aver-max1-min1)/5 Printaver Endsub 6.有一个长阶梯,如果每步跨2阶最后剩1阶,如果每步跨3阶最后剩2阶,如果每步跨4阶最后剩3阶,如果每步跨5阶最后剩4阶,如果每步跨6阶最后剩5阶,只有当如果每步跨7阶时恰好走完,显示这个阶梯至少要有多少阶。 (提示: 阶梯数一定是7的倍数) PrivateSubCommand1_Click() Dimn%,m% Forn=7to10000step7 Ifnmod2=1andnmod3=2andnmod4=3andnmod5=4andnmod6=5then Printn Exitfor Endif Nextn Endsub 一、问答题 1.在VB6.0中,数组的下界默认为0,用什么语句可以重新定义数组默认下界? 答: OptionBase语句。 2.要分配存放12个元素的整型数组,下列数组声明(下界若无,按默认规定)哪些符合要求? (见P124) 答: (2)、(4)、(7)、(8) 3.程序运行时显示“下标越界”可能产生的错误有哪几种情况? 答: 下标比下界小或者比上界大。 4.已知下面的数组声明,写出它的数组名、数组类型、维数、各维上下界、数组的大小、并按行的顺序列出个元素。 Dima(-1to2,3)assingle 答: 数组名: a,数组类型: 单精度型,维数: 二维,一维下界-1,上界2,二维下界0, 上界3,数组大小4×4共16个元素,各元素为: (-1,0)(-1,1)(-1,2)(-1,3)(0,0)(0,1)(0,2)(0,3)(1,0)(1,1)(1,2)(1,3)(2,0)(2,1)(2,2)(2,3) 3.简述静态数组与动态数组的区别。 答: 静态数组的下标必须是常数且程序运行中数组大小不可改变。 动态数组的下标则可以是已赋值的变量,动态数组声明时不给大小,以后用redim语句指定数组大小。 4.简述使用课件数组的优点和方法。 答: 优点是多个控件数组元素共享同一事件过程,程序简洁;方法是在程序运行过程中添加(Load)或删除(Unload)数组控件数组元素 5.已声明了静态数组A(3,4),能否在下面再用重新定义动态数组A(4,4)来重定义A数组的大小? 答: 不能 6.使用Redim语句可以改变数组类型吗? 答: Redim语句可以反复地改变数组的元素以及维数的数目,但是不能将一个数组定义为某种数据类型之后,再用redim将该数组改为其它类型。 8、简述列表框和组合框的异同处。 答: 相同之处都是可以存放字符串;不同处在于组合框是文本框和列表框的组合,可以输入内容,但要通过AddItem方法添加;列表框只能选择项目,不能直接输入内容。 9.列表框或组合框中选中的项目、总项目数的属性分别是什么? 答: 表示选中的内容,属性有: Text;总项目数的属性是Listcounts 10.声明一个有20个元素的一维字符类型数组,要求: (见P124习题五-6) 答: 见已给资源(实验代码参考2的习题五-6) 二、填空题 (1)在VB中,若要设定每个数组默认的下界固定为1,其声明语句是OptionBase1 (2)程序中自动测试数组的下界用Lbound函数来实现,上界用Ubound函数实现 (3)在运行时load语句可以为控件数组增加控件元素;unload语句删除一个存在的控件元素 (4)当数组首次被声明时,对所有的数值型数组默认初值是0;字符数组默认初值是空串 (5)当用Redim语句改变动态数组大小时,数组元素的值会丢失;用Preserve关键字可以保留数组元素原来的值。 (6)已知建立了5个元素的Command1控件数组,用Index参数可识别用户单击了某控件数组元素 (7)下面程序的功能是从键盘输入6个整数,找出最大数和最小数所在位置,并将两者对调,然后输出调整后的6个数。 PrivateSubForm_Click() Dima%(5),max%,min%,imin%,imax%,i%,t% Fori=0To5‘从键盘上输入6个数 a(i)=InputBox("输入") Nexti imin=0‘第一个数组元素的下标(0)为最小数下标 imax=0‘第一个数组元素的下标(0)为最大数下标 Fori=1To5‘找出最小数和最大数所在位置的下标
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 复习题
![提示](https://static.bingdoc.com/images/bang_tan.gif)