第6章 循环结构练习题.docx
《第6章 循环结构练习题.docx》由会员分享,可在线阅读,更多相关《第6章 循环结构练习题.docx(18页珍藏版)》请在冰点文库上搜索。
第6章循环结构练习题
循环结构练习题
一、选择题。
2、对于DOUNTIL……LOOP循环,正确的是()。
A如果循环条上为常数0,则一次循环也不执行
B如果循环条件为常数0,则至少执行一次循环
C如果循环条件是不为0的常数,则至少执行一次循环
D无论循环条件是否为TRUE,都至少执行一次循环
3、要在DO……LOOP循环中退出循环,应使用()语句。
AEXITBEXITDOCCONTINUEDSTOPLOOP
4、以下循环结构中,VB不支持的是()。
AFOR……NEXTBFOREACH……NEXT
CDO…..LOOPDDO……ENDDO
5、要在FOR……NEXT循环中退出循环,应使用()语句。
AEXITBEXITFORCCONTINUEDSTOPLOOP
6、下列关于FOR循环的说法中,正确的是()。
A循环变量、初值、终值和步长都必须是数值型
BSTEP后面的值必须为正数
C初值必须小于终值
D初值必须大于终值
7、下列关于DO……LOOP语句的叙述中,不正确的是()。
ADO……LOOP语句采用逻辑表达式来控制循环体执行的次数。
BDOWHILE……LOOP语句与DOUNTIL……LOOP语句中WHILE与UNTIL后面的表达式值为TRUE或非0时,循环继续。
CDO……LOOPWHILE与DO……LOOPUNTIL语句都至少执行一次循环
DDOWHILE…..LOOOP语句与DOUNTIL……LOOP语句可能不执行循环
8、下面的循环程序在执行时将()。
FORI=1TO10STEP0
K=K+2
NEXTI
A形成无限循环B仅循环一次C语法错误D一次也不循环
9、对于EXITFOR,叙述正确的是()。
AEXITFOR语句可以退出任何类型的循环B一个循环只能有一条EXITFOR语句
CEXITFOR表示返回到FOR语句执行D一个FOR循环可以有多条EXITFOR语句
10、对于FOR循环中的初值、终值、步长,下列说法中,正确的是()。
A只能是具体的数值B只能是表达式
C可以是数值表达式D可以是任何类型的表达式
11、要使循环至少执行一次,应使用()循环。
AFOR……NEXTBWHILE……END
CDO……LOOPWHILE/UNTILDDOWHILE/UNTIL……LOOP
12、有如下程序段,该程序执行完毕后,共循环了()次。
FORI=1TO2
FORJ=1TOI
FORK=1TOJ
PRINT“A”
NEXTK
NEXTJ
NEXTI
A4B5C6D7
13、执行完下面的程序段后,共循环了()次。
FORI=1.7TO5.9STEP0.9
A=A+1
PRINTA
NEXTI
A3B4C5D6
14、以下程序段的循环次数为()。
FORI=1TO3
FORJ=5TO1STEP-1
PRINTI*J
NEXTJ
NEXTI
A15B16C17D18
15、执行以下程序后,X的值为()。
X=5
FORI=1TO20STEP2
X=X+I\5
NEXTI
A24B23C22D21
16、一个命令按钮的事件过程如下,程序运行后单击该命令按钮,输出结果为()。
FORI=1TO4
X=4
FORJ=1TO3
X=X+6
NEXTJ
NEXTI
PRINTX
A72B22C4D7
17、以下三重循环的程序运行后,A的值为()。
FORI=1TO3
FORJ=1TOI
FORK=JTO3
A=A+1
NEXTK
NEXTJ
NEXTI
A3B9C14D21
18、窗体上有一个文本框TEXT1,对应窗体的CLICK事件过程如下,程序运行时,单击窗体后其结果是()。
PRIVATESUBFORM-CLICK()
TEXT1.TEXT=””
FORI=1TO10
SUM=SUM+I
NEXTI
TEXT1.TEXT=SUM
ENDSUB
A在文本框TEXT1中输出55B在文本框TEXT1中输出0
C出错D在文本框TEXT1中输出不定值
19、下列程序中,第一条DO语句共执行了()次。
DIMIASINTEGER,JASINTEGER
I=1
DO
J=1
DO
SUM=SUM+J
J=J+2
PRINTJ;
LOOPUNTILJ>3
I=I+2
LOOPUNTILI>10
PRINTSUM
A10B20C5D7
20、一个命令按钮的事件过程如下,程序运行后单击该按钮,其输出结果为()。
PRIVATESUBCOMMAND1_CLICK()
FORI=1TO4
IFI=1THENX=I
IFI<=4THENX=X+1
PRINTX;
NEXTI
ENDSUB
A1234B2345C1345D3456
21、窗体上一个命令按钮的事件过程为:
PRIVATESUBCOMMAND1_CLICK()
FORI=1TO4
X=4
FORJ=1TO3
X=3
FORK=1TO2
X=X+6
NEXTK
NEXTJ
NEXTI
PRINTX
ENDSUB
A7B15C157D538
22、以下程序的运行结果为()
PRIVATESUBCOMMAND1_CLICK()
DIMXASINTEGER
FORI=1TO10
IFIMOD3=0TJEM
X=X+1
ENDIF
NEXTI
PRINTX
ENDSUB
A3B6C9D18
23、以下是一个计算1-100之间所有奇数的和的程序,所缺部分应填()。
DIMSASLONG
DIMXASINTEGER
S=0
FORX=_______________STEP-2
S=S+X
NEXTX
PRINTS
A100TO1B1TO100C99TO1D1TO99
24、下列程序的执行结果为()
100:
K=K+1
S=S+K
IFK<=10THENGOTO100
PRINTS
A66B33C10D200
26、下列程序共循环了()次。
FORI=1TO10STEP2
FORJ=1TO5STEP2
INTSUM=INTSUM+J
NEXTJ
IFINTSUM>10THENEXITFOR
NEXTI
A15B5C3D6
27、窗体上有一个文本框TEXT1和一个命令按钮COMMAND1,则执行下列事件过程后文本框的输出为()。
FORI=1TO4
IFX>12THENEXITFOR
FORJ=1TO3
FORK=1TO2
X=X+3
NEXTK
NEXTJ
NEXTI
TEXT1.TEXT=STR(X)
A6B12C18D21
28、下列程序段的执行结果为()
N=0
J=1
DOUNTILN>2
N=N+1
J=J+N*(N+1)
LOOP
PRINTN;J
A01B37C321D313
29、下列程序段的执行结果为()
X=0
Y=1
DO
X=X+Y
Y=Y+1
LOOPWHILEX<10
PRINTX;Y
A105BXYC01D1030
30、以下程序段执行后依次输入5、4、3、2、1、-1,则输出结果是()
DIMAASINTEGER,BASINTEGER,XASINTEGER
X=0
DOUNTILX=-1
A=INPUTBOX(“请输入A的值”)
B=INPUTBOX(“请输入B的值”)
X=INPUTBOX(“请输入X的值”)
A=A+B+X
LOOP
PRINTA
A2B3C14D15
31、有两个文本框(TEXT1、TEXT2),一个命令按钮(COMMAND1),有以下事件过程;
PRIVATESUBCOMMAND1_CLICK()
X=0
DOWHILEX<50
X=(X+2)*(X+3)
N=N+1
LOOP
TEXT1.TEXT=N
TEXT2.TEXT=X
ENDSUB
程序运行后,单击命令按钮,在两个文本框中显示的分别为()
A10B272C350D4168
32、以下循环程序执行完毕后共循环了()次。
N=5
DO
IFNMOD2=0THEN
N=N\2
ELSE
N=N*3+1
ENDIF
LOOPUNTILN=1
A5B4C3D2
33、以下程序如果要求运行时只能循环3次,则所缺部分应填()
X=1
DO
X=X+3
PRINTX
LOOPUNTIL_______
AX>=8BX<=8CX>=7DX<=7
34、以下程序执行完毕后共循环了()次。
DOUNTILK>=3
X=X+2
K=K+1
LOOP
A2B4C3D5
35、以下程序运行,变量X的值是()。
K=10
DOWHILEK>=5
X=X+2
K=K-1
LOOP
A12B8C4D2
36、以下程序的运行结果为()
DIMXASINTEGER,IASINTEGER
X=1
DOUNTILX>10
IFXMOD3<>0THEN
I=I+X
ENDIF
X=X+1
LOOP
PRINTI
A55B37C18D25
二、写运行结果:
1、PRIVATESUBFORM-CLICK()
DIMIASINTEGER,SASINTETGER
FORI=1TO10
S=S+I
IFS>10THEN
PRINTS
S=0
ENDIF
NEXTI
ENDSUB
2、PRIVATESUBFORM-CLICK()
DIMAASINTEGER,BASINTEGER
A=0;B=0
DOWHILEA<=8
A=A+2
B=B+A*A
LOOP
PRINTA,B
ENDSUB
3、PRIVATESUBFORM-CLICK()
DIMMSTASSTRING,MST1ASSTRING,MST2ASSTRING
DIMIASINTEGER
MST1=“CeBbAa”
FORI=LEN(MST1)TO1STEP-2
MST2=MID(MST1,I-1,2)
MST=MST&MST2
PRINTMST
NEXTI
ENDSUB
4、X=0
DOWHILEX<>-1
X=VAL(INPUTBOX(“请输入数据X”))
Y=VAL(INPUTBOX(“请输入数据Y”))
IFX*YLOOP
设运行时依次输入数据为7、2、-3、8、-5、-10、18、-15、31、4、-1、-1。
5、PRIVATESUBCOMMAND1_CLICK()
DIMIASINTEGER,JASINTEGER,KASINTEGER
K=0
FORI=0TO10STEP3
FORJ=1TO10
IFJ>5THENK=K+4:
EXITFOR
K=K+1
NEXTJ
PRINTI,K
IFI>8THENEXITFOR
NEXTI
ENDSUB
6、P=0
S=0
DO
P=P+2
S=S+P
LOOPWHILEP<11
PRINT“S=”;S
7、FORI=1TO6
PRINTTAB(7-I);
FORJ=1TO2*I-1
PRINT“*”;
NEXTJ
NEXTI
8、PRIVATESUBFORM-CLICK()
DIMIASINTEGER,JASINTEGER
J=10
FORI=1TOJ
I=I+1
J=J-1
NEXTI
PRINTI
PRINTJ
ENDSUB
9、PRIVATESUBFOMR-CLICK()
DIMCHASSTRING,IASINTEGER
CH=“ABC”
FORI=1TO3
CH=MID(CH,S*I-1,1)+LEFT(CH,LEN(CH))
PRINTCH
NEXTI
ENDSUB
10、DIMSASSTRING,IASINTEGER,FLAGASBOOLEAN
S=“THISISABOOK”
S=LCASE(S)
PRINTS
FLAG=TRUE
FORI=1TOLEN(S)
IFMID(S,I,1)=“”THEN
FLAG=TRUE
ELSEIFFLAGTHEN
S=LEFT(S,I-1)&UCASE(MID(S,I,1))&RIGHT(S,LEN(S)-I)
FLAG=FALSE
ENDIF
NEXTI
PRINTS
三、程序填空:
1、以下程序是一个评分程序,有10名评委,去掉一个最高分和一个最低分,计算平均分(设满分为100分)。
试填空。
PRIVATESUBCOMMAND1_CLICK()
MAX=0
MIN=100
FORI=1TO10
N=VAL(INPUTBOX(“请输入分数”))
IF____________________THENMAX=N
IF____________________THENMIN=N
S=S+N
NEXTI
S=_____________
P=P/8
PRINT“最高分为:
”;MAX,”最低分为:
”;MIN
PRINT“最后得分为:
”;p
ENDSUB
2、窗体上有一个命令按钮COMMAND1和两个文本框TEXT1、TEXT2,在TEXT1中输入任意一个字符串,单击命令按钮后该字符串以反序的形式出现在TEXT2中。
试完成以下程序。
PRIVATESUBCOMMAND1_CLICK()
DIMNASSTRING,CASSTRING,DASSTRING
N=TEXT1.TEXT
M=_________________
FORI=MTO1STEP-1
C=_____________
D=D&_______________
NEXTI
TEXT2.TEXT=D
ENDSUB
3、以下程序产生20个随机的10-100之间的整数,并将其中的奇数打印出来(每行打印四个数),试完成程序。
PRIVATESUBCOMMAND1_CLICK()
RANDOMIZE
FORI=1TO20
X=INT(RND*________________)
IF__________________THEN
K=K+1
IF_____________THENPRINT
PRINTX;
ENDIF
NEXTI
PRINT
ENDSUB
4、以下命令按钮的事件过程用于计算10!
,试填空。
PRIVATESUBCOMMAND1_CLICK()
X=1
RESULT=_____________
WHILEX<+10
RESULT=______________
X=X+1
WEND
PRINTRESULT
ENDSUB
5、以下程序用于输出3-100之间的全部素数。
试完成程序。
PRIVATESUBCOMMAND1_CLICK()
TEXT1.TEXT=””
FORN=3TO100
K=INT(SQR(N))
I=2
FLAG=0
DOWHILE_________________
IFNMODI=0THEN
FLAG=_____________
EXITDO
ELSE
I=I+1
ENDIF
LOOP
IF____________THEN
PRINTN
ENDIF
NEXTN
ENDSUB