收藏 分销(赏)

高考专题复习专题一-求程序运行结果信息技术.doc

上传人:a199****6536 文档编号:5720610 上传时间:2024-11-16 格式:DOC 页数:46 大小:235KB 下载积分:12 金币
下载 相关 举报
高考专题复习专题一-求程序运行结果信息技术.doc_第1页
第1页 / 共46页
高考专题复习专题一-求程序运行结果信息技术.doc_第2页
第2页 / 共46页


点击查看更多>>
资源描述
专题一 求程序运行结果 1.有如下VB程序段: For i = 1 To 6  a(i)=Int(Rnd*10)+1 Next i For i = 1 To 5 If i Mod 2=1 And a(i)>a(i+1) Then  t=a(i):a(i)=a(i+1):a(i+1)=t Else  a(i)=a(i)+1 End If Next i 执行程序后,a数组各元素可能是(  ) A.11,11,7,9,3,9 B.6,2,8,10,5,9 C.6,9,3,7,8,12 D.3,9,0,8,2,7 解析 产生a(i)值的范围是[1,10],排除答案C和D。当i是奇数时,并且a(i)>a(i+1)时交换,也就是说奇数位的数小于等于他后面的数。当奇数位的数小于等于他后面的数,或者是偶数位时,执行a(i)=a(i)+1,此时a(i)有可能等于11。 答案 A 2.有VB程序段如下: For i = 1 To 6 a(i) = Int(Rnd * 20) + 1 If a(i) Mod 2 = i Mod 2 Then a(i) = a(i) - 1 Else a(i) = a(i) + 2 End If Next i 执行该程序段后,a(1)~a(6)各元素可能的是(  ) A.13,2,7,12,5,18 B.22,7,0,15,4,19 C.20,9,18,23,4,7 D.6,0,4,21,18,17 解析 产生a(i)值的范围是[1,20],当i是奇数时,如果a(i)也是奇数,将他减1,成为偶数。当i是偶数时,如果a(i)也是偶数,将他减1,成为奇数。因此奇数位产生的是偶数,偶数位产生的奇数。当产生的最小奇数为1时,减1为0,即最小偶数为0,当产生的最大偶数为20时,加2为22。同理可得奇数的范围是[1,21]。 答案 B 3.有如下所示VB程序段: str1 = ”ABCDEFGHIJKLMNOPQRSTUVWXYZ” s = ” ” For i = 1 To 4 t = Int(Rnd * 10) + 1 If t Mod 2 = i Mod 2 Then t = t + 1 Else t = t + 2 End If s = s + Mid(str1, t, 1) Next i List1.AddItem s 执行该程序段后,列表框List1中可能显示的内容是(  ) A.BADC B.BCDY C.DEFG D.CDEF 解析 产生t值的范围是[1,10]。当i是奇数时,如果t也是奇数,加1成为偶数,t不是奇数,加2还是偶数,且数的范围是[2,12]。当i是偶数时,如果t也是偶数,加1成为奇数,t不是偶数,加2还是奇数,且数的范围是[3,11]。因此奇数位产生的是偶数,偶数位产生的奇数。 答案 C 4.有如下VB程序段: i = 1: n = 5 Do While i <= n x = Int(Rnd() * 9) + 1 If x Mod 2 = 1 Then   a(i) = x Else  a(n)=x  n=n-1 End If i = i + 1 Loop 数组元素的初值均为0,执行该程序段后,在下列选项中a(1)至a(5)各元素值不可能的是(  ) A.7 1 3 9 8 B.3 3 0 8 8 C.0 1 0 4 2 D.1 3 5 5 0 解析 产生的数[1,9],偶数放在后面,奇数放在前面。A选项,先产生4个奇数,再产生一个偶数。B选项,先产生两个奇数,再产生两个偶数,此时i=4,n=3,不满足条件,退出循环,因此第3个元素为0。C选项,先产生一个偶数,再产生一个奇数,再生产2个偶数,此时n=3,i=5,不满足条件。D选项,先产生4个奇数,此时n=5,条件成立,但产生的数不可能是0。 答案 D 5.有如下 VB 程序段: a(1) = 3: a(2) = 4: a(3) = 1: a(4) = 2: a(5) = 5 k = Int(Rnd * 4) + 1 For i = 1 To 5 If i <> k Then If a(i)<a(k) Then t=a(i):a(i)=a(k):a(k)=t End If Next i 执行该程序段后,数组元素 a(1)到 a(5)中的值依次不可能为(  ) A.5 4 3 2 1 B.3 4 1 2 5 C.3 4 2 1 5 D.1 4 3 2 5 解析 k的取值范围是[1,4],A选项中只有当i=5,k=1时才能把5换到最前面,但此时又不满足条件a(i)<a(k),因此A选项是不可能实现的。B选项,当i=1时,只要k<>2就不会换,当i=2时k等于任何值,均不会换,当i=3时,k=3,不换。C选项中,3和4互换,D选项2和4互换。 答案 A 6.有以下VB程序段: a(1) = 2 For i = 2 To 3 a(i)=a(i-1)-Int(Rnd()*2) If i Mod 2 = 1 Then a(i) = a(i) + 1 Else a(i) = a(i) - 1 End If Next i 执行程序后,a(2)和a(3)的值不可能的是(  ) A.1,1 B.1,0 C.0,1 D.0,0 解析 语句a(i)=a(i-1)-Int(Rnd()*2)的功能是让a(i)的值比他前面的小1或相等。即a(2)为1或2,他的值减去1后,值可能为0或1。当a(2)=1时,a(3)的值可能是1或0,加1后的值可以是1或2。当a(2)=0时,a(3)的值可能是-1或0,加1后的值可以是0或1。 答案 B 7.有如下 VB 程序段: For i = 1 To 6  a(i) = Int(Rnd() * 10) + 1  If a(i) Mod 2 <> i Mod 2 Then i = i - 1 Next i For i = 1 To 5 For j = 6 To i + 2 Step -1 If a(j) < a(j - 2) Then    t=a(j):a(j)=a(j-2):a(j-2)=t End If Next j Next i 执行程序后,a 数组各元素可能是 (  ) A.1,2,3,4,5,6 B.1,0,3,6,5,8 C.3,2,7,6,11,8 D.2,1,4,3,10,9 解析 a(i)中产生的是[1,10]之间的随机数,且奇数位为奇数,偶数位为偶数。接下来按奇偶分别进行排序。B选面中不可能产生0,C选项中不可能产生11。 答案 A 8.有如下 VB 程序段: a(1)=6:a(2)=9:a(3)=3 a(4)=7:a(5)=8:a(6)=1 t = 2 * Int(Rnd * 3) + 1 For i = t To 5 k = i For j = i + 1 To 6 If a(j) < a(k) Then k = j Next j If k <> i Then temp = a(i): a(i) = a(k): a(k) = temp End If Next i 执行该程序段后,a(1)~a(6)各元素的值不可能是(  ) A.6,1,3,7,8,9 B.6,9,1,3,7,8 C.6,9,3,7,1,8 D.1,3,6,7,8,9 解析 t的值为1,3,5,D选项属于t=1的情况,A选项属于t=2的情况,即从第2个数开始排序。选项B属于t=3,选项C属于t=5。 答案 A 9.有如下 VB 程序段: n = 8 For i = 1 To n d(i) = Int(Rnd * 10) + 1 Next i For i = 2 To n - 1 k = 1 For j = 1 To n - i If d(j)*k>d(j+2)*k Then      temp=d(j):d(j)=d(j+2):d(j+2)=temp End If k = -k Next j Next i 执行该程序段后,d 数组各元素可能是(  ) A.3,10,3,5,4,4,10,1 B.0,3,4,5,6,6,7,8 C.2,1,3,4,5,6,8,7 D.6,4,5,6,5,7,1,10 解析 当i为偶数时,k=1,偶数位的数实现降序排列,当i为奇数时k=-1,奇数位的数实现升序排列。 答案 A 10.有如下 VB 程序段: Dim a(1 To 6) As Integer, i As Integer Randomize For i = 1 To 6 a(i) = Int(Rnd * 10) + 1 If a(i) Mod 2 = 1 Then i = i - 1 ElseIf i Mod 2 = 0 Then a(i)=a(i)+a(i-1) End If Next i 最终 a 数组各元素的值可能是(  ) A.8,14,3,10,2,12 B.2,4,6,10,12,24 C.10,16,8,18,8,4 D.6,12,10,20,4,8 解析 产生的数在[1,10],如果是奇数,重新产生。奇数位不可能超过10,偶数位上数字是他与他前面数字之和,肯定为偶数,且比他前面的数大。 答案 D 11.有如下VB程序段: b(1) = a(1):t = 1 For i = 2 To 6 For j = 1 To t If a(i) > b(j) Then      b(j) = a(i)      Exit For End If Next j If j > t Then t = t + 1: b(t) = a(i) Next i 数组a(1)至a(6)的值分别为15、22、13、134、43、2,执行该程序段后,变量t的值为(  ) A.2 B.3 C.4 D.5 解析 b数组中存储的是较大值,当a(i) > b(j)条件成立时,中途退出内循环,此时不满足j > t。变量t只有在a(i)小于或等于b数组中的值才增加1。 i t b(1) b(2) b(3) 2 2 22 3 3 13 4 3 134 5 3 6 3 答案 B 12.有如下 VB 程序段: flag = True : i = 1 Do While i <= 6 x = Int(Rnd * 100) + 1 If flag Or x >50 Then  a(i)=x  flag = Not flag  i = i + 1 End if Loop 执行该程序段后,在下列选项中,a(1)~a(6)各元素值不可能的是(  ) A.52,95,46,74,77,83 B.50,55,46,70,21,97 C.62,78,57,61,69,50 D.31,54,48,72,50,82 解析 本题考查循环过程中变量的变化规律。通过flag=Not flag语句得知,Flag的值是True和False交替出现的,当i的值为奇数时flag为True,偶数时flag为False。当i为偶数时flag为False,只有x>50成立才会给数组a赋值,即数组a偶数位(a(2)、a(4)、a(6))上的值肯定大于50。C选项a(6)=50不能出现。 答案 C 13.有如下程序段: Const n = 6 Dim a(1 To n) As Integer Dim i As Integer, j As Integer, t As Integer Do While True For i = 1 To n - 1 If a(i) > a(i + 1) Then Exit For Next i If i < n Then For k = 1 To n     j = Int(Rnd * 6) + 1     t=a(j):a(j)=a(i):a(i)=t Next k Else Exit Do End If Loop 数组中 a(1)到 a(6)的值依次为“56,34,48,87,65,96”,经上述程序段执行后a(1)到a(6)的值依次为(  ) A.96 87 65 56 48 34 B.34 48 56 65 87 96 C.选项A和B都有可能 D.选项A和B都不可能 解析 当条件i<n不成立时(即i>=n),退出循环,结束程序。在For循环中,满足条件a(i)>a(i+1)就中途退出循环,此时i<n,当i=n时,肯定不满足a(i)>a(i+1),因此该数组中的数已经是升序排列。 答案 B 14.有如下程序段: Sum = 6 a(11) = 49 For i = 10 To 1 Step -1 a(i) = a(i + 1) - 1 If a(i) Mod 3 = 0 Then Sum = Sum + a(i) Next i Text1.Text = Str(Sum) 该程序段运行后,文本框Text1中显示的内容是(  ) A.174 B.180 C.36 D.42 解析 从第10个元素开始,是他后面一个元素值减1,且是3的倍数相加(共有4个数,即a(10)a(7)a(4)a(1)),即48+45+42+39+6。 答案 B 15.以下VB程序段: n = Val(Text1.Text) Do While n > 0 t = n Mod 10 If t Mod 2 = 0 Then a(t) = a(t) + 1 n = n \10 Loop List1.AddItem a(2) 若在文本框Text1中输入2686261,程序运行后,在列表框List1中显示的值为(  ) A.0 B.2 C.3 D.6 解析 t是数n的个位数,当t是偶数时,进行计数。因此2的个数有2个。 答案 B 16.有如下VB程序段: Dim i As Integer, Sum As Integer Dim a(1 To 6) As Integer, b(1 To 6) As Integer Sum = 0 a(6) = 18: a(5) = 7: b(6) = 14: b(5) = 16 For i = 4 To 1 Step -1  a(i)=a(i+2)-a(i+1)  b(i)=b(i+2)-a(i)  If b(i) Mod 3 = 0 Then Sum=Sum+b(i) Next i Text1.Text = Str(Sum) 该程序段运行后,文本框 Text1 中显示的内容是 (  ) A.39 B.30 C.-9 D.12 解析 采用列表法进行变量跟踪。 i a(i) b(i) sum 4 11 3 3 3 -4 20 3 2 15 -12 -9 1 -19 39 30 答案 B 17.有如下VB程序段: s = ” ” For i = 2 To 5 For j = i To 5 If j Mod i = 0 Then a(j) = a(j) + 1 Next j Next i For i = 1 To 5 If a(i) <> 1 Then s = Str(i) & s Next i Text1.Text = s 若数组a的初始值都为0,则运行该程序段后,Text1中显示的内容为(  ) A.14 B.235 C.532 D.41 解析 如果是大写字母,将他的ASCII值-62,再加上A的ASCII值,表示将该字母加密成该字母后面第3位的字母。小写字母和数字不处理,把加密后的进行反向连接。 答案 D 18.有如下 VB 程序段: a(1) = 17: a(2) = 16: a(3) = 12: a(4) = 18 a(5) = 15: a(6) = 13: a(7) = 17: a(8) = 20 i = 2 Do While i <= 8 If i Mod 2 = 0 And a(i) > a(i - 1) Then t=a(i):a(i)=a(i-1):a(i-1)=t ElseIf a(i - 1) Mod 2 = 1 Then a(i-1)=a(i-1)+1 End If i = i + 1 Loop 执行程序后,a 数组各元素是(  ) A.17,16,18,12,16,14,20,18 B.18,16,18,12,16,14,20,17 C.16,17,18,12,13,16,20,17 D.18,16,18,12,14,15,17,20 解析 当i=2时,把a(1)加1 ,接着观察奇数位,该位上原来是奇数,加1后是偶数,如果是偶数不操作,因此奇数位肯定是偶数,偶数位上的数字肯定比奇数位上数字小。 答案 B 19.有如下VB程序段: Dim a(1 to 6) As Integer Sum= 0 For i = 1 To 6 For j = i+1 To 6  If j Mod i = 0 Then a(j) = 1 - a(j) Next j Next i For i = 1 To 6 Sum = Sum + a(i) Next i Text1.Text = Str(Sum) 该程序段运行后,文本框Text1中显示的内容是(  ) A.3 B.4 C.5 D.6 解析 语句a(j) = 1 - a(j)的功能是把a(j)中的0改为1,1改为0。当i>=4时,没有j可以除通i。 I a(1) a(2) a(3) a(4) a(5) a(6) 1 0 1 1 1 1 1 2 0 1 1 0 1 0 3 0 1 1 0 1 1 答案 B 20.(2020·1月浙江选考)下列选项中,与语句“If x < 0 Then y=-1 Else y=1”功能相同的是(  ) A.If x < 0 Then y=-1 y=1 B.y=1 If x < 0 Then y=-1 C.If x < 0 Then y=-1 If x > 0 Then y=1 D.If x > 0 Then y=1 Else y=-1 解析 本题考查IF语句。A选项无论x为多少,最终y的值都为1,不符合。B选项y首先赋值为1,若x小于0则赋值为-1,否则y不变,符合要求,所以选B。C选项和D选项忽略了x=0的情况,不符合。注意如果x=0则y的值要为1。 答案 B 21.小王同学编写了一个VB程序段如下所示: a = 7: b = 3: c = 9 m = 1: k = 1 For i=1 to 3 If Abs(a + b) > c Then k = k + 1 If k > m Then m = k Else k = 1 End If a = a - b b = a + b Next i Text1.Text = Str(m) 程序运行后,在文本框Text1中显示的结果为(  ) A.4 B.3 C.2 D.1 解析 列出表格,进行变量跟踪。 I A b c m k 初值 7 3 9 1 1 1 4 7 9 2 2 2 -3 4 9 3 3 3 -7 -3 9 3 1 答案 C 22.有如下 VB 程序段: Dim a(1 To 7) As Integer a(1)=14:a(2)=15:a(3)=0:a(4)=11 a(5)=13:a(6)=21:a(7)=17 i = 6: flag = True Do While i > 1 And flag If a(i) Mod 3 = 0 And a(i) <> 0 Then t=a(i):a(i)=a(i+1):a(i+1)=t ElseIf a(i) = 0 Then flag = flase ElseIf a(i + 1) Mod 2 = 1 Then a(i)=Abs(a(i)-a(i+1)) End If i = i - 1 Loop 执行程序后,a 数组各元素是(  ) A.14,0,15,4,17,13,21 B.14,15,0,11,4,17,21  C.15,14,0,11,4,17,21 D.14,15,0,11,13,4,17 解析 采用列表法。 i a(1) a(2) a(3) a(4) a(5) a(6) a(7) 初值 14 15 0 11 13 21 17 6 17 21 5 4 4 14 15 0 11 4 17 21 答案 B 23.有如下VB程序段: n=10 For k=1 To n\3  p=3*k-2 x=p For t=p+1 To 3*k  If a(t)<a(x) Then x=t  Next t  If p<>x Then y=a(p):a(p)=a(x):a(x)=y  End If Next k a(1)到a(10)中的元素依次为8,3,5,9,7,5,7,6,5,4,程序运行结束后,以下数组元素的值错误的是(  ) A.a(2)=8 B.a(5)=7 C.a(7)=3 D.a(10)=4 解析 本题考查选择排序算法及程序阅读能力。 k的值 1 2 3 p的值 1 4 7 x的初值 1 4 7 t的值 2 to 3 5 to 6 8 to 9 内层循环功能:在p开始的3个数中,找到最小数的位置存入x,将最小数与p位置的数交换。程序执行结束后,数组a的值依次是:3,8,5,5,7,9,5,6,7,4。 答案 C 24.有如下VB程序段: m=a(1):s=0 For i=2 To 5 If a(i)>m Then m=a(i) s=s+m Next i 数组元素a(1)到a(5)的值依次为“1,3,4,2,3”,执行该程序段后,变量s的值为(  ) A.7 B.12 C.13 D.15 解析 本题考查单循环和数组结合应用。本题是求最大值的变形,m 的含义为 a(1)~ a(i)中的最大值。当 i=2 时,m=3;当 i=3 时,m=4;当 i=4 时,m=4;当 i=5 时,m=4;而语句 s = s + m 每轮循环无条件执行,即s=3+4+4+4=15。 答案 D 25.有如下程序段: For i = 2 To 6 For j = 1 To i-1 If a(j)<=a(i) And d(j)>=d(i) Then     d(i)=d(j)+1:pre(i)=j End If Next j Next i max = 0: k = 0 For i = 1 To 6 If d(i)>max Then max=d(i):k=i Next i Do While k <> 0 st = a(k) & ”,” & st k = pre(k) Loop Text1.Text = Mid(st,1,Len(st)-1) 数组元素a(1)到a(6)的值依次为“2,6,5,9,8,8”,数组d各元素的值初始化为1,数组pre各元素的值初始化为0,经过该程序段“加工”后,Text1中的值是(  ) A.2,5,9 B.2,6,8,8 C.2,5,8,8 D.2,5,6,8,8,9 解析 在数组a中,从第2个数开始,往他前面的数进行查找,若找到比较他小的数,且d(j)>=d(i),进行相应操作。 i d(1) d(2) d(3) d(4) d(5) d(6) pre(1) pre(2) pre(3) pre(4) pre(5) pre(6) 2 1 2 1 1 1 1 0 1 0 0 0 0 3 1 2 2 1 1 1 0 1 1 0 0 0 4 1 2 2 3 1 1 0 1 1 2 0 0 5 1 2 2 3 3 1 0 1 1 2 2 0 6 1 2 2 3 3 4 0 1 1 2 2 5 找到最大值的位置在6,连接a(6),接着把a(5)、a(2)、a(1)连接在前面。 答案 B 26.有以下VB程序段: a(1) = 68: a(2) = 88: a(3) = 76: a(4) = 60: a(5) = 98 a(6) = 100: a(7) = 64: a(8) = 85: a(9) = 99: a(10) = 59 For i = 1 To 9 b(i)=Abs(a(i+1)-a(i)) c(b(i)\10)=c(b(i)\10)+1 Next i For i = 0 To 10 If c(i) > 0 Then s = s + ” ” + Str(c(i)) Next i Label1.Caption = s 数组c各元素初值为0,执行该程序段,标签Label1上显示的内容是(  ) A.2 3 2 1 1 B.1 3 2 2 1 C.2 3 2 2 1 D.1 3 2 1 2 解析 b(1)至b(9)数组中的值分别为20,12,16,38,2,36,21,14,40。而c数组是统计b数组元素中十位上数字的个数。 答案 B 27.有如下 VB 程序段: For k = 1 To 10 f = k Mod 2 If f = 0 Then a(k) = 0 Else a(k) = 1 For j = 1 To k If f = 0 Then     a(k) = a(k) + 1 Else      a(k) = a(k) * j End If Next j Next k 执行该程序段后,数组元素a(4)的值为(  ) A.6 B.4 C.2 D.1 解析 当k是偶数时,f的初值为0,并进行1至k的计数。当k是奇数时,f的初值为1,并进行1至k的累乘。 答案 B 28.有如下VB程序段(数组a各元素的初始值均为0)。 n = Len(Text1.Text) c = 1 For i = 1 To n s = Mid(Text1.Text, i, 1) If s >= ”0” And s <= ”9” Then a(c) = a(c) * 10 + Val(s) Else If a(c) > 0 Then c = c + 1 End If Next i 在文本框Text中输入 “No1:X:123:Y:680:End”。执行该程序段后,数组a(2)的值为(  ) A.1 B.2 C.3 D.123 解析 a数组存储的是字符串中的数字及个数,第二个数字串是123。 答案 D 29.有VB编写的程序如下: Dim a(0 To 9) As Integer,t as Long t = Val(Text1.Text) Do While t <> 0 a(t Mod 10) = 1 t = t \10 Loop For i = 0 To 9  x = x + a(i) Next i Text1中输入10242048则程序执行后x的值为(  ) A.1 B.2 C.5 D.10 解析 t Mod 10的值为t的个位数,a(t Mod 10)=1不是计数语句,指只要出现过,该下标对应的数组元素为1,出现过的数有01248。 答案 C 30.以下VB程序段: Dim n As Long ,t As Integer Dim a(1 To 9) As Integer n = Val(Text1.Text) Do While n > 0 t = n Mod 10 If t Mod 2 = 0 Then a(t)=a(t)+1 n = n \10 Loop List1.AddItem a(2) 若在文本框Text1中输入26862612,则单击命令按钮Command1后,在列表框List1中显示的值为(  ) A.2 B.3 C.4 D.7 解析 计n各个数字中的偶数,a(2)指2的个数。 答案 B 31.有如下 VB 程序段: For i = 1 To 10 b(i) = 0 Next i For i = 1 To 5 For j = 1 To 10 If b(i) < a(j) Then b(i)=a(j):t=j Next j a(t) = 0 List1.AddItem Str(b(i)) Next i 其中数组元素a(1)到a(10)的值依次为“25,42,53,66,77,83,98,14,38,99”,执行程序后,在列表框List1中依次输出的数据是(  ) A.25 42 53 66 77 B.14 25 38 42 53 C.99 98 83 77 66 D.83 98 14 38 99 解析 找出每趟中的最大值,存储在b数组中,同时把数组a该位置中的值赋值为0。 答案 C 32.有如下程序段: s = 0 For i = 1 To 5 If a(i) Mod 2 = 1 Then s = s + 1 Next i For i = 1 To 4 If a(i) Mod 2 = 0 Then For j = 5 To i + 1 Step -1 If a(j) Mod 2 = 1 Then    a(6) = a(i): a(i) = a(j): a(j) = a(6)     Exit For End If Next j End If Next i For i = s + 2 To 5 k = i - 1 For j = i To 5 If a(k) > a(j) Then k = j Next j If k <> i - 1 Then a(6) = a(i - 1): a(i - 1) = a(k): a(k) = a(6) End If Next i 数组a(1)至a(5)中的数据分别为64,57,22,96,71,运行该程序段,数组a中数据依次为(  ) A.22, 57, 64, 71, 96 B.71, 57, 22, 96, 64 C.71, 57, 22, 64, 96 D.57, 71, 22, 64, 96 解析 变量s中存储的是a数组是奇数,因此s=2。当a(i)是偶数时,与最后面第1个奇数互换。数组中值为71,57,22,96,64。接着对后面的偶数采用选择排序进行长序排列。 答案 C 33.有如下VB程序段: a(1)=1: a(2)=1 b(1)=1: b(2)=2 For i=3 To 5 a(i)=a(i-1)+a(i-2) b(i)=b(i-1)+a(i) Next i 执行该程序段后,数组元素b(5)的值为(  ) A.12 B.8 C.5 D.4 解析 当i=3 时,a(3)=2 ,b(3)=3。当i=4 时,a(4)=3 ,b(4)=7。当i=5时,a(5)=5 ,b(5)=12。 答案 A 34.有VB程序段如下: s = ”2019appreciate”: sum = 0 For i = 1 To Len(s) ch = Mid(s, i, 1) If ch >= ”a” And ch <= ”z” Then m = Asc(ch) - Asc(”a”) + 1 a(m) = a(m) + 1 End If Next i For i = 1 To 10 If a(i) > 0 Then sum = sum + 1 Next i 数组a各元素的初始值都为0,执行该程序段后,则变量sum的值为 (  ) A.10 B.7 C.4 D.3 解析 表达式Asc(ch) - Asc(”a”) + 1表示小写字母ch在字母表中位置,a(m)表示该位置上字母的个数。只是统计小写字母,且sum是统计a(i)大于0的个数,因此是统计出现几种小写字母。且i只循环了60次。 答案 C 35.有如下VB程序段: For i = 1 To n a(i) = Mid(Text1.Text, i, 1) Next i Do While n > 1 If Asc(a(n)) >= Asc(a(n - 1)) Then m = 1 Else m = 2 b(m) = b(m) + 1 n = n - 1 Loop 数组b各元素的初始值都为0,文本框Text1的内容为“2019Python”。执行程序后,变量 b(1)的值为(  ) A.10 B.6 C.5 D.4 解析 数组a中存储的是输入的每个字符,从最后一个字母开始,如果大于等于他前面一个,m=1,且统计的次数增加1。 答案 C 36.有如下VB程序段: Private Sub Command1_Click() Dim s As String, mw As String, ch As String Dim temp As Integer s = Text1.Text temp = 0: mw = ” ” For i = 1 To Len(s) ch = Mid(s, i, 1) If ch >= ”0” And ch <= ”9” Then temp = temp * 10 + Val(ch) ElseIf ch = ”-” Then mw = mw + Chr(temp Mod 27 - 1 + Asc(”A”)) temp = 0 Else mw = mw + ch End If Next i Text2.Text = mw End Sub 在 Text1 里输入“1931-572-185”(不包括双引号),当单击按钮后,文本框 Text2 里的输出结果是(  ) A.HAD B.NE C.NEW D.ORG- 解析 语句temp = temp * 10 + Val(ch)的作用是取出字符串中的数字串。表达式 Chr(temp Mod 27 - 1 + Asc(”A”))的功能是把数字转换成-1至26之间数,再加上字母A的ASCII码值。并将转换后的数字表达为字母表中大字字母。但文本最后没有“一”,因此只输两个字母。 答案 B 37.有如下 VB 程序段: Priv
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 高考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服