当前位置:文档之家› VB循环结构测试题及答案

VB循环结构测试题及答案

循环结构测试题(四)
一:选择题
1:以下()是正确的for….next结构。

(A)for x=1 to step 10 (B) for x=3 to –3 step -3….. …..
next x next x
(C ) for x=1 to 10 (D) for x=3 to step 3
re: …. ……
Next x next y
If I=10 then goto re
2:下列循环语句能正常结束循环的是()
(A)I=5 (B) I=1
do do
I=I+1 I=I+2
Loop until I<0 loop until I=10
(C) I=10 (D) I=6
do do
I=I-1 I=I-2
Loop until I<0 loop until I=1 3:下面程序段的运行结果为( )
for I=3 to 1 step –1 print spc(5-I); for j=1 to 2*I-1 print “*”; next j print next I
4下列程序在文本框输入“ABCD ”四个字符时,窗体上显示的是( ) private sub text1_change( ) print ; end sub
(A) ABCD (B) ( C ) AABABCABCD
* * * *
(B) * * * * *
* * *
(C) * * * * * * * *
(D) * * * * *
* * *
A B C
(D) A
AB ABC
5哪个程序段不能分别正确显示1!,2!,3!,4!的( )
二:填空题
1:要使下列For 语句循环执行20次,循环变量的初值应当是: for k=( ① ) to –5 step –2 2:下面程序段显示( ② )个“*”。

For I=1 to 5 For j=2 to I Print “*”; Next j Next I
3: 下列第40句共执行了( ③ )次,第41句共执行(④ )次。

30 for j=1 to 12 step 3
40 for k=6 to 2 step –2
41 print j,k
42
next k
(A )
for I=1 to 4 n=1
for j=1 to I (B ) for I=1 to 4
for j=1 to I
n=1
(C) N=1 for j=1 to 4 (D) N=1
J=1
Do while j<=4
43next j
4: 以下程序运行后,si,sj,I,j,k的结果分别是(⑤),(⑥),(⑦),(⑧),(⑨),(⑽)
private sub command1_click( )
for I=1 to 2
for j=1 to I
sk=0
for k=j to 3
sk=sk+1
next k
sj=sj+1
next j
si=si+1
next I
print si,sj,sk,I,j,k
end sub
5:下面程序运行后输出的结果是(⑾)
private sub command1_click()
for I=0 to 3
print tab(5*I+1);”2”+I;”2”&I; next I
end sub
6:下面程序运行后输出的结果是(⑿) private sub command1_click() a$=”*”;b$=”$”
for I=2 to 4
if I mod 2=0 then
x$=string(len(a$)+I,b$)
else
x$=string(len(a$)+I,a$)
end if
print x$;
next I
end sub
7: 执行下面程序,打印结果是(⒀)
option explicit
private sub form_click( )
dim I as integer,j as integer
j=10
for I=1 to j step 2
I=I+1
J=j-I
Next I
Print I,j
End sub
8:输入任意长度的字符串,要求将字符顺序倒置,例如:将输入“ABCDEFG”变换成“GFEDCBA” private sub command1_click()
dim a$,I%,c$
a=inputbox(“输入字符串”)
n=( ⒁ )
for I =1 to ( ⒂)
c=mid(a,I,1)
mid(a,I,1)=( ⒃ )
( ⒄ )=c
next I
print a
end sub
9:找出被3,5,7除,余数为1的最小的5个正整数。

Private sub command1_click()
Dim countN%,n%
CountN=0
N=1
Do
N=n+1
If ( ⒅ ) then
Print n
CountN=countN+1
End if
Loop ( ⒆ )
End sub
10:某次大奖赛,有7个评委打分,如下程序对一名参加比赛者,输入7个评委的打分分数,去掉一个最高分,一个最低分数,求出平均分为该参赛选手的得分。

Private sub command1_click()
Dim mark!,aver!,I%,max!,min!
Aver=0
For I=1 to 7
Mark=inputbox(“输入第“&I&”位评委的打分”)
If I=1 then
Max1=mark
( ⒇ )
else
if mark<min1 then
( (21) )
elseif mark>max1 then
( (22) )
end if
end if
( (23) )
next I
aver=((24) )
print aver
end sub
11:由键盘上输入一个正整数,找出大于或等于该数的第一个质数。

Private sub command1_click( )
Dim m%,x%,tag as Boolean
Tag=false
X=inputbox(“输入正整数”)
Do while not tag
M=2
Tag=( (25) )
Do while tag and (m<(x\2))
If x mod m=0 then ( (26) ) else ( (27) ) Loop
If not tag then x=x+1
Loop
Print x
End sub
12:将一个正整数分解为质因数乘机,例如:234=2*3*3*13 private sub command1_click()
dim n%,factor%,first as Boolean
n=inputbox(“输入一个正整数”)
factor=2
first=true
do
do while ( (28) )
if first then
print n;”=”;factor;
else
print “*”;factor;
end if
((29) )
first=false
loop
factor=factor+1
loop until factor>n
end sub
测试题(四)答案一)选择题
二)填空题
1:33
2:10
3: 4,12
4:2,3,2,3,3,4
5:2 20 3 21 4 22 5 23
6:**$$$****$$$$$
7:13-16
8:LEN(a),int(n\2),mid(a,n-I+1,1),mid(a,n-I+1,1) 9:n mod 3=1 and n mod 5=1 and n mod 7=1
until countN=5 或while countN<5
10:min1=mark ; min1=mark ; max1=mark aver=aver+mark ; (aver-max1-min1)/5 11:true; tag=true ; m=m+1
12: n mod factor=0 ; n=n\factor。

相关主题