循环结构及数组练习.docx

上传人:b****2 文档编号:24502893 上传时间:2023-05-28 格式:DOCX 页数:26 大小:26.64KB
下载 相关 举报
循环结构及数组练习.docx_第1页
第1页 / 共26页
循环结构及数组练习.docx_第2页
第2页 / 共26页
循环结构及数组练习.docx_第3页
第3页 / 共26页
循环结构及数组练习.docx_第4页
第4页 / 共26页
循环结构及数组练习.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

循环结构及数组练习.docx

《循环结构及数组练习.docx》由会员分享,可在线阅读,更多相关《循环结构及数组练习.docx(26页珍藏版)》请在冰豆网上搜索。

循环结构及数组练习.docx

循环结构及数组练习

循环结构及数组练习

一、单选题

1.执行以下程序段后,i的值为(B)

Fori=1To10Step2

y=y+i

Nexti

A)10B)11C)12D)25

2.假定有如下语句:

PrivateSubCommand1_Click()

Counter=0

Fori=1To4

Forj=6To1Step-2

Counter=Counter+1

Nextj

Nexti

Label1.Caption=Str(Counter)

EndSub

程序运行后,结果为(B)

A)11B)12C)16D)20

3.假定有如下语句:

PrivateSubCommand1_Click()

Fori=1To4

Ifi=1Thenx=i

Ifi<=4Thenx=x+1

Printx;

EndSub

程序运行后,结果为(B)

A)1234B)2345C)2344D)3456

4.哪个程序段不能分别正确显示1!

、2!

、3!

、4!

的值(B)

A)Fori=1To4

n=1

Forj=1Toi

n=n*j

Nextj

Printn

Nexti

B)Fori=1To4

Forj=1Toi

n=1

n=n*j

Nextj

Printn

Nexti

C)n=1

Forj=1To4

n=n*j

Printn

Nextj

D)n=1:

j=1

DoWhilej<=4

n=n*j

Printn

j=j+1

Loop

5.编写如下的事件过程:

PrivateSubCommand1_Click()

Fori=1To4

Forj=0Toi

PrintChr$(65+i);

Nextj

Print

Nexti

EndSub

程序运行后,在窗体上显示的内容是(A)

A)BBB)AC)BD)AA

CCCBBCCBBB

DDDDCCCDDDCCCC

EEEEEDDDDEEEEDDDDD

6.编写如下的事件过程:

PrivateSubCommand1_Click()

Dimx,nAsInteger

x=1

n=0

DoWhilex<20

x=x*3

n=n+1

Loop

Text1.Text=Str(x)

Text2.Text=Str(n)

EndSub

运行程序后,在2个文本框中显示的值分别是(B)

A)20和1B)27和3C)195和3D)600和4

7.编写如下的事件过程:

PrivateSubCommand1_Click()

Dimi,nAsInteger

Fori=0To50

i=i+3

n=n+1

Ifi>10ThenExitFor

Next

Text1.Text=Str(n)

EndSub

运行后,文本框中显示的值是(B)

A)2B)3C)4D)5

8.编写如下的事件过程:

PrivateSubCommand1_Click()

c=1234

c1=Trim(Str(c))

Fori=1To4

Print________

Next

EndSub

运行程序后,窗体上显示如下

1

12

123

1234

则应该在________处填写的表达式是(B)

A)Right(c1,n)B)Left(c1,i)C)Mid(c1,n,1)D)Mid(c1,n,n)

9.编写如下的事件过程:

PrivateSubCommand1_Click()

n=Val(Text1.text)

Fori=2Ton

Forj=2ToSqr(i)

IfiModj=0ThenExitFor

Nextj

Ifj>Sqr(i)ThenPrinti

Nexti

EndSub

该事件过程的功能是:

(C)

A)输出n以内的奇数

B)输出n以内的偶数

C)输出n以内的素数

D)输出n以内能被j整数的数

10.编写如下的事件过程:

Fori=1To3

Forj=5to1Step-1

Printi*j

Nextj,i

则语句Printi*j的执行次数是(A)

A)15B)16C)17D)18

11.以下程序段输出结果为(B)

x=1

y=4

DoUntily>4

x=x*y

y=y+1

Loop

Printx

A)1B)4C)8D)20

12.执行下面的程序段后,x的值为(A)

x=5

Fori=1To20Step2

x=x+i\5

Nexti

A)21B)22C)23D)24

13.编写如下的事件过程:

PrivateSubCommand1_Click()

Fori=1To4

x=4

Forj=1To3

x=3

Fork=1To2

x=x+6

Nextk

Nextj

Nexti

Printx

EndSub

程序运行后,输出结果是(B)

A)7B)15C)157D)538

14.有如下的程序段:

Fori=1To3

Forj=1Toi

a=a+1

Nextj

Nexti

执行上面程序后,a的值为(C)

A)3B)9C)6D)21

15.有如下的程序段:

n=0

Fori=1To3

Forj=1Toi

Fork=jTo3

n=n+1

Nextk

Nextj

Nexti

执行上面程序段后,n的值为:

(B)

A)3B)14C)9D)21

16.阅读程序

PrivateSubForm_Click()

x=50

Fori=1To4

y=InputBox(“请输入1个整数”)

y=Val(y)

IfyMod5=0Then

a=a+y

x=y

Else

a=a+x

EndIf

Nexti

Printa

EndSub

程序运行后,单击窗体,在输入对话框中依次输入15、24、35、46,输出结果为(A)

A)100B)50C)120D)70

1.如有以下程序代码:

OptionBase1

PrivateSubCommand1_Click()

d=0

c=10

x=Array(10,12,21,32,24)

Fori=1To5

Ifx(i)>cThen

d=d+x(i)

c=x(i)

Else

d=d-c

EndIf

Nexti

Printd

EndSub

程序运行后,在窗体上输出的内容为(C)

A)89B)99C)23D)77

2.下面语句定义的数组元素个数中(C)

Dimarr(3To5,-2To2)

A)20B)12C)15D)24

3.下面语句定义的数组元素个数中(D)

Dima(-3To4,3To6)

A)18B)28C)21D)32

4.如有以下程序代码:

PrivateSubCommand1_Click()

Dimarr1(10),arr2(10)

Fori=1To10

arr1(i)=3*i

arr2(i)=arr1(i)*3

Nexti

Text1.Text=Str(arr2(i/2-0.1))

EndSub

程序运行后,在文本框显示的是(B)

A)36B)45C)54D)63

5.如有以下程序代码:

OptionBase1

PrivateSubCommand1_Click()

Dima

a=Array(1,2,3,4)

j=1

Fori=1To4

s=s+a(i)*j

j=j*10

Nexti

Prints

EndSub

运行程序后,在窗体上输出的内容为(D)

A)1234B)12C)34D)4321

6.如有以下程序代码:

PrivateSubCommand1_Click()

Dimarray1(10,10)AsInteger

Dimi,jAsInteger

Fori=1To3

Forj=2To4

array1(i,j)=i+j

Nextj

Nexti

Text1.Text=array1(2,3)+array1(3,4)

EndSub

运行程序后,在窗体上输出的内容为(A)

A)12B)13C)14D)15

7.假设通过复制、粘贴建立了一个命令按扭数组Command1,则以下说法错误的是(D)

A)数组中每个命令按扭的名称(Name属性)均为Command1

B)数组中每个命令按扭的大小都一样

C)数组中每个命令按扭可以使用同一个时间过程

D)用名称Command1可以访问数组中每个命令按扭

8.如有以下程序代码:

PrivateSubCommand1_Click()

Dimarr1(10),arr2(10)AsInteger

n=3

Fori=1To5

arr1(i)=i

arr2(n)=2*n+i

Nexti

Printarr2(n);arr1(n)

EndSub

运行程序后,在窗体上输出的内容为(A)

A)113B)311C)133D)313

9.如有以下程序代码:

PrivateSubCommand1_Click()

Dimarr(3,3)AsInteger

Fori=1To3

Forj=1To3

Ifj=iOrj=3-i+1Then

arr(i,j)=1

Else

arr(i,j)=0

EndIf

Nextj

Nexti

Printarr(1,1)+arr(2,2)+arr(3,3)

EndSub

运行程序后,在窗体上输出的内容为(D)

A)0B)1C)2D)3

10.如有以下程序代码:

OptionBase1

Dima()AsInteger

PrivateSubForm_Click()

DimiAsInteger,jAsInteger

ReDima(3,2)

Fori=1To3

Forj=1To2

a(i,j)=i*j

Nextj

Nexti

ReDimPreservea(3,4)

Fori=3To4

a(3,i)=i+5

Nexti

Printa(3,2);a(3,4)

EndSub

运行程序后,在窗体上输出的内容为(B)

A)00B)69C)712D)813

11.在窗体上话3个单选按扭,组成1个名为chkOption的控件数组。

用于标识控件数组各元素的参数是(B)

A)TagB)IndexC)ListIndexD)Name

12.如有以下程序代码:

OptionBase0

PrivateSubCommand1_Click()

StaticcityAsVariant

city=Array("北京","上海","天津","重庆")

Printcity

(1)

EndSub

运行程序后,在窗体上输出的内容为(D)

A)空白B)错误提示C)北京D)上海

13.如有以下程序代码:

OptionBase1

PrivateSubForm_click()

DimiAsInteger

Dima(8)AsString

Fori=1To8

a(i)=LCase(Chr(Asc("A")+(i-1)))

Nexti

ForEachbIna

PrintUCase(b);

Nextb

EndSub

运行程序后,在窗体上输出的内容为(C)

A)12345678B)abcdefgh

C)ABCDEFGHD)出错信息

14.如有以下程序代码:

OptionBase1

PrivateSubCommand1_Click(indexAsInteger)

Dimarr1(12)AsInteger,arr2(3)AsInteger

DimsumAsInteger

sum=2

Fori=1To12

arr1(i)=i

Nexti

Fori=1To3

arr2(i)=arr1(i*i)

Nexti

Fori=1To3

sum=sum+arr2(i)

Nexti

Printsum

EndSub

运行程序后,在窗体上输出的内容为(A)

A)16B)24C)32D)36

15.如有以下程序代码:

OptionBase1

PrivateSubCommand1_Click()

Dimarr

DimstartAsInteger,finishAsInteger

DimsumAsInteger

arr=Array(12,4,8,16)

start=LBound(arr)

finish=UBound(arr)

sum=0

Fori=startTofinish

sum=sum+arr(i)

Nexti

c=sum/finish

Text1.Text=c

EndSub

运行程序后,在窗体上输出的内容为(B)

A)40B)10C)12D)16

二、简答题

1.下面程序的功能是:

计算f=1-1/(2*3)+1/(3*4)-1/(4*5)+……+1/(19*20)

PrivateSubForm_Click()

Dimf,i,signAsInteger

____sign=1________

f=1

___fori=2to19______

f=f+sign/(i*(i+1))

___sign=-1*sign_____

Nexti

Print“f=”;f

EndSub

2.下面的程序是在一个字符串变量中查找“at”,并用消息框给出查找结果的报告:

没有找到或找到的个数,程序如下:

PublicSubFindat()

DimStr1AsString

DimlengthAsInteger

DimsumAsInteger

DimiAsInteger

Str1=InputBox(“请输入一个字符串”)

length=___len(Str1)_____

i=1

sum=0

DoWhilei<=___length_____

If__mid(Str1,i,2)____=“at”Then

sum=sum+1

EndIf

i=i+1

Loop

If___sum=0____Then

MsgBox“没有找到!

Else

MsgBox“找到了”&Str(sum)&“个”

EndIf

EndSub

3.下面程序的功能是找出1~1000之间所有的同构数。

所谓同构数是指一个数出现在它的平方数右端,如25在25平方625的右端,则25为同构数。

PrivateSubForm_Click()

DimiAsInteger

Dimx1AsString,x2AsString

Fori=1To1000

x1=_str(i)__

x2=__str(i^2)__

If__x1=right(x2,1)orx1=right(x2,2)orx1=right(x2,3)_Then

Printi;“是同构数”

EndIf

Nexti

EndSub

1.如有以下程序代码,填写空格处:

OptionBase1

PrivateSubCommand1_Click()

Dimarr

arr=Array(358,32,46,73,23,59,26,91,583,12)

Fori=1To9

Forj=i+1To10

Ifarr(i)>=arr(j)Then

a=arr(j)

arr(j)=arr(i)

arr(i)=a

EndIf

Nextj

Nexti

Fori=1To10

Printarr(i);

Nexti

EndSub

程序运行后,将把数组arr中的10个数按照升序排列。

2.如有以下程序代码,填写空格处:

OptionBase1

PrivateSubCommand1_Click()

Dimarr(10)AsInteger

DimmaxAsInteger

Randomize

Fori=1To10

arr(i)=Int(Rnd*1000)

Nexti

max=arr

(1)

Fori=2To10

Ifarr(i)>maxThen

max=arr(i)

EndIf

Printarr(i)

Nexti

Print"max:

";max

EndSub

程序运行后,产生10个0~1000之间的随机整数,放入数组arr中,然后输出其中最大值。

3.如有以下程序代码:

OptionBase1

PrivateSubCommand1_Click()

DimiAsInteger

Dima(5)AsInteger

Dimb(5)AsInteger

Dimc(5)AsInteger

n=4

Fori=1Ton

a(i)=i

m=n+i-1

b(i)=m

Nexti

c(5)=0

Fork=1Ton

c(k)=a(k)*b(k)

c(5)=c(5)+c(k)

Nextk

Printa(3);b(4);c(5)

EndSub

运行程序后,在窗体上输出的内容为3760

4.如有以下程序代码,填写空格处:

OptionBase1

PrivateSubCommand1_Click()

Dimarr1(3,3)AsInteger

Dimarr2(3)AsInteger

Randomize

Fori=1To3

Forj=1To3

arr1(i,j)=Int(Rnd*100)

Nextj

Nexti

Fori=1To3

Forj=1To3

arr2(i)=arr2(i)+arr1(i,j)

Nextj

Nexti

Fori=1To3

Forj=1To3

Printarr1(i,j);

Nextj

Print

Nexti

sm=arr2

(1)

ns=1

Fori=2To3

Ifarr2(i)>smThen

sm=arr2(i)

ns=i

EndIf

Nexti

Print

Print"数值最大的一行是:

第";ns;"行,";"该行的和是:

";sm

EndSub

以上程序功能:

用随机数生成一个3×3的矩阵,然后求出该矩阵3行中元素之和最大的那一行,并输出该行的行号及该行的和。

三、编程题

1.编写程序,把下面的数据输入1个二维数组中:

25367813

12268893

75182232

56443658

然后执行以下操作

(1)输出矩阵2个对角线上的数

(2)分别输出各行和各列的和

(3)交换第1行和第3行的位置

(4)交换第2列和第4列的位置

(5)输出处理后的数组

程序代码:

OptionBase1

PrivateSubForm_click()

Dimmat(4,4)AsInteger

Dimn,mAsInteger

n=4

m=4

'输入矩阵

Fori=1Ton

Forj=1Tom

mat(i,j)=InputBox("请输入数组第"&i&"行第"&j&"列元素值")

Val(mat(i,j))

Nextj

Nexti

'输入初始化矩阵

Print

Print"初始矩阵为:

"

Print

Fori=1Ton

Forj=1Tom

PrintTab(6*j);mat(i,j);

Nextj

Print

Nexti

'输出矩阵对角线上的数

Print

Print"矩阵对角线上的数为:

"

Print

Fori=1Ton

Forj=1Tom

Ifi=jThen

PrintTab(6*j);mat(i,

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

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1