第四章 控制结构:任何复杂的实际问题,都可以由3种基本的程序控制结构通过合理的组合而进行解决,这3种基本的程序控制结构是顺序结构、选择结构(又称分支结构)和循环结构。本章主要介绍这3种控制结构的特点及使用方法,并在此基础上进行相应的组合应用来解决实际编程问题。 本章学习目标: (1)掌握输入数据的三种方法:赋值语句、文本框、INPUTBOX函数; (2)掌握输出数据的方法:标签、文本框、MSGBOX函数或过程、Print方法、打印机输出、直接输出、窗体输出; (3)掌握单分支和双分支结构语句以及多分支结构语句的格式、语法以及注意的问题; (4)掌握For循环语句、Do…Loop循环语句、While…Wend循环语句的格式、语法以及注意的问题; (5)掌握顺序结构、选择结构和循环结构三大程序控制结构的综合应用; (6)掌握几个问题的常用算法。 重点:输入和输出数据方法,各种分支语句的格式、语法和注意的问题以及其应用,各种循环语句的格式、语法和注意的问题以及其应用,顺序结构、选择结构和循环结构三大程序控制结构的综合应用,几个问题的常用算法。 难点:输入和输出数据方法应注意的问题,各种分支语句的灵活应用,各种循环语句的灵活应用。 学习方法: 先看课本,再看相关知识点的微课。在看微课时,看不懂的同学可以反复看,直到看懂为止,实在看不懂的,把不懂的问题记录下来,在讨论群里讨论得到解决,或者反映给助教,助教反映给教师,教师在课堂上统一讲解面上问题。在学习的过程中要养成记笔记的好习惯。所有的同学都要在看完书和微课后,做网站里布置的作业以验证是否掌握所学知识,最后提交作业。 参考教材: (1)《面向对象程序设计基础——Visual Basic》,清华大学出版社,第4章 控制结构。 (2)《全国计算机等级考试二级教程——Visual Basic语言程序设计(2018年版)》,高等教育出版社。 (3)《全国计算机等级考试教程二级Visual Basic》,人民邮电出版社。4.1输入数据——赋值语句:本节需要掌握赋值语句的格式、功能以及需要注意的问题。[单选题]
4.2输入数据——文本框输入和Inputbox函数输入:本节需要重点掌握InputBox函数的格式、功能、注意的问题以及其应用。
4.3输出数据:本节需要掌握多种输出数据方法的灵活应用,掌握输出语句Print和输出函数MsgBox的格式、功能、需注意的问题以及其应用。
4.4单分支和双分支:本节需掌握单分支和双分支语句的格式、功能、需注意的问题及其应用。
4.5多分支:本节需掌握多分支语句的格式、功能、需注意的问题及其应用。
4.6FOR循环语句:本节需掌握For循环语句的格式、功能、需注意的问题及其应用。
4.7DO-LOOP循环语句:本节需掌握Do-Loop循环语句的格式、功能、需注意的问题及其应用。
4.8WHILE-WEND循环与循环的嵌套其他辅助控制语句:本节需掌握While-Wend循环语句的格式、功能、需注意的问题及其应用,掌握循环的嵌套及其他辅助控制语句的灵活应用。
4.9综合应用——百鸡问题:本节需掌握多重循环的灵活应用。
有如下程序代码:
Private Sub Form_Click()
X = 8
If X > 8 Then
Print "X > 8"
ElseIf X < 10 Then
Print "X < 10"
ElseIf X = 8 Then
Print "X = 8"
End If
End Sub
运行程序,单击窗体,输出结果是________。
[单选题]
在窗体上画一个名称为Command1的命令按钮,并编写如下程序代码:
Private Const NUM As Integer = 10
Private Sub Command1_Click()
Dim a As Integer, b As Integer
a = 1
b = NUM
Do Until b > NUM
a = a * NUM
b = b + 1
Loop
Print a
End Sub
则当程序运行时,单击Command1后,在窗体上的输出结果是________。
, 21, 10]
[单选题]以下叙述中,错误的是________。
选项:[可以用MsgBox函数输出一条信息
, MsgBox函数的返回值为一整数, 有语句:x = InputBox("输入:", "输入整数"),则该语句打开的对话框的标题是"输入整数", InputBox函数的返回值类型由用户在输入对话框中输入数据的类型决定]
[单选题]
设窗体上有文本框Text1和命令按钮Command1,并编写了下面的过程:
Private Sub Command1_Click()
ch$ = ""
x% = Val(Text1.Text)
k = 2
For k = 2 To x / 2
If x Mod k = 0 Then
ch = ch & " " & k
End If
Next k
Print ch
End Sub
程序运行后,在文本框中输入28,单击命令按钮,则输出是________。
[单选题]
在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
Dim i As Integer
Dim num As Integer
Dim n As Integer
n = 0
Randomize
For i = 1 To 10
num = Int(Rnd * 10) + 1
Select Case num Mod 2
Case 1
Exit For
Case 0
Print num
n = n + 1
End Select
Next i
Print "n="; n
End Sub
下面有关描述中正确的是________。
[单选题]
设有如下程序段:
Dim x As Integer
x = Val(InputBox("输入变量x的值"))
Select Case x
Case ________________
Print "*"
Case Else
Print "#"
End Select
以上程序段的功能是,当变量x的值在5到10之间,或者大于20时,输出"*",其它情况输出"#",则程序中横线处应填入的内容是________。
[单选题]
设a、b、c为整型变量,其值分别为4、5、6。以下程序段的输出结果是________。
a = b: b = c: c = a
Print a; b; c
[单选题]
设有如下程序:
Private Sub Command1_Click ( )
Dim sum As Double ,x As Double
sum=0
For i=1 To 5
x=n/i
n=n+1
sum =sum +x
Next
End Sub
该程序通过For 循环计算一个表达式的值,这个表达式是________。
[单选题]以下Case子句中错误的是________。 选项:[Case 3, 5, Is > 10, Case 0 To 10, Case Is > 10 And Is < 50, Case Is > 10]
[单选题]
执行下面的程序段后,x的值为________。
x=5
For i=1 to 20 Step 2
x=x+i5
Next i
]
[单选题]
在窗体上画一个名称为Label1的标签,然后编写如下事件过程:
Private Sub Form_Click()
Dim S As Integer
S = 0
For i = 1 To 15
x = 2 * i - 1
If x Mod 3 = 0 Then
S = S + 1
End If
Next i
Label1.Caption = S
End Sub
运行程序,单击窗体,标签中显示的是________。
, 5, 27, 45]
[单选题]在Do While...Loop循环结构中Loop语句的作用是________。
选项:[退出循环,返回到程序开始处, 转移到Do While语句行,开始下一次判断和循环, 该语句在Do While...Loop循环结构中不起任何作用, 终止循环,将控制转移到本循环结构Loop后面的第一条语句继续执行
]
[单选题]设 a=6,则执行x= IIf ( a<6 ,-1 ,0 ) 后,x的值是________。
选项:[5
, -1
, 0
, 6
]
[单选题]
在窗体中画一个命令按扭,然后编写以下事件过程:
Private Sub Command1_Click( )
For i=1 to 4
x=4
For j=1 to 3
x=3
For k=1 to 2
k=k+6
Next k
Next j
Next i
Print x
End Sub
程序执行结果为________。
, 3, 158, 15]
[单选题]对语句 If x=1 Then y=1 ,下列说法正确________。 选项:[x=1 和 y=1 均为赋值语句, x=1 是赋值语句, y=1 是关系表达式, x=1 是关系表达式, y=1 是赋值语句, x=1 和 y=1 均为关系表达式]
[单选题]
已知文本框Text1中输入了一篇英文短文,并编写了如下程序段:
Str_x = Text1.Text
n = Len(Str_x)
m = 0
t = 0
For i = 1 To n
w = UCase(Mid(Str_x, i, 1))
If w >= "A" And w <= "Z" Then
If t = 0 Then m = m + 1
t = t + 1
Else
t = 0
End If
Next
Print m
该程序段的功能为统计并输出英文短文中________。
[单选题]
在窗体上画一个名称为Command1的命令按扭和两个名称分别为Text1、Text2的文本框,然后编写如下事件过程:
Private Sub Command1_Click( )
n %= Text1.Text
Select Case n
Case 1 to 20
x=10
Case 2,4,6
x=20
Case Is<10
x=30
Case 10
x=40
End Select
Text2.Text=x
End Sub
程序运行后,如果在文本框Text1中输入10,然后单击命令按扭,则在Text2中显示的内容是________。