Print a,b End Sub
单击命令按钮,程序的执行结果为________。 A. 10,20
B. 20,110
C. 110,20 D. 200,110
15. 在窗体中添加一个命令按钮,然后编写如下程序:
Private Sub Command1_Click()
Dim I
For I=1To 13 Step2 I=I+1 Print I; Next I End Sub
单击命令按钮,程序的执行结果为________。
A. 2 4 6 8 10 12 C. 2 5 8 参考答案
1. 分析:函数UCASE$的作用是把小写字母转换成大写字母,依次把每个字母转换为大写。在依次将每一个取出的字母连接到S$中时,先取出的字符连接到右边。
答案:C
2. 分析:a的初值为零,在循环中累加j\7,j在循环中值为1到20,当j是1到6时,j\7为0,当j是7到13时,j\7为1,当j是14到20时,j\7为2,因此可知a=0+7*l+7*2,即2l,退出循环后,输出a的值是2l。
答案:A
3. 分析:本例采用了For...Next结构,可用循环次数计算公式,将循环参数代入公式,Int((90-7)/5+1),计算结果为17。
答案:D
4. 分析:本题是For循环结构,循环体要执行15次,循环控制变量的值从1变到15,循环体是计算每次循环变量除以3余数的累加和,余数按循环顺序排列为1,2,0,l,2,0,很容易看出其中规律,每循环3次,累加和增加3,共循环15次,累加和从0增加到15。
答案:B
5. 分析:本题应用三重嵌套循环,循环嵌套的执行,当外层循环执行一次,内层就要执行所有循环。
①i=1时,j=1,k执行三次循环得到a的值3
②i=2,j=l时,k执行三次循环得到a的值加3并覆盖原值,j=2时,k执行两次循环a的值加2
③依次,i=3时,j执行3次,其中k分别执行3,2,1次,a的值分别加3,2,1 ④最后得到a的值为14。 答案:C
26
B. 1 3 5 7 9 11 13 D. 2 5 8 11 14
6. 分析:程序在x<50时将一直循环。 答案:B.
7. 分析:本题是For循环结构内嵌块If结构,块If结构的If块是空的,在VB 6.0中这是允许的。循环控制变量j控制循环体执行10次,如果j不等于10,每次Sum累加上j的值,即将l,2,3,4,5,6,7,8,9加起来,当j等于10时,什么也不做。因此,累加后Sum的值为45。
答案:A
8. 分析:本题使用了Do…While Loop循环结构,循环初始设置b为l,执行循环体的条件是b<10,在循环中每次用2 * a+b计算出新的b值,很容易算出第1次执行后b的值是5,第2次执行后b的值是9,第3次执行后b的值是13,此时b的值超过了10,退出循环,所以退出循环时b的值是13。
答案:A
9. 分析:在多重循环中,外层循环变化一次,内层循环从头到尾执行一遍。该题是一个三重循环,而且中层循环变量的终值和内层循环变量的初值是随上一层循环的循环变量的变化而变化的,因此需要逐层加上计算后累加出各层的循环次数。模拟计算机的计算过程,计算各层的循环次数如下:
(1) 外层循环:i=1 To 3,循环次数为3 (2) 中层循环:当i=1时,j=1 To 1,循环1次 当i=2时,j=1 To 2,循环2次 当i=3时,j=1 To 3,循环3次 中层循环的循环次数为6
(3) 内层循环:当j=1时,k=1 To 3,循环3次 当j=1时,k=1 To 3,循环3次 当j=2时,k=2 To 3,循环2次 当j=1时,k=1 To 3,循环3次 当j=2时,k=2 To 3,循环2次 当j=3时,k=3 To 3,循环1次 内层循环的循环次数为14 答案: A
10. 分析:在进入循环前,程序为c赋了初值4,以后每次循环输入一个数,若输入的数大于c,则c增1,根据输入的数可以看出,输入9时大于c,c增1变成5,输入8时大于c,c增1变成6,输入7时大于c,c增1变成7,以后所有输入的数都不大于c,c保持7不变,直到输入是0时,退出循环,退出循环时,d的值是0,因此c+d的值仍然为7。
答案:C
11. 分析: 在当型循环中,只有当While后面的“条件”为True时才能进入循环,执行循环体。也就是说,在 While条件 中,只有“条件”为True才能执行循环体。本题在“条件”前加了一个取反运算符Not,要想执行循环体,必须对“条件”本身求反,即“条件”必须为False。
27
答案: C
12. 分析:本题使用了DoWhile…Loop循环结构,循环初始设置i为1,执行循环体的条件是i<100,在循环中当i不能被10整除,则累加i到变量s上,每次执行循环时,也修改循环控制变量i,i每次增1,i的取值是1到99,把这些数加起来,再减去其中是10的倍数的数,退出循环时s的值是4500。
答案:D
13. 分析: 本题提供的是用“辗转相除法”求两个整数的最大公约数的程序。一般来说,假定有两个整数m和n(m>n),把m作为被除数,n作为除数,相除后余数为r。如果r不等于0,则令m=n,n=r,再进行一次除法运算(以新的m作为被除数,n作为除数),得到新的r。如果r仍不等于0,则重复上述过程,直到r=0为止,此时的n就是两个数的最大公约数。
在本题的Do While…Loop循环中,通过辗转相除求最大公约数,循环结束的条件是相除后余数为0,如果不为0,则一直“除”下去。这里用Mod运算符求余数,较大的整数作为被除数或者较小的整数作为被除数都可以得到正确结果,但整除的次数可能会不一样。
例如,假定有两个数24和16,先把24作为被除数,16作为除数,相除后余数为8。再把原来的除数16作为下一次的被除数,将上一次得到的余数8作为下一次的除数,相除后余数为0。此时最后一次的除数8就是所求的最大公约数。
在本题的输入中,先输入16,再输入24,求出的最大公约数仍为8。 答案:B
14. 分析:每执行一次外循环,a的值增加11,执行10次外层循环后a的值为11×10=110,B在每次执行外层循环后的值都是相同的,b=10×2=20。
答案:C
15. 分析:Print语句后有分号,显示完本语句结果不换行,继续显示下一个结果,本题中循环变量I的值在循环体中增加1。
答案:D
七、数组
选择题
1. Dim a (10 To 20)所定义的数组元素个数是________。 A.11 A.5 3. 下列程序 Option Base 1
Private Sub Form_Click() Dim a
28
B.20 C.30
C.4
D.10 D.10
2. Dim abc(5)所定义的数组元素个数是________。
B.6
a=Array(1,5,″abcde″) For i=1 To 3 Print a(i); Next i End Sub
程序运行时输出的结果是________。 A. 1 5 abcde B. 1 5 ″abcde″ C. 出错信息
D. l 5
abcde
4. 下列程序 Option Base 1
Private Sub Form_Click()
Dim a(100) For i=1 To 10 j=i*i a(j)=j
Next i Print a(25); End Sub
程序运行时输出的结果是________。 A.16 B.25 C.36 D.出错信息5. 下列程序 Option Base l
Private Sub Form_Click()
Dim a
a=Array(19,17,15,13,11,9,7,5,3,1) For i=1 To l0
If a(i)/3=a(i)\3 Or a(i)/5=a(i)\5 Then Sum=Sum+a(i) End If
Next i
Print″Sum=″; Sum End Sub
运行时输出Sum的值是________。 A.27 B.15 C.32 D.20
6. 下列程序 Option Base l
Private Sub Form_Click()
29
Dim A(20)
For K=l To 20 A(K) =K^2 Next K Print A(K) End Sub
程序运行时输出的结果是________。 A.400
B.20
C.441
7. 用下面语句定义的数组的元素个数是________。 Dim A(-3 To 5) as Integer
A.6 B.7 C.8 8. 下列程序 Option Explicit Option Base 1 Dim a() As Integer Private Sub Form_Click()
Dim i As Integer,j As Integer ReDim a(3,2) For i=1 To 3 For j=1 To 2 a(i,j)=i*2+j
Print″a(″;i;″,″; j;″)=″;a(i,j); Next j Print Next i End Sub
该程序的输出结果是________。 A. a(0,0)=3 a(0,1)=4
a(1,0)=5 a(1,1)=6 a(2,0)=7 a(2,1)=8 B. a(1,1)=2 a(1,2)=3 a(2, 1)=3 a(2, 2)=4 a(3, 1)=4 a(3,2)=5 C. a(1, 1)=3 a(1, 2)=5 a(2, 1)=4 a(2, 2)=6 a(3, 1)=5 a(3, 2)=7 D. a(1, 1)=3 a(1,2)=4 a(2, 1)=5 a(2,2)=6 a(3, 1)=7 a(3,2)=8
30
D.出错信息
D.9