计算机程序设计基础教程第一套模拟卷一、选择题(20分)1. 将数学表达式Cos2(a+b)+5e2写成Visual Basic的表达式,其正确的形式是()。
A)Cos(a+b)^2十5*exp(2) B)Cos^2(a+b)+5*exp(2)C)Cos(a+b)^2十5*ln(2) D)Cos^2(a+b)+5*ln(2)2. 用于获得字符串S从第2个字符开始的3个字符的函数是()A.Mid$(S,2,3) B、Middle$(S,2,3) C、Right$(S,2,3) D、Left$(S,2,3)3. 以下语句的输出结果是()。
Print Format$(32548.583,"###,000.00##")A) 32548.583 B) 32,548.583 C) 032,548.5830 D) 032,548.5834. 设a=9,b=5则执行 x=IIf(a>7,IIf(b<5,6,0),-1)后,x 的值为()。
A) 5 B) 6 C) 0 D) –15. 在Visual Basic中,要使Print方法在Form_Load事件中起作用,要对窗体的()属性进行设置。
A)BackColor B)ForeColor C)AutoRedraw D)Caption6 .如果要改变窗体的标题,则需要设置的属性是()。
A)Caption B)Name C)BackColor D)BorderStyle7 .设组合框Combo1中有3个项目,则以下能删除最后一项的语句是()。
A)Combo1.RemoveItem TextB)Combo1.RemoveItem 2C)Combo1.RemoveItem 3D)Combo1.RemoveItem Combo1.Listcount8 .在Visual Basic中,指定文本框是否可被编辑的属性是()。
A)multiline B)Visible C)Locked D)Text9 .以下对象中,无Caption属性的是()。
A)命令按钮 B)标签C)窗体D)文本框10. 以下不属于Visual Basic系统的文件类型是()。
A).frm B).res C).vbq D).vbp二、写出下列程序的运行结果(20分)1.设有如下程序,程序运行后,单击窗体,则在窗体上显示的是:Private Sub Form_Click( )Print “*”;Tab(6) ; 2 , 5 结果:For i=15 To 16Print i;For j=2 To 6 Step 3Print Tab(3*j) ; j * i ;Next jPrintNext iEnd Sub2.在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程,单击命令按钮,结果为:Private Sub Command1_Click()Dim num As Integernum = 1Do Until num > 6Print num; 结果:________________num = num + 2.4LoopEnd Sub3. Private sub search(a ()As variant,ByVal key As Variant,index%) Dim I%For I=LBound(a)To UBound(a)If key=a(I) Thenindex=IExit SubEnd If 结果:________________ Next IIndex=-1End SubPrivate Sub Form_Load()Dim b() As VariantDim n As Integerb=Array(1,3,5,7,9,11,13,15)Call search(b,11,n)Print nEnd Sub4.设有如下通用过程,并在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程,程序运行后,单击命令按钮,则在文本框中显示的内容是。
Public Sub Fun(a(), ByVal x As Integer)For i = 1 To 5x = x + a(i)Next iEnd SubPrivate Sub Command1_Click()Dim arr(5) As VariantFor i = 1 To 5arr(i) = I 结果:Text1=_______________Next in = 10Call Fun(arr(), n)Text1.Text = nEnd Sub5.在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程,单击命令按钮,则在窗体上输出的内容为:Private Sub Command1_Click()For n = 1 To 20If n Mod 3 <> 0 Then m = m + n \ 3 结果:_____________ Next nPrint n,mEnd Sub三、完善程序(15分)1.随机产生20个200到300之间的随机整数,输出其中能同时被3和5整除的数并求出它们的和。
Private Sub Command1_C1ick()For i=1To 20x=_____________________If_________________________ThenPrint x___________________________End IfNext iPrint "Sum=";SEnd Sub2.在窗体上画一个名称为Combo1的组合框,画两个名称分别Label1和Label2及Caption属性分别为"城市名称"和空白的标签。
程序运行后,当在组合框中输入一个新项后按回车键时,如果输入的项在组合框的列表中不存在,则自动添加到组合框的列表中,并在Label2中给出提示"已成功添加输入项"如图所示;如果存在,则在Label2中给出提示"输入项已在组合框中"。
Private Sub Combol_Keypress(KeyAscii As integer)If ______________________ ThenFor i=0 To Combo1.listCount-1If Combo1.Text=________________ ThenLabel2.Caption="输入项己在组合框中"Exit SubEnd ifNext ICombo1.__________________ Combo1.TextLabel2.Caption="已成功添加输入项"End ifEnd Sub3.将一个正整数(非质数)分解为质(素数)因数的乘积。
例如:234=2*3*3*13 Private Sub Command1_Click()Dim n%, factor%, first As Booleann = InputBox("输入一个正整数")factor = 2first = __________DoDo While n Mod factor = 0If first ThenPrint n; "="; factor;ElsePrint "*"; factor;End If__________________first = FalseLoop_______________Loop Until factor > nEnd Sub四、程序改错(15分,只允许修改,不允许增删语句)1.设有程序如下:用Array函数建立一个含有8个元素的数组,然后查找并输出该数组中元素的最大值。
Private Sub Command1_Click()Dim arr1, Max as Integerarr1 = Array(12, 435, 76, 24, 78 , 54, 866, 43)Max= arr1(1)For i = 1 To 7If arr1(i) > Max Then Max=arr1(i)Next IPrint "最大值是: "; MaxEnd Sub错误:正确:2.由键盘输入一个正整数,找出大于或等于该数的第一个质(素)数。
Private Sub Command1_Click()Dim m%, x%, Tag As BooleanTag = Falsex = InputBox("输入正整数")Do While Not Tagm = 2Tag = TrueDo While Tag And (m <= x \ 2)If x Mod m = 0 ThenTag = FalseElsex=x+1End IfLoopIf Tag Then x = x + 1LoopPrint xEnd Sub错误1:正确1:错误2:正确2:五、编制程序(30分)1.计算S=1+1/2+1/4+1/7+1/11+1/16+1/22…的值,当第i项的值<10-4时结束。
2.随机产生20个200~400之间随机整数,将其存在一个4行5列的二维数组中,找出每列的最小值。
计算机程序设计基础教程第一套模拟卷参考答案一、选择题1-5 aabcc 6-10abcdc二、写出下列程序的运行结果1)结果:* 2 515 30 7516 32 802)结果:1 3 53)结果:54)结果:Text1=105)结果:21 42三、完善程序1) int(rnd* 101+200)x mod 3=0 and x mod 5=0S=S+x2) KeyAscii=13Combo1.list(i)AddItem3)Truen = n \ factorfactor = factor + 1四、程序改错1)错误:Max=arr1(1)正确:Max=arr1(0)2)错误1:x=x+1正确1:m = m + 1错误2:If Tag Then x = x + 1正确2:If Not Tag Then x = x +1五、编制程序1) Private Sub Command1_Click()Dim i%, n&, t!, s!s = 0i = 0n = 1t = 1Do While t > 0.0001s = s + ti = i + 1n = n + it = 1 / nLoopPrint sEnd Sub2)Private Sub Command2_Click() RandomizeDim a() As IntegerDim b(5) As IntegerDim m%, n%, i%, j%m = 4n = 5ReDim Preserve a(m, n)For i = 1 To mFor j = 1 To na(i, j) = Int(Rnd * 100) Print a(i, j);Next jPrintNext iFor j = 1 To nb(j) = a(1, j)For i = 2 To mIf a(i, j) < b(j) Thenb(j) = a(i, j)End IfNext iPrint b(j)Next jEnd SubPrint a(i);If i Mod 10 = 0 Then PrintNext iEnd Sub。