江苏省计算机二级VB试题库.pdf

上传人:tbuqq 文档编号:4437075 上传时间:2019-11-09 格式:PDF 页数:128 大小:917.38KB
返回 下载 相关 举报
江苏省计算机二级VB试题库.pdf_第1页
第1页 / 共128页
亲,该文档总共128页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《江苏省计算机二级VB试题库.pdf》由会员分享,可在线阅读,更多相关《江苏省计算机二级VB试题库.pdf(128页珍藏版)》请在三一文库上搜索。

1、一选择题 1窗体上有多个控件,在Form_Activate() 事件过程中添加_ B_语句,就可确保每次运行 程序时,都将光标定位在文本框Text1 上。 AText1Text=“ BText1SetFocus C Form1SetFocus DText1Visible=True 2语句 Print “5*20“ 输出的结果是_C_。 A“5*20“ B出现错误信息 C 5*20 D100 3不能打开代码窗口的操作是_B_。 A双击窗体设计器的任何地方 B按下 F4 键 C单击工程窗口中的“查看代码”按钮 D选择“视图”下拉菜单中的“代码窗口” 4在 VB 中可以作为容器的是_B_。 AFor

2、m、TextBox、PictureBox BForm、PictureBox 、Frame CForm、TextBox、Label DPictureBox 、TextBox、ListBox 5能被对象所识别的动作与对象可执行的活动分别称为对象的_D_。 A方法、事件B过程、方法 C事件、属性D事件、方法 6计算下面的表达式,其值是_B_。 CInt(4.5) * Fix(-3.81) + Int(4.1) * (5 Mod 3) A-7 B-4 C -8 D6 7以下有关对象属性的说法中正确的是_D_ 。 A对象所有的属性都罗列在属性窗口列表中 B不同对象不可能有同名属性 C不同对象的同名属性取

3、值一定相同 D对象的某些属性既可在属性窗口中设置,也可通过程序代码设置或改变 8要使定时器控件可以使用,需设置的属性是_B_。 A.Interval B. Enabled C. Value D. Text 9在某过程中已说明变量a 为 Integer 类型、变量s 为 String 类型,过程中的以下四组语句中,不 能正常执行的是 _D_。 As=2*a+1 Bs=“237“ Len(Str(a);Len(CStr(a) 后,在窗体上看到的是 C 。Str(a) a 若为正数,则保留符号位,12 即为 +12,是三位; cstr 正数不保留符号位。 A4 2 3 B2 3 2 C 4 3 2

4、D2 2 3 27要将焦点设置在某个控件上,以下四个选项中正确的是_D_。 A只能使用鼠标直接点击该控件 B只能使用Tab 键将焦点移到该控件 C只能在程序中调用该控件的SetFocus方法 DA、B、 C 三选项中涉及的方法均可使用 28若需要在同一窗体内安排两组相互独立的单选按钮(OptionButton ) ,可使用 _C_控件做 容器将它们分开。 TextBox PictureBox Image Frame A或B或 C或D或 29若需要在同一窗体内安排两组相互独立的单选按钮(0ptionButton) ,可使用 _C_控件将 它们分隔开。 TextBox PictureBox Ima

5、ge Frame ABCD 30下列事件过程 Private Sub Command1_Click() MsgBox Str(123 +456) End Sub 运行时,在输出对话框中显示的提示信息是_D_。 A. 123+123 B. “246“ C.显示出错信息D. 579 31能被对象所识别的动作与对象可执行的活动分别称为对象的_B_。 A方法、事件B事件、方法 C事件、属性D过程、方法 32用窗体的 _C_属性来设置窗体的标题。 Astyle BText C Caption DName 33执行以下语句时,会出现错误提示的是_A_ 。 APrint “2b3“ + 12.5 BPrin

6、t “12.5“ m+n ChDrive “C:“ A1 B3 C2 D4 152数学表达式 yx e x 30sin 3 对应的 VB 表达式是 _。 AAbs(ex+Sin(30)/Sqr(x+y) BAbs(Exp(x)+Sin(30)3)/Sqr(x+y) CAbs(ex+Sin(30*3.14159/180)3/Sqr(x+y) DAbs(Exp(x)+Sin(30*3.14159/180)3/Sqr(x+y) 153VB6 0 的控件有 _ 三类。 A标准控件、对象控件和Windows 控件 B内部控件、 ActiveX 控件和可插入的对象 C数据库控件、Activex 控件和可插

7、入的对象 D内部控件、 ActiveX控件和图形控件 154以下说法中,错误的是。 A使用缺省Preserve关键字的ReDim 语句可以改变数组的维数和大小 BReDim 语句只能出现在过程中 C使用 ReDim 语句重新定义的动态数组,只能比原数组大 D使用 ReDim 语句可以对动态数组的所有元素进行初始化 155若在模块中用Private Function Fun(A As Single, B As Integer) As Integer定义了函数Fun。调用 函数 Fun 的过程中定义了I,J 和 K 三个 Integer 型变量,则下列语句中不能正确调用函数Fun 的语 句是 _。

8、 AFun 3.14, J BCall Fun(I, 365) CFun (I), (J) DK=Fun(“24“, “35“) 156若文件“ D:abc.txt ”不存在,以下打开该文件的语句中,错误的是。 AOpen “d:abc.txt“ For Output As #1 BOpen “d:abc.txt“ For Input As #1 COpen “d:abc.txt“ For Append As #1 DOpen “d:abc.txt“ For Binary As #1 157下列定义Sub 过程的语句中正确的语句是_。 Private Sub Test(St As String

9、*8) Private Sub Test(Sarray() As String*5) Private Sub Test(Sarray() As String) Private Sub Test(St As String) AB CD 158假设有一个菜单项,其名为 Menu1 , 为了在运行时该菜单项失效(变灰), 应使用的语句是_ _。 AMenu1.Enabled = False B Menu1.Visible = True CMenu1.Visible = False DMenu1.Enabled = True 159以下对数组参数的说明中,错误的是_。 A在过程中可以用Dim 语句对形

10、参数组进行声明 B形参数组只能按地址传递 C实参为动态数组时,可用Redim 语句改变对应形参数组的维界 D只需把要传递的数组名作为实参,即可调用过程 160下列选项中, 所包含的所有表达式能够将两位整数X 的个位数与十位数对调(例如将78 转换 为 87)的是 _。 Val(Right(X, 1) Next i Print Next j End Sub 13执行下面的程序,在窗体上显示的输出结果的第一行是( 30),第三行是( 31) 。 Private Sub Command1_Click() Dim x As Integer, y As Integer, m As Integer y =

11、 2 For x = 1 To 8 Step y m = x + y Call sub1(m, x) Print m; x Next x End Sub Private Sub sub1(ByVal a As Integer, b As Integer) a = a + b b = b + 1 End Sub 14 执行下面的程序后,a(1, 3)的值是(32), a(2, 2)的值是(33) , a(3, 1)的值是(34) 。 Private Sub Form_Click() Dim a(3, 3) As Integer, i As Integer Dim j As Integer, k

12、As Integer, n As Integer n = 9 For k = 5 To 1 Step -1 If k = 3 Then For i = 1 To 6 - k a(k - 3 + i, i) = n n = n - 1 Next i Else For i = 1 To k a(k - i + 1, 3 - i + 1) = n n = n - 1 Next i End If Next k For k = 1 To 3 For i = 1 To 3 Print a(k, i); Next i Print Next k End Sub 15执行下面的程序,在窗体上输出结果的第一行是(

13、35),第二行是(36) ,第四行是 (37) 。 Private Sub Form_Click() Dim a(2, 2) As Integer, i As Integer, j As Integer Dim k As Integer For i = 1 To 2 For j = 1 To 2 a(i, j) = (i - 1) * 2 + j Print a(i, j); Next j Print Next i k = (i - 1) * 2 For i = 1 To 2 For j = 1 To 2 a(i, j) = k k = k - 1 Print a(i, j); Next j

14、Print Next i End Sub 16执行下面的程序,在窗体上显示的输出结果的第一行是(38),第二行是(39)。 Private Sub Form_Click() Dim a(3, 3) As Integer, i As Integer Dim k As Integer, m As Integer m=16 For k=6 To 0 Step-1 If k=2 Then For i = 0 To 5-k A(k-2+i, i)=m m=m-1 Next i Else For i =0 To k A(k-i, 3-i)=m m=m-1 Next i End If Next k For

15、k=0 To 3 For i =0 To 3 Print a(k, i); Next i Print Next k End Sub 17 执行下面的程序, 单击按钮Command1, 在窗体上显示的第一行是( 40) , 第二行是(41) , 第三行是(42) 。 Option Explicit Private Sub Command1_click() Dim x As Single, i As Integer x = 1.2 For i = 1 To 3 x = x * i Print fun1(x) Next i End Sub Private Function fun1(x As Sin

16、gle) As Single Static y As Single y = y + x fun1 = y / 2 End Function 18执行下面的程序,在窗体上显示的输出结果的第一行是(43) ,第二行是(44) 。 Option Explicit Private Sub Form_Click() Dim m As Integer, n As Integer, k As Integer n = -3 For m = 6 To 1 Step n m = m + 1 n = n - m k = k + 1 Next m Print k Print n End Sub 19下列程序 Priv

17、ate Sub Command1_Click() n = 0:j = 1 Do Until n2 n = n + 1 j = j + n * (n + 1) Loop Print n; j End Sub 运行后输出结果是(45)。 20执行Command1_Click() 事件过程后,显示在窗体上的第一行内容是(46) ,第二行内容是 (47) ,第三行内容是(48) 。 Private Sub Command1_Click() Dim s As String, k As Integer s = “ABCDEF“: k = Len(s) For i = 1 To k / 2 Mid(s, i

18、, k - 2 * (i - 1) = Mid(s, i + 1, k - 2 * i) max Print “ 最小数是: “; min End Sub 30下面程序的功能是:统计随机产生的十个数中偶数与奇数的个数,并求出偶数与奇数各自的总 和。 Private Sub Form_Click() Dim x As Integer, s1 As Integer, s2 As Integer Dim n1 As Integer, n2 As Integer, i As Integer Randomize For i=1 To l0 x = Int(Rnd*100) Print x; If (76

19、)then n2=n2+l s2=s2+x Else ( 77) s1=s1+x End If Next i Print Print “ 奇数个数 =“ ; n1, “ 偶数个数 =“ ; n2 End Sub 31一个n 位的正整数,其各位数的n 次方之和等于这个数,称这个数为Armstrong数,例如 153=1 3+53+33,1634=14+64+34+44。本题是用来求出所有二位、三位、四位的 Armstrong 数。请补充 完善程序。 Option Base 1 Private Sub Command1_Click() Dim i As Integer For i =10 To 9

20、999 If (78)Then Print i; Next i End Sub Private Function fact(n As Integer) As Integer Dim Sum As Integer, i As Integer Sum =0 For i =1 To ( 79) Sum = Sum + (80) Next i fact = Sum End Function 32下述程序的功能是求出2000 之内的所有完数。所谓“完数”是指一个数恰好等于它的因子之 和。如 6 的因子为1、2、3,而 6=1+2+3 ,所以 6 是完数。完善程序。 Option Base 1 Priva

21、te Sub Command1_Click() Dim i As Integer For i =2 To 2000 If (81)Then Print i; “ 是完数 “ Next i End Sub Private Function fun1(n As Integer) As Integer Dim j As Integer For j=1 To n-1 If n mod j = 0 Then (82) Next j End Function 33如下程序是找出1 100 之间的所有孪生素数。所谓孪生素数,就是若两个素数之差为2,则这 两个素数就是一对孪生素数。 Private Funct

22、ion fun1(x As Integer) As Boolean For i = 2 To (83) If x Mod i = 0 Then fun1 = False (84) End If Next i fun1 = True End Function Private Sub command1_Click() Dim x As Integer, S As String For x = 3 To 97 If fun1(x) And (85)Then Print x Max Print “ 最小数是: “; Min End Sub 39下面的程序是从一个由字母与数字相混的字符串中选出数字串,并

23、把数字串构成的数输出到一 个列表框中。请将程序补充完整。 Private Sub Command1_Click() Dim s As String, k As Integer, c() As Integer Dim p As String, i As Integer s = Trim(Text1.Text) For i = 1 To Len(s) If Mid(s, i, 1) = “0“ And Mid(s, i, 1) “ Then k = k + 1 ReDim Preserve c(k) (100) p = “ End If End If Next i (101) ReDim Pres

24、erve c(k) c(k) = p For i = 1 To k List1.AddItem c(i) Next i End Sub 40. 下述程序的功能是实现矩阵的转置(即行列互换)。完善程序。 Option Explicit Option Base 1 Private Sub Command1_Click() Dim i As Integer, j As Integer, D1() As Integer, D2() As Integer Dim m As Integer, n As Integer M=InputBox(“ 输入数组行数 “) N=InputBox(“输入数组列数 “)

25、 Redim D1(m, n) As Integer, D2(n, m) As Integer For i=1 To m For j=1 To n D1(i,j)= (102) Print D1(i,j); Next j Print Next i For i=1 To (103) For j=1 To (104) D2(j,i)=D1(i,j) Next j Next i For i=1 To n For j=1 To m Print D2(i,j); Next j Print Next i End Sub 41下面程序是求数列的和,计算结果精确到第n 项小于 10 -5 为止。 n y 26

26、42 1 642 1 42 1 2 1 式中, n=1,2,3,。 Private Function fact(n As Integer) As Long Dim i As Integer, k As Integer fact = 1 k = 2 For i = n To 1 Step -1 (105) k = k + 2 Next I End Function Private Sub Cmdstart_Click() Dim y As Single, n As Integer, temp As Single n = 1 Do (106) If temp Sqr(x) Then Exit Do

27、 Else (108) End If Loop Print x End Sub 43下面的程序是采用“冒泡排序”法,将随机产生的10 个正整数从小到大排序。请完善程序。 Private Sub Command1_Click() Dim a(1 To 10) As Integer For i = 1 To 10 a(i) = Int(Rnd * 100 + 1) Next i For (109)To 2 Step -1 For j = 1 To i - 1 If ( 110)Then t = a(j + 1): a(j + 1) = a(j): a(j) = t End If Next j Ne

28、xt i For i = 1 To 10 Print a(i); Next i End Sub 44下面程序的功能是统计字符串中英文字母(不区分大小写)出现的个数。请完善程序。 Option Base 1 Private Sub Command1_Click() Dim a(26) As Integer, n As Integer Dim i As Integer, st As String, s As String st = “vhgyt56gig76gkjtutews“ For i = 1 To Len(st) s = (111) s = UCase(s) If s = “A“ And s

29、 0 Then Print Chr(i + 64) If (118)Then Print Next i End Sub 47下面程序的功能是统计随机产生的10 个三位正整数中能被5 整除的数的个数,并求出这些数 的总和。完善程序。 Private Sub Form_Click() Dim x As Integer, s As Integer Dim n As Integer, i As Integer Randomize For i = 1 To 10 x = (119) Print x; If x Mod 5 = 0 Then s = s + x (120) End If Next i Pr

30、int “ 被 5 整除数的个数:“; n; “ 和为 “; s End Sub 48下面程序的功能是找出1000 以内的“完数” 。所谓完数即一个数恰好等于它的因子之和,如6 的因子为1、2、 3,恰好 6=1+2+3,因此 6 就是完数。 Option Explicit Private Sub Command1_Click() Dim i As Integer, j As Integer, s As Integer For i = 2 To 1000 s=0 For j=1 To i - 1 If (121)Then s=s+j Next j If (122)Then Print i,Ne

31、xt i End Sub 49下面程序是找出2,100之间全部幸运数之和。所谓“幸运数”是指,一个正整数有偶数个因 子,则称该数为幸运数。如:4 有 1 和 2 两个因子,故4 是幸运数。请完善程序。 Private Sub Form_Click() Dim i As Integer, k As Integer, sum As Integer For i = 2 To 100 (123) For j = 1 To i / 2 If i Mod j = 0 Then k = k + 1 End If Next j If (124)Then sum = sum + i End If Next i

32、Print sum End Sub 50下列程序的功能是将键盘输入的一个数的各位数字相乘并输出到窗体上,请补充完善程序。 Option Explicit Private Sub Command1_Click() Dim n As Long n = InputBox(“ 请输入一个数“) Print fun1(n) End Sub Private Function fun1(num As Long) As Long Dim s As Long s = 1 num = Abs(num) Do While (125) s = s * (num Mod 10) num = (126) Loop fun

33、1 = num End Function 51下面程序的功能是求1,500之间的红玫瑰数。所谓红玫瑰数是指,一个正整数n 的所有因子 之和等于n 的倍数, 则称 n 为红玫瑰数。 如 28 的因子之和为1+2+4+7+14=28 ,所以 28 是红玫瑰数。 请完善程序。 Option Explicit Private Sub Form_Click() Dim n As Integer, i As Integer, sum As Integer For n = 1 To 500 (127) For i = 1 To n / 2 If n Mod i = 0 Then sum = sum + i

34、End If Next i If (128)Then Print n; End If Next n End Sub 52求满足如下条件的三位数。它除以11 所得的商等于各位数字的平方和。例如:550/11=50=5 5+55+0。 完善下列程序。程序代码如下: Private Sub Form_Click() Dim a As Integer, b As Integer, c As Integer, n As Integer, j As Integer For a= (129) For b=0 To 9 For c=0 To 9 n= (130) If (n mod 11=0) and (n1

35、1=a*a+b*b+c*c) then Print n; “/11=“;n/11; “=“;a*a; b*b; c*c End if Next c (131) Next a End Sub 53. 下面程序的功能是统计字符串中英文字母(不区分大小写)出现的个数。 Option Base 1 Private Sub Command1_Click() Dim alpha(26) As Integer, n As Integer Dim i As Integer, st As String, s As String st= c:kav2003readme.txt For I=1 To Len(st)

36、 s= (132) s=UCase(s) If s=A And s0 Then List1.AddItem Chr(i+64) Next i End Sub 65下面程序产生20 个互不相同的两位随机整数,以每行4 个的形式输出到窗体上。请完善程序。 Option Base 1 Private Sub Command1_Click() Dim i As Integer, j As Integer, x As Integer, flag As Integer Dim a(20) As Integer, k As Integer Randomize For i = 1 To 20 Do x = (

37、164) flag = 0 For j = 1 To i - 1 If (165)Then flag = 1 (166) End If Next j Loop While ( 167) a(i) = x Print a(i); k = k + 1 If k mod 4 = 0 Then (168) Next i End Sub 66下列程序的功能是将给定整数N 表示成若干个质数因子相乘的形式(分解质因数 ) ,请完善程 序。 Option Base 1 Private Sub Command1_Click() Dim k As Integer, i As Integer, a() As Int

38、eger n = Text1 k = 2 Do If n Mod k = 0 Then (169) ReDim Preserve a(i) a(i) = k n = n k Else (170) End If Loop Until n = 1 For i = 1 To UBound(a) - 1 Text2 = Text2 k = k + 1 If k Mod 5 = 0 Then Print End If Next i End Sub Private Function hs(n As Integer) As Boolean Dim i As Integer For i = 2 To n -

39、1 If n Mod i = 0 Then Exit For Next i If (173)Then hs = True End Function 68. 下面程序是求出所有的幸运数显示在列表框中,并将幸运数的个数显示到文本框中。凡前两位 数字之和等于后两位数字之和的4 位数称为幸运数。 Private Sub Command1_Click() Dim i As Integer ,n As Integer, n1 As Integer , n2 As Integer For i = 1000 To 9999 (174) n2 = i Mod 100 If sum(n1) = sum(n2) T

40、hen ( 175) List1.AddItem CStr(i) End If Next i Text1 = n End Sub Private Function sum(s As Integer) As Integer Dim p As Integer , q As Integer P = s10 (176) sum = p + q End Function 69下列程序的功能是:以每行5 个的格式输出3100 之间的素数,请完善程序。 Option Base 1 Private Sub Command1_Click() Dim p() As Integer, i As Integer, p

41、rime As Boolean Dim n As Integer, k As Integer For n = 3 To 100 (177) For i = 2 To Sqr(n) If (178)Then prime = false Exit For End If Next i If prime=true Then k = k + 1 ReDim Preserve p(k) (179) End If Next n For i = 1 To (180) Print p(i); If (181)Then Print Next i End Sub 70下列程序的功能是:查找四位正整数中的超级素数。超

42、级素数的定义为:当一个素数从低位到 高位依次去掉一位数后剩下的数仍然是素数,则此数为超级素数。如数2333、233、23、2 均为素 数,所以2333 为超级素数。 Option Explicit Private Sub Command1_Click() Dim i As Integer, flg As Boolean For i = 1001 To 9999 Step 2 Call Sup_prime(i, flg) If (182)Then Print i End If Next i End Sub Private Sub Sup_prime(ByVal n As Integer, f A

43、s Boolean) f = True Do While n 0 If Prime(n) Then n = (183) Else f = False (184) End If Loop End Sub Public Function Prime(p As Integer) As Boolean Dim k As Integer If p = 1 Then Exit Function Else For k = 2 To (185) If p Mod k = 0 Then Exit Function Next k ( 186) End If End Function 71下面程序的功能是输出除主、

44、副对角线上的元素为0 外,其余元素都为1 的方阵, 请完善程序。 Option Base 1 Private Sub Form_Click() Dim arr(10, 10) As Integer, i As Integer, j As Integer For i = 1 To 10 For j = 1 To 10 If (187)Then arr(i, j) = 0 Print arr(i, j); Else (188) Print arr(i, j); End If Next j (189) Next i End Sub 72下面程序是找出由两个不同数字组成的平方数,并将结果在窗体上输出。

45、请完善程序。 Private Sub Command1_Click() Dim i As Long, n As Long For i = 12 To 300 n = (190) If yz(n) Then Print n; “=“; i; “*“; i End If Next i End Sub Private Function yz(ByVal n As Long) As Boolean Dim a(0 To 9) As Integer, i As Integer, js As Integer Do While n = i And Prime(n - i) Then Print n; “=“

46、; i; “+“; n - i End If End If Next i End Sub Private Function Prime(n As Integer) As Boolean Dim i As Integer, j As Integer, Flg As Boolean Prime = False For i = 2 To Sqr(n) If n Mod i=0 Then (195) Next i If (196)Then Prime = True End Function 74下列程序计算1!,3!,5!,7!的值。请完善程序。 Private Sub Command1_Click(

47、) For x=1 To 7 Step 2 fact=1 For y=1 To x fact= (197) Next y Print x;“!=“ ;fact Next x End Sub 75如下程序是找出1 100 之间的所有孪生素数。所谓孪生素数,就是若两个素数之差为2,则这 两个素数就是一对孪生素数。 Private Function fun1(x As Integer) As Boolean For i = 2 To Sqr(x) If x Mod i = 0 Then fun1 = _(198)_ Exit Function End If Next i fun1 = (199) E

48、nd Function Private Sub cmdstart_Click() Dim x As Integer, S As String S= “ For x = 3 To 97 If fun1(x-2) And (200)Then S = S + Str(x-2) + “ 和“ + Str(x) + “ 是孪生素数 “ + vbCrLf End If Next x Print SEnd Sub 四改错题(注意:不能增加、删除语句,但可以调换语句的位置) 1题目:下列程序的功能是:以每行5 个的格式输出3100 之间的素数。注意:不能增加、删除 语句,但可以调换语句位置。 (1) Option Base 1 (2) Private Sub Command1_Click() (3) Dim p() As Integer, i As Integer (4) Dim n As Integer, k As Integer (5) For n = 3 To 100 (6) For i = 2 To Sqr(n) (7) If i Mod n = 0 Thenif

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1