資源簡(jiǎn)介 第2節(jié) 選擇結(jié)構(gòu)考試內(nèi)容考試要求行IF語句c塊IF語句c選擇結(jié)構(gòu)選擇結(jié)構(gòu)也稱為分支結(jié)構(gòu)。VB選擇語句能使程序在執(zhí)行過程中,根據(jù)不同的判斷結(jié)果,選擇執(zhí)行不同的處理。一、行If語句格式1:條件成立時(shí)執(zhí)行語句,否則不執(zhí)行格式2:條件成立時(shí)執(zhí)行語句1,否則執(zhí)行語句2二、塊If語句格式1:If 條件表達(dá)式 Then語句塊End If條件成立時(shí)執(zhí)行語句塊,否則不執(zhí)行格式2If 條件表達(dá)式 Then 語句塊1Else 語句塊2End If條件成立時(shí)執(zhí)行語句塊1,否則執(zhí)行語句塊2:格式3:If 條件表達(dá)式1 Then 語句1ElseIf 條件表達(dá)式2 Then 語句2End If條件1成立時(shí)執(zhí)行語句1,條件1不成立時(shí)才判斷條件2,條件2成立執(zhí)行語句2格式4:If 條件表達(dá)式1 Then 語句1ElseIf 條件表達(dá)式2 Then 語句2……Else 語句0End If條件1成立時(shí)執(zhí)行語句1,條件1不成立時(shí)才判斷條件2,條件2成立執(zhí)行語句2……以上條件都不成立,則執(zhí)行語句0一、行If語句【典例1】 Dim x As Integer, y As Integerx = 1: y = 2If x = y Then x = x + 2 Else y = y + 2該程序段運(yùn)行后x,y的值為( )A.1,2 B.3,2 C.1,4 D.3,4解析 本題主要考查行If語句。x=1,y=2,不滿足If后面的判斷表達(dá)式,執(zhí)行Else后面的語句,y=2+2=4,x的值不變。答案 C【變式訓(xùn)練】 有如下VB程序段:Private Sub Command1_Click() Dim x As Integer, y As Integer Dim s As String s = “China” x = Len(s) y = Int(Sqr(x)) If x < > y Then x = x + y Else y = x + y y = x + y Label1.Caption = Str(y)End Sub該程序執(zhí)行后,標(biāo)簽Label1上顯示的內(nèi)容是( )A.4 B.5 C.7 D.9解析 本題主要考查行If語句。x=5,y = 2。If語句條件x < > y成立執(zhí)行x = x + y 后x值變?yōu)?。執(zhí)行語句y = x + y后y的值為9。答案 D【方法總結(jié)】 在行If語句中,所有的語句都在同一行。二、塊If語句【典例2】 有如下VB程序段:Dim x As String, y As Stringx= “Boy-or-Girl?”y=Len(x)If y<11 Then Label1.Caption= “I am ”+Mid(x,1,3)Else Label1.Caption= “I am ”+Mid(x,8,4)End If該程序段運(yùn)行之后,標(biāo)簽Label中顯示的內(nèi)容為( )A.Boy or Girl B. I am BoyC. I am Girl D. I am Boy or Girl?解析 本題主要考查塊IF語句。因?yàn)閥=11,因此執(zhí)行Else后面的語句。答案 C【變式訓(xùn)練】 有如下VB程序段:Private Sub Command1_Click() Dim ans As Integer, res As Integer Dim mystr As String mystr= “Visual” ans = 2 res = Len(mystr) If ans > res Then ans = ans + res Else res = ans + res EndIf Label1.Caption = Str(res)End Sub程序執(zhí)行后,在標(biāo)簽Label1上顯示的內(nèi)容是( )A.4 B.5 C.7 D.8解析 本題主要考查行IF語句。ans=2,res = 3。語句ans > res 不成立,執(zhí)行res = ans + res后res值變?yōu)?。答案 D【方法總結(jié)】 塊If語句中,If和ElseIf后面有判斷語句,Else后面沒有判斷語句。注意塊If語句要以End If結(jié)束。1.有如下VB程序:a = 2: b = 5If b >= a Then a = a + 2:b = b + 2Text1.Text = Str(b)程序運(yùn)行后文本框Text1顯示的內(nèi)容為______。解析 本題主要考查行If語句。a = 2,b = 5。滿足If后面的判斷語句,執(zhí)行Then后面的語句 a = a + 2=4,b = b + 2=7。答案 72.有如下VB程序:a = 2: b = 5If b >= a Then a = a + 2:b = a + bEnd Ifb = b * 2Text1.Text = Str(b)程序運(yùn)行后文本框Text1顯示的內(nèi)容為______。解析 本題主要考查塊If語句。a = 2,b = 5。滿足If后面的判斷語句,執(zhí)行Then后面的語句 a = a + 2=4,b = a + b=9。再執(zhí)行b = b * 2=18。答案 183.有如下VB程序:a = 1: b = 2If a > 0 Then a = a + 1a = a + 1If a < > b Then a = a + 1 b = b + 1End Ifa = a + bLabel1.Caption = Str(a)程序運(yùn)行后標(biāo)簽Label1顯示的內(nèi)容為________。解析 本題主要考查If語句。a = 1: b = 2,滿足行If語句后面的判斷語句,執(zhí)行Then后面的語句a=a+1=2,然后執(zhí)行a=a+1=3,且滿足塊If語句后面的判斷語句,執(zhí)行Then后面的語句 a = a + 1=4,b = b + 1=3,最后執(zhí)行a=a+b=7。答案 74.有如下VB程序:x = 5: y = 2If x > y Then y = y + 6 If y>9 Then y = x*y Else y = y + 2 y = x + yEnd IfText1.Text = Str(y)程序運(yùn)行后文本框Text1顯示的內(nèi)容為______。解析 本題主要考查If語句。x = 5: y = 2。滿足If后面的判斷語句,執(zhí)行Then后面的語句 y=y(tǒng)+6=8.但不滿足y>9,不執(zhí)行then后面的語句。答案 8基礎(chǔ)鞏固1.有如下VB程序段:Dim a As Integer, b As Integera = 5: b = 3If a Mod b = 2 Then a = a ^ 2 Else a = b ^ 2該程序段運(yùn)行后a的值為( )A.3 B.5 C.9 D.25解析 本題主要考查行If語句。a=5,b=3,滿足If后面的判斷語句,執(zhí)行Then后面的語句 a = a ^ 2=25。答案 D2.有如下VB程序段: Private Sub Command1_Click()Dim a As Integer, b As Integera = Len(“abcd”):b = 5If a >= 0 And b < 5 Thena = 3 * b + 1ElseIf a > b Thena = 3 * b - 1Elsea = 3 * a + bEnd IfLabel1.Caption = Str(a) End Sub該程序段運(yùn)行后,y的值為( )A.0 B.14 C.16 D.17解析 本題主要考查塊IF語句。由于a=4,b=5,條件a >= 0 And b < 5和a > b都不成立,因此執(zhí)行Else部分的代碼a = 3 * a + b=17,答案為D。答案 D3.有如下VB程序段:Dim px As Integer, py As Integer,t As Stringt = “2020年”px = Val(Mid(t, 3, 2))py = Int(Sqr(px)) + Len(t)If px > py Then px = px Mod 2ElseIf px < py Then py = py Mod 2Else px = 1End Ifpx = px + pyLabel1.Caption = Str(px) 該程序段運(yùn)行后標(biāo)簽上顯示的內(nèi)容是( )A.9 B.10 C.20 D.30解析 本題主要考查塊IF語句。px = Val(Mid(t, 3, 2))=20,py = Int(Sqr(x)) + Len(t)=9。塊IF語句第一個(gè)條件成立,執(zhí)行px = px Mod 2后px值變?yōu)?,塊IF語句結(jié)束。執(zhí)行px = px + py 語句后,px的值變?yōu)?。答案 A能力提升4.模擬一個(gè)簡(jiǎn)易計(jì)算器,其功能是: 輸入兩個(gè)數(shù)和一個(gè)運(yùn)算符(+、-、*、/),進(jìn)行算術(shù)運(yùn)算,并輸出運(yùn)算結(jié)果, 程序設(shè)計(jì)界面和運(yùn)行界面分別如圖1和圖2所示。 圖1 圖2在文本框 Text1 中輸入第一個(gè)數(shù) a,在文本框 Text2 中輸入運(yùn)算符 ch,在文本框 Text3中輸入第二個(gè)數(shù) b,在文本框 Text4 中輸出運(yùn)算結(jié)果。當(dāng)輸入的運(yùn)算符不是“+、-、*、/”四種運(yùn)算符時(shí),則輸出“運(yùn)算符不正確”;當(dāng)進(jìn)行 “/”運(yùn)算時(shí),如果除數(shù)為0,輸出“除數(shù)不能為零”。為實(shí)現(xiàn)上述功能,請(qǐng)?jiān)冖俸廷趧澗€處,填入合適的代碼,把程序補(bǔ)充完整。Private Sub Command1_Click() Dim a As Single, b As Single,ch as String a = Val(Text1.Text) ____①____ b = Val(Text3.Text) If ch = “+” ThenText4.Text = Str(a +b) ElseIf ch = “*” ThenText4.Text = Str(a*b) ElseIf ch = “-” ThenText4.Text = Str(a-b) ElseIf ch = “/” ThenIf ____②____Then Text4.Text = Str(a / b) Else Text4.Text = “除數(shù)不能為零” ElseText4.Text = “運(yùn)算符不正確” End IfEnd Sub解析 本題是考查多分支結(jié)構(gòu)。①將文本框Text2中的內(nèi)容取出并賦值給ch。②行If語句用來判斷除數(shù)是否為0,不等于0,輸出運(yùn)算結(jié)果,否則輸出“除數(shù)不能為0”,因此,答案為b< >0。答案 ①ch = Text2.Text?、赽< >0課件13張PPT。第2節(jié) 選擇結(jié)構(gòu)選擇結(jié)構(gòu)也稱為分支結(jié)構(gòu)。VB選擇語句能使程序在執(zhí)行過程中,根據(jù)不同的判斷結(jié)果,選擇執(zhí)行不同的處理。選擇結(jié)構(gòu)二、塊If語句一、行If語句【典例1】 Dim x As Integer, y As Integerx = 1: y = 2If x = y Then x = x + 2 Else y = y + 2該程序段運(yùn)行后x,y的值為( )A.1,2 B.3,2 C.1,4 D.3,4解析 本題主要考查行If語句。x=1,y=2,不滿足If后面的判斷表達(dá)式,執(zhí)行Else后面的語句,y=2+2=4,x的值不變。答案 C【變式訓(xùn)練】 有如下VB程序段:Private Sub Command1_Click() Dim x As Integer, y As Integer Dim s As String s = “China” x = Len(s) y = Int(Sqr(x)) If x < > y Then x = x + y Else y = x + y y = x + y Label1.Caption = Str(y)End Sub該程序執(zhí)行后,標(biāo)簽Label1上顯示的內(nèi)容是( )A.4 B.5 C.7 D.9解析 本題主要考查行If語句。x=5,y = 2。If語句條件x < > y成立執(zhí)行x = x + y 后x值變?yōu)?。執(zhí)行語句y = x + y后y的值為9。答案 D【方法總結(jié)】 在行If語句中,所有的語句都在同一行。二、塊If語句【典例2】 有如下VB程序段:Dim x As String, y As Stringx= “Boy-or-Girl?”y=Len(x)If y<11 Then Label1.Caption= “I am ”+Mid(x,1,3)Else Label1.Caption= “I am ”+Mid(x,8,4)End If該程序段運(yùn)行之后,標(biāo)簽Label中顯示的內(nèi)容為( )A.Boy or Girl B. I am BoyC. I am Girl D. I am Boy or Girl?解析 本題主要考查塊IF語句。因?yàn)閥=11,因此執(zhí)行Else后面的語句。答案 C【變式訓(xùn)練】 有如下VB程序段:Private Sub Command1_Click() Dim ans As Integer, res As Integer Dim mystr As String mystr= “Visual” ans = 2 res = Len(mystr) If ans > res Then ans = ans + res Else res = ans + res EndIf Label1.Caption = Str(res)End Sub程序執(zhí)行后,在標(biāo)簽Label1上顯示的內(nèi)容是( )A.4 B.5 C.7 D.8解析 本題主要考查行IF語句。ans=2,res = 3。語句ans > res 不成立,執(zhí)行res = ans + res后res值變?yōu)?。答案 D【方法總結(jié)】 塊If語句中,If和ElseIf后面有判斷語句,Else后面沒有判斷語句。注意塊If語句要以End If結(jié)束。 展開更多...... 收起↑ 資源列表 第2節(jié) 選擇結(jié)構(gòu).doc 第三單元第2節(jié) 選擇結(jié)構(gòu).pptx 縮略圖、資源來源于二一教育資源庫