当前位置:文档之家› vb程序设计题及答案

vb程序设计题及答案

vb程序设计题及答案

【篇一:vb程序设计试题及答案】

txt>一、单选题

1. visual basic是一种面向对象的可视化程序设计语言,采取了 a

的编程机制。

(a) 事件驱动 (b) 按过程顺序执行

(c) 从主程序开始执行 (d) 按模块顺序执行

2. 若要使标签控件显示时不覆盖其背景内容,要对d 属性进行设置。

(a) backcolor (b) borderstyle

(c) forecolor (d) backstyle

3. 在visual basic中最基本的对象是c,它是应用程序的基石,是

其他控件的容器。

(a) 文本框 (b) 命令按钮

(c) 窗体 (d) 标签

4. 要判断在文本框是否按下enter键,应在文本框的 d 事件中判断。

(a) change (b)keydown

(c) click (d)keypress

5. 数学表达式3≤xl0在vb中的逻辑表达式为 d 。

(a) 3=x10(b) 3=x and x10

(c) x=3 or x10 (d) x=3 and x10

6. rnd函数不可能为下列 b值。

(a) 0 (b) 1(c) 0.1234 (d) 0.0005

7. 赋值语句:a=123+mid(123456,3,2)执行后,a变量中的值是d。

(a) 12334(b) 123 (c) 12334 (d) 157

8. 对于语句if x=l then y=l,下列说法正确的是 c 。

(a) x=l和y=l均为赋值语句

(b) x=l和y=l均为关系表达式

(c) x=l为关系表达式,y=l为赋值语句

(d) x=l为赋值语句,y=l为关系表达式

9. 下面程序段表示求两个数中的大数, d 不正确。

(a) max=iif(xy,x,y) (b) if xy then max=x else max=y

(c) max=x (d) ify=x then max=y

if y=x then max=y max=x

10.当在文本框中输入“abcd”4个字符时,窗体上显示的是c。

private sub text1_change( )

print text1;

end sub

(a) abcd (b) a (c) aababcabcd (d) a

b ab

c abc

d abcd

11.下列哪个程序段不能分别正确显示1!、2!、3!、4!的值b。

(a) for i=1 to 4 (b) for i=1 to 4

n=1 for j=1 to i

for j=1 to i n=1

n=n*j n=n*j

next j next j

print nprint n

next inext i

(c) n=1(d) n=1

for j=1 to4 j=1

n=n*j do while j=4

print nn=n*j

next jprint n

j=j+1 loop

12.如下数组声明语句,则数组a包含元素的个数有 a 。

dim a(3, -2 to 2, 5)

(a) 120 (b) 75(c) 60(d) 13

13.以下程序的输出结果是d。

dim a

a=array(1, 2, 3, 4, 5, 6, 7)

for i=lbound(a) to ubound(a)

a(i)=a(i)*a(i)

next i

print a(i)

(a) 49 (b) 0 (c) 不确定 (d) 程序出错

14.在过程中定义的变量,若希望离开该过程后,还能保存过程中局

部变量的值,则应使用关键字在过程中定义局部变量。

(a) dim (b) private (c) public (d) static

15.如下程序,运行的结果是 b 。

dim a%, b%, c%

public sub p1(x%, y%)

dim c%

x=2*x: y=y+2: c=x+y

end sub

public sub p2(x%, byval y%)

dim c%

x=2*x: y=y+2: c=x+y

end sub

private sub command1_click( )

a=2: b=4: c=6

call p1(a, b)

print “a=”; a; “b=”; b; “c=”; c

call p2(a, b)

print “a=”; a; “b=”; b; “c=”; c

end sub

(a) a=2 b=4 c=6 (b) a=4 b=6 c=10 d

a=4 b=6 c=10a=8 b=8 c=16

(c) a=4 b=6 c=6 (d) a=4 b=6 c=14

a=8 b=6 c=6 a=8 b=8 c=6

16.复选框的value属性为1时,表示 b 。

(a) 复选框未被选中(b) 复选框被选中

(c) 复选框内有灰色的勾 (d) 复选框操作有误

17.下面关于菜单的说法中,错误的是b。

(a) 每个菜单项都是一个控件,与其他控件一样也有自己的属性和事件

(b) 除了click事件之外,菜单项还能响应其他的,如dbclick事件

(c) 菜单项的快捷键不能任意设置

(d) 在程序执行时,如果菜单项的enabled属性为false,则该菜单项变成灰色,不能被用户选择

18.下面关于多重窗体的叙述中,正确的是 b 。

(a) 作为启动对象的main子过程中能放在窗体模块中

(b) 如果启动对象是main子过程,则程序启动时不加载任何窗体,以后由该过程根据不同情况决定是否加载或加载哪一个窗体

(c) 没有启动窗体,程序不能执行

(d) 以上都不对

19.当用户将焦点移到另一个应用程序时,当前应用程序的活动窗体将d。

(a) 发生deactivate事件

(b) 发生lostfocus事件

(c) 发生deactivate和lostfocus事件

(d) deactivate和lostfocus事件都不发生

20.顺序文件是因为 d 。

(a) 文件中的数据按每行的长度从小到大排序好的

(b) 文件中的数据按某个关键数据项从大到小进行排序

(c) 文件中的数据按某个关键数据项从小到大进行排序

(d) 数据按进入的先后顺序存放的,读出也是按原写入的先后顺序读

21.文件号最大可取值为 b 。

(a) 255 (b) 511 (c) 512 (d) 256

22.print #1, str$1中的print是 a 。

(a) 文件的写语句 (b) 在窗体上显示的方法

(c) 子程序名 (d) 以上均不是

23.以下的属性和方法中 c 可重定义坐标系。

(c) scale方法 (d) scalemode属性

24.封闭图形的填充方式由下列 c 属性决定。

(a) drawstyle, drawmode(b) autoredraw, clipcontrols

(c) fillstyle, fillcolor(d) forecolor, bordercolor

25.下列字符串中,d 不包含在ado数据控件的connectionstring

属性中。

(a) microsoft jet 4.0 ole db provider

(b) data source=c:\mydb.mdb

(c) persist security info=false

(d) 2-adcmdtable

二、填空题

1.在代码窗口对窗体的borderstyle、maxbutton属性进行了设置,但运行后没有效果,原因是这些属性在运行时设计是无效的。

2.在文本框中,通过selstart属性能活得当前插入点所在的位置。 3.表达式ucase(mid(“abcdefgh”, 3, 4))的值是 cdef 。

4.已知a=3.5,b=5.0,c=2.5,d=true,则表达式:a=0 and

a+cb+3 or not d的值是false。

5.要获得动态数组的上界通过 ubound函数,下界通过 lbound

函数。

6.由array函数建立的数组,其变量类型必须是variant类型。

7.vb中的变量按其作用域分为全局变量、模块变量和局部变量变量。

8.复选框的value 属性设置为2——grayed时,变成灰色,禁止用户选择。

9.滚动条响应的重要事件有 scroll 和change。

10.假定有一个通用对话框控件commondialog1,除了用commondialog1.action=3显示颜色对话框之外,还可以用showcolor 方法显示。

11.窗体form1的左上角坐标为(-200, 250),窗体form1的右下角的坐标为(300, -150),则x轴的正向向右,y轴的正向向上。

13.在运行状态改变ado数据控件的数据源连接属性后,必须使用refresh 方法激活这些变化。

14.vb中工程文件的扩展名为 vbg 。

15.如果在窗体上已经创建了一个文本框对象text1,可以通过keypress 事件获得输入键值的ascii码。

16.vb中对象的三要素是属性、事件和方法。

三、编程应用题

1.程序阅读

(1)

private sub command1_click( )

dim s as string, i%

s="abcd"

for i=len(s) to 1 step -1

print mid(s, i, 1)

next i

end sub

输出结果:

d

c

b

a

(2)

sub swap1(byval x%, byval y%)

dim t%

t = x: x = y: y = t

end sub

sub swap2(byref x%, byref y%)

dim t%

t = x: x = y: y = t

end sub

sub command1_click()

dim a%, b%

a = 10:

b = 20

print 调用swap1前 a和b的值为:; a; b

call swap1(a, b)

print 调用swap1后按传值方式 a和b的值为:; a; b

a = 10:

b = 20

call swap2(a, b)

print 调用swap2后按传地址方式 a和b的值为:; a; b

end sub

输出结果

调用swap1前 a和b的值为:10 20

调用swap1后按传值方式 a和b的值为:10 20

调用swap2后按传地址方式 a和b的值为: 2010

(3)

private sub command1_click( )

dim x%, y%, z%

x=242: y=44

z=x*y

do until x=y

if xy then x=x-y else y=y-x

loop

print x, z/x

end sub

输出结果:

22 484

2.补充程序

(1) 以下是求1~18之间某个数的阶乘的程序,具体的数值n由滚动条hscroll1获得,结果显示在窗体下部的两个label标签里。补充完整如下程序。

private sub hscroll1_change()

dim i as integer, s as double

s = 1

n = hscroll1.value

if n 0 then

for i = 1 to n

s = s*i

next i

end if

label2.caption = n ! =

label3.caption = s

end sub

(2)以下程序的功能是:已知数组a,删除数组中某个元素。

【篇二:vb程序设计练习题及参考答案】

ass=txt>1.visual basic是一种面向对象的可视化程序设计语言,采取了的编程机制。

a.事件驱动 b.按过程顺序执行c.从主程序开始执行d.按模块顺

序执行

2.在visual basic中最基本的对象是,它是应用程序的基石,是其他控件的容器。

a.文本框b.命令按钮c.窗体 d.标签

3.多窗体程序是由多个窗体组成。在缺省情况下,vb在应用程序执行时,总是把指定为启动窗体。

a.不包含任何控件的窗体 b.设计时的第一个窗体

c.包含控件最多的 d.命名为frm1的窗体

4.若有程序代码如下:

text1.text=visual basic

则:text1,text和 visual basic 分别代表 c。

a.对象,值,属性 b.对象,方法,属性

c.对象,属性,值 d.属性,对象,值

5.visual basic是一种面向对象的程序设计语言,不是面向对象系统所包含的三要素。

a.变量 b.事件 c.属性 d.方法

6.在vb集成环境创建vb应用程序时,除了工具箱窗口、窗体中的窗口、属性窗口外,必不可少的窗口是c 。

a.窗体布局窗口b.立即窗口 c.代码窗口d.监视窗口

7.保存新建的工程时,默认存放的位置是。

a.my documents b.vb98c.\ d.windows

8.若要使标签控件显示时不覆盖其背景内容,要对d 属性进行设置。

a.backcolor b.borderstyle c.forecolor d.backstyle

9.若要使命令按钮不可操作,要对属性设置。

a.enabledb.visible c.backcolord.caption

10.文本框没有 d属性。

a.enabledb.visiblec.backcolor d.caption

11.不论何控件,共同具有的是属性。

a.text b.namec.forecolor d.caption

12.要使form1窗体的标题栏显示“欢迎使用vb”,以下语句是正

确的。

a.form1.caption = “欢迎使用vb”

b.form1.caption= 欢迎使用vb

c.form1.caption = 欢迎使用vb

d.form1.caption = 欢迎使用vb

13.要使某控件在运行时不可显示,应对

a.enabledb.visible c.backcolor d.caption

14.当运行程序时,系统自动执行启动窗体的事件过程。

a.loadb.clickc.unload d.gotfocus

15.当文本框的scrollbars属性设置了非零值,却没有效果,原因是。

a.文本框中没有内容b.文本框的multiline属性为false

c.文本框的multiline属性为trued.文本框的locked属性为true 16.要判断在文本框是否按了enter键,应在文本框的事件中判断。 a.changeb.keydownc.click d.keypress

17.窗体form1的name属性是frm1,它的单击事件过程名是。

a.form1_clickb.form_click c.frm1_click d.me_click

18.在一行内写多条语句时,每个语句之间用符号 b分隔。

a. , b. : c.、 d.;

19.一句语句要在下一行继续写,用

a.+ b.- c. _ d.…

20.下面 a是合法的变量名。

a.x_yz b.123abcc.integer d.x-y

21.下面

a.100b.&o100 c.&h100d.%100

22.下面

a.abc$b.abc c. abc d.abc

23.下面 a是合法的单精度型变量。

a.num! b.sum% c.xinte$d.mm#

24.下面

a.100! b.100.0 c.1e+2 d.100.0d+2

25.表达式16/4-2^5*8/4 mod 5\2的值为 b 。

a.14 b.4 c.20d.2

26.数学关系3≤x<10表示成正确的vb表达式为

a.3=x10 b.3=x and x10

c.x=3 or x10 d.3=x and 10

27.\、/、mod、*四个算术运算符中,优先级别最低的是

a.\ b./ c.modd.*

28.rnd函数不可能为下列 b值。

a.0 b.1 c.0.1234 d.0.0005

29.int(198.555*100+0.5)/100的值为

a.198 b.199.6c.198.56 d.200

30.已知a$=12345678,则表达式val(left$(a$,4)+mid$(a$,4,2))的值为。

a.123456 b.123445 c.8d.6

31.表达式的len(123程序设计abc)的值是

a.10 b.14 c.20 d.17

32.表达式的lenb(123程序设计abc)的值是

a.10 b.14 c.20 d.17

33.下面正确的赋值语句是 c 。

34.为了给x,y,z三个变量赋初值1,下面正确的赋值语句是

a.x=1:y=1:z=1b.x=1,y=1,z=1c.x=y=z=1 d.xyz=1

35.赋值语句:a=123 + mid(123456,3,2)执行后,a变量中的值是 a.12334 b.123c.12334 d.157

36.赋值语句:a=123 mid(123456,3,2)执行后,a变量中的值是 a.12334 b.123c.12334 d.157

37.把字符串“123”转换为数值 123 时应该使用的函数是

a.str b.val c.len d.log

38.下列各表达式能产生[1,3]随机整数的是 d 。

a.rnd()* 3+1b.rnd()*2) +1

c.int(rnd()*2)+1 d.int(rnd()*3)+1

2xexsin(300)lnx39.代数式对应的vb表达式是 c。 x?y

a.e^x*sin(30*3.14/180)*2*x/x+y*log(x)

b.exp(x)*sin(30)*2*x/(x+y)*ln(x)

c.exp(x)*sin(30*3.14/180)*2*x/(x+y)*log(x)

d.exp(x)*sin(30*3.14/180)*2*x/(x+y)*ln(x)

40.vb提供了结构化程序设计的三种基本结构,三种基本结构是 d。 a.递归结构、选择结构、循环结构b.选择结构、过程结构、顺序

结构

c.过程结构、输入、输出结构、转向结构d.选择结构、循环结构、顺序结构

41.下面程序段运行后,显示的结果是

dim x

if x then print x else print x + 1

a.1 b. 0 c.显示出错信息 d.2

42.语句if x=1 then y=1,下列说法正确的是

a.x=1 和y=1 均为赋值语句b.x=1 和 y=1 均为关系表达式

c.x=1为关系表达式,y=1为赋值语句d.x=1为赋值语句,y=1

为关系表达式

43.用if语句表示分段函数

f(x)=

x2+3 , x1

下列不正确的程序段是 a。

a.if x=1 then f=sqr(x+1)b.if x=1 then f=sqr(x+1)

f=x*x+3if x1 then f=x*x+3

c.if x=1 then f=sqr(x+1) else f=x*x+3 d.if x1 then f=x*x+3

else f=sqr(x+1)

44.计算分段函数的值。

x0

1 0≤x1

2 1≤x2

x≥2

下面程序段中正确的是。

a.if x0 then y=0b.if x=2 then y=3

if x1 then y=1if x=1 then y=2

if x2 then y=2if x0 then y=1

if x=2 then y=3 if x0 then y=0

c.if x0 then d.if x=2 then

y=0y=3

elseif x0 thenelseif x=1 then

y=1y=2

elseif x1 thenelseif x=0 then

y=2y=1

else else

y=3y=0

end ifend if

45.下面程序段,显示的结果是 a。

dim x

x = int(rnd) + 5

select case x

case 5

print 优秀

case 4

print 良好

case 3

print 通过

case else

print 不通过

end select

a.优秀b.良好 c.通过 d.不通过

46.下面if语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不

正确的语句是 d。

a.if sex = 男 and age 40 and instr(duty, 教授) 0 then n = n + 1 b.if sex = 男 and age 40 and (duty = 教授 or duty = 副教授) then n = n + 1

c.if sex = 男 and age 40 and right(duty, 2) = 教授 then n = n + 1

d.if sex = 男 and age 40 and duty = 教授 and duty = 副教授then n = n + 1

47.下面程序段求两个数中的大数,不正确。

a.max=iif(xy , x , y)b.if xy then max=x else max=y

c.max=xd.if y=x then max=y

if yx then max=ymax=x

48.以下for … next结构。

a.for x=1 to step 10 b.for x=3 to –3 step -3

……

next x next x

c.for x=1 to 10 d.for x=3 to 10 step 3

re: … …

next x next y

if i=10 then goto re

49.下列循环语句能正常结束循环的是

a.i = 5 b.i=1

do do

i = i + 1 i=i+2

loop until i 0loop until i=10

c.i = 10 d.i=6

do do

i = i – 1i=i-2

loop until i 0loop until i=1

50.下面程序段的运行结果为

for i = 3 to 1 step -1

print spc(5 - i);

for j = 1 to 2 * i - 1

print *;

next j

print

next i

a.*b.* * * * * c.* * * * * d.* * * * *

* * ** * * * * ** * *

* * * * *** *

51.哪个程序段不能分别正确显示1!、2!、3!、4!的值。 a.for i = 1 to 4 b.for i = 1 to 4

n = 1 for j=1 to i

for j = 1 to in=1

n = n * j n=n*j

next j next j

print nprint n

next inext i

c.n = 1 d.n=1

for j = 1 to 4 j=1

n = n * jdo while j=4

print n n=n*j

next j print n

j=j+1

loop

52.如下静态数组声明语句, b正确。

a.dim a[3,4] as integer b.dim a(3,4) as integer

c.dim a(n,n) as integer d.redim a(3,4) as integer

53.要分配存放如下方阵的数据,可使用数组声明语句c 来实现

(不能浪费空间)。

1.1

2.2

3.3

4.4

5.5

6.6

7.78.89.9

a.dim a(9) as single b. dim a(3,3) as single

c. dim a(-1 to 1,-5 to –3) as single

d. dim a(-3 to –1 ,5 to 7) as integer

54.如下数组声明语句中,数组a包含元素的个数为 a。

dim a(3,-2 to 2)

a.20 b.75 c.60 d.13

55.以下程序输出的结果是

dim a

a = array(1, 2, 3, 4, 5, 6, 7)

for i = lbound(a) to ubound(a)

a(i) = a(i) * a(i)

next i

【篇三:《vb程序设计》期末复习题及答案】

s=txt>一、填空题

1.创建一个vb应用程序三个主要的步骤是__________________、________________和_____________________。

2.当程序运行时,要求窗体中的文本框呈现空白,则在设计时,应

当在此文本框的__________窗口中,把此文本框的_____________

属性设置成空白。

3.label和textbox控件用来显示和输入文本,如果仅需要让应用

程序在窗体中显示文本信息,可使用___________控件;若允许用

户输入文本,则应使用_____________控件。

4.窗体的常用方法有__________、___________、___________

和___________。

5.要想在代码中给名为txtshow的文本框赋予文本:good work ,应当编写的语句是____________________________________。

6.若命令按钮的名称为cmdopen,程序要求单击该命令按钮时,

打开一个窗口frm1,请对以下事件过程填空。

private sub cmdopen_ ___________

_____________________

end sub

7.visual basic 6种类型的表达式是______________、

______________、

______________、

________________、_________________、

____________________。visual basic根据表达式的

___________来确定表达式的类型。

8.表达式93 \ 7 mod 2 ^ 2 的值是___________。

9.已知a=3,b=4,c=5,表达式ab and not ca or cb and ca+b 的值是_________。表达式ca and not bc的值是___________。 10.日期表达式 #2/24/02# - #2/12/02# 的值为___________。

11.数学表达式sin2x+ 写成等价的visual basic表达式为

_________________。

12.设某个程序中要用到一个二维数组,要求数组名为a,类型为字符串类型,第一维下标从1到5,第二维下标从-2到6,则相应的数组声明语句为

___________________________。

13.事件就是在对象上所发生的事情,visual basic中的事件如

___________、

___________、______________等。一个对象响应的事件可以有_____个,用户不能建立新的事件。事件过程是指

_____________________________________________。假设某一事件过程如下:

private sub cmd1_click()

form1.caption=vb示例

end sub

则响应该过程的对象名是______________,事件名是

_____________。

14.对象的方法用于__________________。当方法不需要任何参数并且也没有返回值时,调用对象的方法的格式为

________________,例如,对窗体form1使用show方法,应写成_________________。

二、单项选择题

1.下列控件中没有caption属性的是()

a、标签

b、文本框

c、框架

d、命令按纽

2.除框架外,能对单选按纽分组的控件是()。

a、窗体

b、标签

c、图片框

d、图像

3.下列符号不能作为vb中变量名的是()。

a 、 abcdefg b、 p00000c、 89ywddf d、xyz

4.下列不属于visual basic数据文件的是()。

a、顺序文件

b、随机文件

c、二进制文件

d、数据库文件

5.若要求从文本框中输入密码时在文本框中只显示*号,则应用在此文本框的属性窗口中设置()。

a、text属性值为*

b、caption属性值为*

c、password属性值为空

d、passwordchar属性值为*

6.表达式2*3^2+2*8/4+3^2的值为()。

a、64

b、31

c、49

d、42

7.表达式mid(abcdefg,3,2)的值是()

a、abc

b、cd

c、bcd

d、abcde

9.sub过程与 function过程最根本的区别是()。

a、sub过程可以使用call语句或直接使用过程名调用,而function过程不可以。

b、function过程可以有参数,sub过程不可以。

c、两种过程参数的传递方式不同。

d、sub过程的过程名不能返回值,而function过程能够通过过程名返回值。

10.选拔身高t超过1.7米且体重w小于62.5公斤的人,表示该条件的布尔表达式为()

a、t=1.7 and w=62.5

b、t=1.7 or w=62.5

c、t1.7 and w62.5

d、t=1.7 or w62.5

11.下列对象不能响应 click事件的是()

a、列表框

b、图片框

c、窗体

d、计时器

12.在visual basic中,按文件的访问方式不同,可以将文件分为()

a、顺序文件、随机文件和二进制文件

b、文本文件和数据文件

c、数据文件和可执行文件

d、ascⅡ文件和二进制文件

13.将通用对话框commondialog的类型设置成“颜色”对话框,可调用该对话框的()方法。

a、showopen

b、showsave

c、showcolor

d、showfont

三、指出下列句中的错误,修改或者说明原因。

1.sum和int.sum都可以作为vb的变量名。

2.变量名的长度最长可达1024个字符。

3.下列程序运行结果:3,3

option explicit

private sub command1_click()

dim a,b as integer

a = 3.6

b = 3.6

text1.text = a

text2.text = b

end sub

4.程序可以改变定长字符串的内容和长度。

5.variant是一种特殊的数据类型,可以包含任何种类型的数据。

6.下列程序运行结果为true

private sub command1_click()

a = 1

b = 2

c = 3

text1.text = c a + b or b - 1 c - 1 and c + a a xor b c - 2

end sub

7.#12/31/1999# - #12/20/1999#的运算结果是#12/11/1999#

8.可以在窗体的通用部分声明静态变量。

9.使用声明语句建立一个变量后,visual basic会自动对数值类型

的变量赋初值0,变长的字符串被初始化为一个零长度的字符串,定

长字符串用空格填充,variant变量被初始化为 empty,布尔型的变

量被初始化为false。

10.事件过程通常由事件驱动执行,而sub过程通过过程调用执行。 11.将焦点主动设置到指定的控件或窗体上应采用setfocus方法。 12.当图像控件(image)的stretch属性为true时,image控件

能自动调整自己的尺寸与显示的图片匹配。

四、读程序题,写出程序运行结果。

1.private sub form_click()

for i = 1 to 9

for j = 1 to 30 - 3 * i

print ;

next j

for k = 1 to i

print k;

next k

for k = i - 1 to 1 step -1 print k;

next k

print

next i

end sub

2.

option explicit

private sub command1_click()static s as integerdim i as integer

s = 1

for i = 1 to 5

s = s * i

next i

print s

end sub

3.

for x = 5 to 1 step -1 for y = 1 to 6 - x

print tab(y + 5); *; next y

print

next x

相关主题
文本预览
相关文档 最新文档