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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第4章

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

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

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

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

A)循環(huán)框B)連接點C)判斷框D)起止框正確答案:A解析:程序流程圖主要由起止框、判斷框、處理框、輸/輸出框、連接點、流向線和注釋框7種基本元素構成。8.以下關于循環(huán)結(jié)構的描述,錯誤的是():A)遍歷循環(huán)使用for<循環(huán)變量>in<環(huán)結(jié)構語句,其中循環(huán)結(jié)構不能是文件B)使用range()函數(shù)可以指定for循環(huán)的次數(shù)C)foriinrange(5)表示循環(huán)5次,i的值是從0到4D)用字符串做循環(huán)結(jié)構的時候,循環(huán)的次數(shù)是字符串的長度正確答案:A解析:遍歷循環(huán),可以是計數(shù)循環(huán)、字符串遍歷循環(huán)、列表遍歷循環(huán)、文件遍歷循環(huán)和字典遍歷循環(huán)等。9.或while與else搭配使用時執(zhí)else語句塊描述正確的是()A)僅循環(huán)非正常結(jié)束后執(zhí)行(以結(jié)束)B)僅循環(huán)正常結(jié)束后執(zhí)行C)總會執(zhí)行D)永不執(zhí)行正確答案:B解析:在Python,循環(huán)可以和else語句一起使用,其中,for循環(huán)中的語句和普通的for語句沒有別,else中的語句會在循環(huán)正常執(zhí)行完成的情況下執(zhí)行謂循環(huán)正常執(zhí)行完成for循環(huán)里的語句沒有被break語句打斷。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)建一個從400開始到499的整數(shù)列表?!?/”為取整除運算符,返回商的整數(shù)部分(向下取整)?!?”為取模運算符,返回除法的余數(shù)。11.給出下面代碼:a=input("").split(",")x=0whilex<len(a):print(a[x],end="")x+=1代碼執(zhí)行時,從鍵盤獲得:語言,是,腳本,語言則代碼的輸出結(jié)果是()A)執(zhí)行代碼出錯B)Python語言,是,腳本,語言C)Python語言是腳本語言D)無輸出正確答案:C解析:split()通過指定分隔符對字符串進行切片,返回分割后的字符串列表。

print默認是打印一行,結(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返回一個對象的string格式,”將字符串拼接。13.以下關于程序控制結(jié)構描述錯誤的是:()A)單分支結(jié)構是用if保留字判斷滿足一個條件,就執(zhí)行相應的處理代碼B)二分支結(jié)構是if-else根據(jù)條件的真假,執(zhí)行兩種處理代碼C)多分支結(jié)構是用if-elif-else處理多種可能的情況D)在Python的程序流程圖中可以用處理框表示計算的輸出結(jié)果正確答案:D解析:在Python的程序流程圖中用輸入/輸出框示計算的輸出結(jié)果。14.=[1,2,3,4,5,6],以下關于循環(huán)結(jié)構的描述,錯誤的是:()A)表達式foriinrange(len(ls))

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

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

跟foriinls的循環(huán)中,i的值是一樣的正確答案:D解析:foriinrange(len(ls)),i從開始循環(huán),foriinls,i1開始循環(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"的各字符用“,”拼接起來。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語言中,多分支結(jié)構依次判斷第一個結(jié)果為真的條件,執(zhí)行該條件下的語句塊,結(jié)束后跳過整個ifelifelse結(jié)構,執(zhí)行后面的語句。如果沒有任何條件成立,else下面的語句塊將被執(zhí)行。17.以下程序的輸出結(jié)果是:()x=10whilex:x-=1ifnotx%2:print(x,end='')else:print(x)A)86420B)975311C)97531D)864200正確答案:D解析:x從10開始循環(huán)ifnotx%2能被整除時,執(zhí)行print(x,end='')當x循環(huán)到0時,執(zhí)行else后面的語句。18.以下關于分支和循環(huán)結(jié)構的描述,錯誤的是:)A)python的在分支和循環(huán)語句里使用例如x<=y<=z的表達式是合法的B)分支結(jié)構的中的代碼塊是用冒號來標記的

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

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

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

D)ababab正確答案:D解析:break用來跳出其所在層的for或while循環(huán)。24.以下代碼段,不會輸出A,B,C,的選項是:)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選項輸出“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)。可與第25題比較學習。27.關于Python循環(huán)結(jié)構,以下選項中描述錯誤的是)A)遍歷循環(huán)中的遍歷結(jié)構可以是字符串、文件、組合數(shù)據(jù)類型和range()函數(shù)等B)break用來結(jié)束當前當次語句,但不跳出當前的循環(huán)體C)continue只結(jié)束本次循環(huán)D)Python通過、while等保留字構建循環(huán)結(jié)構

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

三種基本結(jié)構具有以下共同的特點:(1)只有一個入口有一個出

口;(3)結(jié)構體內(nèi)的每一部分都有機會被執(zhí)行到(4)結(jié)構體內(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語句一起使用else中的語句會在循環(huán)正常執(zhí)行完成的情況下執(zhí)行,所謂循環(huán)正常執(zhí)行完成,即for循環(huán)里的語句沒有被break語句打斷。此題,在i==10時,執(zhí)行break語句,跳出循環(huán),else語句不執(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語句只結(jié)束本次循環(huán),而不終止整個循環(huán)的執(zhí)行。3.下面程序的執(zhí)行結(jié)果是__________________s=0foriinrange(1,101):s+=ielse:print(1)

溫馨提示

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

評論

0/150

提交評論