VB第4章 VB控制结构.docx
- 文档编号:6696125
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:24
- 大小:39.76KB
VB第4章 VB控制结构.docx
《VB第4章 VB控制结构.docx》由会员分享,可在线阅读,更多相关《VB第4章 VB控制结构.docx(24页珍藏版)》请在冰豆网上搜索。
VB第4章VB控制结构
第4章VB控制结构
一.例题解析
(1)设有语句x=InputBox("输入数值","0","示例"),程序运行后,如果从键盘上输入数值10并按回车键,则下列叙述中正确的是。
A)变量x的值是数值10
B)在InputBox对话框标题栏中显示的是“示例”
C)0是默认值
D)变量x的值是字符串"10"
【答案】D
【解析】InputBox函数一般格式是:
InputBox(<提示>[,标题][,默认值][,X][,Y][,帮助文件名,上下文编号])
参照一般格式可知,题干中的“输入数值”是对话框的提示部分,“0”是对话框的标题,“示例”是对话框的默认值。
由于程序运行时用户输入了10,且该函数的返回值是字符串,所以选项D是正确答案。
(2)在窗体上放置一个命令按钮,然后编写如下事件过程:
PrivateSubCommand1_Click()
Dima,b
a=InputBox("请输入一个整数")
b=InputBox("请输入一个整数")
Printb+a
EndSub
程序运行后,单击命令按钮,在输入对话框中分别输入321和456,输出结果为。
A)321456B)456321
C)777D)有语法错误,不能执行
【答案】B
【解析】“+”运算符有两个作用:
对于字符串型运算数,执行字符串连接运算;对于数值型运算数,执行加法运算。
InputBox函数的返回值是字符串,所以执行字符串连接运算,即将字符串a连接到字符串b之后,结果为456321。
(3)运行下列程序,单击窗体,则消息框中显示的提示是。
PrivateSubForm_Click()
MsgBoxStr(123+123)
EndSub
A)123+123B)"246"
C)246D)显示出错信息
【答案】C
【解析】MsgBox语句后给定的字符串参数Str(123+123)是消息框中要显示的提示信息。
Str(123+123)函数首先计算算术表达式123+123,结果为246,然后将其转换为MsgBox语句所需要的字符串类型的参数。
但消息框中显示提示信息时不带字符串两侧的双引号定界符。
(4)执行如下语句后,Print语句的输出结果是。
A=100
PrintIIf(A>50,"Large","Small")
A)1000B)TrueC)LargeD)Small
【答案】C
【解析】IIF函数的一般格式是IIf(表达式1,表达式2,表达式3)。
当表达式1的值为True时,函数返回表达式2的值,否则返回表达式3的值。
因而本题的正确答案是选项C。
(5)下列语句中,与Else匹配的If语句是。
Ifx>0Then
Ifx<10Then
Printx
Else
Printx*2
Endif
Endif
A)第一个B)第二个
C)第一个或第二个D)程序有错误
【答案】B
【解析】当出现If语句的嵌套时,Else总是与它前面离它最近的一个If语句匹配,即“最近匹配原则”。
(6)运行下列程序,单击窗体,则输出结果是。
PrivateSubForm_Click()
M=5
IfM>=0ThenN=1
IfM>=1ThenN=2
IfM>=2ThenN=3
PrintN;
EndSub
A)1B)2C)3D)123
【答案】C
【解析】按照语句的执行顺序,M首先被赋值为5,然后判断第一个条件M>=0,条件满足,变量N被赋值为1;继续判断第二个条件M>=1,条件仍然满足,变量N重新被赋值为2;最后判断第三个条件M>=2,条件仍然满足,所以变量N的值最后被赋值为3。
Print语句输出变量N的值是3。
(7)运行下列程序,单击窗体,从键盘输入50,则输出结果是。
PrivateSubForm_Click()
a=Val(InputBox("A="))
SelectCasea
CaseIs<100:
Printa+1;
CaseIs<80:
Printa+2;
CaseIs<60:
Printa+3;
CaseElse:
Printa+4;
EndSelect
EndSub
A)51B)52C)53D)51525354
【答案】A
【解析】SelectCase语句的执行方法是:
用测试表达式的值与第一个Case子句的表达式值进行比较,如果匹配,则执行第一个Case子句下的语句,执行完成结束Select语句的执行;如果不匹配,依次比较第二、第三、……各Case子句。
本例题中,A=50,与第一Case子句的条件匹配(Is<100),所以输出结果是51。
(8)在For循环中,循环控制变量的增量(循环步长)。
A)只能是整数B)只能是正整数
C)只能是不为0的整数D)任何数值型数据
【答案】D
【解析】For循环的控制变量和它的增量可以是任何一种数值型数据。
但如果增量为0,在循环体内,必须有可以结束循环的语句,否则会形成“死循环”。
(9)运行下列程序后,单击窗体,则其中的循环体一共被执行次。
PrivateSubForm_Click()
ForI=7To100Step5
PrintI
NextI
EndSub
A)16B)17C)18D)19
【答案】D
【解析】For~Next循环中,循环体的执行次数=Int((上界-下界)/步长+1),即Int((100-7)/5+1)。
(10)运行下列程序,单击窗体,则运行结果是。
PrivateSubForm_Click()
Forx=1To2
a=0
Fory=1Tox+1
a=a+1
Nexty
Printa;
Nextx
EndSub
A)11B)00
C)12D)23
【答案】D
【解析】本题是嵌套两层的For循环结构,外层循环控制变量是x,x的值由1变到2,控制执行两次循环体,每次执行循环体的第—个语句是把0赋给变量a,执行循环体的最后一个语句是输出a的值,用内层循环计算a的值,当x值为1时,内层循环执行2次,每次使a增1,退出内层循环时a的值为2,2是第—个输出;当x值为2时,内层循环执行3次,每次使a增1,退出内层循环时a的值为3,3是第二个输出。
由于Print语句以分号结束,因此,用紧凑格式输出2和3。
(11)运行下列程序,单击窗体,则执行结果是。
PrivateSubForm_Click()
s=0
Do
s=(s+1)*(s+2)
Number=Number+1
LoopUntils>=30
PrintNumber;s
EndSub
A)01B)3030
C)430D)3182
【答案】D
【解析】本题使用了Do~LoopUntil循环结构,循环初始设置s为0,循环的退出条件是s>=30,在循环中每次用(s+1)*(s+2)计算出新的s值,很容易算出第1次执行后s的值是2,第2次用3乘以4行后s的值是12,第3次用13乘以14行后s的值是182,到此s的值超过了30,退出循环。
退出循环时共执行了3次循环,Number每次执行循环增l,所以Number的值是3,s的值是182。
(12)以下能够正确计算n!
的程序是。
A)PrivateSubCommandl_Click()
n=5:
x=1
Do
x=x*i
i=i+1
LoopWhilei Printx EndSub B)PrivateSubCommandl_Click() n=5: x=l: i=l Do x=x*i i=i+1 LoopWhilei Printx EndSub C)PrivateSubCommandl_Click() n=5: x=1: i=1 Do x=x*i i=i+1 LoopWhilei<=n Printx EndSub D)PrivateSubCommandl_Click() n=5: x=l: i=l Do x=x*i i=i+l LoopWhilei>n Printx EndSub 【答案】C 【解析】选项A中在循环体外没有为变量i赋初始值,因而变量i的初值为0,则循环体执行第一次的时候,存放阶乘的变量x的值改变为0,所以选项A是错误的。 选项B中各变量的初始值是正确的,错在判断循环执行的条件Whilei 。 选项D的错误原因也是判断循环执行的条件Whilei>n不符合题意,使用该条件循环体只能执行一次,即终止循环,即x中求出的是1! 。 (13)在窗体上画一个命令按钮,名称为Command1。 然后编写如下程序: PrivateSubCommand1_Click() Fori=1To4 Forj=0Toi PrintChr$(65+i); Nextj Print Nexti EndSub 程序运行后,如果单击命令按钮,则在窗体上显示的内容是。 A)BBB)AC)BD)AA CCCBBCCBBB DDDDCCCDDDCCCC EEEEEDDDDEEEEDDDDD 【答案】A 【解析】当i为1时,j的取值为0、1,在同一行输出ASCⅡ码值为66的字符B两次后换行;同理,当i为2时,在同一行输出字符C三次后换行。 依此类推。 二.练习题 1.单项选择题 1.设有语句x=InputBox("输入数值","0","示例"),程序运行后,如果从键盘上输入数值10并按回车键,则下列叙述中正确的是。 A)变量x的值是数值10B)在InputBox对话框标题栏中显示的是“示例” C)0是默认值D)变量x的值是字符串"10" 2.在窗体上放置一个命令按钮,然后编写如下事件过程: PrivateSubCommand1_Click() Dima,b a=InputBox("请输入一个整数") b=InputBox("请输入一个整数") Printb+a EndSub 运行程序,单击命令按钮,在输入对话框中分别输入321和456,输出结果为。 A)321456B)456321 C)777D)有语法错误,不能执行 3.运行下列程序,单击窗体,则消息框中显示的提示是。 PrivateSubForm_Click() MsgBoxStr(123+123) EndSub A)123+123B)"246" C)246D)显示出错信息 4.执行如下语句后,Print语句的输出结果是。 A=100 PrintIIf(A>50,"Large","Small") A)1000B)TrueC)LargeD)Small 5.下列语句中,与Else匹配的If语句是。 Ifx>0Then Ifx<10Then Printx Else Printx*2 Endif Endif A)第一个B)第二个C)第一个或第二个D)程序有错误 6.运行下列程序,单击窗体,则输出结果是。 PrivateSubForm_Click() M=5 IfM>=0ThenN=1 IfM>=1ThenN=2 IfM>=2ThenN=3 PrintN; EndSub A)1B)2C)3D)123 7.运行下列程序,单击窗体,从键盘输入50,则输出结果是。 PrivateSubForm_Click() a=Val(InputBox("A=")) SelectCasea CaseIs<100: Printa+1; CaseIs<80: Printa+2; CaseIs<60: Printa+3; CaseElse: Printa+4; EndSelect EndSub A)51B)52C)53D)51525354 8.在For循环中,循环控制变量的增量(循环步长)。 A)只能是整数B)只能是正整数 C)只能是不为0的整数D)任何数值型数据 9.运行下列程序后,单击窗体,则其中的循环体一共被执行次。 PrivateSubForm_Click() ForI=7To100Step5 PrintI NextI EndSub A)16B)17C)18D)19 10.运行下列程序,单击窗体,则运行结果是。 PrivateSubForm_Click() Forx=1To2 a=0 Fory=1Tox+1 a=a+1 Nexty Printa; Nextx EndSub A)11B)00C)12D)23 11.运行下列程序,单击窗体,则执行结果是。 PrivateSubForm_Click() s=0 Do s=(s+1)*(s+2) Number=Number+1 LoopUntils>=30 PrintNumber;s EndSub A)01B)3030C)430D)3182 12.以下能够正确计算n! 的程序是。 A)PrivateSubCommandl_Click() n=5: x=1 Do x=x*i i=i+1 LoopWhilei Printx EndSub B)PrivateSubCommandl_Click() n=5: x=1: i=1 Do x=x*i i=i+1 LoopWhilei Printx EndSub C)PrivateSubCommand1_Click() n=5: x=1: i=1 Do x=x*i i=i+1 LoopWhilei<=n Printx EndSub D)PrivateSubCommandl_Click() n=5: x=1: i=1 Do x=x*i i=i+1 LoopWhilei>n Printx EndSub 13.在窗体上画一个命令按钮,名称为Command1。 然后编写如下程序: PrivateSubCommand1_Click() Fori=1To4 Forj=0Toi PrintChr$(65+i); Nextj Print Nexti EndSub 程序运行后,如果单击命令按钮,则在窗体上显示的内容是。 A)BBB)AC)BD)AA CCCBBCCBBB DDDDCCCDDDCCCC EEEEEDDDDEEEEDDDDD 14.有如下程序: PrivateSubForm_Click() ddd=MsgBox("注意",vbAbortRetryIgnore+vbExclamation,"标题") EndSub 运行后,单击窗体,则显示的消息对话框是。 A) B) C) D) 15.下面程序运行后,单击窗体,输出的结果是。 PrivateSubForm_Click() Fori=10To4Step-2 k=i Nexti Printk;i EndSub A)52B)53C)42D)43 16.下面程序中,能正确计算出10的阶乘值(10! )的是。 A)PrivateSubForm_Click() p=0 Fori=1To10 p=p*i Nexti Printp EndSub B)PrivateSubForm_Click() p=1 Fori=1To10 p=p*i Nexti Printp EndSub C)PrivateSubForm_Click() Fori=1To10 p=0 p=p*i Nexti Printp EndSub D)PrivateSubForm_Click() Fori=1To10 p=1 p=p*i Nexti Printp EndSub 17.下面程序运行后,单击窗体,从键盘输入a,输出的结果是。 PrivateSubform_Click() t=InputBox("请输入一个字符: ") SelectCaset Case"a" y=String(3,UCase(t)) Case"A" y=String(3,Lcase(t)) CaseElse y="AaA" EndSelect Printy EndSub A)aaaB)AAAC)AaAD)aAa 18.下面程序运行后,单击窗体,输出的结果是。 一、单项选择题答案 1.D 2.B 3.C 4.C 5.B 6.C 7.A 8.D 9.D 10.D 11.D 12.C 13.A 14.D 15.C 16.B 17.B 18.A 19.C 20.C 21.B 22.D 23.B 24.A 25.A 26.A 27.C 28.B 29.B 30.D 31.B 32.C 33.A 34.A 35.B 二、填空题答案 1.51 2.9 3.33 4.VBYesNo或4 5.X<8 6.Rndxmod5=0x 7.空1: x>=0空2: x 8.x>5 9.459 10.36 PrivateSubForm_Click() m=63 n=14 DoWhilem<>n DoWhilem>n m=m-n Loop DoWhilen>m n=n-m Loop Loop Printm;n EndSub A)77B)11C)17D)71 19.下面程序运行后,单击窗体,输出的结果是。 PrivateSubForm_Click() a$="1234512345" Fori=1ToLen(a$) k=Mid(a$,i,1) m=Trim(Str(Val(k)+2)) s=s+m Nexti Prints EndSub A)30B)50C)3456734567D)2345623456 20.下面程序运行后,单击窗体,输出的结果是。 PrivateSubform_Click() k="A" Fori=5To0Step-1 t=t+Chr(Asc(k)+i) Nexti Printt EndSub运行后输出结果是 A)ABCDEB)ABCDEFC)FEDCBAD)EDCBA 21.下面程序运行后,单击窗体,输出的结果是。 PrivateSubForm_Click() ForJ=4To1Step-1 PrintTab(6-J); ForK=3To1Step-1 Print"*"; NextK Print NextJ EndSub A)***B)***C)***D)**** ************ *********** ********** 22.下面程序运行后,单击窗体,输出的结果是。 PrivateSubForm_Click() a=100 Do IfaMod2=0Then s=s+1 EndIf a=a+1 LoopWhilea<121 Printa;s EndSub A)12012B)12010C)12212D)12111 23.下面程序运行后,单击窗体,从键盘输入1,输出的结果是。 PrivateSubForm_Click() x=-5 s=InputBox("请输入一个整数") SelectCases CaseIs>0: y=x+1 Case1To10: y=x+2 CaseElse: y=x+3 EndSelect Printx;y EndSub A)-5-1B)-5-4C)-5-3D)-5-5 24.在窗体上画一个名称为Commandl的命令按钮,然后编写如下事件过程: PrivateSubCommand1_Click() DimsumAsInteger sum=1 DoUntilsum>5 Printsum sum=sum+2 Loop EndSub 程序运行后,单击命令按钮,则窗体上显示的内容是。 A)lB)1C)1D)无数据输出 324 546 25.在窗体上画一个名称为Commandl的命令按钮,然后编写如下事件过程: PrivateSubCommand1_Click() Forn=1To10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB第4章 VB控制结构 VB 控制 结构
![提示](https://static.bdocx.com/images/bang_tan.gif)