当前位置:文档之家› VB改错整理与分析

VB改错整理与分析

VB改错整理与分析
VB改错整理与分析

VB改错:整理与分析

1.参数是按值传递还是按地址传递:byval(常考),byref

2.Do……loop until n(n的取值是=某值还是>某值或<某值)

3.字符串,如st=””的位置,是在前还是在后;数值,

k,sum,j=j+1的位置是在前还是在后;逻辑型,如flag=true

的位置,prime=true等位置

4.字符串的连接,如:st=st & str(A(i))等,遗漏st;还有将数字赋给字符串一定要加str(数字)

5.在for 语句中的考点:如for i=1 to Ubound(A)有可能考查Ubound(A)-1;是for i=1 to k还是for i=k to 1 step -1 ;step

-1也是考点有可能遗漏,语句无法正常执行

6.在退出具体语句中,exit ……(do,for sub,function)等把他们的搭配搞错

7.对数字的处理,是str还是cstr,如求长度就用cstr,

n=len(cstr(数值)),出现他们时一定检查是否用错,

important

8.各数对应的数据类型,integer,string等,搭配要正确

9.在循环中,搭配不当,如i错搞成j,for i=1 to 10 ……next j 搭配错误

10.Redim preserve A(k)等遗漏preserve

11.在if语句中的考点,要具体判断成立条件,分支条件,做到不重不漏

12.赋值对象搞错,是k=n还是n=k

13.用and 还是用or,看满足的条件要求是什么,并列还是或者

14.字符串的连接,是正序ps=ps & st 还是逆序ps=st & ps

15.形参不可以定义为定长字符串,如private function prime(s as string*1) as string,就错误,应改为s as string,但数组可

以的如:…(n as long,np() as string * 1)

16.常见错误和难点分析

1.在选择结构中缺少配对的结束语句

2.多边选择ElseIf关键字的书写和条件表达式的表示

3.Select Case语句的使用

(1) "表达式列表i" 中不能使用"变量或表达式"中出现的变量。

(2) 在"变量或表达式"中不能出现多个变量。

第四章常见错误和难点分析

1.不循环或死循环的问题主要是循环条件、循环初值、循环终值、循

环步长的设置有问题。

2.循环结构中缺少配对的结束语句

3.循环嵌套时,内外循环交叉

4.累加、连乘时,存放累加、连乘结果的变量赋初值问题

(1) 一重循环

(2) 多重循环

第五章常见错误和难点分析

1.Dim数组声明

2.数组下标越界

3.数组维数错

4.Aarry函数使用问题

5.如何获得数组的上界、下界

6.给数组赋值

第五章数组

5.1 知识要点

1.数组的概念

数组:存放具有相同性质的一组数据,也就是数组中的数据必须是同一个类型和性质。

数组元素:数组中的某一个数据项。数组元素的使用同简单变量的使用。

2.静态数组的声明

静态数组:在声明时已确定了数组元素个数。

声明形式:Dim数组名([下界To]上界[,[下界To]上界[,…]])As 类型

此语句声明了数组名、数组维数、数组大小、数组类型。

[注意] 下界、上界必须为常数,不能为表达式或变量:省略下界,默认为0,也可用Option Base语句重新设置下界的值。

3.动态数组的声明

声明形式: Dim数组名 ()

ReDim [Preserve]数组名([下界To]上界[,[下界To]上界[,…]]) [注意]

此时的上界、下界可以是赋了值的变量或表达式。若有Preserve关键字,表示当改变原有数组最末尾的大小时,使用此关键字可以保持数组中原来的数据。

4.控件数组

即相同类型的控件组成的数组。

控件数组的建立:在设计时的窗体上,通过对某控件的复制和粘贴操

作:在程序运行时通过Load方法实现。

控件数组元素:由控件的Index属性值表示数组的F标。

5.数组的操作

应掌握的基本操作有:数组初始化、数组输入、数组输出、求数组中的最大(最小)元素及下标、求和、平均值、排序和查找等。

17.5.2 常见错误和难点分析

18.1.Dim数组声明

19.有时用户为了程序的通用性,声明数组的上界用变量来表示,如下程序段:

20. n=InputBox("输入数组的上界")

21. Dim a(1 To n) As Integer

22.程序运行时将在Dim语句处显示"要求常数表达式"的出错信息。即Dim语句中声明的数组上,下界必须是常数,不

能是变量。

23.解决程序通用的问题,一是将数组声明的很大,这样浪费一些存储空间;二是利用动态数组,将上例改变如下:24. Dim a() As Integer

25. n=InputBox ("输入数组的上界")

26. ReDim a(1 To n)As Integer

27.2.数组下标越界

28.引用了不存在的数组元素,即下标比数组声明时的下标范围大或小即为越界。例如,要形成有如下30项的斐波那契

数列:

29.1,1,2,3,5,8,13,21,34,…,317811,514229,832040

30.正确的程序段如下:

31.Dim a(1 To 30) As Long, i%

32.若将For i=3 To 30改为For i=1 To 30,程序运行时会显示"下标越界"的出错信息,因为开始循环时i=l,执行到循

环体语句a(i)=a(i-2)+a(i-1),数组下标i-2、i-1均小于下界

1。

33.同样若将上例:a(i)+a(i-2)+a(i-1) 语句改为:a(i+2)=a(i)+a(i+1)

34.程序运行时也会显示"下标越界"的出错信息,这时是数组下标大于上界30。

35.3.数组维数错

36.数组声明时的维数与引用数组元素时的维数不一致。例

如,下程序段为形成和显示3×5的矩阵:

37. Dim a(3,5) As Long

38. For i=1 To 3

39. For j=1 To 5

40. a(i)=i*j

41. Print a(i);"";

42. Next j

43. Print

44. Next i

45.程序运行到a(i)=i*j语句时出现"维数错误"的信息,因为在Dim声明时是二维数组,引用时的一个下标。46.4.Aarry函数使用问题

47.Aarry函数可方便地对数组整体赋值,但此时只能声明Variant的变量或仅由括号括起的动态数组。赋值后的数组大小由赋值的个数决定。

48.例如,要将1,2,3,4,5,6,7这些值赋值给数组a,下表列出了三种错误及相应正确的赋值方法。

49.Aarry函数表示方法

50.错误的Aarry函数赋值, 改正的Aarry函数赋值

51.Dim a(1 To 8) a=Array(1,2,3,4,5,6,7,8) Dim a( ) a=Array(1,2,3,4,5,6,7)

52.Dim a As Integer a=Array(1,2,3,4,5,6,7) Dim

aa=Array(1,2,3,4,5,6,7)

53.Dim aa()=Array(1,2,3,4,5,6,7) Dim

aa=Array(1,2,3,4,5,6,7)

54.5.如何获得数组的上界、下界

55.Aarry函数可方便地对数组整体赋值,但在程序中如何获得数组的-上界、下界,以保证访问的数组元素在合法的

范围内,可使用UBound和LBound函数来决定数组访问。56.在上例中,若要打印a数组的各个值,可通过下面程序段实现:

57.For i=Lbound(A) To Ubound(A)

58. Print a(i)

59.Next l

60.6.给数组赋值

61.VB6.0提供了可对数组整体赋值的新功能,方便了数组对

数组的赋值操作。但真正使用不那么方便,有不少限制。

数组赋值形式如下:数组名2=数组名1

62.这里的数组名2,实际上在前面的数组声明时,只能声明为Varian的变量,赋值后的数组2的大小、维数、类型同数组名1;否则,若声明成动态或静态的数组,例如:63.Dim数组名2() 或Dim数组名2 (下标)

64.程序在运行到上述赋值语句时显示"不能给数组赋值"的出错信息。

65.

《VB程序设计》习题答案-林卓然编著

《VB语言程序设计》教材 林卓然编著 《VB程序设计》习题参考答案 第1章习题 一、单选题 1.D 2.B 3.C 4.A 5.C 6. A 7.A 8.B 9.C 10.(1)A (2)B 二、多选题 1.ACDE 2.BCDE 3.CD 4. CE 三、填空题 1.事件驱动 2.解释,编译 3.设计,运行,中断 4. 属性,方法,事件 5. Command2_Click 6. 中央,代码 7.MyForm.frm 8. (1)Cmd1_Click() (2)Print "VB语言程序设计" 编程及上机调试 1. 按要求设置窗体属性 2.在窗体上建立一个标签Label1。程序代码如下: Private Sub Form_Click() Label1.Caption = "你单击了窗体" End Sub Private Sub Form_DblClick() Label1.Caption = "你双击了窗体" End Sub 3.在窗体上建立两个文本框Text1(输入数)、Text2(输出数)和一个命令按钮Command1。两个文本框的Text属性均为空。 Private Sub Command1_Click() Dim x As Single x = Val(Text1.Text) Text2.Text = 15 * x End Sub 第2章习题 一、单选题 1.①D,②D 2.①A,②C 3.A 4.B 5.B 6.B 7.C 8.D 9.B 10.B 11.A 12.A 13.B 14.A 15.B 16.A 17.B 二、多选题 1.BD 2.CD 3.AC 4. AD 三、填空题 1.(1) Sin(50*3.14159/180) (2) (2+x*y)/(2–y*y)

VB程序设计例题-程序改错程序填空程序设计

'以下程序段用于输出杨辉三角:结果样式如图1 ' Private Sub Form_Click() Const n = 10 Dim arr(n, n) As Integer For I = 1 To n arr(I, I) = 1 '**********SPACE********** 【arr(I, 1) = 1】 Next I For I = 3 To n For j = 2 To I - 1 '**********SPACE********** arr(i, j) =arr(i-1,j-1)+arr(i-1,j) Next j Next I For I = 1 To n For j = 1 To I '**********SPACE********** 【print arr(I,j)】 Next j Print Next I End Sub Option Explicit '------------------------------------------------ '【程序改错】 '------------------------------------------------ '题目:用自定义函数的方法求sum(x),求当-1≤x≤1时,' sum(x)=x/2!+x^2/3!+x^3/4!+……+x^n/(n+1)!, ' 当x〉1或x〈-1时,函数值为0。当n〈=0时,输入数' 据错误。X、N都是由用户输入。 '------------------------------------------------ '注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ Private Sub Command1_Click() Dim s As Single Dim n As Integer, x As Single, k As Integer n = Val(InputBox("Please input a integer value:"))

vb程序设计试题(含答案)

第一套试题 一、选择题(每题2分,共30分) 1.在VB环境中,工程文件的扩展名是( C ) (A).frm (B).bas (C).vbp (D).frx 2.下面4项中不属于面向对象系统三要素的是( A ) (A)变量(B)事件(C)属性(D)方法 3. \、/、Mod、*这4个算述运算符中,优先级别最低的是( C ) (A)\ (B)/ (C)Mod (D)* 4.要使Print方法在Form_Load事件中起作用,要对窗体的( C )属性进行设置(A)BackColor (B)ForeColor (C)AutoRedraw (D)Caption 5.不论何控件,共同具有的属性是( B ) (A)Text (B)Name (C)ForeColor (D)Caption 6.要使Form1窗体的标题栏显示“欢迎使用VB”,以下语句正确的是( D ) (A)Form1.Caption=“欢迎使用VB”(B)Form1.Caption=ˊ欢迎使用VBˊ(C)Form1.Caption=欢迎使用VB (D)Form1.Caption=〞欢迎使用VB〞 7.VB提供了结构化程序设计的3种基本结构,这3种基本结构是( D ) (A)递归结构,选择结构,循环结构(B)选择结构,过程结构,顺序结构 (C)过程结构,输入、输出结构,转向结构(D)选择结构,循环结构,顺序结构 8.给变量赋值a=123+MID(“123456”,3,2),a变量中的值是( D ) (A)“12334”(B)123 (C)12334 (D)157 9.下面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 10.若要清除列表框的所有内容,可用来实现的方法是( C )

VB改错题(答案)

1.程序的功能是:单击命令按钮“输出”,在图片框Picture1中输出费波那契数列的前20项项值,要求按区输出,每行输出4个项值。程序中有两处错误,请修改程序并运行,直到得出正确结果。 注意:程序中的修改行就在注释行: '**********found*************' '请不要删除该行' 的下面,请不要修改程序中的其他部分。最后把修改后的文件按原来文件名存盘。 第1个出错位置:For i=3 to 20 第2个出错位置:If i Mod 4=0 then Picture1.Print Private Sub Command1_Click() Dim f(40) As Long Dim i As Integer Picture1.Cls f(1) = 0 f(2) = 1 Picture1.Print f(1), f(2), '**********found*************' '请不要删除该行' For i = 1 To 40 For i=3 to 20 f(i) = f(i - 1) + f(i - 2) Picture1.Print f(i), '**********found*************' '请不要删除该行' If i Mod 4 = 0 Then Picture.Print If i mod 4=0 then picture1.print Next i End Sub 2. 程序的功能是:程序运行时,单击“输出”按钮,产生10个[0,99]之间的随机整数存入数组A中,并按照相反的顺序输出在窗体上。程序中有两处错误,请修改程序并运行,直到得出正确结果。 第1个出错位置:A(i)=Int(Rnd*100+0) p50 第2个出错位置:Print A(11-i); Private Sub Command1_Click() Randomize Dim A(10), I As Integer Form1.Cls For I = 1 To 10 '*********found******** '请不要删除该行 A(I) = Int(Rnd * 99) A(i)=Int(Rnd*100+0) Print A(I); Next I Print For I = 1 To 10 '*********found******** '请不要删除该行 Print A(I); Print A(11-i) (注意答案中间无;) Next I End Sub

VB程序设计编程考试~题及答案~

VB程序设计编程考试题及答案 1.输入3个数,输出最大的数 Private Sub command1_click() Dim max For i = 1 To 3 n = Val(InputBox("输入第" & i & "个数")) If n > max Then max = n End If Next Print "三个数中最大的数是" ; max End Sub 2.有一元二次方程:aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根 Private Sub Command1_Click() Dim a, b, c, n a = Text1 b = Text2 c = Text3 n = b * b - 4 * a * c If n >= 0 Then Label4 = "方程有根" Else Label4 = "方程无根" End If End Sub 3.输入一个百分制的成绩,若大于等于60,则用消息框弹出,显示“恭喜!成绩通过!”, 若小于60,则弹出消息框,显示“抱歉!成绩没有通过! Private Sub Form_Load() Text1 = "" End Sub Private Sub Command1_Click() Dim n n = Text1 If n > =60 Then Val (MsgBox("恭喜!成绩通过!")) Else Val (MsgBox("抱歉!成绩没有通过!")) End If End Sub 4.输入一年份,判断它是否为闰年,并显示有关信息。(判断闰年的条件是:年份能被4整 除但不能被100整除,或者能被400整除) Private Sub Command1_Click() Dim y%

[整理]VB程序设计复习题及答案.

中南大学现代远程教育课程(专科)考试复习题及答案 《VB程序设计与应用》 一、选择题:在每小题给出的四个选项中,只有一项是符合题目要求的,请把所选项前的字母填在 题后的括号内。 1. Visual Basic程序中分隔一行中各语句的字符是()。[ ] A)‘ B): C)\ D)_ 2. 下列可作为Visual Basic的变量名的是()。[ ] A: Filename B: A(A+B)C: A%D D : Print 3. 要让菜单项无效,应将()属性值设置为False。 [ ] A. Visible B. Enabled C. Moveable D. Checked 4. 以下过程是()事件。 Prviate Sub Form_Load( ) …… End Sub [ ] A: 命令按钮的单击B: 命令按钮的装载 C; 窗体的装载D: 窗体的单击 5. Vb中描述文件扩展名的是()属性。[ ] A: Drive B: Pattern C: FileName D: Path 6. 关于Visual Basic中事件的说法中,不正确的为()。[ ] A)事件是由Visual Basic预先定义好的,能够被对象识别的动作 B)DblClick(双击)是Visual Basic中的一种事件 C)一个对象可以识别一个或多个事件 D)对于一个系统提供的对象可以识别哪些事件,需要程序员自己定义 7. 下列控件中可设置滚动条是()。 [ ] A. 检查框(复选框) B. 框架 C. 文本框 D. 标签框 8. 在Visual Basic中建立一个空窗体,( )不会是其默认名。 [ ] A. Form1 B. Form2 C. Formx D. Form10 9. Const One&=1,则One为()类型的常数。[ ] A)整型 B)字节型

VB程序改错40题

第2题(1、0分)题号:1 2 9 '【程序改错】 '题目:该程序实现将输入得0 —255 之间得正整数转 换成二进制数 O p t i on Explici t P riv a t e Sub Fo r m _Cl i ck () Con st n = 8 Dim a(n) A s I n tege r, s As Stri ng, m A s I n te g er, x A s Integer x = Va l (In p utB ox (”请输入一个0 — 2 55之间得正整数: ")) Prin t x ** ** ******FOUND** Fo r m = 1 T o n (m ) = x Mod 2 *** * *F^) D********* * Nex t m For m =n To 0 S t e p —1 * *********FOU N D * **** * * ** * s = Str(a( m )) Nex t m Pri n t s E n d Sub 答案:

(答案1)For m = 0 To n======= 答案2)x= x \ 2 或x= int(x/2)=======(答案3)s = s + St r (a (m)) 第3题(l、0分) 题号:463 '题目:以下程序功能就是输入三个数,由大到小排序。 Op t io n Explicit Di m A A s I n teger Dim B As I n te g er D im C As I nt e ger P r ivat e Sub F o r m_Click() Dim nTemp A s Integer A = V a l(ln put B o x (H P lease in put fi r st i nt e ger","输入正整数”)) B = Val( I n putBo x (” Pl e a s e in put s eco nd int e ge r”,"输入正整数”)) C = Va i (In pu tB o x(” P 1 e a se in put third int e ger ” ,"输入正整数”)) F OU ND * * ***** If A v= C T h en n Te m p = A A = B B = n Te mp E nd I f > ***** *FOUND**** * * * *** I f B <= C T hen nTe mp = A A = C C = nTem p

VB程序的设计课后复习题答案

VB课后习题解答 第一、二章: 1、简述VB6.0的主要特点 答:方便、直观的可视化设计工具;面向对象程序设计方法;事件驱动的编程机制;易学易用的应用程序集成开发环境;结构化程序设计语言;完备的联机帮助功能;强大的多媒体、数据库和网络功能。2、当正常安装VB6.0后,误把Windows子目录删除。当重新安装Windows后,是否需要再次安装VB6.0? 答:要重新安装的。因为安装VB6.0时,有些VB程序被系统自动安装在Windows目录下,所以一旦删除Windows子目录,就必须重新安装VB6.0。 3、Visual Basic 6.0分为学习版、专业版和企业版,如何知道所安装的是哪个版本? 答:在VB6.0的启动界面上,能显示对应的版本。 4、叙述建立一个完整应用程序的过程 答:首先建立用户界面的控件对象(简称控件);然后对控件属性进行设置;再对控件事件过程及编程; 保存应用程序;程序调试和运行。 5、Visual Basic 6.0有多种类型窗口,若要在设计时看到代码窗口,应怎样操作? 答:选择“视图”—>“代码窗口”命令或单击“工程资源管理器”窗口中的“查看代码”按钮。 6、当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。试问该工程涉及多少个要保存的文件? 若要保存该工程的所有文件,应先保存什么文件?再保存什么文件?若不这样做,系统会出现什么信息? 答:涉及两个文件要保存。先保存窗体文件(.frm),再保存工程文件(.vbp)。若先保存工程文件,系统也会先弹出“文件另存为”对话框,要求先保存窗体文件。 7、保存文件时,若不改变目录名,则系统默认的目录是什么? 答:系统默认的目录是VB98 8、安装Visual Basic 6.0后,帮助系统是否也已安装? 答:没有。VB6.0的帮助系统在两光盘上,即MSDN Library,其中还包含了VC、VFP等其他语言的帮助系统。 9、如何使用Visual Basic 6.0的帮助系统? 答:最方便的方法是选定要帮助的容,然后按F1功能键,这时系统打开MSDN Library查阅器,直接显示与选定容有关的帮助信息。 10、什么是类?什么是对象?什么是事件过程? 答:类是同类对象集合的抽象,它规定了这些对象的公共属性和方法; 对象是类的一个实例,对象包含三个要素:属性、方法和事件。 当在对象上发生了事件后,应用程序就要处理这个事件,而处理的步骤就是事件过程。 11、属性和方法的区别是什么? 答:属性是对象的特征,方法是对象的行为。前者有值,可以被赋值或引用;后者没有值,表示能够执行的操作。 12、当标签边框的大小由Caption属性的值进行扩展或缩小时,应对该控件的什么属性进行何种设置? 答:将该控件的Autosize属性值设置为true。 13、在VB6.0中,命令按钮的显示形式可以有标准的和图形的两种选择,它们通过什么属性来设置?若选 择图形的,则通过什么属性来装入图形?若已在规定的属性里装入了某个图形文件,但该命令按钮还是不能显示该图形,而显示的是Caption属性设置的文字,应怎样修改?

19VB程序改错题收集(答案在后面)

VB中常见的错误 1、运行下面的 Visual Basic程序,单击命令按钮 Command1,出现如下图所示的提示信息: Private Sub Command1_Click() Dim a As Single, b As Single a = Val(Text1.Text) b = 10 If a >= b b = a * a + 2 * b End If Label1.Caption = Str(b) End Sub 出现该错误的原因是 A.If语句缺少Then B.If语句缺少Else C.变量a的数据类型说明错误 D.变量b的数据类型说明错误 2、某VB程序的事件过程如下所示: Private Sub Command1_Click ( ) Dim a As Integer a = Val(Text1.Text) Text1.Text = Str(Int( a )) End Sub 运行程序,单击按钮Command1后弹出如下图所示的错误提示。导致该错误的原因可能是() A.Int函数计算时出现错误 B.Val函数应用不正确 C.窗体上缺少Text1文本框对象 D.变量a数据类型定义错误 3、某Visual Basic程序段如下: Dim a(1 To 10) As Integer Dim i As Integer a(1) = 1 For i = 2 To 10 a(i) = a(i - 1) * i Next i 运行该程序段,会出现的错误提示为 (A)下标越界(B)子程序或函数未定义(C)要求对象(D)溢出 Interger类型范围在-32768~32767,而1到10相乘超出这个范围 4、某Visual Basic程序如下: Private Sub Command1_Click() Dim a(1 To 10) As Integer

VB程序设计学习与实验指导答案

Visual Basic 程序设计学习与实验指导答案 上篇学习指导 第1章Visual Basic 概述 1.事件 2.查看对象 3.工程 4.视图属性窗口 5.窗体编辑器 第2章面向对象程序设计初步 1.控件 2.事件 3.类属性 4.属性 5.略 https://www.doczj.com/doc/c2449216.html, 第3章Visual Basic 语言基础 1.(a*sin(30/180*3.14)+c*(log(b)/log(10)))/((Abs(d)+1)*(e+f))+1

2.mod 3.X=Int(X) And Y=Int(Y) And X*Y>0 4. 4.Y Mod 4=0 And Y Mod 100<>0 Or Y Mod 400=0 5.x=Int((99-10+1)*Rnd+10) 6.0 “” 7.空格 8.6,845.30 9. (1)8 (2)1 (3)abcd (4)出错,类型不匹配 (5)False (6)2008-6-29 (7)I likeVB (8)4 (9)4 4 (10)3 4 (11)10 -10 (12)-1 (13)aa (14)3 (15)0 (16)1 (17)C (18)5 (19)8 (20)34.54 (21)中国 (22)上海 (23)VISUAL BASIC (24)visual basic 10. (1)x<-100 or x>100 (2)a=Int(a) And b =Int(b) Or a<0 And b<0 (3)x<=y or x>=z (4)a>0 And a<>Int(a) (5)a=0 xor b=0 (6)Len(S)<10 (7)UCase(S)=S (8)Left(S,1)=”a” And Right(S,1)=”a” (9)Instr(S,”@”)<>0 (10)Trim(S)=S (11)Date=#8/8/2008#

VB 改错题

【程序改错】 '------------------------------------------------ '题目:下面的程序段用于删除数组中指定位置的数字,'如果位置错误给出提示,否则分别显示删除前后'的数组元素 '------------------------------------------------ '注意:不可增加或删除程序行,也不可以更改程序结构'------------------------------------------------ Private Sub Form_Click() Dim a(10) As Integer, x As Integer, i As Integer, k As Integer For i = 1 To 10 a(i) = Int(Rnd * 90) + 10 Print a(i); Next i Print x = InputBox("请输入要删除第几位数字") '**********FOUND********** If x > 0 And x <= 10 Then 'If x > 0 Then '**********FOUND********** For k = x To 9 'For k = x To 10 a(k) = a(k + 1) Next k Print "删除后的数组:" For i = 1 To 9 Print a(i); Next i Else Print "删除位置错误" '**********FOUND********** End If 'End End Sub 【程序改错】 '------------------------------------------------ '题目:在下列程序段中,过程fb可以显示任意长度的菲'波那契数列,现要求通过键盘输入一数字,利用'该过程显示不超过指定数字大小的数列 '------------------------------------------------

VB程序设计试题及答案

VB程序设计试题及答案(三) 一、单选题 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≤x10 (C) x>=3 Or x<10 (D) x>=3 AND x<10 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(x>y,x,y) (B) If x>y 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

程序改错(1)汇总

/*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:将 m(1≤m≤10)个字符串连接起来,组成一个新串,放入pt所指字符串中。 例如:把3个串:“abc”,“CD”,“EF”串连起来,结果是 “The result is: abcCDEF”。 ------------------------------------------------------*/ #include #include #include int fun ( char str[][10], int m, char *pt ) { /**********ERROR**********/ int k, q, i for ( k = 0; k < m; k++ ) { q = strlen ( str [k] ); for (i=0; i

VB程序改错题

程序改错 1.题目:已知C的公式表示如下: ' n! ' C=------------------ ' (n-m)!*m! '函数过程fac( )求k!函数,在Fomr_Click事件中完成运算,'请修正程序中错误。 '------------------------------------------------ Option Explicit Private Function fac(k As Integer) As Single Dim x As Single, j As Integer x = 0 For j = 1 To k x = x ^ j Next j fac = x End Function Private Sub Form_Click() Dim C As Single Dim m As Integer, n As Integer m = Val(InputBox("请输入一个整数(m):")) n = Val(InputBox("请输入一个整数(n):")) C = fac(n) / fac(n - m) * fac(m) Print "C="; C End Sub 2.题目:程序功能为打印下列图形: ' * ' ** ' *** ' **** ' ***** '------------------------------------------------ Option Explicit Private Sub Form_Click() Cls Dim i As Integer

Dim j As Integer For i = 1 To 7 For j = 1 To 5 Print "*"; Loop Print Next i End Sub 3.题目: 本程序的功能是随机产生的10个两位正整数,并进行递减排序。'------------------------------------------------ Option Explicit Private Sub CreateRND() Dim Temp As Integer Dim I As Integer Dim N As Integer Dim X(10) As Integer Dim J As Integer N = 10 Print "数据:" For I = 1 To N X(I) = Int(Rnd() * 90) Print X(I); Next I Print Print "排序:" For I = 0 To N - 1 For J = I + 1 To N If X(I) > X(J) Then Temp = X(I) X(J) = X(I) X(I) = Temp End If Next J Print X(I); Next I Print End Sub Private Sub Command1_Click() CreateRND End Sub

VB程序设计试题及复习资料一

VB程序设计试题及答案(一) 一、单选题 1. VB6.0是一种面向 B 的编程环境。 (A) 机器(B) 对象 (C) 过程 (D) 应用 2. 要使FormI窗体的标题栏显示"欢迎使用VB",以下 D 语句是正确的。 (A) Forml.Caption=“欢迎使用VB” (B) Forml.Caption='欢迎使用VB' (C) Forml.Caption=欢迎使用VB (D) Forml.Caption="欢迎使用VB" 3. 若要使命令按钮不可操作,要对 A 属性进行设置。 (A) EnabIed (B)Visible (C) Backcolor (D)Caption 4. 如果在窗体上已经创建了一个文本框对象TextI,可以通过 C 事件获得输入键值的ASCII码。 (A) Change (B) LostFocus (C) KeyPress (D) GotFocus 5. 下面 A 是合法的变量名。 (A) X_yz (B) 123ab。(C) integer (D) X-Y 6. 以下关系表达式中,其值为False的是 A 。 (A) "ABC">"AbC" (B) "女">"男" (C) "BASIC"=UCase("basic) (D) "123"<"23" 7. 为了给x、y、z三个变量赋初值1,下面正确的赋值语句是 A 。 (A) x=1:y=1:z=1 (B) x=1,y=1,z=1 (C) x=y=z=1 (D) xyz=1 8. VB提供了结构化程序设计的三种基本结构,三种基本结构 是 D 。 (A)递归结构、选择结构、循环结构 (B)选择结构、过程结构、顺序结构 (C)过程结构、输入输出结构、转向结构 (D)选择结构、循环结构、顺序结构 9. 下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是 D 。 (A) If sex="男" And age=4O And InStr(duty,"教授")>O Then n=n+l (B) If sex="男" And age=4O And (duty="教授" Or duty="副教授") Then n=n+l (C) If sex="男" And age=4O And Right(duty,2)="教授" Then n=n+l (D) If sex="男" And age=4O And duty="教授" And duty="副教授" Then n=n+l 10.下列关于Do…Loop循环结构执行循环次数的描述正确的是 D 。 (A) Do While…L oop循环和Do…Loop Until循环至少都执行一次 (B) Do While…Loop循环和Do…Loop Until循环可能都不执行 (C) Do While…Loop循环至少执行一次和Do…Loop Until循环可能不执行 (D) Do While…Loop循环可能不执行和Do…Loop Until循环至少执行一次 11.以下 B 是正确的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 12.如下数组声明语句, B 是正确的。 (A) Dim a[3,4] As Integer (B) Dim a(3,4) As Integer (C) Dim a(n,n) As Integer (D) Dim a(3 4) As Integer 13.下列语句中(假定变量n有值),能正确声明可变长数组的 是 A 。 (A) Dim a( ) As Integer (B) Dim a( ) As Integer ReDim a(n) ReDim a(n) As String (C) Dim a( ) As Integer (D) Dim a(10) As Integer ReDim a(3, 4) ReDim a(n+10) ReDim Preserve a(4, 4) 14.要想从子过程调用后返回两个结果,下面子过程语句说明合法的是 C 。 (A) Sub f2(ByVal n%, ByVal m%) (B) Sub f1(n%, ByVal m%) (C) Sub f1(n%, m%) (D) Sub f1(ByVal n%, m%) 15.设有如下程序段: Public Sub F1(n%) … n=3*n+4 … End Sub Private Sub Command1_Click( ) Dim n%, m% n=3 m=4 … ‘调用F1语句 … End Sub 则在Command1_Click事件中有效的调用语句是 B 。

VB程序设计题库(全)

程序设计 第一题、 题目:(事件)单击窗体 (响应)求 50 以内所有偶数的和,并在窗体上输出来。 将结果存入变量 S 中。 代码: Dim I As Integer For i = 2 To 50 If (i Mod 2)=0 Then S=s+i End If Next Print (CStr(s)) 第二题 题目:(事件)双击窗体 (响应)求 s=1+1*2+1*2*3+ ?.+1*2*3* ?.*10 并将结果存入变量S 中代码: Dim i,j As Integer Dim k As Long k=1 s=0 For i =1To 10

For j=1 To i k=k*j Next s=s+k k=1 Next Print(CStr(s)) 第三题 题目:(事件)单击窗体 (响应)求 100 以内偶数的和,并将结果输出在窗体上。 将结果存入变量 SUM中 代码: Dim i As Integer For i =1 To 100 If i Mod 2 =0 Then Sum=sum+i End If Next Print sum 第四题 题目:(事件)单击窗体 (响应)编写程序求10*11*12+11*12*13+ ? .+15*16*17 的结果 并将结果输出到窗体上。将结果存入变量M中。

代码: Dim i,j As Integer Dim s As Long For i =10 To 15 s=1 For j = i To i +2 s=s*j Next m=m+s Next Print (CStr(m)) 第五题 题目:(事件)双击窗体 (响应)求 100 以内奇数的和,并将结果输出在窗体上。 将结果存入变量 SUM中。 代码: Dim i As Integer For i=1 To 100 If i Mod 2 = 1 Then sum = sum + i End If Next Print sum 第六题

2018年7月VB程序设计复习题库

VB程序设计复习题库 一、判断题(每小题2分,共20分) 在以下提供的若干陈述中,逐一判断其正确与否,用A表示正确,用B表示错误。 (1) 事件过程可以由某个用户事件触发执行,它不能被其他过程调用。 (2) Visual Basic的Double类型数据可以精确表示其数值范围内的所有实数。 (3) For/Next循环正常(未执行Exit For)结束后,控制变量的当前值等于终值。 (4) Sub过程名在过程中必须被赋值。 (5) SetFocus方法是把焦点移到指定对象上,使对象获得焦点,该方法适用于所有控件。 (6) 移动框架时框架内控件也随之移动,所以框架内控件的Left和Top属性值也随之改变。 (7) 单选钮控件和复选框控件都具有Value属性,它们的作用完全一样。 (8) 当组合框的Style属性设置为0时,组合框称为“下拉式组合框”,其选项可以从下拉列表框 的列表项中选择,也可以由用户输入。 (9) 若Visual Basic中容器取缺省坐标系,则坐标原点在容器左上角、单位长度为像素。 (10) 用Output模式打开文件,如果指定文件和路径不存在,则会自动创建指定文件及路径。 二、单选题(每小题2分,共20分) (11) 将VB新建的“标准EXE”工程保存在磁盘上,至少会产生()文件。 [A] .frx和.frm [B] .exe和.vbp [C] .vbp和.frm [D] .frm和.bas (12) 窗体Form1的Name属性是Frm1,它的单击事件过程名是()。 [A] Form1_Click [B] Form_Click [C] Frm1_Click [D] Me_Click (13) 已知字符串变量x存放"1234",表达式V al("&H"+Left(x,2))的值是()。 [A] 0 [B] &H12 [C] 12 [D] 18 (14) 假定通过复制、粘贴操作建立了一个命令按钮数组Command1,以下说法中错误的是 ()。 [A] 数组中每个命令按钮的名称(Name属性)均为Command1 [B] 若未做修改,数组中每个命令按钮的大小都一样 [C] 数组中各个命令按钮使用同一个Click事件过程 [D] 数组中每个命令按钮的Index属性值都相同 (15) 要使文本框显示滚动条,除了设置ScrollBars属性外还必须设置()属性。 [A]AutoSize [B]MultiLine [C]Alignment [D]Visible (16) 当Stretch属性为False时()。

VB程序设计填空

35. a和b中有仅只有一个为1,相应的Visual Basic逻辑表达式为()答案:a=1 xor b=1 36. Integer类型的变量占用()字节空间答案:2 37. Print"x="&(2=4)的结果为()答案:x=False 38. sst="ABC12DE",则Val(sst)=()答案:0 39. string(3,"abc")的结果为()答案:aaa 40. Val("123.55ab456")的值是多少()答案:123.55 41. VB6.0的基本表达式包括算数表达式,关系表达式和()表达式答案:逻辑 42. VB的工作模式可分为三种:"设计",运行,以及()答案:中断 43. VB6.0的连接运算符包括()运算符和()运算符两种答案:+ + 44. VB6.0是运行于windows 9x/NT操作系统环境下的一个快速可视化程序开发工具,用它进行程序设计,有两个基本的特点,即可视化设计和()答案:事件驱动编程 45. VB表达式9^2MOD 45\2*3的值()答案:4 46. VB的运算符包括算术运算符,()运算符,关系运算符,逻辑运算符和特殊运算符。答案:连接 47. VB中,变量的声明可分为两种方法:隐式声明和()答案:显示声明 48. Visual Basic中的文本框中要使该框不允许多行输入,应设置()属性为false 答案:Multiline 49. Visual Basic6.0用于开发()环境下的应用程序答案:WINDOWS 50. 把条件1<=x<12写成VB关系表达式为()答案:x>=1 and x<12 51. 把整数0赋给一个逻辑型变量,则逻辑型变量的值为()答案:False 52. 把整型数1赋给一个逻辑型变量,则逻辑型变量的值为()答案:True 53. 变量min@表示()类型的变量答案:货币 54. 表达式32\7 MOD 3^2的值是()答案:4 55. 表达式1 and 0的值()答案:False 56. 表达式[A] like[A]的值为()答案:False 57. 表达式(-3)And 8的值为()答案:True 58. 表达式(-3)MOD 8的值为()答案:-3 59. 表达式81\7 MOD 2^2的值是()答案:3 60. 表达式93\7 MOD 2^3的值是()答案:5 61. 打开"工程窗口"的方法之一是按下()组合键答案:CTRL+R 62. 大于X的最小整数的VB表示形式为()答案:Int(x)+1 63. 当程序运行时,要求窗体中的文本框呈现空白,则在设计时,把此文本框的()属性设置成空白答案:Text 64. 对象具有属性和()答案:方法 65. 对象是既包含()又包含对数据进行操作的方法,并将其封装起来的一个逻辑实体答案:数据 66.将焦点定位于命令按钮Command1之上的语句为()答案:SetFocus 67. 求X与Y之积除以Z的余数的VB表达式为()答案:x*yModz 68. 如果:I=11:J=3:I=Int(-8.6)+I\J+13 MOD 5,则I值是()答案:-2 69. 如果:I=12:J=3:I=Int(-8.6)+I\J+13 MOD 5,则I值是()答案:-1 70. 如果要使用命令按钮表面显示文字"退出(X)"(在字符X之下加下划线),则其Caption 属性设置为()答案:退出(&X) 71. 如果要在单击钮时执行一段代码,则应将这段代码写在()事件过程中答案:click 1.若要在字符串asdgewl中取dge,则使用函数____实现() 答案:Mid$(asdgewl,3,3)

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