第3节 For循环结构
考试内容
考试要求
For语句格式
c
For语句应用
c
For循环语句
For 循环变量 = 初值 To 终值 Step 步长
语句1
语句2 (循环体)
……
Next循环变量
返回判断循环变量是否小于终值,成立继续循环。
注意:(1)如果步长为负数,循环变量是否大于终值,成立继续循环。
(2)Step 1可以省略不写
步长为正数For循环流程图
【典例1】 For循环执行过程填空。
s = 0
For i = 1 To 100
s = s + i
Next i
在右边填写变量的值
i = 1 时,i<=100成立 s=______
i = 2 时,i<=100成立 s=______
i = 3 时,i<=100成立 s=______
……
i = 100 时,i<=100成立, s=______
i = 101 时,i<=100不成立, 循环结束
循环结束后变量s的值为______,变量i的值为________
解析 本题主要考查For循环语句执行的过程,判断循环变量是否小于终值,成立继续循环。
答案 1 3 6 5050 5050 101
【变式训练】 For循环执行过程填空。
s = 0 : a = 1
For i = 1 To 100 Step 1
IF i mod 2 = 0 Then
s = s + i
Next i
i = 1 时,i<=100成立 s=________
i = 2 时,i<=100成立 s=________
i = 3 时,i<=100成立 s=________
i = 4 时,i<=100成立 s=________
……
i = 100 时,i<=100成立, s=________
i = 101 时,i<=100不成立, 循环结束
循环结束后变量s的值为________,变量i的值为________
解析 本题主要考查For循环语句和IF语句的结合,每次循环时IF语句条件i mod 2 =0成立时,才执行s = s + i。
答案 0 2 2 6 2550 2550 101
【典例2】 有如下VB程序段:
s = 0
For i = 1 To 10 Step 3
s = s + 1
Next i
Label1.Caption = Str(s)
该程序段运行后标签Label1上显示的内容是( )
A.2 B.3
C. 4 D. 5
解析 本题主要考查For循环语句。判断循环变量是否小于终值,成立继续循环。For循环中,初值是1,终值是10,步长是3,所以i=1、4、7、10时,执行s=s+1,程序结束时,s=4。
答案 C
【变式训练】 有如下VB程序段:
s = 0
For i = 1 To 5 Step 2
s = s + i
Next i
s = s + i
Label1.Caption = Str(s)
该程序段运行后标签Label1上显示的内容是( )
A.3 B.9
C.14 D.16
解析 本题主要考查For循环语句。判断循环变量是否小于终值,成立继续循环。For循环中,初值是1,终值是5,步长是2,s=1+3+5=9。循环结束后i=7,然后执行s = s + i=9+7=16。
答案 D
【典例3】 下列程序执行后变量c的值( )
s = “DZFad123”: c = 0
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch >= “A” And ch <= “F” Then
c = c + 1
End If
Next i
A.1 B.2
C.3 D.4
解析 本题考查For循环和分支结构。i的取值范围是从1到8之间的正整数。If后面的语句判断ch是否是“A”-“F”之间的字符。当i=1,3时,满足If后面的语句,执行c=c+1,所以c=2。所以答案选B。
答案 B
【典例4】 下列程序执行后变量t的值( )
s = “AaBb”
t = “ ”
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch >= “a” And ch <= “z” Then
ch = Chr(Asc(ch) - 32)
End If
t = ch + t
Next i
A.“AaBb” B.“AABB”
C.“BbAa” D.“BBAA”
解析 本题考查For循环和If语句。i的取值范围是从1到4之间的正整数。i=1时,ch=“A”,t=“A”。i=2时,ch=“a”,满足if后面的语句,执行then后面的语句,ch=“A”,t=“AA”。i=3时,ch=“B”,t=“BAA”。i=4时,ch=“b”,满足If后面的语句,执行then后面的语句,ch=“B”,t=“BBAA”。所以答案选D。
答案 D
【方法总结】 在For循环中,判断循环变量是否小于终值,成立继续循环。For与Next语句中的变量必须一致,执行Next命令后,循环变量的值会自动加上步长的值。
1.有如下的Visual Basic程序段:
s=1
For i=20 To________Step -2
s=s+i
Next i
若要使语句s=s+i执行5次,则循环变量i终值应为( )
A.12 B.11
C.10 D.9
解析 本题考查循环结构相关知识点。循环次数=Int(终值-初值)/步长+1。由此得到终值为12。
答案 A
2.下列程序执行后变量s的值( )
s = 1
For i = 1 To 20
If i Mod 5 = 0 Then
s = s + i
End If
Next i
A.50 B.51
C.31 D.30
解析 本题考查For循环和分支结构。i的取值范围是从1到20之间的正整数。块If语句中判断i是否是5的倍数,当满足i是5的倍数时,执行s=s+i,s=1+5+10+15+20=51。
答案 B
3.下列程序执行后变量ans的值( )
s = “A1B2C3”
ans = “ ”
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If i Mod 2 = 0 Then ans = ans + ch
Next i
A.“A1B” B.“123”
C.“AB” D.“ABC”
解析 本题考查For循环和分支结构。i的取值范围是从1到6之间的正整数。块If语句中判断i是否是偶数,如果是偶数,执行ans = ans + ch语句,即将ch拼接到字符串ans里。故答案是“123”。
答案 B
4.有如下Visual Basic程序:
Private Sub Command1_Click( )
Dim s As Integer
Dim i As Integer
s=0
For i=1 To 10
s=s+i7
Next i
Text1.Text=Str(s)
End sub
该程序段运行后,文本框Text1中显示________。
解析 本题考查For循环。i的取值范围是从1到10之间的正整数。i<7时,i7=0,7≤i<10时,i7=1,所以s=1+1+1+1=4。
答案 4
基础巩固
1.有如下VB程序段:
s = 1
For i = 1 To 10 Step 3
s = s * i
Next i
上面循环结束后变量s的值为______。
解析 本题主要考查For循环语句。判断循环变量是否小于终值,成立则继续循环。s=1*4*7*10=280。
答案 280
2.有如下VB程序段:
s = 0
For i = 1 To 20
If i Mod 6 = 0 Then
s = s + 1
End If
Next i
上面循环结束后变量s的值为________。
解析 本题主要考查For循环语句分支结构。i=6,12,18时,满足i Mod 6 = 0,执行 s = s + 1语句,因此,循环结束后变量s=3。
答案 3
3.有如下VB程序段:
s = “DuBa98c”: c = 0
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch >= “A” And ch <= “Z” Then
c = c + 1
End If
Next i
上面循环结束后变量s的值为______。
解析 本题考查For循环和分支结构。i的取值范围是从1到7之间的正整数。If后面的语句判断ch是否是“A”~“Z” 之间的字符。当i=1、3时,满足If后面的语句,执行c=c+1,因此,c=2。
答案 2
4.有如下Visual Basic程序:
x = 9
For i = 3 To 22 Step 3
If (x / 2) >= i Then x = x+ 3
Next i
For i = 2 To -22 Step 3
If (x / 3) >= i Then x = x + 3
Next i
Text1.Text=Str(x+i)
该程序的运行结果是( )
A.39 B.15 C.17 D.13
解析 本题考查For循环和分支结构。在第一个For循环中,初值是3,终值是22,步长是3。i=3时,满足(x / 2) >= i,执行x = x+ 3=12;i=6时,满足(x / 2) >= i,执行x = x+ 3=15;i=9时,不满足(x / 2) >= i;i=12,15,18,21,时,不满足(x / 2) >= i。执行完第一个For循环后,x=15,i=24。不满足第二个For循环的初值i=2,故第二个For循环不执行。因此,x + i=15+24=39。
答案 A
能力提升
5.有如下Visual Basic程序:
For i = 0 To 5 step 1
s = “ ”
For j = 1 To 2 * i + 1
s = Str(j) + s
Next j
List1.AddItem s
Next i
该程序运行后列表框输出的第三行是( )
A.123 B.321
C.12345 D.54321
解析 本题考查双重For循环。i=0时,j=1 to 1,s=“1” ,列表框输出的第一行是1;i=1时,j=1 to 3,s=“321” ,列表框输出的第二行是321; i=2时,j=1 to 5,s=“54321” ,列表框输出的第三行是54321。
答案 D
6.For i=1 To 3
k =“ ”
For j=1 To i
k = k+“*”
Next j
List1.AddItem k
Next i
该程序运行后, 在列表框List中显示的是( )
解析 本题考查双重For循环。
i=1时,j=1 to 1,k=“*”;
i=2时,j=1 to 2,k=“**”;
i=3时,j=1 to 3,k=“***”。
因此,答案选A。
答案 A
7.编写Visual Basic程序,实现显示九九乘法表,程序运行界面如图所示。单击“显示”按钮(Command1),在列表框List1中输出一张九九乘法表。
(1)要使窗体的标题显示为“九九乘法表”,可在其属性窗口中将________属性值修改为“九九乘法表”。
(2)为实现上述功能,请在划线处填入合适代码。
Private Sub Command1_Click( )
Dim s As String
Dim i As Integer, j As Integer
For i=1 To 9
s=“ ”
For j=1 To __①__
s=s+Str(j)+“*”+Str(i)+“=”__②__ +“ ”
Next j
List1.AddItem s
Next ____③____
End Sub
解析 本题使用双重For循环语句实现乘法口诀表的输出。口诀表一共有9行,第i行有i个口诀,第i行口诀的被乘数为i,乘数的范围是l到i,结果为i和j的乘积。因此,外重循环For i为1到9,内重循环For j为1到i,结果为i*j。
答案 (1)Caption (2)①i ②str(i*j)(或str(j*i)) ③i
课件16张PPT。第3节 For循环结构For循环语句【典例1】 For循环执行过程填空。解析 本题主要考查For循环语句执行的过程,判断循环变量是否小于终值,成立继续循环。
答案 1 3 6 5050 5050 101【变式训练】 For循环执行过程填空。解析 本题主要考查For循环语句和IF语句的结合,每次循环时IF语句条件i mod 2 =0成立时,才执行s = s + i。
答案 0 2 2 6 2550 2550 101【典例2】 有如下VB程序段:s = 0
For i = 1 To 10 Step 3
s = s + 1
Next i
Label1.Caption = Str(s)
该程序段运行后标签Label1上显示的内容是( )
A.2 B.3
C. 4 D. 5解析 本题主要考查For循环语句。判断循环变量是否小于终值,成立继续循环。For循环中,初值是1,终值是10,步长是3,所以i=1、4、7、10时,执行s=s+1,程序结束时,s=4。
答案 C【变式训练】 有如下VB程序段:s = 0
For i = 1 To 5 Step 2
s = s + i
Next i
s = s + i
Label1.Caption = Str(s)
该程序段运行后标签Label1上显示的内容是( )
A.3 B.9
C.14 D.16解析 本题主要考查For循环语句。判断循环变量是否小于终值,成立继续循环。For循环中,初值是1,终值是5,步长是2,s=1+3+5=9。循环结束后i=7,然后执行s = s + i=9+7=16。
答案 D【典例3】 下列程序执行后变量c的值( )s = “DZFad123”: c = 0
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch >= “A” And ch <= “F” Then
c = c + 1
End If
Next i
A.1 B.2
C.3 D.4解析 本题考查For循环和分支结构。i的取值范围是从1到8之间的正整数。If后面的语句判断ch是否是“A”-“F”之间的字符。当i=1,3时,满足If后面的语句,执行c=c+1,所以c=2。所以答案选B。
答案 B【典例4】 下列程序执行后变量t的值( )s = “AaBb”
t = “ ”
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch >= “a” And ch <= “z” Then
ch = Chr(Asc(ch) - 32)
End If
t = ch + t
Next iA.“AaBb” B.“AABB”
C.“BbAa” D.“BBAA”
解析 本题考查For循环和If语句。i的取值范围是从1到4之间的正整数。i=1时,ch=“A”,t=“A”。i=2时,ch=“a”,满足if后面的语句,执行then后面的语句,ch=“A”,t=“AA”。i=3时,ch=“B”,t=“BAA”。i=4时,ch=“b”,满足If后面的语句,执行then后面的语句,ch=“B”,t=“BBAA”。所以答案选D。
答案 D【方法总结】 在For循环中,判断循环变量是否小于终值,成立继续循环。For与Next语句中的变量必须一致,执行Next命令后,循环变量的值会自动加上步长的值。