试卷.doc new

  • 格式:doc
  • 大小:164.00 KB
  • 文档页数:11

?1.下列关于算法的叙述不正确的是( )(A ) 一个算法必须保证它的执行步骤是有限的(B )算法有0个或多个输入及0个或多个输出 一定要有多余1个的输出(C )算法具有输入、输出、确定性、可行性、有限性等基本特征(D )算法的表示方法主要有自然语言、流程图、伪代码等 2.我校每周一早上升旗仪式按如下的流程图执行,它属于( )(A )顺序结构 (B )树型结构、(C )选择结构 (D ) 循环结构?3.在VB 编程时,将对象Label1改名为L1应该改变下列哪个属性( )(A )Text (B )名称(C )Label (D )Caption? 为什么c 不可以4.下列语句运行时会出错的是( )(A )a=a+1 (B )a=b=c(C )a=c>b (D )a+b=c 左边非法 不能用加号5.VB 开发的应用程序的两个主要特征是“事件驱动”和( )(A ) “稳定性好” (B )“自定义函数”(C ) “可视化” (D )“子程序”?6. 设x=5,y=11,则能在list1中显示算式3*5+4*11=55的语句是( )(A )list1.additem "3"+str(x)+"4"+str(y)+"= "+”59”(B )list1.additem "3"+x+"+"+"4"+y+"= "+str(x*y)(C )list1.additem "3*"+str(x)+ "+"+"4*"+str(y)+ "=" +”59” 并列 原样输出(D )list1.additem 3*x +"+"+4*y+"= "+x*y7、数学表达式 a 2 +b 2 对应的VB 表达式应是( )3(4+c)(A )a*a+b*b/(3 (4+c)) (B )(a^2+b^2)/3*(4+c) 为什么B 不可以 准备升旗仪式 国旗下讲话场地积水 教室内广播讲话 Y N没有括号 若有括号也可(C )(a*a+b*b)/(3* (4+c)) (D )(a^2+b^2)/[3*(4*c)]?8.如图所示流程图片断该流程图中循环部分结束后,变量S 的值是( )(A )4 ( B )10 ( C )24 ( D )339. 已知:d(1)至d(16)依次存放的是1、2、3、...、16等数据,用对分法查到key=14,请问共需找几次?(提示:对分法查第1次: (1+16)\2=8, 第2次:(8+16)\2=12,...)( A ) 4 ( B )5 ( C )3 ( D ) 2 ?10. 在label1中显示"20100429",下列方法不正确的是( )(A )执行label1.caption= "2010" + "0429"(B )执行label1.caption= "2010" & "0429"(C )执行label1.caption=2010 & 0429 表示并列(D )执行label1.caption=2010 + 0429 直接表示加法?11.下列关于For…Next 语句的说法正确的是( )(A )循环变量、初值、终值和步长不一定是数值型 一定是(B )Step 的缺省值为1 即step =1(C )初值必须小于终值(D )初值必须大于终值12.对数组声明语句:Dim a(-5 to 5) As Integer ,下面说法不正确的是( )(A )a(1)=50000,执行后系统会提示“溢出”错误(B )a 数组共有10个下标变量(C )a(6)不是a 数组中的元素 s=0 :t=1:i=1 i<=4 t=t*is=s+t Y N i=i+1(D)若a(3)=3,则a(a(3))就是a(3)13.x=20,y=3,z=20/3,为了提高运算结果z的精确度,则变量z的类型应说明为( ) (A)Integer (B)double(C)Long (D)single14. a、b、c表示三角形三条边,正确表示a、b、c能构成等边三角形的逻辑表达式是()(A)a=b=c(B) (a+b>c) and (b+c>a )and (c+a>b) and (a=b=c)(C) (a+b>c)and (b+c>a )and (c+a>b) and (a=b)and (b=c)(D)(a=b) and (a=c)?15、下面一个过程是Text1_KeyPress(功能是输入几个数据,并在List1.AddItem 上显示),另一个过程是Command1_Click(功能是在List1.AddItem上显示的数据同样在List2.AddItem上显示),问:那几个变量必须要定义为全局变量( ) ...n = 0 全局变量就是要参与整个运算End SubSub Text1_KeyPress(KeyAscii As Integer) '文本框对象的事件名为按键执行事件处理过程; If KeyAscii = 13 Then ' 回车键的Ascii码是13,如果按回车键,则条件成立;n = n + 1a(n) = Val(Text1.Text) '通过文本框输入数据给数组变量赋值;List1.AddItem Str(n) + ":" + Str(a(n)) '得到的数组变量值显示在表框List1中;Text1.Text = ""End IfEnd SubPrivate Sub Command1_Click()For i = 1 To nList2.AddItem Str(i) + ":" + Str(a(i))Next iEnd Sub( A ) i,A数组( B ) n,A数组( C ) i,n ( D ) i,n,A数组(一)下面的程序段是将0~255的十进制数据转换为二进制数Private Sub Command1_Click() Dim a,c As IntegerDim s As Stringa = Val(Text1.Text)If a < 0 Or a > 255 ThenText2.Text = "输入数据错误,请重新输入!"Elses = ""Do While a <> 0(1)a = Int(a/2)s = Str(c) + sLoop(2)End IfEnd Sub16. 在(1)应填入( )( A ) c=c /2 ( B ) c=a mod 2 ( C ) c=c \ 2 ( D ) c=c*217. 在(2)中应填入( )( A ) Text2.Text=s ( B ) s=Text2.Text ( C ) Text2.Text=“s ” ( D ) Text2.Text=a C 的话 就直接输出s(二)如果一个三位数等于它的每个数字的立方和,则此数称为“水仙花”数。

如:153=l^3+5^3+3^3,故153是水仙花数。

下面程序用于求出100~999之间的全部水仙花数: Sub Commandl_Click()For m=100 to 999a=Fix(m /100)b= ___(3)____c= m -100*a-10*bText1Text2Command1if ___(4)____Then Listl .Additem Str(m)End Sub18. 在(3)中应填入( )( A ) (m-100*a)/10 ( B ) Int((m-100*a)/10)( C ) m -a -b ( D ) m-100*a19. 在(4)中应填入( )( A ) a+b+c=m ( B ) m=a ( C ) m=a^3+b^3+c^3 ( D ) m=b(三)某市出租车计费标准规定:出租车启动后行程不超过3千米(包含3千米)计费5元;如果行程超过3千米且不超过10千米(包含10千米),则超过3千米部分按1.5元/千米计费(3千米及以内部分计费仍为5元);若行程超过10千米,则在前面计费基础上,超出10千米部分按1.8元/千米计费。

解决此问题的算法流程图如图VB-1所示,相应的Visual Basic 程序如下,Private Sub Command1_Click()Dim x As Single, s As Singlex = Val(Text1.Text) If (5) thens = 5ElseIf x <= 10 Thens = 5 + (x - 3) * 1.5Else (6)End IfText1.text = Str(s)End Sub开始 输入行程数x (3) X 不超过10 ?输出s 的值(4) s ←5 s ←5+ (x - 3) × 1.5 Y N N 图VB-1Y 结束20. 在(5)填入( )(A )X>=3 (B ) X<3(C )X<=3 (D )X>321. 在(6) 应中填入( )(A )s=5(B )s=0.5*X(C )s= 5 + (10 - 3) * 1.5(D )s = 5 + (10 - 3) * 1.5 + (x - 10) * 1.8(四)下面是统计各类字符个数的程序段,功能界面如右所示:Private Sub Command1_Click()Dim s, ch As StringDim i, a, b, c As Integers = Text1.Texta = 0:b = 0:c = 0For i = 1 To Len(s)ch = Mid(s, i, 1)If Asc("A") <= Asc(ch) And Asc(ch) <= Asc("Z") or Asc("a") <= Asc(ch) And Asc(ch) <= Asc("z") Then a = a + 1ElseIf (7) Thenb = b + 1Else c = c + 1 End If Next i Text2.Text = Str (a)Text3.Text =Str ( b)Text4.Text =Str ( c)End Sub22. 在(7)中应填入( )( A )Asc("0") <= Asc(ch) And Asc(ch) <= Asc("9") ( B )Asc("0") <= Asc(ch) And Asc(ch) >= Asc("9") ( C )Asc("0") >= Asc(ch) And Asc(ch) <= Asc("9") ( D )Asc("0") <= Asc(ch) or Asc(ch) <= Asc("9")(五)下面程序是合并数组A 、B 原始数据(这些数据各不相同),再找数组C 中的最小数: Private Sub Command3_Click() 例如:A 数组:A (1)至A (4),(n=4时)A 数组:B (1)至B (3),(m=3时)合并数组A 、B 后:C (1)至C (7)说明:上程序界面的4个文本框,从上到下分别对应Text1.Text 、Text2.Text 、Text3.Text 、Text4.Text ,变量a 、b 、c 分别统计字母、数字、其它字符的个数;For i = 1 To nC(i) = A(i)Next i For j = 1 To m ( 8) Next j Min=C(1) total= (9) For i = 2 To total if (10) Then Min=C(i) Next i End Sub23.在(8)中应填入:( )(A )C(i) = b(j) (B )C(i+j) = B(j) (C )C(j) = B(j) (D ) C(n+j) = B(j)24. 在(9)中应填入( )(A )n - m (B )n + m(C )n + m - 1 (D ) n - m + 125.在(10)中应填入( )(A )C(i)< Min (B )C(i+1)< Min(C )C(i+1)> Min (D ) C(i)> Min26.Sub test1()A = 30B = 50C = A + BA = C- AB =C - AMsgBox (B)End sub该程序的运行结果是 ( )(A )30 (B )20 (C )10 (D )5027.Sub test2()X = 7If X > 10 ThenY = X*XElseY = X ^ 2 + 1End IfMsgBox (Y)End subA (1) 82 A (2) 78 A (3) 65 A (4) 35B (1) 89 B (2) 74 B (3) 69C (1) 82 C (2) 78 C (3) 65 C (4) 35 C (5) 89 C (6) 74 C (7) 69该程序的运行结果是()(A)14 (B)49 (C)50 (D)15 ?28.Sub test3()For i = 1 To 5s = ""For j = 1 To 2 * i - 1s = s + Str(i)Next jList1.AddItem sNext iEnd Sub该程序的运行后列表框输出的第四行是()(A)15 (B)4444444 (C)1111111 (D)3333333 29.Sub test4()For i = 8 To 0 Step -3S = S + iNext iMsgBox (S)End sub该程序的运行结果是()(A)15(B) 5 (C)1 (D)0 30.Sub test5()x = 6y = 15z = 2For i = x To y Step zS = S + iNext iMsgBox (S)End sub该程序的运行结果是()(A) 50 (B) 105 (C)5 (D)15?31.Private Sub Command1_Click()Text1.Text = f(5)End SubFunction f(n As Integer)t = 1For i = 1 To n Step 2 即1到5t = t * iNext if = tEnd Function以上程序Command1运行后,text1中显示的是()(A)1 (B) 5 (C)15 (D)12032.Sub test7()For i = 10 To 1 Step -2 有好几道题目都没有说s的初始值直接认定为0?S = S + (-1) ^ (i + 1) * iNext iMsgBox (S)End sub该程序的运行结果是()(A)5 (B) -5 (C)-30 (D)30 33.Sub test8()ct = 0For i = 1 To 5x = InputBox("x=")If x > 50 Then ct = ct + 1Next iMsgBox (ct)End sub注:X输入值分别为:49 50 51 52 53该程序的运行结果是()(A)5 (B) 2 (C)3 (D)4 34.Sub test9()FOR J=1 TO 4Y=INPUTBOX(“Y=”)IF Y>5 THEN MsgBox(“Y”)Next JEnd Sub注:Y输入值分别为:4 5 6 0该程序的运行结果是()(A)6 (B)Y (C)X (D)535.Sub test10()S = 0For i = 1 To 20 s=0写在前所以s始终为0If i Mod 2 = 0 Then S = S + iNext iMsgBox (S)End Sub该程序的运行结果是()(A)110 (B)220 (C)20 (D)10 36.Sub test11()X = 1Do While X < 6X = X + 2LoopMsgBox (X)End Sub 该程序的运行结果是()(A)1 (B) 3 (C)5 (D)7 ??37.Sub test13()M = 0For i = 3 To 9 Step 2M = M + 1Next iMsgBox (i) 因为不参加运行所以最后再循环一次如果要参与则不能End sub该程序的运行结果是()(A)5 (B)7 (C)9 (D)11??38.S ub test15()T = 1For i = -4 To 4 Step 2 next在msg前面要多循环一次T = T * iS = S + iNext iMsgBox (Str(T) + Str(S) + Str(i))End sub该程序的运行结果是()(A)4 0 5 (B) 0 0 5(C)4 0 6 (D) 0 0 6 ??39.Sub test16() 什么时候x是不用变的X = 6For i = 1 To 100 Step 2 在这里x在for前面x要变If (X / 2) > i Then X = X + 1Next iMsgBox (X)End sub 该程序的运行结果是()(A)5 (B) 6 (C)7 (D)8参考答案1 2 3 4 5 6 7 8 9 10B C B D C C C D C D11 12 13 14 15 16 17 18 19 20B B BC B B A B C C21 22 23 24 25 26 27 28 29 30D A D B A A C B A A31 32 33 34 35 36 37 38 39C C C B AD D C D。