VB第4章 VB控制结构.doc_第1页
VB第4章 VB控制结构.doc_第2页
VB第4章 VB控制结构.doc_第3页
VB第4章 VB控制结构.doc_第4页
VB第4章 VB控制结构.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第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)在窗体上放置一个命令按钮,然后编写如下事件过程:Private Sub Command1_Click() Dim a,ba = InputBox(请输入一个整数)b = InputBox(请输入一个整数)Print b + aEnd Sub程序运行后,单击命令按钮,在输入对话框中分别输入321和456,输出结果为 。A)321456B)456321C)777D)有语法错误,不能执行【答案】B【解析】 “+”运算符有两个作用:对于字符串型运算数,执行字符串连接运算;对于数值型运算数,执行加法运算。InputBox函数的返回值是字符串,所以执行字符串连接运算,即将字符串a连接到字符串b之后,结果为456321。(3)运行下列程序,单击窗体,则消息框中显示的提示是 。Private Sub Form_Click() MsgBox Str(123 + 123)End SubA)123+123B)246C)246D)显示出错信息【答案】C【解析】MsgBox语句后给定的字符串参数Str(123 + 123)是消息框中要显示的提示信息 。Str(123 + 123)函数首先计算算术表达式123+123,结果为246,然后将其转换为MsgBox语句所需要的字符串类型的参数。但消息框中显示提示信息时不带字符串两侧的双引号定界符。(4)执行如下语句后,Print语句的输出结果是 。A=100Print IIf(A50,Large,Small)A)1000B)TrueC)LargeD) Small【答案】C【解析】IIF函数的一般格式是IIf(表达式1,表达式2,表达式3)。当表达式1的值为True时,函数返回表达式2的值,否则返回表达式3的值。因而本题的正确答案是选项C。(5)下列语句中,与Else匹配的If语句是 。If x0 ThenIf x= 0 Then N = 1 If M = 1 Then N = 2 If M = 2 Then N = 3 Print N;End SubA)1B)2C)3D)1 2 3【答案】C【解析】按照语句的执行顺序,M首先被赋值为5,然后判断第一个条件M0,条件满足,变量N被赋值为1;继续判断第二个条件M=1,条件仍然满足,变量N重新被赋值为2;最后判断第三个条件M=2,条件仍然满足,所以变量N的值最后被赋值为3。Print语句输出变量N的值是3。(7)运行下列程序,单击窗体,从键盘输入50,则输出结果是 。Private Sub Form_Click() a = Val(InputBox(A=) Select Case a Case Is 100: Print a + 1; Case Is 80: Print a + 2;Case Is 60: Print a + 3; Case Else: Print a + 4; End SelectEnd SubA)51B)52C)53D)51 52 53 54【答案】A【解析】Select Case语句的执行方法是:用测试表达式的值与第一个Case子句的表达式值进行比较,如果匹配,则执行第一个Case子句下的语句,执行完成结束Select语句的执行;如果不匹配,依次比较第二、第三、各Case子句。本例题中,A50,与第一Case子句的条件匹配(Is= 30 Print Number; sEnd SubA) 0 1 B) 30 30C) 4 30D) 3 182【答案】D【解析】本题使用了DoLoop Until循环结构,循环初始设置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) Private Sub Commandl_Click() n=5: x=1 Do x=x*i i=i+1 Loop While inPrint xEnd SubB) Private Sub Commandl_Click() n=5: x=l: i=l Do x=x*i i=i+1 Loop While in Print xEnd Sub C) Private Sub Commandl_Click() n=5: x=1: i=1 Do x=x*i i=i+1 Loop While in Print xEnd Sub【答案】C【解析】选项A中在循环体外没有为变量i赋初始值,因而变量i的初值为0,则循环体执行第一次的时候,存放阶乘的变量x的值改变为0,所以选项A是错误的。选项B中各变量的初始值是正确的,错在判断循环执行的条件While in不符合题意,使用该条件循环体只能执行一次,即终止循环,即x中求出的是1!。(13)在窗体上画一个命令按钮,名称为Command1。然后编写如下程序: Private Sub Command1_Click()For i = 1 To 4 For j = 0 To i Print Chr$(65 + i); Next j Print Next i End Sub 程序运行后,如果单击命令按钮,则在窗体上显示的内容是 。 A)BB B)A C) B D)AA CCC BB CC BBB DDDD CCC DDD CCCC EEEEE DDDD EEEE DDDDD 【答案】A 【解析】当i为1时,j的取值为0、1,在同一行输出ASC码值为66的字符B两次后换行;同理,当i为2时,在同一行输出字符C三次后换行。依此类推。二练习题1单项选择题1. 设有语句 x=InputBox(输入数值,0,示例) , 程序运行后,如果从键盘上输入数值10并按回车键,则下列叙述中正确的是 。A)变量x的值是数值10 B)在InputBox对话框标题栏中显示的是“示例”C)0是默认值 D)变量x的值是字符串102. 在窗体上放置一个命令按钮,然后编写如下事件过程:Private Sub Command1_Click() Dim a,ba = InputBox(请输入一个整数)b = InputBox(请输入一个整数)Print b + aEnd Sub运行程序,单击命令按钮,在输入对话框中分别输入321和456,输出结果为 。A)321456B)456321C)777D)有语法错误,不能执行3. 运行下列程序,单击窗体,则消息框中显示的提示是 。Private Sub Form_Click() MsgBox Str(123 + 123)End SubA)123+123B)246C)246D)显示出错信息4. 执行如下语句后,Print语句的输出结果是 。A=100Print IIf(A50,Large,Small)A)1000B)TrueC)LargeD) Small5. 下列语句中,与Else匹配的If语句是 。If x0 ThenIf x= 0 Then N = 1 If M = 1 Then N = 2 If M = 2 Then N = 3 Print N;End SubA)1B)2C)3D)1 2 37. 运行下列程序,单击窗体,从键盘输入50,则输出结果是 。Private Sub Form_Click() a = Val(InputBox(A=) Select Case a Case Is 100: Print a + 1; Case Is 80: Print a + 2;Case Is = 30 Print Number; sEnd SubA) 0 1 B) 30 30 C) 4 30D) 3 18212. 以下能够正确计算n!的程序是 。A) Private Sub Commandl_Click() n=5: x=1 Do x=x*i i=i+1 Loop While inPrint xEnd SubB) Private Sub Commandl_Click() n=5: x=1: i=1 Do x=x*i i=i+1 Loop While in Print xEnd SubC) Private Sub Command1_Click() n=5: x=1: i=1 Do x=x*i i=i+1 Loop While in Print xEnd Sub13. 在窗体上画一个命令按钮,名称为Command1。然后编写如下程序: Private Sub Command1_Click()For i = 1 To 4 For j = 0 To i Print Chr$(65 + i); Next j Print Next i End Sub 程序运行后,如果单击命令按钮,则在窗体上显示的内容是 。 A)BB B)A C) B D)AA CCC BB CC BBB DDDD CCC DDD CCCC EEEEE DDDD EEEE DDDDD14. 有如下程序:Private Sub Form_Click() ddd = MsgBox(注意, vbAbortRetryIgnore + vbExclamation, 标题)End Sub运行后,单击窗体,则显示的消息对话框是 。A)B)C)D)15. 下面程序运行后,单击窗体,输出的结果是 。Private Sub Form_Click() For i = 10 To 4 Step -2 k = i Next i Print k; iEnd SubA) 5 2 B) 5 3 C) 4 2 D) 4 316. 下面程序中,能正确计算出10的阶乘值(10!)的是 。A) Private Sub Form_Click() p = 0 For i = 1 To 10 p = p * i Next i Print pEnd SubB)Private Sub Form_Click() p = 1 For i = 1 To 10 p = p * i Next i Print pEnd SubC) Private Sub Form_Click() For i = 1 To 10 p = 0 p = p * i Next i Print pEnd SubD) Private Sub Form_Click() For i = 1 To 10 p = 1 p = p * i Next i Print pEnd Sub17. 下面程序运行后,单击窗体,从键盘输入a,输出的结果是 。Private Sub form_Click() t = InputBox(请输入一个字符:) Select Case tCase a y = String(3, UCase(t)Case A y = String(3, Lcase(t)Case Else y = AaA End Select Print yEnd SubA) aaaB) AAAC) AaAD) aAa18. 下面程序运行后,单击窗体,输出的结果是 。一、单项选择题答案1.D2.B3.C4.C5.B6.C7.A8.D9.D10.D11.D12.C13.A14.D15.C16.B17.B18.A19.C20.C21.B22.D23.B24.A25.A26.A27.C28.B29.B30.D31.B32.C33.A34.A35.B二、填空题答案1 5 12 93 334 VBYesNo 或 45 X=0 空2:x59 4 5 910 36Private Sub Form_Click() m = 63 n = 14 Do While m n Do While m n m = m - n Loop Do While n m n = n - m Loop Loop Print m; nEnd SubA) 7 7B) 1 1C) 1 7D) 7 119. 下面程序运行后,单击窗体,输出的结果是 。Private Sub Form_Click() a$ = 1234512345 For i = 1 To Len(a$) k = Mid(a$, i, 1) m = Trim(Str(Val(k) + 2) s = s + m Next i Print sEnd SubA) 30B) 50C)3456734567D) 234562345620. 下面程序运行后,单击窗体,输出的结果是 。Private Sub form_Click() k = A For i = 5 To 0 Step -1 t = t + Chr(Asc(k) + i) Next i Print tEnd Sub运行后输出结果是A) ABCDEB) ABCDEF C) FEDCBA D) EDCBA21. 下面程序运行后,单击窗体,输出的结果是 。Private Sub Form_Click() For J = 4 To 1 Step -1 Print Tab(6 - J); For K = 3 To 1 Step -1 Print *; Next K Print Next JEnd SubA) * B) * C) * D) * * * * * * * * * * * * * 22. 下面程序运行后,单击窗体,输出的结果是 。Private Sub Form_Click() a = 100 Do If a Mod 2 = 0 Then s = s + 1 End If a = a + 1 Loop While a 0: y = x + 1 Case 1 To 10: y = x + 2 Case Else: y = x + 3 End Select Print x; yEnd SubA) -5 -1 B) -5 -4 C) -5 -3 D) -5 -5 24. 在窗体上画一个名称为Commandl的命令按钮,然后编写如下事件过程: Private Sub Command1_Click () Dim sum As Integer sum = 1 Do Until sum 5 Print sum sum = sum + 2 Loop End Sub 程序运行后,单击命令按钮,则窗体上显示的内容是 。 A)l B)1 C)1 D)无数据输出 3 2 4 5 4 625. 在窗体上画一个名称为Commandl的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() For n = 1 To 10 If n Mod 3 0 Then m = m + n 5 Next n Print m End Sub 程序运行后,如果单击命令按钮,则窗体上显示的内容是 。A) 5 B) 3 C)2 D)426. 有如下程序Private Sub Form_Click() y = 1: x = 1 Do Until y 5 x = x * y y = y + 1 Loop Print x; yEnd Sub运行后输出的结果为 。A) 120 6B) 24 5C)6 6 D) 显示出错信息27. 下面程序运行后,单击窗体,则输出结果为 。Private Sub Form_Click() a$ = 1234 b$ = -*/ For j = 4 To 1 Step -1 c$ = c$ + Mid$(a$, j) + Mid$(b$, j, 1) Next j Print c$End Sub A) 4*34-234+1234 B) 4/3*2-1 C) 4/34*234-1234 D) 出错28. 现有语句: y=IIf(x0,x Mod 3,0) 设x=10,则y的值是 。 A) 0B) 1 C) 3D) 语句有错 29. 设窗体上有一个文本框Text1和一个命令按钮Command1,并有以下事件过程: Private Sub Command1_Click() Dim s As String,ch As String s= For k=1 To Len(Text1) ch=Mid(Text1,k,1) s=ch+s Next k Text1.Text=s End Sub 程序执行时,在文本框中输入Basic,然后单击命令按钮,则Text1中显示的是 。 A)Basic B)cisaB C)BASIC D)CISAB 30. 在窗体上画一个命令按钮和一个文本框,名称分别为Command1和Text1,然后编写程序: Private Sub Command1_Click() a=Val(InputBox(请输入日期 (131) t=旅游景点:& IIf(a0 And a10 And a20 And a 10C)Case Is10 and Is 1033. 当VB执行下面语句后,A的值为 。 A=1 If A0 Then A=A+1 If A1 Then A=0 A0 B1 C2 D3 34. 在窗体中添加一个文本框(其中Name属性为Text1),然后编写如下代码 Private Sub Form_Click() Text1.Text = Text1.SetFocus For i = 1 To 10 Sum = Sum + i Next i Text1.Text = Sum End Sub 上述程序运行后,单击窗体,则运行的结果 。A在文本框Text1中输出55 B在文本框Text1中输出0 C出错 D在文本框Text1中输出不定值 35. 在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Dim i As Integer,n As IntegerFor I=0 To 50i=i+3n=n+1If i10 Then Exit forNextText1.Text=Str(n)End Sub程序运行后,单击命令按钮

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论