版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
計算機(jī)編程2025沖刺押題考試時間:______分鐘總分:______分姓名:______一、選擇題(本大題共5小題,每小題2分,共10分。在每小題列出的四個選項(xiàng)中,只有一項(xiàng)是最符合題目要求的。請將正確選項(xiàng)字母填在題后的括號內(nèi)。)1.下列關(guān)于Python變量的描述,正確的是()。A.變量必須在使用前聲明類型B.變量名區(qū)分大小寫,且不能以數(shù)字開頭C.一行代碼中可以定義多個變量,以分號分隔D.變量的值和類型可以隨時改變2.執(zhí)行以下Python代碼段后,變量`c`的值是()。```pythona=5b=3c=a//b```A.1.6667B.1.8C.1D.23.在下面的Python代碼中,選擇能正確執(zhí)行且輸出結(jié)果為`HelloWorld`的一項(xiàng)()。```python#選項(xiàng)Aprint("Hello","World")#選項(xiàng)Bprint("Hello"+""+"World")#選項(xiàng)Cprint(['Hello','World'])#選項(xiàng)Dprint("Hello",end="")print("World")```4.下列數(shù)據(jù)結(jié)構(gòu)中,適合用來實(shí)現(xiàn)先進(jìn)先出(FIFO)隊(duì)列的是()。A.棧(Stack)B.隊(duì)列(Queue)C.堆(Heap)D.鏈表(LinkedList,特指鏈?zhǔn)酱鎯Γ?.對于線性表,下列說法錯誤的是()。A.可以通過索引隨機(jī)訪問任何一個元素B.在列表中間插入或刪除元素的時間復(fù)雜度通常為O(n)C.列表的內(nèi)存空間通常是連續(xù)分配的D.列表的插入和刪除操作比棧和隊(duì)列更高效二、填空題(本大題共5小題,每小題2分,共10分。請將答案填寫在答題卡對應(yīng)位置。)6.Python中,用于表示無窮大的浮點(diǎn)數(shù)值是`______`。7.選擇合適的算法(寫出算法名稱即可)解決“找到一組數(shù)據(jù)中的最大值”問題,其平均時間復(fù)雜度通常為`______`。8.在面向?qū)ο缶幊讨?,一個類定義了對象的`______`和行為。9.假設(shè)有一個棧,初始狀態(tài)為空。執(zhí)行入棧操作`Push(1)`,再執(zhí)行入棧操作`Push(2)`,然后執(zhí)行一次出棧操作`Pop()`,此時棧頂元素的值是`______`。10.將十進(jìn)制數(shù)`123`轉(zhuǎn)換為二進(jìn)制數(shù)的結(jié)果是`______`。三、讀代碼寫結(jié)果題(本大題共2小題,每小題4分,共8分。請仔細(xì)閱讀下列代碼段,寫出程序執(zhí)行后的輸出結(jié)果或變量值。)11.讀取以下Python代碼:```pythonlist_a=[10,20,[30,40]]list_b=list_a.copy()list_a[2][0]=999print(list_b)```上述代碼執(zhí)行后的輸出結(jié)果是`______`。12.讀取以下Python代碼:```pythondeffactorial(n):ifn==0:return1else:returnn*factorial(n-1)result=factorial(3)print(result)```上述代碼執(zhí)行后的輸出結(jié)果是`______`。四、代碼填空題(本大題共1小題,共6分。請將缺失的部分代碼寫在答題卡對應(yīng)位置。)13.讀取以下Python代碼,并補(bǔ)充缺失的部分以實(shí)現(xiàn)功能:該函數(shù)接收一個列表`lst`和一個整數(shù)`target`,返回列表中所有相加等于`target`的兩個數(shù)(返回第一個找到的即可),如果找不到則返回`None`。```pythondeffind_two_sum(lst,target):foriinrange(len(lst)):forjinrange(i+1,len(lst)):iflst[i]+lst[j]==target:return______returnNone#示例調(diào)用#print(find_two_sum([2,7,11,15],9))#應(yīng)輸出(2,7)```請在`______`處填入合適的代碼。五、編程題(本大題共1小題,共10分。請按照要求完成程序設(shè)計。)14.編寫一個Python函數(shù),實(shí)現(xiàn)以下功能:1.接收一個字符串`s`作為輸入。2.統(tǒng)計字符串中每個字母(區(qū)分大小寫)出現(xiàn)的次數(shù),并將結(jié)果存儲在一個字典中,其中鍵為字母,值為對應(yīng)的出現(xiàn)次數(shù)。3.如果輸入字符串為空或只包含非字母字符,則返回一個空字典。4.示例:```python#示例1print(count_letters("HelloWorld!"))#輸出:{'H':1,'e':1,'l':3,'o':2,'W':1,'r':1,'d':1}#示例2print(count_letters("1234!@#$"))#輸出:{}```請將完整的函數(shù)定義寫在下面:```python#請在此處編寫你的函數(shù)定義```---試卷答案一、選擇題1.C2.C3.B4.B5.C二、填空題6.float('inf')7.O(n)8.屬性9.210.1111011三、讀代碼寫結(jié)果題11.[10,20,[999,40]]12.6四、代碼填空題13.(lst[i],lst[j])五、編程題14.```pythondefcount_letters(s):ifnotsornots.isalpha():return{}letter_count={}forcharins:ifchar.isalpha():ifcharinletter_count:letter_count[char]+=1else:letter_count[char]=1returnletter_count```解析一、選擇題1.解析:Python是動態(tài)類型語言,變量無需聲明類型,A錯誤;變量名區(qū)分大小寫,但可以以數(shù)字開頭,B錯誤;一行可定義多個變量用分號隔開,C正確;Python中的變量名綁定對象,對象類型可以改變(如列表可以添加元素),但變量名本身通常不改變指向,D錯誤。故選C。2.解析:`//`是Python中的整數(shù)除法,結(jié)果向下取整。5//3等于1。B、C、D都是浮點(diǎn)數(shù)或錯誤描述。故選C。3.解析:選項(xiàng)A會分別打印"Hello"和"World",中間無空格。選項(xiàng)C打印列表`['Hello','World']`。選項(xiàng)D中`end=""`指定print函數(shù)在輸出后不換行,并在兩個單詞間加上空格。選項(xiàng)B通過字符串連接實(shí)現(xiàn)空格分隔。故選B。4.解析:棧是后進(jìn)先出(LIFO)結(jié)構(gòu),A錯誤;隊(duì)列是先進(jìn)先出(FIFO)結(jié)構(gòu),B正確;堆主要用于優(yōu)先隊(duì)列等場景,C錯誤;鏈表可以方便地實(shí)現(xiàn)隊(duì)列操作,但鏈?zhǔn)酱鎯Ρ旧聿皇顷?duì)列的定義,隊(duì)列也可以基于數(shù)組實(shí)現(xiàn),D錯誤。故選B。5.解析:線性表可以通過索引隨機(jī)訪問是數(shù)組(如Python列表)的特性,但不是所有線性表(如鏈表)都支持。插入或刪除通常需要移動元素,時間復(fù)雜度為O(n)。鏈表插入刪除效率高,但隨機(jī)訪問慢。列表(數(shù)組)的內(nèi)存通常是連續(xù)分配的。棧和隊(duì)列的插入刪除操作是O(1)。題目問“錯誤的是”,選項(xiàng)D說列表比棧隊(duì)列更高效,這不絕對,鏈表在某些操作上比數(shù)組列表高效,但空間消耗更大,不能一概而論列表更高效。結(jié)合線性表的定義,A是數(shù)組的特性,不是所有線性表的特性,故A錯誤。但題目要求選“錯誤”的,而C“列表的內(nèi)存空間通常是連續(xù)分配的”描述的是數(shù)組/列表,對于鏈表是連續(xù)的,對于一般線性表(如鏈表)是離散的??紤]到列表是常見的線性表,且其內(nèi)存連續(xù)是其優(yōu)勢之一,這里C可能被認(rèn)為是正確的描述。如果必須選一個,A的“可以隨機(jī)訪問”對于非數(shù)組線性表不成立。(修正思考)C描述的是“列表”的內(nèi)存特性,列表確實(shí)通常是連續(xù)分配。問題可能出在措辭“線性表”。列表是線性表的一種。如果列表是線性表的一種且其內(nèi)存連續(xù),那么C是正確的。如果題目意在包含鏈表等非連續(xù)分配的線性表,那么C就錯誤。(更傾向于認(rèn)為列表是常見線性表,其內(nèi)存連續(xù)是特點(diǎn))(最終判斷)假設(shè)題目指列表,C正確。如果指一般線性表,C錯誤。題目問“下列說法錯誤的是”,如果列表是線性表的一種,且其內(nèi)存通常是連續(xù)的,那么C說法不一定是錯誤的。題目本身可能存在歧義。但如果必須選一個,且基于列表是常見線性表,C是正確的。那么我們看其他選項(xiàng)。A是數(shù)組的特性,不是所有線性表(如鏈表)的。所以A也可以被認(rèn)為是錯誤的。(根據(jù)常見考點(diǎn),數(shù)組/列表的隨機(jī)訪問和連續(xù)內(nèi)存是關(guān)聯(lián)的)(重新審視)題目是“線性表”,A說“可以通過索引隨機(jī)訪問任何一個元素”。數(shù)組(列表)可以,鏈表不行。所以A是錯誤的。C說“列表的內(nèi)存空間通常是連續(xù)分配的”。列表(數(shù)組)是,鏈表不是。如果題目泛指線性表,C可以被認(rèn)為是錯誤的(因?yàn)殒湵淼仁请x散分配)。如果題目暗指列表,C是正確的。選擇題有時會制造陷阱。(傾向于選擇最明顯錯誤的那個)A是錯誤的,因?yàn)椴皇撬芯€性表都能隨機(jī)訪問。C描述的是列表(一種線性表)的特性。(最終決定:選擇C,因?yàn)樗枋龅氖橇斜?數(shù)組,但隱含排除了鏈表等非連續(xù)線性表,可能被認(rèn)為不夠全面)(再思考)題目問“下列說法錯誤的是”。A說“可以隨機(jī)訪問任何一個元素”。線性表的定義不一定包含隨機(jī)訪問,鏈表就不行。所以A是錯誤的。C說“內(nèi)存空間通常是連續(xù)分配的”。列表/數(shù)組是。鏈表是離散的。所以C也可以被認(rèn)為是錯誤的。題目可能不夠嚴(yán)謹(jǐn)。(選擇A,因?yàn)樗苯臃穸司€性表的一個普遍特性(隨機(jī)訪問))(最終決定選擇A)最終答案調(diào)整:選擇A。A說“可以隨機(jī)訪問任何一個元素”,這是數(shù)組/列表的特性,但不是所有線性表(如鏈表)的,所以對于泛指的“線性表”這是錯誤的。修正后的答案和解析:5.解析:A是數(shù)組的特性,不是所有線性表(如鏈表)的。C描述的是列表(一種線性表)的內(nèi)存特性。如果題目泛指線性表,A和C都可以被認(rèn)為是錯誤的。但A直接否定了線性表普遍支持的操作。(最終選擇A)故選A。二、填空題6.解析:Python中表示正無窮大的浮點(diǎn)數(shù)常寫為`float('inf')`。7.解析:在未排序的列表中查找最大值,最直接的方法是遍歷整個列表,比較每個元素。這種線性查找算法的平均時間復(fù)雜度是O(n)。8.解析:類是面向?qū)ο缶幊痰幕締卧x了屬于該類對象的共同屬性(數(shù)據(jù)成員)和行為(方法)。9.解析:棧是后進(jìn)先出(LIFO)結(jié)構(gòu)。初始狀態(tài)為空,Push(1)后棧為[1],Push(2)后棧為[1,2]。Pop()操作移除棧頂元素,即移除2,棧變回[1]。此時棧頂元素是列表中的第一個元素,即1。10.解析:十進(jìn)制數(shù)123轉(zhuǎn)換為二進(jìn)制,可以通過不斷除以2取余數(shù)的方法:123÷2=61余1;61÷2=30余1;30÷2=15余0;15÷2=7余1;7÷2=3余1;3÷2=1余1;1÷2=0余1。將余數(shù)從下往上排列,得到1111011。三、讀代碼寫結(jié)果題11.解析:`list_a.copy()`創(chuàng)建的是`list_a`的一個淺拷貝。淺拷貝創(chuàng)建了新列表`list_b`,但其內(nèi)部的列表`[30,40]`仍然是`list_a`中那個列表的引用。執(zhí)行`list_a[2][0]=999`修改了`list_a`中那個內(nèi)部列表的第一個元素。由于`list_b[2]`指向的是同一個內(nèi)部列表,所以`list_b[2][0]`也變成了999。最終`list_b`變?yōu)閌[10,20,[999,40]]`。12.解析:函數(shù)`factorial`是遞歸實(shí)現(xiàn)的階乘函數(shù)。計算`factorial(3)`:`3*factorial(2)`;計算`factorial(2)`:`2*factorial(1)`;計算`factorial(1)`:`1*factorial(0)`;計算`factorial(0)`:返回`1`。然后依次返回:`factorial(1)`返回`1*1=1`;`factorial(2)`返回`2*1=2`;`factorial(3)`返回`3*2=6`。打印`result`的值6。四、代碼填空題13.解析:函數(shù)的目標(biāo)是找到一對數(shù)。當(dāng)在循環(huán)中確定了第一個數(shù)`lst[i]`后,需要在內(nèi)層循環(huán)中從`i+1`開始查找,看是否存在`lst[j]`使得`lst[i]+lst[j]==target`。如果找到這樣的一對`(lst[i],lst[j])`,就立即返回它們。因此,缺失的部分
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年新能源行業(yè)年度策略:儲勢勃發(fā)邁向新程
- 能源危機(jī)背景下的2026年電力行業(yè)挑戰(zhàn)與機(jī)遇題
- 2026年高級會計師實(shí)務(wù)操作與理論筆試模擬題集含答案及解析
- 未來五年印刷復(fù)制服務(wù)企業(yè)縣域市場拓展與下沉戰(zhàn)略分析研究報告
- 未來五年IC分銷企業(yè)縣域市場拓展與下沉戰(zhàn)略分析研究報告
- 未來五年生產(chǎn)服務(wù)及修理企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略分析研究報告
- 礦山安全生產(chǎn)管理制度
- 員工守則及誠信承諾范本模板
- 房產(chǎn)委托銷售合同公證辦理流程
- 安全生產(chǎn)大排查心得體會報告
- (2025版)顱內(nèi)動脈粥樣硬化性狹窄診治指南
- 2025年海管水平定向鉆穿越方案研究
- 全國網(wǎng)絡(luò)安全行業(yè)職業(yè)技能大賽(網(wǎng)絡(luò)安全管理員)考試題及答案
- 攝影家協(xié)會作品評選打分細(xì)則
- 電子產(chǎn)品三維建模設(shè)計細(xì)則
- 2025年中國道路交通毫米波雷達(dá)市場研究報告
- 設(shè)計交付:10kV及以下配網(wǎng)工程的標(biāo)準(zhǔn)與實(shí)踐
- 大學(xué)高數(shù)基礎(chǔ)講解課件
- hop安全培訓(xùn)課件
- 固井質(zhì)量監(jiān)督制度
- 中華人民共和國職業(yè)分類大典是(專業(yè)職業(yè)分類明細(xì))
評論
0/150
提交評論