第4章 控制結(jié)構(gòu)習(xí)題(及解析)_第1頁(yè)
第4章 控制結(jié)構(gòu)習(xí)題(及解析)_第2頁(yè)
第4章 控制結(jié)構(gòu)習(xí)題(及解析)_第3頁(yè)
第4章 控制結(jié)構(gòu)習(xí)題(及解析)_第4頁(yè)
第4章 控制結(jié)構(gòu)習(xí)題(及解析)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第4章

控制結(jié)構(gòu)習(xí)題一、選題。1.關(guān)于程序設(shè)計(jì)所要求的基本結(jié)構(gòu),以下選項(xiàng)中描述錯(cuò)誤的是)A)循環(huán)結(jié)構(gòu)B)分支結(jié)構(gòu)C)goto跳轉(zhuǎn)D)順序結(jié)構(gòu)正確答案:C解析:為表示更復(fù)雜的處理邏輯,在程序中存在三種基本結(jié)構(gòu),它們分別是:順序結(jié)構(gòu);分支結(jié)構(gòu);循環(huán)結(jié)構(gòu)。2.下面代碼的輸出結(jié)果是forsin“HelloWorldifs==”:continueprint(s,end="")A)HelloB)WorldC)HelloWorldD)Helloorld正確答案:D解析:Python通過(guò)保留字for實(shí)現(xiàn)“遍歷循環(huán)”,for句的循環(huán)執(zhí)行次數(shù)是由遍歷結(jié)構(gòu)體中元素的個(gè)數(shù)確定的歷循環(huán)可以理解為從要遍歷的結(jié)構(gòu)中逐一提取元素賦值給循環(huán)變量于所提取的每個(gè)元素執(zhí)行一次循環(huán)體

提供了兩個(gè)保留字:break和,用來(lái)輔助控制循環(huán)執(zhí)行。continue語(yǔ)句只結(jié)束本次循環(huán),而不終止整個(gè)循環(huán)的執(zhí)行。3.關(guān)于Python循環(huán)結(jié)構(gòu),以下選項(xiàng)中描述錯(cuò)誤的是()A)遍歷循環(huán)中的遍歷結(jié)構(gòu)可以是字符串、文件、組合數(shù)據(jù)類(lèi)型和range()

函數(shù)等。B)break用來(lái)跳出最內(nèi)層for或者while環(huán),脫離該循環(huán)后程序從循環(huán)代碼后繼續(xù)執(zhí)行C)每個(gè)continue語(yǔ)句只有能力跳出當(dāng)前層次的循環(huán)D)Python通過(guò)、while等保留字提供遍歷循環(huán)和無(wú)限循環(huán)結(jié)構(gòu)正確答案:C解析:continue用來(lái)結(jié)束當(dāng)前當(dāng)次循環(huán),但不跳出當(dāng)前循環(huán);每個(gè)break語(yǔ)句只有能力跳出當(dāng)前層次的循環(huán)。4.以下程序的輸出結(jié)果是:()foriin"CHINA":forkinrange(2):print(i,end="")ifi=='N':breakA)CCHHIINNAAB)CCHHIIAAC)CCHHIAAD)CCHHIINAA正確答案:D解析:每個(gè)break語(yǔ)句只有能力跳出當(dāng)前層次的循環(huán)。5.執(zhí)行以下程序,輸入qp,輸出結(jié)果是:()k=0whileTrue:s=input('請(qǐng)輸入q退出:')ifs=='q':k+=1continue

else:k+=2breakprint(k)A)2B)請(qǐng)輸入q退出:C)3D)1正確答案:A解析:s值為'qp',ifs=='q'為False,執(zhí)行else語(yǔ)句塊。6.執(zhí)行以下程序,輸入”93python22”,輸出結(jié)果是:)w=input(‘請(qǐng)輸入數(shù)字和字母構(gòu)成的字符串:forxinw:if'0'<=x<='9':continueelse:w.replace(x,'')print(w)A)python9322B)pythonC)93python22D)9322正確答案:C解析:'0'的是,‘9’的57,小寫(xiě)字母的ASCII都大于等于97所以循環(huán)的字母時(shí)執(zhí)行else語(yǔ)句但是關(guān)于string的replace方法,需要注意replace不會(huì)改變?cè)璼tring的內(nèi)容。7.以下選項(xiàng),不屬于程序流程圖基本元素的是:)

A)循環(huán)框B)連接點(diǎn)C)判斷框D)起止框正確答案:A解析:程序流程圖主要由起止框、判斷框、處理框、輸/輸出框、連接點(diǎn)、流向線和注釋框7種基本元素構(gòu)成。8.以下關(guān)于循環(huán)結(jié)構(gòu)的描述,錯(cuò)誤的是():A)遍歷循環(huán)使用for<循環(huán)變量>in<環(huán)結(jié)構(gòu)語(yǔ)句,其中循環(huán)結(jié)構(gòu)不能是文件B)使用range()函數(shù)可以指定for循環(huán)的次數(shù)C)foriinrange(5)表示循環(huán)5次,i的值是從0到4D)用字符串做循環(huán)結(jié)構(gòu)的時(shí)候,循環(huán)的次數(shù)是字符串的長(zhǎng)度正確答案:A解析:遍歷循環(huán),可以是計(jì)數(shù)循環(huán)、字符串遍歷循環(huán)、列表遍歷循環(huán)、文件遍歷循環(huán)和字典遍歷循環(huán)等。9.或while與else搭配使用時(shí)執(zhí)else語(yǔ)句塊描述正確的是()A)僅循環(huán)非正常結(jié)束后執(zhí)行(以結(jié)束)B)僅循環(huán)正常結(jié)束后執(zhí)行C)總會(huì)執(zhí)行D)永不執(zhí)行正確答案:B解析:在Python,循環(huán)可以和else語(yǔ)句一起使用,其中,for循環(huán)中的語(yǔ)句和普通的for語(yǔ)句沒(méi)有別,else中的語(yǔ)句會(huì)在循環(huán)正常執(zhí)行完成的情況下執(zhí)行謂循環(huán)正常執(zhí)行完成for循環(huán)里的語(yǔ)句沒(méi)有被break語(yǔ)句打斷。10.下面代碼的輸出結(jié)果是()forninrange(400,500):

i=n//100j=n//10%10k=n%10ifn==i**3+j**3+k**3:print(n)A)407B)408C)153D)159正確答案:A解析:range(400,500)函數(shù)可創(chuàng)建一個(gè)從400開(kāi)始到499的整數(shù)列表?!?/”為取整除運(yùn)算符,返回商的整數(shù)部分(向下取整)。“%”為取模運(yùn)算符,返回除法的余數(shù)。11.給出下面代碼:a=input("").split(",")x=0whilex<len(a):print(a[x],end="")x+=1代碼執(zhí)行時(shí),從鍵盤(pán)獲得:語(yǔ)言,是,腳本,語(yǔ)言則代碼的輸出結(jié)果是()A)執(zhí)行代碼出錯(cuò)B)Python語(yǔ)言,是,腳本,語(yǔ)言C)Python語(yǔ)言是腳本語(yǔ)言D)無(wú)輸出正確答案:C解析:split()通過(guò)指定分隔符對(duì)字符串進(jìn)行切片,返回分割后的字符串列表。

print默認(rèn)是打印一行,結(jié)尾加換行,end=""尾不換行。12.以下程序的輸出結(jié)果是:()s=''ls=[1,2,3,4]forlinls:s+=str(l)print(s)A)1,2,3,4B)4321C)4,3,2,1D)1234正確答案:D解析:str返回一個(gè)對(duì)象的string格式,”將字符串拼接。13.以下關(guān)于程序控制結(jié)構(gòu)描述錯(cuò)誤的是:()A)單分支結(jié)構(gòu)是用if保留字判斷滿足一個(gè)條件,就執(zhí)行相應(yīng)的處理代碼B)二分支結(jié)構(gòu)是if-else根據(jù)條件的真假,執(zhí)行兩種處理代碼C)多分支結(jié)構(gòu)是用if-elif-else處理多種可能的情況D)在Python的程序流程圖中可以用處理框表示計(jì)算的輸出結(jié)果正確答案:D解析:在Python的程序流程圖中用輸入/輸出框示計(jì)算的輸出結(jié)果。14.=[1,2,3,4,5,6],以下關(guān)于循環(huán)結(jié)構(gòu)的描述,錯(cuò)誤的是:()A)表達(dá)式foriinrange(len(ls))

的循環(huán)次數(shù)跟foriinls的循環(huán)次數(shù)是一樣的B)表達(dá)式foriinrange(len(ls))的循環(huán)次數(shù)跟foriinrange(0,len(ls))的循環(huán)次數(shù)是一樣的C達(dá)式foriinrange(len(ls))的循環(huán)次數(shù)跟foriinrange(1,len(ls)+1)的循環(huán)次數(shù)是一樣的

D)表達(dá)式foriinrange(len(ls))

跟foriinls的循環(huán)中,i的值是一樣的正確答案:D解析:foriinrange(len(ls)),i從開(kāi)始循環(huán),foriinls,i1開(kāi)始循環(huán)。15.以下程序的輸出結(jié)果是:()j=''foriin"12345":j+=i+','print(j)A)1,2,3,4,5B)12345C)‘1,2,3,4,5,’D)1,2,3,4,5,正確答案:D解析:j+=i+',',將字符串"12345"的各字符用“,”拼接起來(lái)。16.以下程序的輸出結(jié)果是:()a=30b=1ifa>=10:a=20elifa>=20:a=30elifa>=30:b=aelse:b=0

print('a={},b={}'.format(a,b))A)a=30,b=1B)a=30,b=30C)a=20,b=20D)a=20,b=1正確答案:D解析:在Python語(yǔ)言中,多分支結(jié)構(gòu)依次判斷第一個(gè)結(jié)果為真的條件,執(zhí)行該條件下的語(yǔ)句塊,結(jié)束后跳過(guò)整個(gè)ifelifelse結(jié)構(gòu),執(zhí)行后面的語(yǔ)句。如果沒(méi)有任何條件成立,else下面的語(yǔ)句塊將被執(zhí)行。17.以下程序的輸出結(jié)果是:()x=10whilex:x-=1ifnotx%2:print(x,end='')else:print(x)A)86420B)975311C)97531D)864200正確答案:D解析:x從10開(kāi)始循環(huán)ifnotx%2能被整除時(shí),執(zhí)行print(x,end='')當(dāng)x循環(huán)到0時(shí),執(zhí)行else后面的語(yǔ)句。18.以下關(guān)于分支和循環(huán)結(jié)構(gòu)的描述,錯(cuò)誤的是:)A)python的在分支和循環(huán)語(yǔ)句里使用例如x<=y<=z的表達(dá)式是合法的B)分支結(jié)構(gòu)的中的代碼塊是用冒號(hào)來(lái)標(biāo)記的

C)while循環(huán)如果設(shè)計(jì)不小心會(huì)出現(xiàn)死循環(huán)D)二分支結(jié)構(gòu)的<表達(dá)式1>if條件else達(dá)式2>來(lái)控制程序分支正確答案:D

形式,適合用解析:<表達(dá)式1>if<條件>else<表達(dá)式2>是二分支結(jié)構(gòu)的緊湊形式,適用于簡(jiǎn)單表達(dá)式的二分支結(jié)構(gòu)。19.以下關(guān)于程序控制結(jié)構(gòu)描述錯(cuò)誤的是:()A)分支結(jié)構(gòu)包括單分支結(jié)構(gòu)和二分支結(jié)構(gòu)B)二分支結(jié)構(gòu)組合形成多分支結(jié)構(gòu)C)程序由三種基本結(jié)構(gòu)組成D)Python里,能用分支結(jié)構(gòu)寫(xiě)出循環(huán)的算法正確答案:D20.以下關(guān)于循環(huán)結(jié)構(gòu)的描述,錯(cuò)誤的是:)A)遍歷循環(huán)的循環(huán)次數(shù)由遍歷結(jié)構(gòu)中的元素個(gè)數(shù)來(lái)體現(xiàn)B)非確定次數(shù)的循環(huán)的次數(shù)是根據(jù)條件判斷來(lái)決定的C)非確定次數(shù)的循環(huán)用while語(yǔ)句來(lái)實(shí)現(xiàn)定次數(shù)的循環(huán)用for語(yǔ)句來(lái)實(shí)現(xiàn)D)遍歷循環(huán)對(duì)循環(huán)的次數(shù)是不確定的正確答案:D解析:Python通過(guò)保留字for實(shí)現(xiàn)“遍歷循環(huán)”,之所以稱(chēng)為“遍歷循環(huán)”,是因?yàn)閒or語(yǔ)句的循環(huán)執(zhí)行次數(shù)是由遍歷結(jié)構(gòu)體中元素的個(gè)數(shù)確定的。21.以下程序的輸出結(jié)果是:()foriin"thenumberchanges":ifi=='n':breakelse:print(i,end="")

A)theumberchagesB)thenumberchangesC)theumberchagesD)the正確答案:D解析:break用來(lái)跳出其所在層的for或while循環(huán)。22.以下程序的輸出結(jié)果是:()t="Python"print(tift>="python"else"None")A)PythonB)"python"C)tD)None正確答案:D解析:字符串按位比較,兩個(gè)字符串第一位字符的碼誰(shuí)大,字符串就大,不再比較后面的第一個(gè)字符相同就比第二個(gè)字符串以此類(lèi)推需要注意的是空格的ascii碼是32(nullascii碼是寫(xiě)字母和小寫(xiě)字母的不同。大寫(xiě)字母的ASCII比小寫(xiě)字母的ASCII。23.以下程序的輸出結(jié)果是:()foriinrange(3):forsin"abcd":ifs=="c":breakprint(s,end="")A)abcabcabcB)aaabbbcccC)aaabbb

D)ababab正確答案:D解析:break用來(lái)跳出其所在層的for或while循環(huán)。24.以下代碼段,不會(huì)輸出A,B,C,的選項(xiàng)是:)A)foriinrange(3):print(chr(65+i),end=",")B)foriin[0,1,2]print(chr(65+i),end=",")C)i=0whilei<3:print(chr(i+65),end=",")i+=1continueD)i=0whilei<3:print(chr(i+65),end=",")breaki+=1正確答案:D解析:D選項(xiàng)輸出“A,,break跳出其所在層的while循環(huán)。25.下面代碼的輸出結(jié)果是()forsin"abc":foriinrange(3):

print(s,end="")ifs=="c":breakA)aaabcccB)aaabbbcC)abbbcccD)aaabbbccc正確答案:B解析:break跳出其所在層的for循環(huán)。26.下面代碼的輸出結(jié)果是()forsin"abcd":foriinrange(3):print(s,end="")ifs=="c":BreakA)aaabcccB)aaabbbcC)abbbcccD)aaabbbcddd正確答案:D解析:break跳出其所在層的for循環(huán)??膳c第25題比較學(xué)習(xí)。27.關(guān)于Python循環(huán)結(jié)構(gòu),以下選項(xiàng)中描述錯(cuò)誤的是)A)遍歷循環(huán)中的遍歷結(jié)構(gòu)可以是字符串、文件、組合數(shù)據(jù)類(lèi)型和range()函數(shù)等B)break用來(lái)結(jié)束當(dāng)前當(dāng)次語(yǔ)句,但不跳出當(dāng)前的循環(huán)體C)continue只結(jié)束本次循環(huán)D)Python通過(guò)、while等保留字構(gòu)建循環(huán)結(jié)構(gòu)

正確答案:B解析break語(yǔ)句一般會(huì)結(jié)合if語(yǔ)句進(jìn)行搭配使用表示在某種條件下跳出循環(huán)體。如果使用嵌套循環(huán),break語(yǔ)句將跳出當(dāng)前層循環(huán)。28.關(guān)于Python的分支結(jié)構(gòu),以下選項(xiàng)中描述錯(cuò)誤的是)A)分支結(jié)構(gòu)使用if保留字B)Python中if-else語(yǔ)句用來(lái)形成二分支結(jié)構(gòu)C)Python中if-elif-else語(yǔ)句描述多分支結(jié)構(gòu)D)分支結(jié)構(gòu)可以向已經(jīng)執(zhí)行過(guò)的語(yǔ)句部分跳轉(zhuǎn)正確答案:D解析循環(huán)結(jié)構(gòu)是程序根據(jù)條件判斷結(jié)構(gòu)向后反復(fù)執(zhí)行的一種運(yùn)行方式分支結(jié)構(gòu)是程序根據(jù)條件判斷結(jié)果而選擇不同向前執(zhí)行路徑的一種運(yùn)行方式。29.下列有關(guān)break語(yǔ)句與continue語(yǔ)句不正確的是)A)當(dāng)多個(gè)循環(huán)語(yǔ)句彼此嵌套時(shí),語(yǔ)句只適用于最里層的語(yǔ)句。B)continue語(yǔ)句類(lèi)似于語(yǔ)句,也必須在for、while循環(huán)中使用。C)continue語(yǔ)句結(jié)束循環(huán),繼續(xù)執(zhí)行循環(huán)語(yǔ)句的后繼語(yǔ)句。D)break語(yǔ)句結(jié)束循環(huán),繼續(xù)執(zhí)行循環(huán)語(yǔ)句的后繼語(yǔ)句。正確答案:C解析:Python供了兩個(gè)保留字:break和continue,用來(lái)輔助控制循環(huán)執(zhí)行。break用來(lái)跳出其所在層的for或while循環(huán)脫離該循環(huán)后程序從循環(huán)代碼后繼續(xù)執(zhí)行。continue語(yǔ)句只結(jié)束本次循環(huán),而不終止整個(gè)循環(huán)的執(zhí)行。30.關(guān)于程序的控制結(jié)構(gòu),哪個(gè)選項(xiàng)的描述是錯(cuò)誤的?)A)流程圖可以用來(lái)展示程序結(jié)構(gòu)B)順序結(jié)構(gòu)有一個(gè)入口C)控制結(jié)構(gòu)可以用來(lái)更改程序的執(zhí)行順序D)循環(huán)結(jié)構(gòu)可以沒(méi)有出口正確答案:D解析:

三種基本結(jié)構(gòu)具有以下共同的特點(diǎn):(1)只有一個(gè)入口有一個(gè)出

口;(3)結(jié)構(gòu)體內(nèi)的每一部分都有機(jī)會(huì)被執(zhí)行到(4)結(jié)構(gòu)體內(nèi)不存在死循環(huán)。二程序分析題1.下面程序的執(zhí)行結(jié)果是______________。s=0foriinrange(1,101):s+=iifi==10:print(s)breakelse:print(1)答案:55解析在Python中for循環(huán)可以和else語(yǔ)句一起使用else中的語(yǔ)句會(huì)在循環(huán)正常執(zhí)行完成的情況下執(zhí)行,所謂循環(huán)正常執(zhí)行完成,即for循環(huán)里的語(yǔ)句沒(méi)有被break語(yǔ)句打斷。此題,在i==10時(shí),執(zhí)行break語(yǔ)句,跳出循環(huán),else語(yǔ)句不執(zhí)行。2.下面程序的執(zhí)行結(jié)果是______________。k=4n=0whilen<k:n=n+1ifn%2==0:continuek=k-1print("k=%d,n=%d"%(k,n))答案:k=2,n=3解析:continue語(yǔ)句只結(jié)束本次循環(huán),而不終止整個(gè)循環(huán)的執(zhí)行。3.下面程序的執(zhí)行結(jié)果是__________________s=0foriinrange(1,101):s+=ielse:print(1)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論