VB编程题目及答案
- 格式:doc
- 大小:47.50 KB
- 文档页数:23
Vb编程题1.求自然数1~100之间奇数之和。
Private Sub Form_Click()Dim i%, sum%For i = 1 To 99 Step 2sum = sum + iNext iPrint "sum="; sumEnd Sub2.求自然数1~100之间偶数之和。
Private Sub Form_Click()Dim i%, sum%For i = 1 To 100If i mod 2=0 thensum = sum + iend ifNext iPrint "sum="; sumEnd Sub3.编写程序,在窗体上随机输出一个10--99之间的两位整数。
Sub command1_click()Dim a%Randomizea=int(rnd*90+10)print aend sub4.编程计算从200到1000之间的所有4的倍数之和。
Private Sub Form_Click()Dim sum As Longsum = 0For i = 200 To 1000If i Mod 4 = 0 Thensum = sum + iEnd IfNext iPrint sumEnd Sub5.编写程序在窗体上显示出:5/6+4/5+3/4+2/3+1/2Dim s As Singles = 0For i = 5 To 1 Step -1s = s + i / (i + 1)NextPrint “5/6+4/5+3/4+2/3+1/2=”;s6.在窗体的单击事件中编写程序,从键盘上任意输入3个数,输出最大数。
Private Sub Command2_Click()Clsa = Val(InputBox("接收三个数:"))Print a;Max = aFor i = 1 To 2a = Val(InputBox("接收三个数:"))Print a;If a > Max Then Max = aNextPrintPrint "三数中最大者是:"; MaxEnd Sub7.在窗体的单击事件中编写程序,从键盘上任意输入3个数,输出中间数。
4.编写程序生成一个二维数组A(5, 5),求两条对角线元素之和Option ExplicitPrivate Sub Command1_Click()Dim a(5, 5) As IntegerDim i As IntegerDim j As IntegerDim x As IntegerDim y As IntegerFor i = 0 To 5For j = 0 To 5a(i, j) = Int(100 * Rnd) '随机产生一个0~100的整数If i = j Then x = x + a(i, j)If i + j = 5 Then y = y + a(i, j)NextNextMsgBox "两条对角线元素之和分别是" & x & "," & yEnd Sub5.编写程序将文本框Text1中的大写字母放到文本框Text2中。
Dim n As IntegerFor i = 1 To Len(Text1)n = Asc(Mid(Text1.Text, i, 1))Text2 = Text2 & IIf(n >= 65 And n <= 90, Chr(n), "")Next6.随机生成20个两位正整数存放到Text1中,找出其中的偶数并以与找出相反的顺序存放到Text2中。
Private Sub Form_Load()RandomizeDim a(20), iText1 = ""Text2 = ""For i = 1 To 20a(i) = Int(Rnd * 90 + 10)Text1 = Text1 & a(i) & " "If a(i) Mod 2 = 0 ThenText2 = " " & a(i) & Text2End IfNextEnd Sub7.编写程序将窗体上文本框Text1中的字符串中的所有大写字母找出,并按逆输出到文本框Text2中。
vb考试试题及答案一、选择题(每题2分,共20分)1. 在VB中,以下哪个关键字用于声明类模块中的属性?A. DimB. PublicC. PrivateD. Property答案:D2. VB中的“Option Explicit”语句用于做什么?A. 声明变量类型B. 强制变量声明C. 定义过程D. 创建对象实例答案:B3. 下列哪个不是VB的控件事件?A. ClickB. LoadC. ChangeD. Hover答案:D4. 在VB中,以下哪个不是标准数据类型?A. IntegerB. StringC. BooleanD. Pointer答案:D5. VB中的“With”语句用于什么?A. 初始化对象B. 创建对象实例C. 引用对象的多个属性或方法D. 循环遍历集合答案:C6. 在VB中,如何将一个表达式的结果赋值给一个变量?A. 使用“=”运算符B. 使用“==”运算符C. 使用“:=”运算符D. 使用“->”运算符答案:A7. 下列哪个是VB中的循环结构?A. IfB. For EachC. Select CaseD. While答案:D8. 在VB中,如何表示一个空引用?A. NullB. NothingC. EmptyD. Undefined答案:B9. VB中的“Handles”关键字用于什么?A. 过程定义B. 事件处理C. 类定义D. 属性声明答案:B10. 在VB中,以下哪个不是集合的属性或方法?A. AddB. ItemC. CountD. Sort答案:D二、填空题(每题2分,共20分)11. VB中的________关键字用于定义一个方法或属性的访问级别。
答案:Private12. 当你想要在VB中创建一个新类时,你需要使用________关键字。
答案:Class13. 在VB中,________方法用于在运行时创建对象。
答案:New14. 如果你想要在VB中捕获并处理异常,你应该使用________语句。
vb练习题及答案VB(Visual Basic)是一种面向对象的编程语言,被广泛应用于软件开发中。
通过练习题的形式可以巩固和提升对VB语言的理解和应用能力。
本文将提供一些VB练习题及其答案,帮助读者巩固VB编程技巧。
题目一:计算器程序设计一个简单的计算器程序,要求能够进行基本的加、减、乘、除运算。
解答:在VB中创建一个新的Windows窗体应用程序项目,命名为“Calculator”。
首先,在窗体上添加一些按钮来表示数字和运算符。
然后,添加一个用于显示运算结果的文本框控件。
接下来,为数字按钮和运算符按钮分别添加点击事件处理程序。
在点击数字按钮时,将按钮对应的数字追加到文本框中。
在点击运算符按钮时,根据按钮的内容判断并执行相应的运算。
最后,通过运用VB的计算表达式功能和控件之间的交互,实现基本的加减乘除运算。
题目二:学生成绩管理设计一个程序用于管理学生成绩,要求能够输入学生信息、查询学生成绩、计算学生平均成绩等操作。
解答:在VB中创建一个新的Windows窗体应用程序项目,命名为“StudentGrade”。
首先,设计一个学生类(Student),包括学号、姓名、各科目成绩等属性。
然后,创建一个用于存储学生信息的集合(如数组或集合类)。
接下来,在窗体上添加文本框、按钮等控件,用于输入学生信息和进行相关操作。
通过按钮点击事件处理程序,实现以下功能:1.输入学生信息:获取文本框中的学生信息,并创建一个新的学生对象,将其添加到学生信息集合中。
2.查询学生成绩:根据学生学号或姓名等关键信息,在学生信息集合中查找对应学生,并显示其成绩信息。
3.计算学生平均成绩:遍历学生信息集合,计算每个学生的平均成绩,并显示在窗体上。
通过以上步骤,可以实现一个简单的学生成绩管理系统。
题目三:数据排序设计一个程序用于对一组数字进行排序,要求能够实现升序和降序排列。
解答:在VB中创建一个新的Windows窗体应用程序项目,命名为“DataSorting”。
VB试卷一、单项选择题(每题2分,共40分)1. 窗体的标题栏显示内容由窗体对象的属性决定。
A) BackColor B)BackStyle C)Text D)Caption2. 窗体的示意图标可用属性来设置。
A) Picture B) Image C) Icon D) MouseIcon3. 窗体的控制菜单的有无由窗体对象的属性决定。
A) ControlBox B) MinButton C) MaxButton D) BorderStyle4. 若要取消窗体的最大化功能,则可设置属性为False来实现。
A) ControlBox B) MinButton C) MaxButton D) Enabled5. 以下4个选项,不属于VB的工作模式。
A) 编译 B) 设计 C) 运行 D) 中断6. 窗体的边框样式由窗体对象的属性来设置。
A) BackStyle B) BorderStyle C) WindowState D) FillStyle7. 若要以程序代码方式设置在窗体中显示文本的字体大小,则可用窗体对象的属性来实现。
A) FontName B) Font C) FontSize D) FontBold8. 命令按钮的标题文字由属性来设置。
A) Text B) Caption C) Name D) (名称)9. VB是面向对象的程序设计,以下4个选项,不属于面向对象的三要素。
A) 变量 B) 属性 C) 事件 D) 方法10. 若要将某命令按钮设置为默认命令按钮,可设置属性为True来实现。
A) Value B) Cancel C) Default D) Enabled11. 若要使命令按钮不可见,可设置属性为False来实现。
A) Value B) Enabled C) Visible D) Cancel12. 运行程序时,系统自动执行窗体的事件。
A) load B) click C) unload D) GotFocus13. 若要设置文本框最大可接收的字符数,可通过属性来实现。
vb程序设计试题及答案一、选择题(每题2分,共20分)1. 在VB中,下列哪个选项是正确的数据类型?A. IntegerB. DoubleC. StringD. All of the above答案:D2. VB中用于声明变量的关键字是?A. DimB. DeclareC. SetD. All of the above答案:A3. 在VB中,下列哪个选项是正确的循环语句?A. ForB. DoC. WhileD. All of the above答案:D4. VB中用于打开文件的函数是?A. OpenB. CloseC. WriteD. Read答案:A5. 在VB中,下列哪个选项是正确的条件语句?A. If...ThenB. Select CaseC. Do WhileD. All of the above答案:A6. VB中用于创建新窗体的语句是?A. Form.ShowB. Form.NewC. Form.CreateD. Form.Open答案:A7. VB中用于声明常量的关键字是?A. ConstB. DimC. StaticD. Option答案:A8. 在VB中,下列哪个选项是正确的数组声明?A. Dim arr(5) As IntegerB. Dim arr() As IntegerC. Dim arr As IntegerD. Dim arr(5) As String答案:A9. VB中用于结束程序的语句是?A. EndB. ExitC. CloseD. All of the above答案:B10. VB中用于捕获异常的语句是?A. Try...CatchB. On ErrorC. CatchD. All of the above答案:B二、填空题(每题2分,共20分)1. 在VB中,声明一个名为myVar的变量,其类型为字符串,应该使用语句________。
答案:Dim myVar As String2. VB中,用于定义一个名为myFunction的函数,返回值为整数,应该使用语句________。
V B经典例题13道(附答案)1.一串字符求有多少字母,有多少数字,有多少其他Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim s, c, q, w, rs = TextBox1.TextFor i = 1 To Len(s)c = Mid(s, i, 1)If UCase(c) >= "A" And UCase(c) <= "Z" Thenq = q + 1ElseIf c >= "0" And c <= "9" Thenw = w + 1Elser = r + 1End IfNextLabel1.Text = "字母有" & q & "个数字有" & w & "个其他有" & r & "个" End Sub2.一串字符以?结尾,求有多少字母,有多少数字,有多少其他Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim s, a, z, x, c, is = TextBox1.Texta = Mid(s, 1, 1)i = 1Do While a <> "?"If UCase(a) >= "A" And UCase(a) <= "Z" Thenz = z + 1ElseIf a >= "0" And a <= "9" Thenx = x + 1Elsec = c + 1End Ifi = i + 1a = Mid(s, i, 1)LoopLabel1.Text = z & x & cEnd Sub3.给定一个数字求它是几位数字,如(1).12345 (2).-12345 (3).123.45 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Clicks = TextBox1.Textc = Trim(Str(s))If Int(c) = c ThenIf c >= 0 ThenLabel1.Text = "是" & Len(c) & "位数"ElseLabel1.Text = "是" & Len(c) - 1 & "位数"End IfElseIf c >= 0 ThenFor i = 1 To Len(c)If Mid(c, i, 1) = "." Then Exit Forj = j + 1NextLabel1.Text = "小数点前有" & j & "位数 " & " 小数点后有" & Len(c) - j - 1 & "位数 "ElseFor i = 1 To Len(c)If Mid(c, i, 1) = "." Then Exit Forj = j + 1NextLabel1.Text = "小数点前有" & j - 1 & "位数 " & " 小数点后有" & Len(c) - j - 1 & "位数 "End IfEnd IfEnd Sub4.求圆周率公式Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim a, s, n, pia = 1n = 1While Math.Abs(1 / n) > 0.0001pi = pi + a * (1 / n)n = n + 2a = -aLabel1.Text = 4 * piEnd Sub5.求自然对数e 公式e=1+1+1/2!+1/3!+…+1/n!+….Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim n, e1, ln = 1e1 = 1While 1 / n > 0.01l = 1For i = 1 To nl = l * iNextn = n + 1e1 = e1 + 1 / lEnd WhileLabel1.Text = e1End Sub6.右直角三角形Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim n, sLabel1.Text = ""n = Val(TextBox1.Text)For i = 1 To ns = ""Label1.Text &= Space(n - i)For j = 1 To is &= "*"NextLabel1.Text &= s & vbCrLfNextEnd Sub7.等腰三角形Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim n, sLabel1.Text = ""n = Val(TextBox1.Text)For i = 1 To nLabel1.Text &= Space(n - i)For j = 1 To 2 * i - 1s &= "*"NextLabel1.Text &= s & vbCrLfNextEnd Sub8.倒等腰三角形Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim n, sLabel1.Text = ""n = Val(TextBox1.Text)For i = n To 1 Step -1s = ""Label1.Text &= Space(n - i)For j = 2 * i - 1 To 1 Step -1s &= "*"NextLabel1.Text &= s & vbCrLfNextEnd Sub9.右上角的直角三角形Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim n, sLabel1.Text = ""n = Val(TextBox1.Text)For i = n To 1 Step -1s = ""Label1.Text &= Space(n - i)For j = i To 1 Step -1s &= "*"NextLabel1.Text &= s & vbCrLfNextEnd Sub10.菱形Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickLabel1.Text = ""For i = 1 To 6s = ""Label1.Text &= Space(i - 1)For j = 1 To 12s &= "*"NextLabel1.Text &= s & vbCrLfNextEnd Sub11.水仙花数字三位数字的个位数字的立方和等于该数字本身(1).判断输入的数字是否是水仙花数Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim s, a, b, cs = Val(TextBox1.Text)Label1.Text = ""a = s \ 100b = (s - a * 100) \ 10c = s Mod 10If a ^ 3 + b ^ 3 + c ^ 3 = s ThenLabel1.Text &= s & "是水仙花数"ElseLabel1.Text &= s & "不是水仙花数"End IfEnd Sub(2).找出所有的水仙花数Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim s, a, b, cLabel1.Text = "水仙花数是" & vbCrLfFor s = 100 To 999a = s \ 100b = (s - a * 100) \ 10c = s Mod 10If a ^ 3 + b ^ 3 + c ^ 3 = s ThenLabel1.Text &= s & vbCrLfNextEnd Sub12.完全数正整数的因数之和等于这个数(1).判断输入的数字是不是完全数Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim s, j, l, a(100)s = Val(TextBox1.Text)j = 1For i = 1 To s - 1If s Mod i = 0 Thena(j) = ij = j + 1End IfNextFor i = 1 To jl = l + a(i)NextIf l = s ThenLabel1.Text = s & "是完全数"ElseLabel1.Text = s & "不是完全数"End IfEnd Sub(2).找出1到n内的完全数,n 由用户输入Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim n, jn = Val(TextBox1.Text)Label1.Text = ""For p = 2 To nj = 0For i = 1 To p - 1If p Mod i = 0 Thenj = j + iEnd IfNextIf j = p ThenLabel1.Text &= p & " "End IfNextEnd Sub13.显示1,1,2,3,5,8,13,21…… F(i)=f(i-1)+ f(i-2)Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim f(30)f(1) = 1f(2) = 1For i = 3 To 30f(i) = f(i - 1) + f(i - 2)NextLabel1.Text = ""For i = 1 To 30Label1.Text &= f(i) & ","If i Mod 6 = 0 Then Label1.Text &= vbCrLfNextEnd Sub。
v b编程题及答案1. 在代码中引用一个控件时,应使用控件的(b)属性。
A.C ap t ionB.Na meC. TextD. Index2. 设变量X= 4, y =—1, a= 7, b =—8, 下面表达式(a)的值为“假"。
A x+a <= b—yB x > 0 A N D y < 0C.a = b O R x>yD. x+y > a+b AN D NOT (y < b)3. 表达式I nt(Rnd71)+10产生的随机整数范围是(C)。
A. (10, 80)B. (10, 81)C. [10, 80]D. [10, 81]4. 函数Sgn(3. 1416)的返回值是(C)。
A. —1B. 0C. 1D. 以上都不对5.67890属于(d)类型数据。
A. 整型B.单精度浮点数C.货币型D.长整型6. 下列变量名中正确的是(d)。
A. 3SB.PrintC. Sel ect M y NameD.Sel ect—l7. 下列赋值语旬(a)是有效的。
A. u m= u m—u mB.x+2 = x + 2C.x + y = u mD. l as t= y / 08. 以下的控件或方法具有输入和输出双重功能的为(b)。
A.PrintB. Text b oxC.O t ionb u ttonD.C h eck b o x9. 若要获得列表框中被选中的列表项的内容,可以通过访问(d)属性来实现。
()。
A.Na me B.Li t lndex C.Li t C ou nt D. Text10. 下列代码的运行结果为(b)。
Priv a t e S u b m a nd l—cl ick()D i m m(lO)For k=1 T o10m(k) = 11—kN ext kX = 5Print m(2 + m(x))End S u bA. 2B. 3C.4D. 5标准控件不包括()控件。
vb初级编程试题及答案一、选择题(每题2分,共20分)1. 在VB中,以下哪个关键字用于声明一个类?A. DimB. SubC. FunctionD. Class答案:D2. 如果一个变量在VB中被声明为Static,那么它的生命周期是多久?A. 只在程序运行期间B. 只在过程运行期间C. 直到程序结束D. 只在线程运行期间答案:C3. 在VB中,以下哪个不是基本数据类型?A. IntegerB. StringC. ObjectD. Float答案:C4. 使用哪个VB函数可以将字符串转换为数值?A. ValB. StrC. ChrD. Asc答案:A5. 在VB中,以下哪个控件用于显示单行文本?A. LabelB. TextBoxC. ComboBoxD. CheckBox答案:B6. 在VB中,以下哪个事件用于响应按钮点击?A. ClickB. LoadC. ChangeD. DblClick答案:A7. 在VB中,以下哪个属性用于设置控件是否可用?A. EnabledB. VisibleC. CaptionD. Text答案:A8. 在VB中,以下哪个方法用于在文本框中添加文本?A. AppendB. WriteC. PrintD. Add答案:B9. 在VB中,以下哪个循环结构用于重复执行代码直到条件满足?A. Do WhileB. ForC. For EachD. While答案:D10. 在VB中,以下哪个关键字用于创建一个数组?A. DimB. NewC. ArrayD. Create答案:A二、填空题(每题2分,共20分)11. 在VB中,使用________函数可以获取字符串的长度。
答案:Len12. 当需要在VB中创建一个自定义函数时,应使用________关键字。
答案:Function13. 在VB中,________事件用于响应文本框内容的变化。
答案:Change14. 要将一个变量的值传递给VB中的函数,应使用________关键字。
vb试题及答案基础一、选择题(每题2分,共20分)1. VB中,用于声明变量的关键字是:A. DimB. DeclareC. SetD. Const答案:A2. 在VB中,下列哪个选项是正确的数据类型?A. IntegerB. RealC. StringD. All of the above答案:D3. VB中,用于实现条件判断的语句是:A. If...Then...ElseB. For...NextC. Do...LoopD. While...Wend答案:A4. 下列哪个选项是VB中的过程?A. FunctionB. SubC. Both A and BD. None of the above答案:C5. VB中,用于实现循环的语句是:A. For...NextB. Do...LoopC. While...WendD. All of the above答案:D6. 在VB中,下列哪个选项是正确的数组声明?A. Dim arr(10)B. Dim arr(10) As IntegerC. Both A and BD. None of the above答案:C7. VB中,用于创建用户界面的控件是:A. LabelB. TextBoxC. ButtonD. All of the above答案:D8. 在VB中,下列哪个选项是正确的文件访问模式?A. Open For InputB. Open For OutputC. Open For AppendD. All of the above答案:D9. VB中,用于实现错误处理的语句是:A. On Error GoToB. On Error Resume NextC. On Error GoTo 0D. All of the above答案:D10. 在VB中,下列哪个选项是正确的事件处理?A. ClickB. DoubleClickC. MouseDownD. All of the above答案:D二、填空题(每题2分,共20分)1. VB中,声明全局变量的关键字是________。
实验4:编写一个程序。
要求在窗体内设置7个标签(Label)及7个文本框(TextBox),将每个标签的Text属性值设置为如下表达式。
在程序运行时,单击窗体空白区,可在对应的文本框中输出这些表达式的值。
1)8*3*6\22)7/6*3.2/2.15*(5.5+3.5)3)34\4+4.0^5/124)65\3 mod 3.4*fix(3.8)5)“abg”+”34” & “erert”6)true or not (8+3>=23)7)7>2 or 4<9实验目的:学习VB运算符的使用。
Public Class Form1Private Sub Form1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.ClickTextBox1.Text = 8 * 3 * 6 \ 2TextBox2.Text = 7 / 6 * 3.2 / 2.15 * (5.5 + 3.5)TextBox3.Text = 34 \ 4 + 4.0 ^ 5 / 12TextBox4.Text = 65 \ 3 Mod 3.4 * Fix(3.8)TextBox5.Text = """abg""" + """34""" & """erert"""TextBox6.Text = True Or Not (8 + 3)>= 23TextBox7.Text = 7 > 2 Or 4 < 9End SubEnd Class实验5:编写一个程序。
设a=2,b=3,c=4,d=5,S="ABCDEFGHI]K",求下列表达式的值:(1) 5+(a+b)2(2) cos(b)(sin(a)+1) (3) 8e3ln2(4) Left(S,4) (5) Mid(S, 3,4) (6) Instr(S, "EFG")(7) Lcase(Right(S, 5)) (8) Len(Mid((S, 3)实验目的:学习VB中函数的使用。
VB编程题及答案1定义一个下标上界为10整型数组,并用随机函数为其赋值(值处于[0,100]之间),计算数组中所有偶数的和。
Private Sub Command1_Click() RandomizeDim a%(10)Dim i%, s%For i = 0 To 10a(i) = 101 * Rnd()NextFor i = 0 To 10If a(i) Mod 2 = 0 Thens = s + a(i)End IfNextPrint "所有偶数的和为", s2设S=35,C=0.3,编写程序,计算并输出下面级数的部分和。
结果取小数点后面7位。
C/1!-C^3/3!+C^5/5!- …+(-1)^(S-1)*C^(2*S-1)/(2*S-1)!+ …参考答案如下:Private Sub Command1_Click()Dim n As IntegerDim x As Doublex = 0.3Dim item As DoubleDim sum As DoubleDim fac As DoubleFor n = 1 To 35fac = 1Dim i As IntegerFor i = 1 To 2 * n - 1fac = fac * iNextitem = (-1) ^ (n - 1) * x ^ (2 * n - 1) / facsum = sum + itemNextsum = Int(sum * 10000000 + 0.5) / 10000000MsgBox (sum)End Sub ' sum = 0.4794263定义一个下标上界为30的单精度数组,设置好其初值(值处于[20,90]),计算数组中所有元素的均值。
Dim i, sum, ave As IntegerDim a(30) As SingleFor i = 0 To 30a(i) = 20+Int(Rnd() * 71)NextFor i = 0 To 30sum = sum + a(i)Nextave = sum / 31print sum4 在窗体上放置文本框Text1、Text2,放置一个按钮Command1。
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)Caption4。
如果在窗体上已经创建了一个文本框对象TextI,可以通过 C 事件获得输入键值的ASCII码。
(A)Change (B)LostFocus(C) KeyPress (D)GotFocus5。
下面 A 是合法的变量名。
(A)X_yz (B)123ab。
(C) integer (D)X-Y6. 以下关系表达式中,其值为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=18。
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+l10.下列关于Do…Loop循环结构执行循环次数的描述正确的是 D 。
VB程序设计及参考答案一、单选题(共20分,每小题1分)1、要改变控件的宽度,应修改该控件的()属性。
(A)TOP (B)width (C)Left (D)Height2、将命令按钮Command1设置为不可见,应修改该命令按钮的()属性。
(A)Visible (B)Value (C)Caption (D)Enabled3、()对象具有clear方法。
(A)图片框(B)窗体(C)复选框(D)列表框4、启动VB后,就意味着要建立一个新()。
(A)窗体(B)文件(C)工程(D)程序5、下列()对象不具有Clear方法。
(A)列表框(B)组合框(C)剪贴框(D)图片框6、组合框有三种风格,它们由Style属性所决定,其中为简单组合框时,Style 属性值应为()(A)0 (B)1 (C)2 (D)37、下列可调整图片框的大小以适合图片的属性是()(A)Stretch (B)autosize (C)picture (D)oledropmode 8、要想清除文本框中的内容则可利用()进行。
(A)Caption (B)Text (C)Clear (D)Cls9、在文本框控件中将Text的内容全部显示为所定义的字符的属性是()。
(A)Password (B)PasswordChar(C)需要编程来实现(D)以上都不是10、Visual Basic是一种面向对象的程序设计语言,所采用的编程机制是()。
(A)从主程序开始执行(B)按过程顺序执行(C)事件驱动(D)按模块顺序执行11、下列四项中合法的变量名是()。
(A)a-bc (B)a_bc (C)4abc (D)integer12、无论何种控件,共同具有的属性是()(A)Text (B)Name (C)Caption (D)ForeColor13、有程序代码如下:Text1.Text = "Visual Basic程序设计"则Text1、Text ,和"Visual Basic程序设计"分别代表()。
1.输入3个数,输出最大的数2.有一元二次方程:aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根3.输入一个百分制的成绩,若大于等于60,则用消息框弹出,显示“恭喜!成绩通过!”,若小于60,则弹出消息框,显示“抱歉!成绩没有通过!”4.输入一年份,判断它是否为闰年,并显示有关信息。
(判断闰年的条件是:年份能被4整除但不能被100整除,或者能被400整除)5.输入学生的百分制成绩,转换输出为五级制成绩,90~100分转换为优秀,80~89转换为良好,70~79转换为中等,60~69转换为及格,0~60转换为不及格。
6.随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。
例如,产生246,输出是642。
7.输入两个整数,求它们的最大公约数。
8.编程求200--400范围内5的倍数或7的倍数之和。
(一个数如果同时是7和5的倍数,则只能加一次。
9.计算100~300之间所有能被3和7整除的数之和10.分别统计1-100中,满足3的倍数、7的倍数的数各有多少。
11.某次歌曲大奖赛,有7个评委。
如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分。
12.输入一串字符,统计其中字母A(不区分大小写)出现的次数。
13.我国目前有13亿人口,按人口年增长率0.8%计算,多少年后我国人口将超过26亿。
14.小猴有桃若干,第一天吃掉一半多一个;第二天吃剩下桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天只剩一个,问小猴原有桃多少?15.求100以内的素数16.百元买百鸡问题。
假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。
17.编程求斐波那契数列前11项。
(斐波那契数列:F(0)=f(1)=1, F(n)=F(n-1)+F(n-2) n>=2 )18.将输入的字符串以反序显示。
例如:输入“ASDFGT”,显示“TGFDSA”19.随机产生10个[30,100]内的整数,求最大值及所对应的下标20.随机产生10个[30,100]内的整数,求最大值、最小值和平均值。
二、编程题(本题20分,必做)新建工程,在窗体上创建两个命令按钮Command1、Command2,一个标签Label1。
窗体和控件的大小适当、布局合理,命名并保存窗体文件(5分),要求:(1)在属性窗口中设置两个命令按钮上的文字分别为“改变颜色”和“改变大小”,标签上文字为“计算机等级考试”,标签可以自动调整大小以显示所有文字(5分)。
(2)编写事件过程,运行程序后,单击“改变颜色”按钮,标签上的文字内容改为“颜色已经改变”,文字颜色改为蓝色(5分)。
(3)编写事件过程,运行程序后,单击“改变大小”按钮,标签上的文字大小改为28(磅)(5分)。
(20分)本题要求填写源程序,请将你解答本题所写的源程序粘贴到下面请单击按钮上载文件,将你创建的frm文件上载到服务器上Private Sub Command1_Click()Label1.ForeColor = &HFF0000Label1.Caption = "颜色已经改变"End SubPrivate Sub Command2_Click()Label1.FontSize = 28End Sub三、编程题(本题25分,第三、四、五题选做两道,多做按前两道算)新建工程,根据题目要求自行设计窗体界面,要求窗体及控件的大小适当、布局合理,命名并保存窗体文件(7分)。
编写事件过程并满足以下要求:(1)单击命令按钮1,产生100个不大于300的随机整数并显示在列表框1中(9分)。
(2)单击命令按钮2,在列表框2中显示上述随机整数中前20个奇数(9分)。
(提示:使用数组存储数据)(25分)本题要求填写源程序,请将你解答本题所写的源程序粘贴到下面请单击按钮上载文件,将你创建的frm文件上载到服务器上Dim a(100) As IntegerPrivate Sub Command1_Click()For i = 0 To 100a(i) = Int(Rnd * 100)List1.AddItem a(i), iEnd SubPrivate Sub Command2_Click()Dim s As Integers = 0For i = 0 To 100If a(i) Mod 2 = 1 ThenList2.AddItem a(i)s = s + 1If s >= 20 Then Exit ForEnd IfNext iEnd Sub四、编程题(本题25分,第三、四、五题选做两道,多做按前两道算)编写程序,求下面数列前30项的和。
一、选择题(1-30 题每小题1分,共30分,31-45题每小题2分,共30分,总计60分)要使窗体Form1的标题栏中显示“正在复制文件…”,正确的语句是:aA.Form1。
Caption=“正在复制文件…”B.Form1。
Title=“正在复制文件…”C.Form1。
Text=“正在复制文件…”D.Form1.名称=“正在复制文件…”如果要求设置定时器时间间隔为1秒钟,那么它的Interval属性值应该等于:aA.1000B.100C.10D.13、下列关于控件的基本操作中,错误的是A)当控件处于活动状态时,可以对控件进行缩放B)在设计阶段不能移动控件C) Visual Basic 6.0 允许对画好的控件进行复制和删除D)可以通过属性窗口改变控件的位置和大小4、用Visual Basic 开发应用程序的一般步骤有:①设置窗体和控件的属性、②编写代码、③建立用户界面,其中正确的顺序是:A) ①②③B)①③②C) ③②①D)③①②5、为使文本框只能显示不能输入,即只读,应设置文本框的属性是:cA.MaxLength设置为0B.Cancel设置为TrueC.Locked设置为True D.Read设置为True6、InputBox函数返回值的类型为。
BA.数值B.字符串C.变体D.数值或字符串(视输入的数据而定)7、为了把焦点移到某个指定的控件,所使用的方法是:AA.SetFocus B.Visible C.ReFresh D.GetFocus8、函数String(3,”str”)的功能是:bA.把数值型数据转换成字符串B.返回有3个字符串组成的字符串C.从字符串中第3个字符D.从字符串中第3个字符的位置开始取字符串9、双击窗体中的对象后,Visual Basic将显示的窗口是:cA.项目(工程)窗口B.工具箱C.代码窗口D.属性窗口10、用于获得字符串s最左边4个字符的函数是:aA.Left(s,4)B.Left(1,4)C.LeftStr(s)D.LeftStr(3,4)11、以下程序段的输出结果是:da=Sqr(3)b=Sqr(2)c=a>bPrint cA.-1 B.0 C.False D.True12、用下面语句定义的数组的元素个数是:cDim A (—4 to 6) As IntegerA.6 B.7 C.11 D.913、若x=—5,执行If x Then x=0 Else x=1的结果为:dA.实时错误B.编译错误C.x=1 D.x=0列程序段的循环结构执行后,i的输出值是:cFor i=1 To 10 Step 2y=y+iNext iPrint iA.25 B.10 C.11 D.因为y的初值不知道,所以不确定15、可以用作其他控件容器的控件有: cA.窗体、列表框、图像框B.窗体、文本框、框架C.窗体、框架、图片框D.窗体、标签、图片框16、以下不属于Visual Basic 支持的循环结构的是:dA.For …Next B.For Each …NextC.Do …Loop D.While …End17、下列可以打开立即窗口的操作是:DA.Ctrl+D B.Ctrl+E C.Ctrl+F D.Ctrl+G18、下列可作为Visual Basic变量名的是A)A_3 B)4A C)?xy D)Integer19、设a=8,b=5,执行语句Print a>b后,窗体上显示的是A)True B)False C)1 D)出错信息20、以下能够触发文本框Change事件的操作是A)文本框失去焦点B) 文本框获得焦点C) 设置文本框的焦点D)改变文本框的内容21、列表框图标的英文名称是A)ListBox B)ComboBoxC)Frame D)CommonDialog22、下列类型说明符中表示整型的是A) %B) !C) $ D) &23、执行下列语句a$ = "abcdefg”:Print Len(a$)后,在窗体上输出的结果是A) 1 B) 2 C)7 D) 1424、文本框不具有的属性是A) Caption B)text C) left D)font25、设a=6,则执行x=IIf(a〉5,1,2)后,x 的值为:A)1 B)2 C)5 D)026、语句Print 5/4*6\5 Mod 2的输出结果是A) 0B) 1C)2 D)327、滚动条控件的largeChange属性所设置的是A)滚动条所能表示的最小值B)滚动条所能表示的最大值C)单击滚动条中滚动框前面或后面的部位时,Value属性增加或减小的增量值D)单击滚动条两端的箭头时,Value属性增加或减小的增量值28、按钮控件数组元素是:cA.共享一个事件过程的B.只共享一个Click事件过程的C.共享该控件的所有事件过程D.各自有自己的部分事件过程有如下的记录类型Type studentid As Stringname As Stringage As IntegerEnd Type则正确引用该记录类型变量的代码是:BA.student。
一、选择题(将答案写在答题卡内)1.在Visual Basic中,Len("ABab河北")的值是()A.4 B. 6 C. 8 D.122.在Visual Basic中,当窗体被装载时触发的事件是()A.Unload B.Click C.Load D.DblClick3.Visual Basic中决定对象是否可见的属性是()A.Enabled B.See C. Name D.Visible4.在Visual Basic中,语句Mid("ABCDEFG", 2, 3) = "123"的输出结果是()A. FalseB. True C.A123EFG D. 1235.下面Visual Basic表达式不合法的是()A. "12"+12B. "ab"+"12"C."ab"+12D.Now+16.若要使命令按钮不可操作,要对()属性进行设制。
A.EnabledB.VisibleC.BackColorD.Caption 7.VisualBasic是一种面向对象的可视化程序设计语言,采取了()的编程机制。
A.事件驱动B.按过程顺序执行C.从主程序开始执行D.按模块顺序执行8.在设计阶段,当双击窗体上的某个控件时,所打开的窗口是()。
A.工程资源管理器窗口B.工具箱窗口C.代码窗口D.属性窗口9.语句Abs(-6^2)+Int(-6^2)的输出结果是()。
A.0B.1C.-1D.-7210.String(6,"124abc")的值是()。
A.124abcB.111111C.124D.abc11.设a=2,b=3,c=4,d=5,表达式a>b AND c<=d的值是()。
A.TrueB.FalseC.-1D.112.函数CINT(4.5)的值是()A.1B.2C.3D.413.用于去掉字符串右边的空格的函数是A.Ltrim( )B.Rtrim( )C.Left( )D.Instr( )14.设置控件背景颜色的属性名称是()A.LtrimB.BackcolorC.CaptionD.Load15.应用程序设计完成后,应将程序保存,保存的过程是()A.只保存窗体文件即可B.只保存工程文件即可C.先保存工程文件,之后保存窗体文件D.先保存窗体文件(或标准模块文件),之后还要保存工程文件16.任何控件都具有的属性是()A.Text B.Caption C.Name D.Forecolor17.决定控件上文字的字体、字形、大小及效果的属性是()A.Text B.Caption C.Name D.Font18.在窗体上建立了多个控件,如TEXT、LABEL1、COMMAND1,若要使程序一运行焦点就定位在COMMAND1控件上,应将COMMAND1控件的()设置为0A.Index B.Tabindex C.Tabstop D.Enabled19.命令按钮的标题文字由()属性来设置。
VB简介1、在以下有关对象属性的叙述中,不正确的是___________。
A、一个对象的属性可分为外观、行为若干类B、不同属性可能具有不同的数据类型C、一个对象的所有属性都可在属性窗口的列表中进行设置D、属性窗口中的属性列表既可按字母排序也可按类别排序2、Visual Basic中最基本的对象是___________,它是应用程序的基石,也是其他控件的容器。
A、文本框B、命令按钮C、窗体D、标签3、有程序代码“Text1.Text="Visual Basic"”,其中的Text1、Text和“Visual Basic”分别代表___________。
A、对象、值、属性B、对象、方法、属性C、对象、属性、值D、属性、对象、值4、用窗体的___________属性来设置窗体的标题。
A、CaptionB、StyleC、TextD、Name5、窗体上有一个文本框控件Text1,假设已存在三个整型变量a、b、c,且变量a的值为5,变量b的值为7,变量c的值为12。
以下的___________语句可以使文本框显示的容为:5+7=12。
A、Text1.T ext = a + b + cB、Text1.T ext = "a+b=c"C、Text1 = a & "+" & b & "=" & cD、Text1 = "a" & "+" & "b" & "=" & "c"6、如果在窗体上有命令按钮OK,在代码编辑窗口有与之对应的Cmd_Click()事件,则命令按钮的名称属性和Caption属性分别为_________。
A、OK、CmdB、Cmd、OKC、CmdOK、OKD、OK、CmdOK7、窗体Form1的名称属性是frm,它的Load事件过程名为___________。
1.输入3个数,输出最大的数2.有一元二次方程:aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根3.输入一个百分制的成绩,若大于等于60,则用消息框弹出,显示“恭喜!成绩通过!”,若小于60,则弹出消息框,显示“抱歉!成绩没有通过!”4.输入一年份,判断它是否为闰年,并显示有关信息。
(判断闰年的条件是:年份能被4整除但不能被100整除,或者能被400整除)5.输入学生的百分制成绩,转换输出为五级制成绩,90~100分转换为优秀,80~89转换为良好,70~79转换为中等,60~69转换为及格,0~60转换为不及格。
6.随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。
例如,产生246,输出是642。
7.输入两个整数,求它们的最大公约数。
8.编程求200--400范围内5的倍数或7的倍数之和。
(一个数如果同时是7和5的倍数,则只能加一次。
9.计算100~300之间所有能被3和7整除的数之和10.分别统计1-100中,满足3的倍数、7的倍数的数各有多少。
11.某次歌曲大奖赛,有7个评委。
如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分。
12.输入一串字符,统计其中字母A(不区分大小写)出现的次数。
13.我国目前有13亿人口,按人口年增长率0.8%计算,多少年后我国人口将超过26亿。
14.小猴有桃若干,第一天吃掉一半多一个;第二天吃剩下桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天只剩一个,问小猴原有桃多少?15.求100以内的素数16.百元买百鸡问题。
假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。
17.编程求斐波那契数列前11项。
(斐波那契数列:F(0)=f(1)=1,F(n)=F(n-1)+F(n-2) n>=2 )18.将输入的字符串以反序显示。
例如:输入“ASDFGT”,显示“TGFDSA”19.随机产生10个[30,100]内的整数,求最大值及所对应的下标20.随机产生10个[30,100]内的整数,求最大值、最小值和平均值。
21.随机产生10个[30,100]内的整数,求最小值及所对应的下标。
22.随机生成一个整型的二维数组,范围在[10,20]之间,以下三角形式输出该数组。
23.随机产生10个1~100的正整数放入数组,显示产生的数,求最大值、最小值、平均值。
24.利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出该矩阵所有数据之和25.已知有序数组a(),编程插入x(x的值为14)。
数组a中的元素分别为{12,6,4,89,75,63,100,20,31}。
26.编写一函数,计算Double类型一维数组所有元素的平均值。
27.用函数过程求表达式1+1/2+1/3+1/4+…+1/n的和.28.编一子过程ProcMin,求一维数组a中的最小值,子过程的形参自己确定。
29.编一个函数,求一维数组a中的最大值,函数的形参自己确定。
30.编写一个过程计算并输出区间[100,1000]内所有素数的和(要求判断素数使用过程(函数或子过程)来实现。
调用该过程。
(提示:只能被1和自身整除的自然数称为素数。
)(注:本答案第一行代码应在题目之后,自行调整)Private Sub Command11_Click()'1. 输入3个数,输出最大的数Dim max%X1 = Val(InputBox("input"))X2 = Val(InputBox("input"))x3 = Val(InputBox("input"))max = X1If max <= X2 Thenmax = X2End IfIf max <= x3 Thenmax = x3End IfMsgBox ("3个数之中的最大数max=" & max)End SubPrivate Sub Command12_Click()'2. '有一元二次方程:aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根a = Val(InputBox("input"))B = Val(InputBox("input"))c = Val(InputBox("input"))s = B ^ 2 - 4 * a * cIf a <> 0 ThenIf s = 0 ThenMsgBox ("两个相等实根")ElseIf s > 0 ThenMsgBox ("两个不相等实根")ElseIf s < 0 ThenMsgBox ("两个不相等虚根")End IfElseMsgBox (" 无解")End IfEnd SubPrivate Sub Command13_Click()'3. 输入一个百分制的成绩,若大于等于60,则用消息框弹出,显示"恭喜!成绩通过!",若小于60,则弹出消息框,显示"抱歉!成绩没有通过!"X = Val(InputBox("input"))If X >= 60 ThenMsgBox ("恭喜!成绩通过!")ElseMsgBox ("抱歉!成绩没有通过!")End IfEnd SubPrivate Sub Command14_Click()'4. 输入一年份,判断它是否为闰年,并显示有关信息。
(判断闰年的条件是:年份能被4整除但不能被100整除,或者能被400整除)yes = Val(InputBox("year"))If yes Mod 4 = 0 And yes Mod 100 <> 0 Or yes Mod 400 = 0 Then MsgBox (yes & "是闰年")ElseMsgBox (yes & "不是闰年")End IfEnd SubPrivate Sub Command15_Click()'5. 输入学生的百分制成绩,转换输出为五级制成绩,90~100分转换为优秀,80~89转换为良好,70~79转换为中等,60~69转换为及格,0~60转换为不及格。
score = Val(InputBox("input"))Select Case scoreCase Is >= 90MsgBox ("优秀")Case Is >= 80MsgBox ("良好")Case Is >= 70MsgBox ("中")Case Is >= 60MsgBox ("及格")Case ElseMsgBox ("不及格")End SelectEnd SubPrivate Sub Command16_Click()'6. 随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。
例如,产生246,输出是642。
a = "645"n = Len(a)For i = 1 To Int(n / 2)c = Mid(a, i, 1)Mid(a, i, 1) = Mid(a, n - i + 1, 1) Mid(a, n - i + 1, 1) = cNext iMsgBox (a)End SubPrivate Sub Command1_Click()'7. 输入两个整数,求它们的最大公约数m = Val(InputBox("input m值"))n = Val(InputBox("input n值"))If n > m Thent = nn = mm = tEnd Ifr = m Mod nDo While r <> 0m = nn = rr = m Mod nLoopMsgBox ("最大公约数=" & n)End SubPrivate Sub Command2_Click()'8. 编程求200--400范围内5的倍数或7的倍数之和。
(一个数如果同时是7和5的倍数,则只能加一次。
Dim sum1%, sum2%sum1 = 0: sum2 = 0For i = 200 To 400If i Mod 5 = 0 Thensum1 = sum1 + iElseIf i Mod 7 = 0 Thensum2 = sun2 + iEnd IfDebug.Print i, sum1, sum2Next iMsgBox ("5 的倍数之和sum=" & sum1)MsgBox ("7 的倍数之和sum=" & sum2)End SubPrivate Sub Command3_Click()'9. 计算100~300之间所有能被3和7整除的数之和Dim sum%sum = 0For i = 100 To 300If i Mod 3 = 0 And i Mod 7 = 0 Thensum = sum + iEnd IfNext iMsgBox ("sum=" & sum)End SubPrivate Sub Command4_Click()'10. 分别统计1-100中,满足3的倍数、7的倍数的数各有多少m = 0: n = 0For i = 1 To 100If i Mod 3 = 0 Thenn = n + 1ElseIf i Mod 7 = 0 Thenm = m + 1End IfNext iMsgBox ("3的倍数个数=" & n)MsgBox ("7的倍数个数=" & m)End SubPrivate Sub Command5_Click()'11. 某次歌曲大奖赛,有7个评委。
如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分Dim sum%, max%, min%sum = 0: max = 0: min = 999For i = 1 To 7X = Val(InputBox("input"))If max <= X Thenmax = XEnd IfIf min >= X Thenmin = XEnd Ifsum = sum + XNext iAvg = (sum - max - min) / 5MsgBox ("最高分=" & max)MsgBox ("最低分= " & min)MsgBox ("总和=" & sum)MsgBox ("平均分=" & Avg)End SubPrivate Sub Command10_Click()'12. 输入一串字符,统计其中字母A(不区分大小写)出现的次数。