D.ifx≠yLabel1.Text=“x不等于y”
13.下面程序段求两个数中大数,______________是正确的。
(多选)
A.Max=IIf(x>y,x,y)
B.Ifx>ythenMax=xElseMax=y
C.Max=x
Ify>=xThenMax=y
D.Ify>=xThenMax=y
Max=x
14.下列程序段正确的是:
___________。
(多选)
A.
Ifmark>=90Then
Label1.Text="优"
ElseIfmark>=80Then
Label1.Text="良"
ElseIfmark>=70Then
Label1.Text="中"
ElseIfmark>=60Then
Label1.Text="及格"
Else
Label1.Text="不及格"
EndIf
B.
Ifmark<60Then
Label1.Text="不及格"
ElseIfmark<70Then
Label1.Text="及格"
ElseIfmark<80Then
Label1.Text="中"
ElseIfmark<90Then
Label1.Text="良"
Else
Label1.Text="优"
EndIf
C.
Ifmark>=60Then
Label1.Text="及格"
ElseIfmark>=70Then
Label1.Text="中"
ElseIfmark>=80Then
Label1.Text=t"良"
ElseIfmark>=90Then
Label1.Text="优"
Else
Label1.Text="不及格"
EndIf
D.
SelectCasemark
CaseIs>=90
Label1.Text="优"
CaseIs>=80
Label1.Text="良"
CaseIs>=70
Label1.Text="中"
CaseIs>=60
Label1.Text="及格"
CaseElse
Label1.Text="不及格"
EndSelect
15.For-Next循环的初值、终值与步长__________。
A.只能是具体的数值
B.只能是表达式
C.可以是数值表达式
D.可以是任何类型的表达式
16.执行下面的程序段后,n的值为__________。
Forn=1To20
IfnMod3<>0Thenm=m+n\3
Nextn
Label1.Text=n
A.15
B.18
C.21
D.24
17.For-Next循环结构中,若循环控制变量的步长为0,则________.
A.形成无限循环
B.循环体执行一次后结束循环
C.语法错误
D.循环提不执行即结束循环
18.下列循环语句能正常结束循环的是____________。
A.
i=5
Do
i=i+1
LoopUntili<0
B.
i=1
Do
i=i+2
LoopUntili=10
C.
i=10
Do
i=i-1
LoopUntili<0
D.
i=6
Do
i=i-2
LoopUntili=1
19.对于循环结构(多选)
Do
循环体
LoopWhile<条件>
则以下叙述中正确的是__________。
A.若“条件”是一个为0的常数,则一次也不执行循环体
B.“条件”可以是关系表达式、逻辑表达式或常数
C.循环体中可以使用ExitDo语句
D.如果“条件”总是为True,则不停地执行循环体
20.以下____________不是正确的For-Next循环结构。
(多选)
A.Forx=1ToStep10
…
Nextx
B.Forx=3To-3Step-3
…
Nextx
C.Forx=1To10
Re:
…
Nextx
Ifi=10ThengotoRe
D.Forx=3To10Step3
…
Nexty
21.下面哪几个程序段能分别正确显示1!
、2!
、3!
、4!
的值__________。
(多选)
A.Fori=1To4
n=1
Forj=1Toi
n=n*j
Nextj
Label1.Text=n
Nexti
B.Fori=1To4
Forj=1Toi
n=1
n=n*j
Nextj
Label1.Text=n
Nexti
C.n=1
Forj=1To4
n=n*j
Label1.Text=n
Nextj
D.n=1
j=1
DoWhilej<=4
n=n*j
Label1.Text=n
j=j+1
Loop
二.程序填空:
1.根据下图,在空格处填入适当的内容:
MsgBox(____①______,48,____②_____)
2.以下程序的功能是:
输入一个3位正整数,将之逆序输出。
例如,输入345,则输出543。
请在空格处填入适当的内容,构成完整程序。
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
Dima%,b%,c%,m%
m=InputBox("请输入一个正整数:
")
a=___________①__________m\100
b=______________②______________(m\10)-10*a
c=mMod10
MsgBox"结果="+_________________③__________________
Str(100*c+10*b+c)
EndSub
3.以下程序的功能是:
在窗体中每次单击窗体时,窗体均向右移动100缇。
请在空格处填入适当的内容,构成完整程序。
PublicClassForm1
Dimx!
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
x=x+______①______
Me._______②________=x
EndSub
EndClass
4.下列程序用于检查在文本框中输入的表达式中的圆括号是否匹配,请在空格处填入适当的内容,构成完整程序。
Dimnum%
PrivateSubTextBox1_KeyPress(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.KeyPressEventArgs)HandlesTextBox1.KeyPress
If________①_____________Thenchr(asc(e.keychar))=”)”
num=num+1
ElseIf__________②___________Then
num=num-1
EndIf
IfAsc(e.KeyChar)=13Then
If_______③________Thennum=0
Label1.Text="左右括号配对"
ElseIf_______④________Then
Label1.Text="左括号多于右括号"&num&"个"
Else
Label1.Text="右括号多于左括号"&-num&"个"
EndIf
EndIf
EndSub
5.下面是一模拟袖珍计算器的程序,输出界面如下图所示。
请在空格处填入适当的内容,构成完整程序。
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimsInput1AsSingle,sInput2AsSingle
DimiErrorAsInteger
sInput1=Val(TextBox1.Text)
sInput2=Val(TextBox2.Text)
SelectCase__________①__________textbox3.text
Case"+"
TextBox4.Text=Str(sInput1+sInput2)
Case"-"
TextBox4.Text=Str(sInput1-sInput2)
Case"*"
TextBox4.Text=Str(sInput1*sInput2)
Case"/"
IfsInput2<>0Then
TextBox4.Text=Str(sInput1/sInput2)
Else
iError=MsgBox("分母为零,出错",vbRetryCancel)
IfiError=vbRetryThen
TextBox2.Text=""
_________②____________textbox2.focus
Else
End
EndIf
EndIf
CaseElse
iError=MsgBox("运算符出错,再输入",vbRetryCancel)
IfiError=vbRetryThen
TextBox3.Text=""
TextBox3.Focus()
Else
End
EndIf
EndSelect
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
End
EndSub
6.输入一个大于0且小于1000的整数,并判断其是否为同构数(所谓同构数,是指此数的平方数的最后几位与该数相等)。
例如,252为625,25是同构数,请在空格处填入适当的内容,构成完整程序。
PrivateSubForm_Click()
Dima!
b!
a=Val(InputBox("输入一个数"))
b=a*a
If___________①____________Thenbmod10=aorbmod100=aorbmod1000=a
MsgBoxStr(a)&"是同构数"
Else
MsgBoxStr(a)&"不是同构数"
EndIf
EndSub
7.编写加密程序。
在TextBox1中,将输入字符串中的所有小写字母转换为大写字母,同时按如下规律加密:
“A”转换为“C”、“B”转换为“D”、…、“X”转换为“Z”、“Y”转换为“A”、“Z”转换为“B”,出现在字符串中的其他字符不变,并在TextBox2中将结果输出,如下图所示。
分析:
加密有各种方法,最简单的加密方法是:
将每个字母加一序数,本例中加序数2。
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimstrinAsString,codeAsString,chAsString
DimstrlenAsInteger,i%,chasc%
strin=TextBox1.Text'用户输入的字符串
strlen=________①________'去掉字符串右边的空格,求真正的长度len(rtrim(strin))
code=""'加密后的字符串,初值为空
Fori=1Tostrlen
ch=_______②__________'取字符串中第i个字符mid(strin,i,1)
ch=UCase(ch)'将小写字母转换为大写字母
SelectCasech
Case"A"To"Z"
chasc=Asc(ch)+2'大写字母加序数加密
Ifchasc>Asc("Z")Thenchasc=chasc–26'加密后字母超过Z
code=code+________③________chr(chasc)
CaseElse
code=code+ch'当第i个字符为其他字符时不加密
EndSelect
Nexti
TextBox2.Text=code'显示加密后的字符
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
Text1.Text=""
Text2.Text=""
EndSub
PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.Click
End
EndSub
8.对输入的任意大小写文章进行整理,规则:
所有句子开头为大写,其他都是小写字母,句子结束符为“.”、“?
”或“!
”,运行界面如下图所示。
提示:
要实现句首为大写字母,其他都是小写字母,必须设置一个变量,存放当前处理的字符的前一个字符,来判断前一字符是否为句子结束符。
PrivateSubTextBox1_LostFocus(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesTextBox1.LostFocus
DimPreCAsString,CurCAsString,i%
PreC="."
TextBox2.Text=""
Fori=1ToLen(TextBox1.Text)
CurC=___________①______________mid(textbox1.text,i,1)
IfPreC="."OrPreC="?
"OrPreC="!
"Then
CurC=UCase(CurC)
Else
CurC=LCase(CurC)
EndIf
TextBox2.Text=TextBox2.Text&CurC
PreC=_________②__________
Nexti
EndSub
9.求Sn=a+aa+aaa+aaaa+…+aa...aaa(n个a),其中a是一个由随机数产生的1-9(包括1,9)中的一个正整数,n是一个由随机数产生的5-10(包括5,10)中的一个数,程序运行结果如下图所示。
例如:
当a=7,n=8时,Sn=7+77+777+7777+...+77...777(8个7)。
提示:
该题通项的关键是将一个数不断增加位数,通项关系为:
Ti+1=Ti*10+a
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
Dims!
t!
i!
a%,n%
a=Int(Rnd()*9+1)
n=Int(Rnd()*6+5)
______①_______t=0
s=0
Label1.Text="a="&a&"n="&n&vbCrLf
Fori=1Ton
___________②__________t=t*10+a
s=s+t
Label1.Text&=t&Space(3)
Nexti
Label1.Text&=vbCrLf
Label1.Text&=s
EndSub
10.显示出所有的水仙花数(一个3位数,其各位数字立方和等于该数字本身)。
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
Dimi%,j%,k%,s%
Label1.Text=""
Fori=________①________0to9
Forj=0To9
Fork=0To9
s=i*100+j*10+k
Ifs=___________②____________Theni^3+j^3+k^3
Label1.Text&=s&""
EndIf
Nextk
Nextj
Nexti
EndSub
三.程序改错:
1.下面程序的功能是:
随机产生一个两位数以内的整除算式,当在文本框中输入计算结果,并单击“查看答案”按钮后,弹出MsgBox信息框,显示正确答案,界面如下图。
请找出程序中的错误,并改正之。
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
Dimx%
x=Val(Label1.Text)\Val(Label3.Text)
MsgBox("正确答案是:
"&Str(x))
EndSub
PrivateSubForm7_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.Load
Randomize()
Label1.Text=Int(Rnd()*100)
Label3.Text=Int(Rnd()*99+1)‘*****
EndSub
2.下面程序的功能是:
随机产生一个3位正整数在文本框内显示,单击“输出”按钮,弹出MsgBox信息框,将该正整数反序显示输出,界面如下图。
请找出程序中的错误,并改正之。
Dimx%
PrivateSubForm8_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
Randomize()
x=Int(Rnd()*900)+100
TextBox1.Text=x
EndSub
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
Dima,b,c,y
a=x\100
b=x\10Mod10
c=xMod10
y=cbay=c&b&a‘****
Ms