[计算机类试卷]国家二级VB机试(选择题)模拟试卷9及答案与解析.doc

上传人:fatcommittee260 文档编号:500329 上传时间:2018-11-30 格式:DOC 页数:29 大小:78.50KB
下载 相关 举报
[计算机类试卷]国家二级VB机试(选择题)模拟试卷9及答案与解析.doc_第1页
第1页 / 共29页
[计算机类试卷]国家二级VB机试(选择题)模拟试卷9及答案与解析.doc_第2页
第2页 / 共29页
[计算机类试卷]国家二级VB机试(选择题)模拟试卷9及答案与解析.doc_第3页
第3页 / 共29页
[计算机类试卷]国家二级VB机试(选择题)模拟试卷9及答案与解析.doc_第4页
第4页 / 共29页
[计算机类试卷]国家二级VB机试(选择题)模拟试卷9及答案与解析.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、国家二级 VB机试(选择题)模拟试卷 9及答案与解析 一、选择题 1 在窗体上画一个名称为 Commandl的命令按钮,编写如下事件过程: Private Sub Commandl_Click() n=0 For i=0 To 10 X=2 *i-1 If X Mod 3=0 Then n=n+1 Next i Prim n End Sub 运行程 序,单击命令按钮,则窗体上显示的是 ( A) 1 ( B) 3 ( C) 5 ( D) 7 2 体上有一个名称为 Textl的文本框,一个名称为 Commandl的命令按钮。要求编写一个程序,统计文本框中 0-9各数字字符的个数。某人编写如下程序:

2、 Private Sub Commandl_Click() Dim count(10)As Integer第 1个 For循环 For i=0 To 9 count(i)=0 Next s=Trim(Textl Text) strLen=Len(s)第 2个 For循环 For i=1 To strLen c=Mid(s, i, 1) If c =”0”And c =”9”Then x=Val(c): count(i)=count(i)+1 End If Next第 3个 For循环 For i=0 To 9 Print Str(i), count(i) Next End Sub 运行程序后,

3、发现不能实现题目的要求,程序应该进行的修改是 ( A)将第 2个 For循环的初值改为 0 ( B)将第 2个 For语句改为 For i=0 To 9 ( C)去掉 x=Val?语句 ( D)将 count(i)=count(i)+1改为 count(x)=count(x)+1 3 在窗体上画一个组合框,其名称为 Combol,然后编写如下事 件过程: Private Sub Form_Load() Comb01 Text=”1” For i=1 T0 10 Sum=Sum+i Next i Combol Text=Sum End Sub 程序运行后,输出结果为 ( A)在组合框的编辑区中显

4、示 1 ( B)在组合框的编辑区中显示不定值 ( C)在组合框的编辑区中显示 55 ( D)出错信息 4 设 a、 b都是自然 数,为求 a除以 b的余数,某人编写了以下函数: Function fun(a As Integer,b As Integer) While a b a=a-b Wend fun=a End Function 在调试时发现函数是错误的。为使函数能产生正确的返回值,应做的修改是 ( A)把 a=a-b改为 a=b-a ( B)把 a=a-b改为 a=a b ( C)把 While a b改为 While a b ( D)把 While a b改为 Whilea =b 5

5、 设有如下事件过程: Private Sub Form_Click() x=0 While x 10 x=x+1: x=x*x Wend Print x End Sub 运行程序,单击窗体,输出结果是 ( A) 16 ( B) 19 ( C) 20 ( D) 25 6 假定有以下循环结构 Do Until条 件表达式循环体 Loop则以下正确的描述是 ( A)如果 “条件表达式 ”的值是 0,则一次循环体也不执行 ( B)如果 “条件表达式 ”的值不为 0,则至少执行一次循环体 ( C)不论 “条件表达式 ”的值是否为 “真 ”,至少要执行一次循环体 ( D)如果 “条件表达式 ”的值恒为 0

6、,则无限次执行循环体 7 以下 Visual Basic不支持的循环结构是 ( A) ForNext ( B) For EachNext ( C) DoLoop ( D) DoEnd Do 8 在窗体上画两个文本框 (名称分别为 Textl和 Text2)和一个命令按钮 (名称为Commandl),然后编写如下事件过程: Private Sub Command l_Click() x=0 Do While x 50 x=(x+2)*(x+3): n=n+1 Loop Textl Text=Str(n): Text2 Text=Str(x) End Sub 程序运行后,单击命令按钮,在两个文本框

7、中显示的值分别为 ( A) 1和 0 ( B) 2和 72 ( C) 3和 50 ( D) 4和 168 9 编写如下程序: Private Sub Command l_Click() Dim x As Integer,y As Integer x=1: y=1 Do y=x*y If y 10 Then Exit Do Else x=x+3 End If Loop Until x =10 Print x; y End Sub 程序运行后,单击命令按钮 Commandl,输出结果为 ( A) l 1 ( B) 4 1 ( C) 4 2 ( D) 7 28 10 编写如下程序: Private

8、Sub Command l_Click() Dim n As Long, s As String n=InputBox(”输入一个数 ”) Do While n 0 s=s&n Mod 10: s=s&n 10 Mod 10 n=n 100 Loop Print s End Sub 程序运行后,单击命令按钮 Commandl,并输入数值 123456,则输出结果为 ( A) 654321 ( B) 563412 ( C) 642531 ( D) 615243 11 下面程序计算并输出的是 Private Sub Command l_Click() a=10: s=0 Do s=s+a*a*a:

9、 a=a-1 Loop Until a 0 Print s End Sub ( A) 1 3+23+33+103 的值 ( B) 10 !+3 !+2 !+1 ! 的值 ( C) (1+2+3+10)3 的值 ( D) 10个 103的和 12 窗体上有 1个名称为 Commandl的命令按钮,事件过程如下: Private Sub Command l_Click() Dim x, y, z x=InputBox(”请输入第 1个整数 ”): y=InputBox(”请输入第 2个整数 ”) Do Until x=y If x y Then x=x-y Else y=y-x End if Lo

10、op Print x End Sub 运行程序,单击命令按钮,并输入 2个整数 169和 39,则在窗体上显示的内容为 ( A) 1l ( B) 13 ( C) 23 ( D) 39 13 窗体上有 1个名称为 Commandl的命令按钮,事件过程及函数过程如下: Private Sub Command l_Click() Dim m As String m=InputBox(”请输入字符串 ”) Print pick_str(m) End Sub Private Function pick_str(s As String)As String temp=“: i=1: sLen=Len(s)

11、Do While i =sLen 2 temp=temp+Mid(s, i, 1)+Mid(s, sLen-i+1, 1) i=i+1 Loop pick_str=temp End Function 运行程序,单击命令按钮,并在输入对话框中输入 “basic”,则在窗体上显示的内容为 ( A) bcai ( B) cbia ( C) bcais ( D) cbias 14 编写如下程序: Private Sub Command 1 Click() Dim m As Integer, n As Integer m=1: n=0 Do While m 20 n=m+n: m=3*m+1 Loop

12、Print m, n End Sub 程序运行后,单击命令按钮 Commandl,输出结果为 ( A) 40 18 ( B) 40 19 ( C) 20 64 ( D) 21 64 15 下列循环中,可以正常结束的是 ( A) i=10 Do i=i+1 Loop Until i 1 ( B) i=1 Do i=i+l Loop Until i=10 ( C) i=10 Do i=i+1 Loop While i 1 ( D) i=10 Do i=i-2 Loop Until i=1 16 以下能够正常结束循环操作的程序段是 ( A) i=5 Do i=i+1 Loop Until i 0 (

13、 B) i=5 Do i=i+2 Loop Until i=1 ( C) i=5 Do While i 0 i=i-2 Loop ( D) i=0 Do While i 1 i=i-2 Loop 17 窗体上有一个名称为 Commandl的命令按钮,其单击事件过程如下: Private Sub Command l_Click() Dim s As Double s=0: i=1 Do While i 6 s=s+i (i+1): i=i+1 Loop Print s End Sub 该事件过程的功能是计算一个表达式的值,该表达式是 ( A) 1+1 2+2 3+3 4+4 5 ( B) 1+1

14、 2+2 3+3 4+4 5+5 6 ( C) 1 2+2 3+3 4+4 5 ( D) 1 2+2 3+3 4+4 5+5 6 18 假定有如下程序: Private Sub Form_Click() Dim N As Integer,J As Integer N=0 J=1 Do Until N 2 N=N+1: J=J+N*(N+1) Loop Prim N: J End Sub 运行程序,单击窗体,输出结果是 ( A) 3 21 ( B) 3 7 ( C) 0 1 ( D) 3 13 19 有如下程序: Function fun(ByVal num As Integer)As Inte

15、ger Dim k As Integer k=1 num=Abs(num) Do While num k=k*(num Mod 10): num=num 10 Loop fun=k End Function Private Sub Form_Click() Dim nAs Integer,rAs Integer n=InputBox(”请输入一个数: ”): n=Int(n): r=fun(n): Print r End Sub 程序运行后,单击窗体,在输入对话框中输入 246,输出结果为 ( A) 120 ( B) 48 ( C) 24 ( D) 60 20 下面程序的功能是输出 100以内

16、所有素数: Private Sub Commandl_Click() For n=2 To 100 isprime=True: k=2 Do While k =n 2 And_ Ifn Mod k=0 Then isprime=False k=k+1 Loop If isprime Then Print n Next n End Sub 为使上面程序可以实现该功能,程序代码中横线处应填写的代码是 ( A) isprime ( B) Not isprime ( C) n 100 ( D) n =100 21 编写如下程序: Dim num As Integer, r As Integer,n A

17、s Integer,i As Integer,arr(5)As Integer Private Sub Command l_Click() num=12: r=2 Call subl(num, r, n) For i=n To 1 Step-1 Print arr(i); Next i End Sub Sub sub 1(d As Integer,r As Integer,k As Integer) k=0 Do While d 0 k=k +1: arr(k)=d Mod r: d=d r Loop End Sub 程序运行后,单击命令按钮 Commandl,输出结果为 ( A) 1 1 0

18、 0 ( B) 0 0 1 1 ( C) 0 1 0 1 ( D) 1 0 1 0 22 编写如下程序: Private Sub Command l_Click() Dim nAs Long, sAs String n=InputBox(”输入一个数 ”) DO While n 0 Print n 10 Mod 10;: Print n Mod 10;: n=n 100 Loop Print s End Sub 程序运行后,单击命令按钮 Commandl,并输入数值 123456,则输出结果为 ( A) 6 5 4 3 2 1 ( B) 5 6 3 4 1 2 ( C) 6 4 2 5 3 1

19、 ( D) 6 1 5 2 4 3 23 假定有以下程序段 For i=1 To 3 For i=5 To 1 Step-1 Print i*j Nextj Next i 则语句 Print i*j的执行次数是 ( A) 15 ( B) 16 ( C) 17 ( D) 1 8 24 在窗体上画 1个命令按钮,并编写如下事件过程: Private Sub Command l_Click() Dim a(3, 3) For m=1 T0 3 For n=1 To 3 If n=m Or n=4-m Then a(m, n)=m+n Else a(m, n)=0 End If Print a(m,

20、n); Next n Print Next m End Sub 运行程序,单击命令按钮,窗体上显示的内容为 ( A) 2 0 0 0 4 0 0 0 6 ( B) 2 0 4 0 4 0 4 0 6 ( C) 2 3 0 3 4 0 0 0 6 ( D) 2 0 0 0 4 5 0 5 6 25 编写如下程序: Private Sub Command l_Click() Dim num As Integer,k As Integer,n As Integer num=InputBox(”请输入一个正整数: ”) k=num n=2 Do Do While num Mod n=0 Print n

21、;: num=num n Loop n=n+1 Loop Until n k 2 End Sub 程序运行后,单击命令按钮 Commandl,并输入数值 20,则输出结果为 ( A) 2 2 5 ( B) 2 3 4 ( C) 2 3 4 5 ( D) 2 5 26 编写如下程序: Private Sub Command l_Click() Dim a(3, 3)As Integer, b(3, 3)As Integer For i=1 To 3 For j=1 To 3 a(i, j)=i+j: b(i, j)=a(i, j)+i*(j1) Next i Next i For i=1 To

22、3 For j=l To 3 Print b(i, j); Next j Print Next i End Sub 程序运行后,单击命令按钮 Commandl,输出结果为 ( A) 2 3 4 3 4 5 4 5 6 ( B) 2 4 6 3 6 9 4 8 12 ( C) 3 5 7 5 8 11 7 11 15 ( D) 4 6 8 7 10 13 10 14 18 27 已知在 4行 3列的全局数组 score(4, 3)中存放了 4个学生 3门课程的考试成绩(均为整数 )。现需要计算每个学生的总分,某人编写程序如下: Option Base 1 Private Sub Command

23、l_Click() Dim sum As Integer sum=0 For i=1 To 4 For i=1 To 3 sum=sum+score(i, j) Next j Print”第 ”&i&”个学生的总分是: ”; sum Next i End Sub 运行此程序时发现,除第 1个人的总分计算正确外,其他人的总分都是错误的,程序需要修改。以下修改方案中正确的是 ( A)把外层循环语句 For i=1 To 4改为 For i=1 To 3内层循环语句 Forj=1 To 3改为 For i=1 To 4 ( B)把 sum=0移到 For i=1 To 4和 Forj=1 To 3之

24、间 ( C)把 sum=sum+score(i, j)改为 sum=sum+score(j, i) ( D)把 sum=sum+score(i, j)改为 sum=score(i, j) 28 在窗体上画一个命令按钮和一个标签,其名称分别为 Commandl和 Labell,然后编写如下事件过程: Private Sub Command l_Click() Counter=0 For i=1 To 4 For i=6 To 1 Step-2 Counter=Counter+1 Next j Next i Label l.Caption=Str(Counter) End Sub 程序运行后,单击

25、命令按钮,标签中显示的内容是 ( A) 11 ( B) 12 ( C) 16 ( D) 20 29 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command l_Click() Dim I, Num Randomize Do For I=1 To 1000 Num=Int(Rnd*100): Print Num; Select Case Num Case 12 Exit For Case 58 Exit Do Case 65, 68, 92 End End Select Next I Loop End Sub 上述事件过程执行后,下列描述中正确的是 ( A) Do

26、循环执行的次数为 1000次 ( B)在 For循环中产生的随机数小于或等于 100 ( C)当所产生的随机数为 12时结束所有循环 ( D)当所产生的随机数为 65、 68或 92时窗体关闭、程序结束 30 运行如下程序 Private Sub Command l_Click() Dim a(5, 5)As Integer For i=1 To 5 Forj=1 To 4 a(i, j)=i*2+j If a(i, j) 7=a(i, j) 7 Then n=n+1 End If Nextj Next Print n End Sub 则 n的值是 ( A) 2 ( B) 3 ( C) 4 (

27、 D) 5 31 命令按钮 Commandl的单击事件过程如下: Private Sub Command l_Click() Dim a(10, 10)As Integer x=0 For i=1 To 3 Forj=1 To 3 a(i, j)=i*2 Modj Ifx a(i, j)Then x=a(i, j) Next Next Print x End Sub 执行上述事件过程后,窗体上显示的是 ( A) 1 ( B) 2 ( C) 3 ( D) 4 32 设有如下程序: Option Base 1 Dim a(3, 4)As Integer,b(4, 3)As Integer Priv

28、ate Sub Command 1_Click()循环 1 For i=1 To 3 Forj=1 To 4 b(j, i)=a(i, j) Nextj Next i循环 2 x=b(1, 1) For i=1 To 4 Forj=1 To 3 Print b(i, j); Ifx b(i, J)Then x=b(i, j) Nextj Print Next i End Sub 程序中的数组 a已被赋值。以下关于上述程序的叙述中,正确的是 ( A)窗体模块中,不能使用 Dim声明 a、 b数组 ( B) “循环 1”可以正常运行 ( C) “循环 2”中循环变量 i、 j的终值不对,所 以不能

29、正常运行 ( D)程序可以正常运行, x中保存的是数组 b中所有元素中最小的数 33 有如下程序: Private Sub Form_Click() Dim s As Integer,p As Integer p=1 For i=1 To 4 Forj=1 To i s=s+j Next j p=p*s Next i Print p End Sub 程序运行后,单击窗体,则输出结果是 ( A) 90 ( B) 180 ( C) 400 ( D) 800 34 窗体上有 1个名称为 Commandl的命令按钮,事件过程如下: Private Sub Command l_Click() Dim a

30、rr_x(5, 5)As Integer For i=1 To 3 Forj=2 To 4 arr_x(i, j)=i*j Nextj Next i Print art_x(2, 1); arr_x(3, 2); art_x(4, 3) End Sub 运行程序,并单击命令按钮,窗体上显示的内容为 ( A) 0 6 0 ( B) 2 6 0 ( C) 0 6 12 ( D) 2 6 12 35 在窗体上画一个名称为 Commandl的命令按钮,并编写如下程序: Option Base 1 Private Sub Command l_Click()Dim a(4, 4) For i=1 To 4

31、 For i=1 To 4 a(i, j)=(i-1)*3+j Nextj Next i For i=3 To 4 Forj=3 To 4 Print a(j, i); Nextj Print Next i End Sub 运行程序,单击命令按钮,则输出结果为 ( A) 6 9 7 10 ( B) 7 10 8 l 1 ( C) 8 1 1 9 12 ( D) 9 12 10 13 36 编写如下程序: Private Sub Command l_Click() Dim a(3, 3)As Integer, s As Integer For i=1 To 3 For i=1 To 3 a(i,

32、 j)=i*j+i Nextj Next i s=0 For i=1 To 3 s=s+a(i, 4-i) Next i Print s End Sub 程序运行后,单击命令按钮 Commandl,输出结果为 ( A) 7 ( B) 13 ( C) 16 ( D) 20 37 编写如下程序: Private Sub Command l_Click() Dim i As Integer,j As Integer n=InputBox(”输入一个大于 1的正整数 ”) For i=2 To n Forj=2 To Sqr(i) Ifi Modj=0 Then Exit For Nextj Ifj

33、Sqr(i)Then Print i Next i End Sub 该程序的功能是 ( A)判断 n是否为素数 ( B)输出 n以内所有的奇数 ( C)输出 n以内所有的偶数 ( D)输出 n以内所有的素数 38 命令按钮 Commandl的事件过程如下: Private Sub Command l_Click() Dim art(5, 5)As Integer Dim iAs Integer,j As Integer For i=1 To 4 Forj=2 To 4 arr(i, j)=i+j Nextj Next i Print art(1, 3)+art(3, 4) End Sub 执行

34、上述过程,输出结果是 ( A) 6 ( B) 7 ( C) 11 ( D) 12 国 家二级 VB机试(选择题)模拟试卷 9答案与解析 一、选择题 1 【正确答案】 B 【试题解析】 本题的 For循环共执行 11次,在每次循环中计算出一个 X的值,然后判断能否被 3整除,如能整除则令计数器 n自加 1。 2 【正确答案】 D 【试题解析】 本题中要求分别统计数字 0 9的个数,使用了一个数组 count来存放各个数字的个数。在第一个 For循环中,将数组的各个元素设置为 0,在第二个循环中,依次取出字符串中的每一个字符,判断是不是在 0 9之间,如果在范围内,则应该令对应的数组元素加 1。

35、如果写成 count(i)=count(i)+1,只能顺序的令每一个数组元素都加 1,只有改写成 count(x)=count(x)+1,让 x作为下标,才能保证让 x对应的数组元素加 1。 3 【正确答案】 C 【试题解析】 组合框的 Text属性将会返回或者设置编辑区中的文本,本题中显示的是 1 10的累加和 55。 4 【正确答案】 D 【试题解析】 本题函数过程的原代码仅适合 a不能被 b整除的两数,而当 a能被b整除时则不适用,如 a=4, b=2, a除以 b的余数为 0,而原代码返回的函数值为2。因 此需将语句 While a b改为 While a =b。 5 【正确答案】 D

36、 【试题解析】 本题是简单 While循环,在循环中改变循环变量 x的值,要注意退出循环时 x必然是不会满足循环条件的。本题中循环中 x依次变化为 1、 4、 25。 6 【正确答案】 D 【试题解析】 本题考查的考点是有关 Do型循环的。对于这种循环结构,首先看条件判断在循环体的前面还是后面,如果是先判断条件,则有可能一次也不执行循环体;如果是后判断条件,则无论条件如何至少执行一次循环体。在 Until循环中条件为 False时执行循环体,条件为 True时退出循环;在 While循环中条件为True时执行循环体,条件为 False时退出循环,这一点要注意区分清楚。 7 【正确答案】 D 【

37、试题解析】 Visual Basic支持的循环结构包括: ForNext 循环、ForEachNext 循环、 DoLoop 循环和 While循环。 8 【正确答案】 B 【试题解析】 本题考查的考点是有关 Do型循环的。对于这种循环结构,首先看条件判断在循环体的前面还是后面,如果是先判断条件,则有可能一次也不执行循环体; 如果是后判断条件,则无论条件是什么,至少执行一次循环体。在 Until循环中条件为 False时执行循环体,条件为 True时退出循环;在 While循环中条件为 True时执行循环体,条件为 False时退出循环,这一点要注意区分清楚。本题只需要实际计算一下两次循环中

38、x和 n值的变化即可容易的得出结果。 9 【正确答案】 B 【试题解析】 Do型循环结构,首先看条件判断在循环体的前面还是后面,如果是先判断条件,则有可能一次也不执行循环体;如果是后判断条件,则无论条件是什么,至少执行一次循环体。在 Until循环中条件为 False时执行循环体,条件为 True时退出循环;在 While循环中条件为 True时执行循环体,条件为 False时退出循环。本题中使用的是后判断型循环,第一次循环时 y的值为 1,不满足 y10,执行 Else分支, x变成 4,此时由于满足 x =10所以结束循环。 10 【正确答案】 A 【试题解析】 本题在循环中先将 n除以

39、10的余数 (即个位数字 )连接到 s上,然后将整除 10后除以 10的余数 (即十位上数字 )连接到 s上,然后 n整除 100的值赋值给 n(即去掉最后两位 ),然后继续进行循环,所以最终 将会输出数字的逆序。 11 【正确答案】 A 【试题解析】 对于 Do型循环结构,首先看条件判断在循环体的前面还是后面,如果是先判断条件,则有可能一次也不执行循环体;如果是后判断条件,则无论条件是什么,至少执行一次循环体。在 Until循环中条件为 False时执行循环体,条件为 True时退出循环;在 While循环中条件为 True时执行循环体,条件为False时退出循环。本题是一个比较简单的 Do

40、循环,计算从 1到 10的立方和。 12 【正确答案】 B 【试题解析】 本题的循环中将两个输入 的数 x和 y互相相减,直到 x=y为止,实际上就是辗转相减法求最大公约数的过程。 13 【正确答案】 A 【试题解析】 本题的函数中使用了 Do循环,循环条件是 i =sLen 2;由于字符串的长度为 5,所以循环会执行两次;在每次循环中使用 Mid函数依次取得字符串的第一个字符、最后一个字符、第二个字符、倒数第二个字符。 14 【正确答案】 A 【试题解析】 本题的 Do循环是一个先判断条件型的循环,在循环中将循环变量m的值每次改变。分析循环可看出,在 4次循环中 m的值分别为 1、 4、 1

41、3、 40,而只有前三次循环中的 m值被累加到 n中,最后一次循环由于不满足 m 20而跳出。 15 【正确答案】 B 【试题解析】 Do循环语句的功能是:当指定的 “循环条件 ”为真或直到指定的 “循环条件 ”变为真之前重复执行循环体。 Do While|UntilLoop 循环是在条件满足的情况下才执行一次循环体,而 DoLoop While|Until 循环不管是否满足条件都先执行一次循环体,然后再判断条件是否成立以决定后续操作。本题的 A选项由于 i的值从 10开始递增,永远不会满足 i 1而无限循环; C选项由于 i的值从 10开始递增,永远满足 i 1而无限循环: D选项由于 i的

42、值从 10开始递减,但是因为每次递减 2,所以 i永远为偶数,不会满足 i=1而无限循环。 16 【正确答案】 C 【试题解析】 Do循环语句的功能是:当指定的 “循环条件 ”为真或直到指定的 “循环条件 ”变为真之前重复执行循环体。 Do While|UntilLoop 循环是在条件满足的情况下才执行一次循环体,而 DoLoop While|Until 循环不管是否满足条件都先执行一次循环体,然后再判断条件是否成立以决定后续操作。本题的 A选项由于 i的值从 5开 始递增,永远不会满足 i 0而无限循环; B选项由于 i的值从 5开始递增,永远满足 i=1而无限循环; D选项由于 i的值从

43、0开始递减,永远满足 i 1而无限循环。 17 【正确答案】 D 【试题解析】 本题中 Do循环的循环变量 i的初值为 1,继续循环的条件是 i6,在每次循环中 i的值加 1,因此循环会执行 5次;在第一次循环中累加 1, 2,第二次循环中累加 2 3,第三次循环中累加 3 4 即最后计算的是 1 2+23+3 4+4 5+5 6的值 18 【正确答案】 A 【试题解析】 Do循环语句的功 能是:当指定的 “循环条件 ”为真或直到指定的 “循环条件 ”变为真之前重复执行循环体。 Do While|UntilLoop 循环是在条件满足的情况下才执行一次循环体,而 DoLoop While|Unt

44、il 循环不管是否满足条件都先执行一次循环体,然后再判断条件是否成立以决定后续操作。本题的循环共执行 3次,跳出循环时 N的值为 3, J的值为 21。 19 【正确答案】 B 【试题解析】 在函数 fun中会对传过来的参数 num进行判断,如果不为 0则进行循环,将各位数字乘到一起然后作为函数的返回值。 20 【 正确答案】 A 【试题解析】 求素数的基本思路是,用 2到 n 2依次去除要判断的数 n,如果能整除就将 isprime置为 False代表不是素数;如果 isprime已经为 False,那么循环没有继续执行的必要了,所以应填入 isprime=True,由于是布尔型变量,可以简

45、写为 isprime。 21 【正确答案】 A 【试题解析】 本题实际上是在子过程 sub1中对 arr数组进行的赋值工作,形参 d的值为 12, r的值为 2, k的初值为 0;在循环中计算 d除以 2的余数放到数组的第一个元素,整除 2后再除 以 2的余数放到第二个元素 以此类推,最后数组arr中存放的是 (0、 0、 1、 1),在 Commandl_Click()过程中调用完子过程对数组进行赋值以后,逆序输出了数组的值。 22 【正确答案】 B 【试题解析】 本题中是在一个 Do循环中对一个数字进行分解,首先输出该数字整除 10之后再除以 10得到的余数 (即十位上数字 ),然后输出该

46、数除以 10得到的余数 (即个位数字 ),然后将该数去掉十位和个位上的数字以后继续循环,最终依次输出 5、 6、 3、 4、 1、 2。 23 【正确答案】 A 【试题解 析】 本题考查的考点是有关二重循环的。 ForNext 循环语句可提供一个重复执行的语句序列,遵循 “先检查,后执行 ”的规则,执行过程中,循环次数=Int(终值 -初值 )步长 +1。二重循环的内循环语句执行次数等于内外循环次数之积。 24 【正确答案】 B 【试题解析】 本题通过一个嵌套的 For循环为二维数组 a的各元素赋值,该二维数组对应矩阵的主对角线上的元素 (即满足条件 m=n)和副对角线上的元素 (即满足条件

47、m+n=4)其值为 m+n,即主对角线上的元素从左 卜至右下依次为 2、 4、 6,副对角线上的元素 均为 4,而其它元素均为 0。 25 【正确答案】 A 【试题解析】 Do型循环结构,首先看条件判断在循环体的前面还是后面,如果是先判断条件,则有可能一次也不执行循环体;如果是后判断条件,则无论条件是什么,至少执行一次循环体。在 Until循环中条件为 False时执行循环体,条件为 True时退出循环;在 While循环中条件为 True时执行循环体,条件为 False时退出循环。本题是一个嵌套的 Do循环,外层循环是后判断条件的 Until型循环,内层循环是先判断条件的 While型循环。

48、根据输入的值 20可判断 出三次输出的结果为 2、 2、 5。 26 【正确答案】 B 【试题解析】 本题中有两个二维数组 a和 b,然后用一个二重循环为两个数组赋值,根据每次循环中 i和 i的值不难得出 B为正确答案。 27 【正确答案】 B 【试题解析】 本题考查的考点是有关循环求和和二维数组的。本题要对二维数组的每行进行累加求和,每计算新的一行就应该将累加和变量 sum清零,否则上一行的累加计算结果将会在下一行继续累加,造成结果不正确。 28 【正确答案】 B 【试题解析】 本题考查的考点是有关循环的。 通过观察可以得知,在每次内循环中 Counter的值会增加 1,所以最终结果就是内循环执行的总次数。由于内循环和外循环都是 For循环,所以循环次数一定,外循环共执行 4次,每次外循环中内循环都执行 3次,故内循环执行的总次数为 4*3=12次。 29 【正确答案】 D 【试题解析】 本题考查的考点是有关随机数和退出语句的。在本题中,首先在循环中生成一个随机数,由于 Rnd函数可以生成 0 1开区间的数,所以Int(Rnd*100)能够生成 0 99之间的整数,随后对此数进行判断,当随机数为 12时退出内循环;当 随机数为 58时退出外循环;当随机数为 65、 68或 92时将会结束整个窗体的运行。本题中的循环次数受

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

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1