二级vb上机考试题(通用5篇)
1.二级vb上机考试题 篇一
上机操作练习题
1.某数组有20个元素,其值为随机产生的两位整数。现要求将前10个元素与后10个元素对换。即第1个元素与第20个元素互换,第2个数与第19个元素互换,…,第10个元素与第11个元素互换。在窗体上输出数组原来各元素的值与对换后各元素的值。
Option explicit Dim a(1 to 20)as integer, I as integer, j as integer, t as integer Private Sub Form_Load()Show Print “原始数组是:” Randomize For i = 1 To 20
a(i)= Int(Rnd * 90)+ 10
Print a(i);If i Mod 10 = 0 Then Print Next i Print Print “现在数组是:” For i = 1 To 10
j = 211
a(k)= a(k + 1)
Next k
ReDim Preserve a(UBound(a)1 End If i = i + 1 Loop While(i <= UBound(a))If flag = False Then MsgBox n & “不在该数组中” Else Print “删除” & n & “后的数组是:” For i = 0 To UBound(a)Print a(i);Next i End If End Sub 3.数组a中存放着升序排列的数据,使用array赋值,将inputbox输入的新数插入到数组中,插入后数组仍有序。
注意:要求利用动态数组,能够实现多次插入 Private Sub Form_Load()Show n = 8: ReDim a(n)a = Array(5, 15, 23, 52, 68, 88, 90, 99)n = n + 1: ReDim Preserve a(n)m = InputBox(“请输入要插入的数据:”)For i = 1 To n1)Next k a(k)= m For i = 1 To n
Print a(i);Next i Print End Sub 4.6个评委为4位歌手打分,分数介于1-100之间。去掉一个最高分,一个最低分,求出每位选手的最后得分。将4位歌手得分从高到低排列输出,同时输出该选手的编号。
如:
歌手3 95分 歌手 1 87分 歌手 4 80分 歌手 2 70分
/ 19
Option Base 1
Private Type geshou
xuhao As String
fenshu(6)As Integer
score As Integer
pingjun As Integer End Type Dim singer(1 To 4)As geshou Private Sub Command1_Click()For i = 1 To 4 For j = 1 To 6
singer(i).fenshu(j)= Int(Rnd * 100)
singer(i).xuhao = “歌手” & i Next Next Call paixu End Sub
Private Sub paixu()Dim p As geshou For i = 1 To 4
For j = 1 To 5
For k = j To 6
If singer(i).fenshu(j)> singer(i).fenshu(k)Then
t = singer(i).fenshu(j)
singer(i).fenshu(j)= singer(i).fenshu(k)
singer(i).fenshu(k)= t
End If
Next
Next Next For i = 1 To 4 For j = 2 To 5
singer(i).score = singer(i).score + singer(i).fenshu(j)Next singer(i).pingjun = singer(i).score / 4 Next
For i = 1 To 3 For j = i To 4
If singer(i).score < singer(j).score Then
p = singer(i): singer(i)= singer(j): singer(j)= p
End If Next
/ 19
Next For i = 1 To 4 Print singer(i).xuhao & “得分:” & singer(i).pingjun Next End Sub Private Sub Form_Load()End Sub 10个评委给10个选手打分 Private Sub Form_Load()Show n = UBound(b)For i = 1 To 10
For j = 1 To 10
a(i, j)= Val(InputBox(“请第” & j & “位评委给第” & i & “位选手打分:”))Next j Next i For i = 1 To 10
max = a(i, 1): sum = 0
min = a(i, 1): ave = 0
For j = 1 To 10
If a(i, j)> max Then max = a(i, j)
If a(i, j)< min Then min = a(i, j)
sum = sum + a(i, j)
Next j
ave =(summin)/(n1
For j = i + 1 To n
If b(i)< b(j)Then
t = b(i): b(i)= b(j): b(j)= t
End If
Next j Next i Print “选手的得分由高到低为:” For i = 1 To 10
Print b(i);Next i End Sub 5.编写函数求一元二次方程ax2+bx+c=0的解。
注意:要求考虑方程有两相等实根、两不等实根和两个虚根的情况。Dim a As Single, b As Single, c As Single Dim s As Single a = InputBox(“请输入a”)
/ 19
b = InputBox(“请输入b”)c = InputBox(“请输入c”)s = b ^ 2Sqr(s))/ 2 * a End If End Sub 6.任意输入一组字符,统计出大写字母多少个,小写字母多少个,数字多少个?要求用过程实现。
Call tongji(a, n, m, o)Print “数字:” & n & Chr(13)& “小写:” & m & Chr(13)& “大写:” & o End Sub Private Sub tongji(a As String, n As Integer, m As Integer, p As Integer)For i = 1 To Len(a)If Asc(Mid(a, i, 1))> 47 And Asc(Mid(a, i, 1))< 58 Then
n = n + 1 ElseIf Asc(Mid(a, i, 1))> 96 And Asc(Mid(a, i, 1))< 123 Then
m = m + 1 ElseIf Asc(Mid(a, i, 1))> 64 And Asc(Mid(a, i, 1))< 91 Then
p = p + 1 End If Next End Sub 7.随机产生一个5*5的矩阵,将主对角线和次对角线元素都置为1,并求出矩阵的四周元素之和,显示在列表框中。
Option Base 1 Private Sub Form_Load()Dim a(5, 5)As Integer Dim s As Integer For i = 1 To 5 For j = 1 To 5
If i = j Or i = 6Asc(Mid(s1, i, 1))+ 64)ElseIf Asc(Mid(s1, i, 1))< 123 And Asc(Mid(s1, i, 1))> 96 Then convert = convert & Chr(1235: g = e
For j = 1 To n
If j > i Then
a(i, j)= 0
Else
If i = j Then
a(i, j)= 1
Else
a(i, j)= a(i1, ji + 1);String(2 *(i1)/ 2 To 1 Step(-1)
c = c + 1
s = Chr(64 + ii + c + 1);String(2 *(j1)/ 2 Else
x = x / 2 End If i = i + 1 Loop
ReDim Preserve a(UBound(a))If y < 0 Then For i = 1 To UBound(a)convert = convert & a(i)Next convert = “-” & convert Else For i = 1 To UBound(a)
/ 19
convert = convert & a(i)Next End If
End Function Private Sub Command1_Click()Dim y As Integer Text1.Text = “" y = InputBox(”请输入十进制数字“)Text1.Text = convert(y)
End Sub
Private Sub Form_Load()
End Sub 14.输入一个整数N,产生N个随机数(范围1—10*N),然后采用任何2种算法实现由小到大的排序。将排序前后的数据显示出来。
Option Base 1 Private Sub Command1_Click()Dim a()As Integer, n As Integer n = InputBox(”请输入数列项数“)ReDim a(n)For i = 1 To n
a(i)= Int(Rnd * 10 * n + 1)
Print a(i);Next Print ReDim Preserve a(n)For i = 1 To n1 For j = 1 To n2)+ fact(n2 s = s1 + s2: t = s2: s2 = s: s1 = t Next End Function
Private Sub Command2_Click()n = InputBox(”请输入n“)Print s(n)End Sub 17.编写2个函数,分别采用递归法和递推法求斐波纳契数列的第n个月的兔子数,n使用inputbox输入,调用函数的结果在窗体上显示。Private Sub Command1_Click()List1.Clear Dim i As Integer For i = Val(Text1.Text)To Val(Text2.Text)If isprime(i)= True Then
List1.AddItem(i)
c = c + 1
If i Mod 10 = 9 Then
/ 19
List1.Selected(c1 If n Mod i = 0 Then
isprime = False
Exit For End If Next End Function 18 Dim sum As Long Private Sub Command1_Click()
Dim i As Integer, j As Integer, a(40)As Long
a(1)= 1
a(2)= 1
For i = 3 To 40
a(i)= a(i2)
Next i
sum = 0
For j = 1 To 40
sum = sum + a(j)
Next j End Sub
Private Sub Command2_Click()
Open ”out18.txt“ For Output As #1
Print #1, ”数列1,1,2,3,5,8…的前四十项的之和是:“
Print #1, sum
Close #1 End Sub 1.百钱买百鸡
Option Explicit
Private Sub Command1_Click()Dim a As Integer, b As Integer For a = 1 To 34
For b = 1 To 20
If 3 * a + 5 * b +(100b)/ 3 = 100 Then
/ 19
Print a;
Print b;
Print 100b
End If
Next b Next a End Sub 2.分钱作业
Private Sub Command1_Click()Dim a As Single,b as single,c as single a = Text1.Text b = Fix(a / 100)Print ”100元:“;Print b c = ab * 50
b = Fix(c / 20)Print ”20元:“;Print b c = c0.05 * b b = Fix((c + 0.005)/ 0.02)Print ”0.02元:“;Print b c = c1
If a(i)= a(j)Then
GoTo aaa
End If
Next j
Next i For i = 1 To 10
Print a(i);Next i Print End Sub
Private Sub Command2_Click()Dim i As Integer, j As Integer, t As Integer For i = 1 To 9
For j = 1 + i To 10
If a(i)> a(j)Then
t = a(j)
a(j)= a(i)
a(i)= t
End If
Next j Next i For i = 1 To 10
Print a(i);Next i Print
End Sub
Private Sub Command3_Click()Dim i As Integer, j As Integer, t As Integer For i = 1 To 9
For j = 1 To 10c)> 10 ^(-5)i =(a + b)/ 2
If i ^ 2c = 0 Then
Exit Do
Else
a = i
End If Loop MsgBox(i)End Sub 7.闰年
Option Explicit
Private Sub 计算_Click()Dim i As Integer i = InputBox(”请输入一个年份“)If i Mod 4 = 0 And i Mod 400 = 0 Then
If i Mod 100 <> 0 Then
MsgBox ”NOT“
Else
MsgBox ”YES“
End If Else
MsgBox ”NOT“ End If
End Sub 8.三角
Option Explicit Private Sub Command1_Click()
/ 19
Dim a As Single Dim b As Single Dim c As Single Dim p As Single Dim s As Single
a = Text1.Text b = Text2.Text c = Text3.Text
p =(a + b + c)/ 2
s = Sqr((pb)* p +(p1
If n Mod i = 0 Then
MsgBox ”NOT“
Exit For
End If Next i If i = n Then
MsgBox ”YES“ End If End Sub
Private Sub Command2_Click()
Dim a As Boolean, n As Double, i As Double a = False n = InputBox(”请输入一个数:“)For i = 2 To n-1
If n Mod i = 0 Then
a = True
Exit For
End If Next i If a = True Then
/ 19
MsgBox ”NOT“ Else
MsgBox ”YES“ End If End Sub
Private Sub Command3_Click()Dim n As Double, i As Double n = InputBox(”请输入一个数:“)i = 2 Do While i < n
If n Mod i = 0 Then
MsgBox ”NOT“
Exit Do
End If i = i + 1 Loop If i = n Then
MsgBox ”YES“ End If End Sub
Private Sub Command4_Click()Dim n As Double, i As Double, sushu As Boolean n = InputBox(”请输入一个数:“)i = 2 sushu = True Do While i < n And sushu = True
If n Mod i = 0 Then
sushu = False
End If i = i + 1 Loop If sushu = True Then
MsgBox ”YES“ Else
MsgBox ”NOT" End If End Sub
/ 19
2.二级vb上机考试题 篇二
关键词:江苏计算机二级 (VC++) ,上机考试分析与策略
江苏计算机二级 (VC++) 上机考试, 主要是针对程序改错和类的编程进行考核, 程序改错考核的是学生对程序的理解和调试能力;而类的编程主要是考核学生对面向对象的编程能力。而这两类题的解答在笔者看来, 都有很多可以应对的技巧和策略, 可分别对其分析后, 进行归纳总结。
1 改错题
一般程序的错误分为两种, 一种是语法错误, 程序一开始编译时就能发现, 也比较容易改正;另一种是逻辑错误, 编译时不会报错, 但在运行时, 可能运行不出来, 或运行不出正确结果, 这时可以由运行的结果, 倒退回去找错, 看为什么会出现上述结果, 推算出错误之处予以改正。
1.1 改错题解题步骤
改错题首先要读题干, 读懂下面程序要实现什么功能。接下来读程序, 先别急着改错, 尽量弄懂程序如何实现上述功能, 各程序段分别做了哪些操作, 来实现以上功能。接下来才开始改程序, 看每个程序语句对完成上述功能所要完成的任务, 如果没有看懂的要再联系上下程序段看, 如果没有做到所要完成的任务, 再看应该怎么改, 改完整个程序后可以编译和运行, 也可以边改边编译或运行。
1.2 常见错误要点分析
1.2.1 预编译命令
(1) 包含库函数相应的头文件, 如果包含的头文件写错, 这时程序中头文件所在的相应库函数不能被识别而报错。
如:#i n c l u d e//改为#include
#include
(2) 宏定义不正确, 这时编译出错不是在宏定义, 而是在宏代换后的程序行。因为宏定义是预编译处理, 在程序编译前中作代换不作语法检查, 代换后编译时才作语法检查。
如:#define pi 3.14;//改为#define pi 3.14
1.2.2 变量
变量定义是否正确, 变量是否有正确的初始值。变量定义的位置决定了变量的作用域。变量只在其作用域有效。变量定义后如要参与运算, 变量需要给出正确的初始值。
上面和变量s给出了定义, 但没赋初值, 无法正确对数组元素进行求和。
1.2.3 数组
定义一维数组时数组长度要求为正整型常量, 定义二维数组时列数不能省略。数组中元素下标是否超界, 是数组元素使用时经常忽略的问题, 在编译时也并不对数组元素下标超界作语法检查, 但在运行时会报错。
如:int a[5]={1, 2, 3, 4, 5}, i;
for (i=0;i<=5;i++)
上面数组元素下标超界, 5个长度的数组没有元素a[5]。
1.2.4 函数
函数的原型声明是否与函数的定义对应。函数的定义如有返回值, 函数定义是否有正确的返回类型, 返回的是否为正确的结果表达式。函数如没有返回值, 返回类型是否为void。函数调用与函数定义是否对应, 函数调用的实参与函数定义的形参进行参数传递时是否匹配。
1.2.5 流程结构
程序的流程控制中注意区分if语句与while语句及for语句, if语句只作一次选择判断, 而while语句及for语句是做循环判断, 如果判断为非0即真, 执行循环体, 一直到循环判断为0, 才退出循环。另外要区别循环体中continue与break, continue是结束本次循环, 而break是退出所在的循环。
1.2.6 判断表达式
要关注选择或循环的判断表达式是否正确。判断表达式中要注意区分赋值号 (=) 与关系相等运算符 (==) 是否混淆;逻辑判断表达式中, ==与!=是否混淆, !运算是加还是不加, &&与||是否混淆。
1.2.7 指针
指针就是地址, 包括常量地址和指针变量。常量地址主要是指数组名。数组名是常量地址不能被重新赋值或做自加运算。一维数组名是数组第0个元素的地址。而二维数组名表示的是第0行的行地址。
指针变量包括指向数据类型变量的指针变量和行指针变量。指向数据类型变量的指针变量, 是否用同类型的变量或元素的地址赋值, 在其前加*表示指针指向的变量或元素。另外要区分指针变量还是指针指向变量的自加与自减。如*p++和 (*p) ++的区别, 前者是指针变量作后置++, 后者是指针变量指向的变量作后置++。行指针变量, 是否用相同列数的行地址赋值, 行指针前加*表示同行第0列元素的地址, 元素地址前加*表示元素。反过去的转换加&运算符。当函数返回类型是指针时, 要求认清返回的是否为正确的地址。
1.2.8 逻辑错误
逻辑错误, 在编译时不能被发现, 在运行时可能运行不出来或运行结果不对。改逻辑错误前一定先看清题目, 理解程序要实现什么功能, 再看程序, 理解程序的算法, 即程序是如何实现题目所要实现的功能, 再分析每一行代码进行改错。
2 类的编程
类的编程主要来源于面向对象的程序设计思想。定义的一个类表示的是某一类事物, 包含描述其静态属性的数据成员和动作行为的成员函数。用这个类来具体定义一个特定事物就是对象。这种类的对象, 则拥有类所描述的所有静态属性和动作行为。
2.1 类定义的一般思路
(1) 类中先定义私有数据成员, 再定义公有的成员函数, 每一个成员函数用一对{}括起来, 整个类用一对花括号括起来加分号结束。
(2) 类中的成员函数主要包含构造函数, 输出成员函数及功能成员函数, 功能成员函数需要掌握相应类型的一些常用算法, 如:数值求阶乘、数字与数字字符转换、数位分离、求素数、水仙数等, 一维数组的选择排序、二分查找法, 求最大值最小值等, 二维数组的左移和右移、对角线、外围元素等, 字符串的遍历、逆序、插入, 删除和找子串等。另外对于指针成员, 类中还需定义析构函数来释放指针指向的动态空间等。
(3) 主函数中根据构造函数的形参, 准备相应实参, 定义类的对象, 再通过对象来调用类定义的成员函数, 而对象成员函数中所操作的成员就是当前对象的成员。
2.2 不同类型成员类的编程
对于等级考试中类的编程框架, 一般比较固定, 先定义一个类, 在主函数中定义类的对象, 并调用对象的成员函数进行类的测试。类的定义中, 先写私有的数据成员, 再写公有的成员函数。公有成员函数一般包括构造函数, 输出函数和一至两个功能成员函数或辅助函数。功能成员函数或辅助函数因不同的题目和算法而不同;而对于构造函数和输出成员函数, 则可根据其不同类型的数据成员进行如下归纳。
2.2.1 数值类型变量成员
数据类型成员, 是单个变量做数据成员, 构造函数中形参直接为变量赋值, 但不是所有成员变量都能直接由构造函数赋值, 有些成员变量的值需要进行相应运算和操作才能被求值, 这时通常会用功能成员函数来实现相应成员变量的赋值。
2.2.2 数值型数组成员
构造函数一般用循环赋值, 一维的用一重循环给一维数组成员的元素赋值, 二维的用两重循环给二维数组成员的元素赋值。还有一些数组不是直接由构造函数赋值, 而是派生生成的, 利用成员函数给派生数组元素赋值。输出函数, 一维的用一个循环将一维数组成员的元素一行输出, 再换行;二维的外行循环体包含内列循环和换行语句, 将二维数组成员的元素按行输出。
2.2.3 数值型指针成员
构造函数中一般先用new数值类型[数组长度], 返回数组的首地址给指针成员赋值, 再用循环给数组元素赋值。指针成员的赋值也可以在成员函数中做。析构函数用delete[]指针。输出函数利用循环将指针指向的数组元素按行输出。
2.2.4 字符类型数组成员
构造函数用拷贝函数将形参数组的字符串整体拷贝给字符数组成员, 输出函数直接输出字符数组名, 可以将字符数组成员指向的字符串作整体输出。
2.2.5 字符类型指针成员
构造函数一般是先用new char[形参指针指向字符串的字符个数+1], 定义一个动态字符数组, 返回动态字符数组的首地址给字符指针成员, 再将形参指向的字符串用拷贝函数拷到字符指针指向的字符数组, 析构函数用delete[]指针, 释放指针指向的动态内存空间, 输出函数直接输出字符指针成员指向的字符串。
3 总结
通过归纳计算机二级VC++上机考试改错题的各种类型错误, 并对各种类型的数据成员进行类的编程, 可以有针对性地作一些相应的练习来加强上机应考的能力, 本文中所提到的一些策略, 希望能对上机考试的复习起到抛砖引玉之功效。
参考文献
[1]凌翌.计算机等级考试与高校计算机基础教学改革[J].计算机教育, 2010, 11.
[2]李联宁.计算机等级考试的研究与思考[J].计算机教育, 2011, 10.
[3]高校计算机等级考试的教学与思考[J].中国科技信息, 2005, 2.
[4]黄霞.独立学012院计算机文化基础教学改革探索[J].无线互联科技, 2012, 10.
3.计算机二级上机试题模拟43 篇三
1.基本操作题
在考生文件夹下有一个数据库文件“samp1.mdb”和一个图像文件“photo.bmp”,在数据库文件中已经建立了一个表对象“tStud”。请按以下操作要求,完成各种操作:
(1)设置“ID”字段为主键;
(2)设置“党员否”字段的默认值属性为是;
(3)设置“年龄”字段的有效性规则和有效性文本,具体规则是:输入年龄必须大于等于15并且小于等于30,有效性文本内容为:输入的年龄不在范围内,请重新输入;
(4)将学号为“20011002”学生的“照片”字段值设置为考生文件夹下的“photo.bmp”图像文件(要求使用“由文件创建”方式);
(5)将冻结的“姓名”字段解冻;
(6)将“tStud”表中的数据导出到文本文件中,并以“tStud.txt”文件名保存到考生文件夹下。
2.简单应用题
在考生文件夹下有一个数据库文件“samp2.mdb”,里面已经设计好表对象“tTeacher”、“tStud”、“tCourse”和“tGrade”,请按以下要求完成设计:
(1)创建一个查询,查找并显示“教师姓名”、“职称”、“课程名称”和“上课日期”四个字段的内容,所建查询命名为“qT1”;
(2)创建一个查询,根据教师姓名查找某教师的授课情况,显示“教师姓名”、“课程名称”和“上课日期”3个字段的内容,所建查询命名为“qT2”,当运行该查询时,应显示参数提示信息“请输入教师姓名”;
(3)创建一个查询,查找学生的课程成绩大于等于80且小于等于100的学生情况,显示“学生姓名”、“课程名称”和“成绩”3个字段的内容,所建查询命名为“qT3”;
(4)创建一个查询,统计各个年级不同课程的平均成绩,显示“年级”、“课程名称”和“平均成绩”,并按“年级”降序排列,所建查询命名为“qT4”。(假设“学生ID”字段的前4位代表年级)
3.综合应用题
在考生文件夹下有一个数据库文件“samp3.mdb”,里面已经设计好表对象“tStud”,同时还设计出窗体对象“fStud”。请在此基础上按照以下要求补充“fStud”窗体的设计:
(1)在窗体的窗体页眉节区中距左边0.4厘米、距上边1.2厘米处添加一个直线控件,控件宽度为10.5厘米,控件命名为“tLine”;
(2)将窗体中名称为“lTalbel”的标签控件上的文字颜色改为“蓝色”(蓝色代码为
16711680)、字体名称改为“华文行楷”、字体大小改为22;
(3)将窗体边框改为“细边框”样式,取消窗体中的水平和垂直滚动条、记录选择器、导航按钮和分隔线,保留窗体的关闭按钮;
(4)假设在“tStud”表中,“学号”字段的第5位和第6位编码代表该学生的专业信息,当这两位编码为“10”时表示“信息”专业,为其他值时表示“管理”专业。设置窗体中名称为“tSub”的文本框控件的相应属性,使其根据“学号”字段的第5位和第6位编码显示对应的专业名称;
(5)在窗体中有一个“退出”命令按钮,名称为“CmdQuit”,其功能为关闭“fStud”窗体。请按照VBA代码中的指示将实现此功能的代码填入指定的位置中。1.基本操作题(1)【解题步骤】
步骤1:打开“samp1.mdb”数据库窗口,选中“表”对象,右键单击“tStud”选择【设计视图】。步骤2:右键单击“ID”行选择【主键】。
(2)【解题步骤】
步骤1:单击“党员否”字段行任一位置。
步骤2:在“默认值”行输入“Yes”。
(3)【解题步骤】
步骤1:单击“年龄”字段行任一位置,在“有效性规则”行输入“>=15 And <=30”。步骤2:在“有效性文本”行输入“输入的年龄不在范围内,请重新输入”。
步骤3:单击工具栏中“保存”按钮。
(4)【解题步骤】
步骤1:单击菜单栏【视图】|【数据表视图】。
步骤2:右键单击学号为“20011002”学生的“照片”列选择【插入对象】,选中“由文件创建”,单击“浏览”按钮,在“考生文件夹”内选中要插入的图像“photo.bmp”,连续两次单击“确定”按钮。
(5)【解题步骤】
步骤1:单击菜单栏【格式】|【取消对所有列的冻结】。
步骤2:单击工具栏中“保存”按钮,关闭数据表视图。
(6)【解题步骤】
步骤1:右键单击“tStud”表选择【导出】。
步骤2:在“保存位置”找到考生文件夹并打开。
步骤3:在“文件名”行输入“tStud”,在“保存类型”下拉列表中选中“文本文件”,单击“导出”按钮,单击“下一步”按钮,选中“第一行包含字段名称”,单击“下一步”按钮,单击“完成”按钮。
2.简单应用题(1)【解题步骤】
步骤1:打开“samp2.mdb”数据库窗口,选中“查询”对象,单击“新建”按钮,选中“设计视图”,单击“确定”按钮。在“显示表”对话框分别双击表“tTeacher”和“tCourse”,关闭“显示表”对话框。
步骤2:分别双击“教师姓名”、“职称”、“课程名称”、“上课日期”字段。
步骤3:单击工具栏中“保存”按钮,另存为“qT1”。关闭设计视图。
(2)【解题步骤】
步骤1:选中“查询”对象,单击“新建”按钮,选中“设计视图”,单击“确定”按钮。在“显示表”对话框双击表“tTeacher”和“tCourse”,关闭“显示表”对话框。
步骤2:分别双击“教师姓名”、“课程名称”、“上课日期”字段。
步骤3:在“教师姓名”字段的“条件”行输入“[请输入教师姓名]”。
步骤4:单击工具栏中“保存”按钮,另存为“qT2”。关闭设计视图。
(3)【解题步骤】
步骤1:选中“查询”对象,单击“新建”按钮,选中“设计视图”,单击“确定”按钮。在“显示表”对话框双击表“tStud”、“tCourse”和“tGrade”,关闭“显示表”对话框。
步骤2:分别双击“学生姓名”、“课程名称”、“成绩”字段。
步骤3:在“成绩”字段的“条件”行输入“>=80 And <=100”。
步骤4:单击工具栏中“保存”按钮,另存为“qT3”。关闭设计视图。
(4)【解题步骤】
步骤1:选中“查询”对象,单击“新建”按钮,选中“设计视图”,单击“确定”按钮。在“显示表”对话框分别双击表“tStud”、“tCourse”和“tGrade”,关闭“显示表”对话框。
步骤2:在“字段”行第一列输入“年级:Left([tStud]![学生ID],4)”,在“排序”行下拉列表中选中“降序”,分别双击“课程名称”、“成绩”字段。
步骤3:单击菜单栏【视图】|【总计】,在“成绩”字段的“总计”行下拉列表中选中“平均值”,在“成绩”字段的“字段”行前面输入“平均成绩:”字样,在“年级”和“课程名称”字段的“总计”行下拉列表中选中“分组”。
步骤4:单击工具栏中“保存”按钮,另存为“qT4”。关闭设计视图。
3.综合应用题(1)【解题步骤】
步骤1:打开“samp3.mdb”数据库窗口,选中“窗体”对象,右键单击“fStud”选择【设计视图】。
步骤2:选中工具箱中“直线”控件,单击窗体页眉节区适当位置。
步骤3:右键单击“直线”控件选择【属性】,在“名称”行输入“tLine”,分别在“左边距”,“上边距”和“宽度”行输入“0.4cm”,“1.2cm”和“10.5cm”。关闭属性界面。
(2)【解题步骤】
步骤1:右键单击标签控件“lTalbel”选择【属性】,在“前景色”行输入“16711680”。步骤2:分别在“字体名称”和“字号”行右侧下拉列表中选中“华文行楷”和“22”。关闭属性界面。
(3)【解题步骤】
步骤1:右键单击“窗体选择器”选择【属性】。
步骤2:分别在“边框样式”、“滚动条”、“记录选择器”、“导航按钮”、“分隔线”、“关闭按钮”行右侧下拉列表中选中“细边框”、“两者均无”、“否”、“否”、“否”、“是”,关闭属性界面。
(4)【解题步骤】
步骤1:右键单击文本框“tSub”选择【属性】。
步骤2:在“控件来源”行输入“=IIf(Mid([学号],5,2)=“10”,“信息”,“管理”)”,关闭属性界面。
(5)【解题步骤】
步骤1:右键单击“退出”命令按钮选择【事件生成器】,在空行内输入代码:*****Add*****
DoCmd.Close
*****Add*****
步骤2:关闭界面。
4.二级vb上机考试题 篇四
1.基本操作题
在考生文件夹下,“samp1.mdb”数据库文件中已建立表对象“tStud”。试按以下操作要求,完成表的编辑修改:
(1)将“编号”字段改名为“学号”,并设置为主键;
(2)设置“入校时间”字段的有效性规则为2005年之前的时间(不含2005年);
(3)删除表结构中的“照片”字段;
(4)删除表中学号为“000003”和“000011”的两条记录;
(5)设置“年龄”字段的默认值为23;
(6)完成上述操作后,将考生文件夹下文本文件“tStud.txt”中的数据导入并追加保存在表“tStud”中。参考答案:
1.基本操作题
【考点分析】本题考点:设置主键;字段的有效性规则、默认值等字段属性的设置;删除字段;删除记录;导入表。
(1)【解题步骤】
步骤1:打开“samp1.mdb”数据库窗口,选中“表”对象,右键单击“tStud”选择【设计视图】。
步骤2:将“字段名称”列的“编号”改为“学号”。
步骤3:右键单击“学号”行选择【主键】。
(2)【解题步骤】
步骤1:单击“入校时间”字段行任一点。
步骤2:在“有效性规则”行输入“<#2005-1-1#”。
(3)【解题步骤】
步骤1:右键单击“照片”字段选择【删除行】,在弹出的对话框中单击“是”按钮。
步骤2:单击工具栏中“保存”按钮。
(4)【解题步骤】
步骤1:单击菜单栏【视图】|【数据表视图】。
步骤2:选中学号为“000003”的数据行,右键单击该行选择【删除记录】,在弹出对话框中单击“是”按钮。步骤3:选中学号为“000011”的数据行,右键单击该行选择【删除记录】,在弹出对话框中单击“是”按钮。步骤4:单击工具栏中“保存”按钮。
(5)【解题步骤】
步骤1:单击菜单栏【视图】|【设计视图】。
步骤2:单击“年龄”字段行任一点,在“默认值”行输入“23”。
步骤3:单击工具栏中“保存”按钮,关闭设计视图。
(6)【解题步骤】
步骤1:单击菜单栏【文件】|【获取外部数据】|【导入】,找到并打开“考生文件夹”,在“文件类型”下拉列表中选中“文本文件”,选中“tStud.txt”文件,单击“导入”按钮。
步骤2:单击“下一步”按钮,选中“第一行包含字段名称”复选框,单击“下一步”,选中“现有的表中”单选按钮,在右侧下拉列表中选中“tStud”,单击“下一步”按钮,单击“完成”按钮。[page]
2.简单应用题
考生文件夹下存在一个数据库文件“samp2.mdb”,里面已经设计好三个关联表对象“tStud”、“tCourse”和“tScore”。此外,还提供了窗体“fTest”和宏“mTest”,试按以下要求完成设计:
(1)在创建一个选择查询,查找年龄大于25的学生的“姓名”、“课程名”和“成绩”三个字段内容,所建查询命名为“qT1”;
(2)创建生成表查询,组成字段是没有书法爱好学生的“学号”、“姓名”和“入校年”三列内容(其中“入校年”考试吧:一个神奇的考试网站。
数据由“入校时间”字段计算得到,显示为四位数字年的形式),生成的数据表命名为“tTemp”,所建查询命名为“qT2”;
(3)补充窗体“fTest”上“test1”按钮(名为“bt1”)的单击事件代码,实现以下功能:
打开窗体,在文本框“tText”中输入一段文字,然后单击窗体“fTest”上“test1”按钮(名为“bt1”),补充代码设置窗体上标签“bTitle”的标题为文本框“tText”输入内容与文本串“等级考试测试”的连接并消除连接串的前导和尾随空白字符。
注意:不允许修改窗体对象“fTest”中未涉及的控件和属性;只允许在“*****Add1*****”与“*****Add1*****”之间的空行内补充语句、完成设计。
(4)设置窗体“fTest”上“test2”按钮(名为“bt2”)的单击事件为宏对象“mTest”。
参考答案:
2.简单应用题
【考点分析】
本题考点:创建选择查询、生成表查询;窗体中命令按钮控件属性的设置。
(1)【解题步骤】
步骤1:打开“samp2.mdb”数据库窗口,选中“查询”对象,单击“新建”按钮,选中“设计视图”,单击“确定”按钮。在“显示表”对话框中双击表“tStud”、“tCourse”、“tScore”,关闭“显示表”对话框。
步骤2:分别双击“姓名”、“课程名”、“成绩”、“年龄”字段。
步骤3:在“年龄”字段的“条件”行输入“>25”,单击“显示”行取消该字段的显示。
步骤4:单击工具栏中“保存”按钮,另存为“qT1”。关闭设计视图。
(2)【解题步骤】
步骤1:选中“查询”对象,单击“新建”按钮,选中“设计视图”,单击“确定”按钮。在“显示表”对话框双击表“tStud”,关闭“显示表”对话框。
步骤2:单击菜单栏【查询】|【生成表查询】,在弹出的对话框中输入“tTemp”,单击“确定”按钮。步骤3:分别双击“学号”、“姓名”字段将其添加到“字段”行。
步骤4:在“字段”行的下一列输入“入校年:Year([入校时间])”。
步骤5:双击“简历”字段将其添加到“字段”行,在“简历”字段的“条件”行输入“not like “*书法*””,单击“显示”行取消“简历”字段的显示。
步骤6:单击工具栏中“保存”按钮,另存为“qT2”,如图8所示。关闭设计视图。
图8
(3)【解题步骤】
步骤1:选中“窗体”对象,右键单击“fTest”选择【设计视图】。
步骤2:右键单击“test1”选择【事件生成器】,空行内输入代码:
*****Add1*****
bTitle.Caption=Trim(me!tText+“等级考试测试”)
*****Add1*****
(4)【解题步骤】
步骤1:右键单击“test2”选择【属性】。
步骤2:单击“事件”选项卡,在“单击”行右侧下拉列表中选中“mTest”,关闭属性界面。
步骤3:单击工具栏中“保存”按钮,关闭设计视图。[page]
3.综合应用题
考生文件夹下存在一个数据库文件“samp3.mdb”,里面已经设计好表对象“tEmployee”和查询对象“qEmployee”,同时还设计出以“qEmployee”为数据源的报表对象“rEmployee”。试在此基础上按照以下要求补充报表设计:
(1)在报表的报表页眉节区位置添加一个标签控件,其标题显示为“职员基本信息表”,并命名为“bTitle”;
(2)将报表主体节区中名为“tDate”的文本框显示内容设置为“聘用时间”字段值;
(3)在报表的页面页脚区添加一个计算控件,以输出页码。计算控件放置在距上边0.25厘米、距左侧14厘米位置,并命名为“tPage”。规定页码显示格式为“当前页/总页数”,如1/20、2/20、…、20/20等。
注意:不允许修改数据库中的表对象“tEmployee”和查询对象“qEmployee”;不允许修改报表对象“rEmployee”中未涉及的控件和属性。
参考答案:
3.综合应用题
【考点分析】
本题考点:在报表中添加标签、文本框控件及其控件属性的设置。
(1)【解题步骤】
步骤1:打开“samp3.mdb”数据库窗口,选中“报表”对象,右键单击“rEmployee”选择【设计视图】。步骤2:选中工具箱中“标签”控件按钮,单击报表页眉节区适当位置,然后输入“职工基本信息表”,单击报表任一点。
步骤3:右键单击“职工基本信息表”标签选择【属性】,在“名称”行输入“bTitle”,关闭属性界面。
(2)【解题步骤】
步骤1:右键单击“tDate”文本框选择【属性】。
步骤2:在“控件来源”行右侧下拉列表中选中“聘用时间”字段,关闭属性界面。
(3)【解题步骤】
步骤1:选中工具箱中“文本框”控件,单击报表页面页脚节区任一点,弹出“Text”标签和“未绑定”文本框,选中“Text”标签,然后按下“Del”键将“Text”标签删除。
步骤2:右键单击“未绑定”文本框选择【属性】,弹出属性对话框。选中“全部”选项卡,在“名称”行输入“tPage”,分别在“上边距”和“左边距”输入“0.25cm”和“14cm”。单击“控件来源”行输入“=[Page]&“/”&[Pages]”,关闭属性界面。
5.计算机二级VB考试题及答案 篇五
计算机二级VB考试题及答案
1.设有如下程序段:
x=2
For c=1 To 4 Step 2
x=x+c
Next c
运行以上程序后,x的值是(A)(单)
A.6
B.7
C.8
D.9
2.以下叙述中错误的是(A)(单)
A.在KeyPress事件过程中不能识别键盘键的按下与释放
B.在KeyPress事件过程中不能识别回车键
C.在KeyDown和KeyUp事件过程中,从键盘输入的字母“A”和字母“a”对应的KeyCode视作相同的字母
D.在KeyDown和KeyUp事件过程中,从大键盘上输入的“1”和从右侧小键盘上输入的“1”被视作不同的字符
3.执行如下两条语句,窗体上显示的是(C)(单)
A=9.8596
Print Format(a,“000.00”)
A.0,009.86
B.9.86
C.009.86
D.0,009.86
4.在窗体上画一个名称为CommandDialog1 的通用对话框,一个名称为Command1的命令按钮。然后编写如下事件过程:
Private Sub Command1_Click( )
CommonDialog1.FileName =“”
CommonDialog1.Filter=“All file|*.*|(*.Doc)|*.Doc|(*.Txt)|*.Txt”
CommonDialog1.FilterIndex=1
CommonDialog1.DialogTitle=“VBTest”
CommonDialog1.Action=1
End Sub
对于这个程序,以下叙述中错误的是(D)(单)
A.该对话框被设置为“打开”对话框
B.在该对话框中指定的文件名为空
C.该对话框的标题为VBTest
D.在该对话框中指定的默认文件类型为文本文件(*.Txt)
5.设一个工程由两个窗体组成,其名称分别为Form1和Form2,在Form1上有一个名称为Command1的命令按钮。窗体Form1的程序代码如下:
Private Sub Command1_Click( )
Dim a As Integer
a=10
Call g(Form2,a)
End Sub
Private Sub g(f As Form,x As Integer)
y=Iif(x>10,100,-100)
f.Show
f.Caption=y
End Sub
运行以上程序,正确的结果是(B)(单)
A.Form1的Caption属性值为100
B.Form2的Caption属性值为-100
C.Form1的Caption属性值为-100
D.Form2的Caption属性值为100
6.在窗体上画一个名称为Command1的命令按钮,并编写如下程序:
Private Sub Command1_Click( )
Dim x As Integer
Static y As Integer
x=10
y=5
Call f1(x,y)
Print x,y
End Sub
Private Sub f1(ByRef x1 As Integer, y1 As Integer)
x1=x1+2
y1=y1+2
End Sub
程序运行后,单击命令按钮,在窗体上显示的内容是(D)(单)
A.10 5
B.12 5
C.10 7
D.12 7
7.Option Base 1
Private Sub Command1_Click( )
Dim a(10) As Integer
Dim n As Integer
n=3
If n<10 Then
Call GetArray(a,n)
End If
End Sub
Private Sub GetArray(b( ) As Integer,n As Integer)
Dim c(10) As Integer
j=0
For t=1 To n
b(t)=Rnd*100
If b(t)/2=b(t)2 Then
j=j+1
c(j)=b(t)
End If
Next t
Print j
End Sub
以下叙述中错误的是(C)(单)
A.数组b中的数范围为0-100
B.c数组下标的下界从1开始
C.GetArray过程的参数n是按值传送的
D.语句If b(t)/2=b(t)2 Then 是判断数组b中元素的值是否为整数
8.在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Option Base 1
Private Sub Command1_Click( )
Dim a
a= Array(1,2,3,4,5)
For c=1 To Ubound(a)
a(c) = a(c)+c-1
Next c
Print a(3)
End Sub
程序运行后,单击命令按钮,则在窗体上显示的内容是(B)(单)
A.4
B.5
C.6
D.7
9.阅读程序:
Option Base 1
Private Sub Form_Click( )
Dim arr
Dim Sum%
Sum = 0
arr = Array(1, 3, 5, 7, 9)
For t = 1 To 5
Sum = Sum + arr(t)
Next t
Print Sum
End Sub
程序运行后,单击窗体,输入结果为(B)(单)
A.5
B.9
C.25
D.15
10.在窗体上画一个名称为File1的文件列表框,并编写如下程序:
Private Sub File1_DblClick( )
x=Shell(File1.FileName,1)
End Sub
以下关于该程序的叙述中,错误的是(A)(单)
A.x没有实际作用,因此可以将该语句写为:Call Shell(File1,FileName,1)
B.双击文件列表框中的文件,将触发该事件过程
C.要执行的文件的名字通过File1.FileName指定
D.File1中显示的是当前驱动器、当前目录下的文件
11.在窗体上画一个名称为Label1、标题为“VisualBasic考试”的标签,两个名称分别为Command1和Command2、标题分别为“开始”和“停止”的命令按钮,然后画一个名称为Timer1的.计时器控件,并把其Interval属性设置为500。编写如下程序:
Private Sub Form_Load( )
Timer1.Enabled=False
End Sub
Private Sub Command1_Click( )
Timer1.Enabled=True
End Sub
Private Sub Timer1_Timer( )
If Label1.Left< Form1.Width Then
Label1.Left = Label1.Left + 20
Else
Label1.Left=0
End If
End Sub
程序运行后,单击“开始”按钮,标签在窗体中移动。 对于这个程序,以下叙述中错误的是(A)(单)
A.标签的移动方向为自右向左
B.单击“停止”按钮后再单击“开始”按钮,标签从停止的位置继续移动
C.当标签全部移出窗体后,将从窗体的另一端出现并重新移动
D.标签按指定的时间时隔移动
12.规范地说,VB是一种(A)的开发工具(单)
A.面向对象
B.面向用户
C.面向屏幕
D.面向窗体
13.VB6设计界面包含多个视窗,控制这些视窗显示或关闭的命令包含在(D)下拉菜单中(单)
A.文件
B.工程
C.编辑
D.视图
14下面(D)操作不是激活或显示属性列表框的操作(单)
A.按快捷键F4
B.点击工具栏中的“属性列表框”按钮
C.选择“视图”下拉菜单的“属性窗口”项
D.双击窗体中的某一对象
15.Visual Basic程序中分隔各语句的字符是(B)(单)
A.′
B.:
C.
D._
16.假定窗体的名称(Name属性)为Form1,则把窗体的标题设置为“VB Test”的语句为(B)(单)
A.Form1 = “VB Test”
B.Caption =“VB Test”
C.Form1.Text = “VB Test”
D.Form1.Name =“VB Test”
17.下列不能打开代码窗口的操作是(D)(单)
A.双击窗体上的某个控件双击
B.双击窗体
C.按F7键
D.单击窗体或控件
18.Visual Basic程序中语句行的续行符是(D)(单)
A.′
B.:
C.
D. _
19.Visual Basic程序中的注释所使用的字符是(A)(单)
A.′
B.:
C.
D._
20.下列说法中正确的是:为了保存一个Visual Basic应用程序,应当(D)(单)
A.只保存窗体模块文件(.frm)
B.只保存工程文件(.vbp)
C.分别保存工程文件和标准模块文件(.bas)
【二级vb上机考试题】推荐阅读:
计算机二级C语言上机题型总结06-22
信息技术部门上机考试06-28
计算机上机考试试题07-01
二级司炉考试题07-07
上机操作练习题07-26
二叉树上机实验总结07-27
概率论上机实验报告08-17
simtrade上机实习报告09-14
excel基础上机操作题09-14