您的当前位置:首页正文

循环结构练习题

来源:帮我找美食网
循环结构练习题

一、选择题。

1、语句“FOR I=N1 TO N2 STEP N3 ”的循环体内有下列四条语句,其中语句( )会影响循环执行的次数。

(1)N1=N1+I (2)N2=N2+N3 (3)I=I+N3 (4)N3=2*N3 A (1)(2) B (1)(2)(3) C (3) D (1) (2) (3) 2、对于DO UNTIL ……LOOP循环,正确的是( )。 A 如果循环条上为常数0,则一次循环也不执行 B 如果循环条件为常数0,则至少执行一次循环

C 如果循环条件是不为0的常数,则至少执行一次循环 D 无论循环条件是否为TRUE,都至少执行一次循环

3、要在DO ……LOOP循环中退出循环,应使用( )语句。

A EXIT B EXIT DO C CONTINUE D STOP LOOP 4、以下循环结构中,VB不支持的是( )。

A FOR……NEXT B FOR EACH……NEXT C DO…..LOOP D DO……ENDDO

5、要在FOR……NEXT循环中退出循环,应使用( )语句。

A EXIT B EXIT FOR C CONTINUE D STOP LOOP 6、下列关于FOR循环的说法中,正确的是( )。 A 循环变量、初值、终值和步长都必须是数值型 B STEP后面的值必须为正数 C 初值必须小于终值 D 初值必须大于终值

7、下列关于DO……LOOP语句的叙述中,不正确的是( )。

A DO……LOOP语句采用逻辑表达式来控制循环体执行的次数。

B DO WHILE……LOOP语句与DO UNTIL……LOOP语句中WHILE与UNTIL

后面的表达式值为TRUE或非0时,循环继续。

C DO……LOOP WHILE与DO……LOOP UNTIL 语句都至少执行一次循环 D DO WHILE…..LOOOP语句与DO UNTIL……LOOP语句可能不执行循环 8、下面的循环程序在执行时将( )。 FOR I=1 TO 10 STEP 0

K=K+2 NEXT I

A 形成无限循环 B 仅循环一次 C 语法错误 D 一次也不循环 9、对于EXIT FOR,叙述正确的是( )。

A EXIT FOR语句可以退出任何类型的循环 B 一个循环只能有一条EXIT FOR语句 C EXIT FOR表示返回到FOR语句执行

1

D 一个FOR循环可以有多条EXIT FOR语句

10、对于FOR循环中的初值、终值、步长,下列说法中,正确的是( )。 A 只能是具体的数值 B 只能是表达式

C 可以是数值表达式 D 可以是任何类型的表达式 11、要使循环至少执行一次,应使用( )循环。

A FOR……NEXT B WHILE……END

C DO……LOOP WHILE/UNTIL D DO WHILE/UNTIL ……LOOP 12、有如下程序段,该程序执行完毕后,共循环了( )次。 FOR I=1 TO 2 FOR J=1 TO I

FOR K=1 TO J PRINT “A” NEXT K NEXT J NEXT I

A 4 B 5 C 6 D 7 13、执行完下面的程序段后,共循环了( )次。 FOR I=1.7 TO 5.9 STEP 0.9 A=A+1 PRINT A NEXT I

A 3 B 4 C 5 D 6 14、以下程序段的循环次数为( )。 FOR I=1 TO 3

FOR J=5 TO 1 STEP -1 PRINT I*J

NEXT J NEXT I

A 15 B 16 C 17 D 18 15、执行以下程序后,X的值为( )。 X=5

FOR I=1 TO 20 STEP 2

X=X+I\\5 NEXT I

A 24 B 23 C 22 D 21

16、一个命令按钮的事件过程如下,程序运行后单击该命令按钮,输出结果为(FOR I=1 TO 4 X=4

FOR J=1 TO 3

2

)。 X=X+6

NEXT J NEXT I PRINT X

A 72 B 22 C 4 D 7 17、以下三重循环的程序运行后,A的值为( )。 FOR I=1 TO 3

FOR J=1 TO I

FOR K=J TO 3 A=A+1 NEXT K NEXT J NEXT I

A 3 B 9 C 14 D 21

18、窗体上有一个文本框TEXT1,对应窗体的CLICK事件过程如下,程序运行时,单

击窗体后其结果是( )。

PRIVATE SUB FORM-CLICK() TEXT1.TEXT=”” FOR I=1 TO 10

SUM=SUM+I NEXT I

TEXT1.TEXT=SUM END SUB

A 在文本框TEXT1中输出55 B 在文本框TEXT1中输出0

C 出错 D 在文本框TEXT1中输出不定值 19、下列程序中,第一条DO语句共执行了( )次。 DIM I AS INTEGER,J AS INTEGER I=1 DO J=1 DO

SUM=SUM+J J=J+2

PRINT J; LOOP UNTIL J>3 I=I+2

LOOP UNTIL I>10 PRINT SUM

A 10 B 20 C 5 D 7

3

20、一个命令按钮的事件过程如下,程序运行后单击该按钮,其输出结果为( )。 PRIVATE SUB COMMAND1-CLICK() FOR I=1 TO 4

IF I=1 THEN X=I IF I<=4 THEN X=X+1 PRINT X; NEXT I END SUB

A 1 2 3 4 B 2 3 4 5 C 1 3 4 5 D 3 4 5 6 21、窗体上一个命令按钮的事件过程为: PRIVATE SUB COMMAND1-CLICK() FOR I=1 TO 4

X=4

FOR J=1 TO 3 X=3

FOR K=1 TO 2 X=X+6 NEXT K

NEXT J NEXT I PRINT X END SUB

A 7 B 15 C 157 D 538 22、以下程序的运行结果为( )

PRIVATE SUB COMMAND1-CLICK() DIM X AS INTEGER FOR I=1 TO 10

IF I MOD 3=0 TJEM X=X+1

END IF NEXT I PRINT X END SUB

A 3 B 6 C 9 D 18

23、以下是一个计算1-100之间所有奇数的和的程序,所缺部分应填( )。 DIM S AS LONG DIM X AS INTEGER S=0

FOR X=_______________STEP -2

4

S=S+X NEXT X PRINT S

A 100 TO 1 B 1 TO 100 C 99 TO 1 D 1 TO 99 24、下列程序的执行结果为( ) 100: K=K+1 S=S+K

IF K<=10 THEN GOTO 100 PRINT S

A 66 B 33 C 10 D 200 25、以下是一个输出1-100之间所有偶数和的程序,所缺部分应填( )。 DIM X AS LONG FOR I=0 TO 100

IF __________________THEN X=X+I

END IF NEXT I PRINT X

A X MOD 2=0 B I MOD 2=0 C X MOD 2<>0 D I MOD 2<>0 26、下列程序共循环了( )次。 FOR I=1 TO 10 STEP 2

FOR J=1 TO 5 STEP 2 INTSUM=INTSUM+J

NEXT J

IF INTSUM>10 THEN EXIT FOR NEXT I

A 15 B 5 C 3 D 6

27、窗体上有一个文本框TEXT1和一个命令按钮COMMAND1,则执行下列事件过程

后文本框的输出为( )。 FOR I=1 TO 4

IF X>12 THEN EXIT FOR FOR J=1 TO 3 FOR K=1 TO 2 X=X+3 NEXT K NEXT J NEXT I

TEXT1.TEXT=STR(X)

5

A 6 B 12 C 18 D 21 28、下列程序段的执行结果为( ) N=0 J=1

DO UNTIL N>2

N=N+1

J=J+N*(N+1) LOOP

PRINT N;J

A 0 1 B 3 7 C 3 21 D 3 13 29、下列程序段的执行结果为( ) X=0 Y=1 DO

X=X+Y Y=Y+1

LOOP WHILE X<10 PRINT X;Y

A 10 5 B X Y C 0 1 D 10 30

30、以下程序段执行后依次输入5、4、3、2、1、-1,则输出结果是( ) DIM A AS INTEGER,B AS INTEGER,X AS INTEGER X=0

DO UNTIL X=-1

A=INPUTBOX(“请输入A的值”) B= INPUTBOX(“请输入B的值”) X= INPUTBOX(“请输入X的值”) A=A+B+X LOOP PRINT A

A 2 B 3 C 14 D 15 31、有两个文本框(TEXT1、TEXT2),一个命令按钮(COMMAND1),有以下事件过

程;

PRIVATE SUB COMMAND1-CLICK() X=0

DO WHILE X<50

X=(X+2)*(X+3) N=N+1 LOOP

TEXT1.TEXT=N

6

TEXT2.TEXT=X END SUB

程序运行后,单击命令按钮,在两个文本框中显示的分别为( )

A 1 0 B 2 72 C 3 50 D 4 168 32、以下循环程序执行完毕后共循环了( )次。 N=5 DO

IF N MOD 2=0 THEN N=N\\2

ELSE

N=N*3+1

END IF

LOOP UNTIL N=1

A 5 B 4 C 3 D 2

33、以下程序如果要求运行时只能循环3次,则所缺部分应填( ) X=1 DO

X=X+3 PRINT X

LOOP UNTIL _______

A X>=8 B X<=8 C X>=7 D X<=7 34、以下程序执行完毕后共循环了()次。 DO UNTIL K>=3 X=X+2 K=K+1 LOOP

A 2 B 4 C 3 D 5 35、以下程序运行,变量X的值是( )。 K=10

DO WHILE K>=5 X=X+2 K=K-1 LOOP

A 12 B 8 C 4 D 2 36、以下程序的运行结果为( )

DIM X AS INTEGER,I AS INTEGER X=1

DO UNTIL X >10

IF X MOD 3 <>0 THEN

7

I=I+X

END IF X=X+1 LOOP PRINT I

A 55 B 37 C 18 D 25

37、下列程序运行时输入的值分别为100、10,则执行结果为( )。 DIM M AS INTEGER,N AS INTEGER M=INPUTBOX(“输入第一个数“) N=INPUTBOX(“输入第二个数“) IF N*M=0 THEN

MSGBOX “两数都不能为0“ END IF

IF MT=M:M=N:N=T END IF DO

R=M MOD N M=N N=R

LOOP WHILE R<>0 PRINT M

A 100 B 250 C 50 二、写运行结果:

1、PRIVATE SUB FORM-CLICK()

DIM I AS INTEGER,S AS INTETGER FOR I=1 TO 10 S=S+I

IF S>10 THEN PRINT S S=0 END IF NEXT I END SUB

2、PRIVATE SUB FORM-CLICK() DIM A AS INTEGER,B AS INTEGER A=0;B=0

DO WHILE A <=8 A=A+2

8

D 10 B=B+A*A LOOP

PRINT A,B END SUB

3、PRIVATE SUB FORM-CLICK()

DIM MST AS STRING,MST1 AS STRING,MST2 AS STRING DIM I AS INTEGER MST1=“CeBbAa”

FOR I=LEN(MST1) TO 1 STEP -2 MST2=MID(MST1,I-1,2) MST =MST & MST2 PRINT MST NEXT I END SUB 4、X=0

DO WHILE X<>-1

X=VAL(INPUTBOX(“请输入数据X”)) Y= VAL(INPUTBOX(“请输入数据Y”)) IF X*Y 设运行时依次输入数据为7、2、-3、8、-5、-10、18、-15、31、4、-1、-1。 5、PRIVATE SUB COMMAND1-CLICK()

DIM I AS INTEGER,J AS INTEGER,K AS INTEGER K=0

FOR I=0 TO 10 STEP 3 FOR J=1 TO 10

IF J>5 THEN K=K+4 :EXIT FOR K=K+1 NEXT J PRINT I,K

IF I>8 THEN EXIT FOR NEXT I END SUB 6、P=0 S=0 DO

P=P+2 S=S+P

LOOP WHILE P<11

9

PRINT “S=”;S 7、FOR I=1 TO 6

PRINT TAB(7-I); FOR J=1 TO 2*I-1 PRINT “*”; NEXT J NEXT I

8、PRIVATE SUB FORM-CLICK() DIM I AS INTEGER,J AS INTEGER J=10

FOR I=1 TO J I=I+1 J=J-1 NEXT I PRINT I PRINT J END SUB

9、PRIVATE SUB FOMR-CLICK() DIM CH AS STRING,I AS INTEGER CH=“ABC” FOR I=1 TO 3

CH=MID(CH,S*I-1,1)+LEFT(CH,LEN(CH)) PRINT CH NEXT I END SUB

10、DIM S AS STRING,I AS INTEGER,FLAG AS BOOLEAN S= “THIS IS A BOOK” S=LCASE(S) PRINT S

FLAG=TRUE

FOR I=1 TO LEN(S)

IF MID(S,I,1)=“ ” THEN FLAG =TRUE ELSEIF FLAG THEN

S=LEFT(S,I-1) & UCASE(MID(S,I,1)) & RIGHT(S,LEN(S)-I) FLAG=FALSE END IF NEXTI PRINTS

10

三、程序填空:

1、以下程序是一个评分程序,有10名评委,去掉一个最高分和一个最低分,计算平均

分(设满分为100分)。试填空。

PRIVATE SUB COMMAND1-CLICK() MAX=0 MIN=100

FOR I=1 TO 10

N=VAL(INPUTBOX(“请输入分数”)) IF____________________THEN MAX=N IF____________________THEN MIN=N S=S+N NEXT I

S=_____________

P=P/8

PRINT “最高分为:”;MAX,”最低分为:”;MIN PRINT “最后得分为:”;p END SUB

2、窗体上有一个命令按钮COMMAND1和两个文本框TEXT1、TEXT2,在TEXT1中

输入任意一个字符串,单击命令按钮后该字符串以反序的形式出现在TEXT2中。试完成以下程序。

PRIVATE SUB COMMAND1-CLICK()

DIM N AS STRING,C AS STRING,D AS STRING N=TEXT1.TEXT

M=_________________ FOR I=M TO 1 STEP -1 C=_____________

D=D&_______________ NEXT I

TEXT2.TEXT=D END SUB

3、以下程序产生20个随机的10-100之间的整数,并将其中的奇数打印出来(每行打印

四个数),试完成程序。

PRIVATE SUB COMMAND1-CLICK() RANDOMIZE FOR I=1 TO 20

X=INT(RND*________________) IF __________________THEN K=K+1

IF _____________THEN PRINT

11

PRINT X; END IF NEXT I PRINT END SUB

4、以下命令按钮的事件过程用于计算10!,试填空。 PRIVATE SUB COMMAND1-CLICK() X=1

RESULT=_____________ WHILE X<+10

RESULT=______________ X=X+1 WEND

PRINT RESULT END SUB

5、以下程序用于输出3-100之间的全部素数。试完成程序。 PRIVATE SUB COMMAND1-CLICK() TEXT1.TEXT=”” FOR N=3 TO 100 K=INT(SQR(N)) I=2

FLAG=0

DO WHILE_________________ IF N MOD I =0 THEN FLAG=_____________ EXIT DO ELSE I=I+1 END IF LOOP

IF ____________THEN PRINT N END IF NEXT N END SUB

12

因篇幅问题不能全部显示,请点此查看更多更全内容

Top