資源簡介 2022年10月17日高中信息技術作業學校:___________姓名:___________班級:___________考號:___________一、選擇題1.將英文單詞“student”中的每個字符按次序以單鏈表的形式進行存儲,操作過程中漏掉了字符 e,存儲狀態如圖所示:現將字符e存放于1111H處,并按正確的次序插入單鏈表中,則元素d、e、n的“鏈接地址”依次是( )A.100CH,1014H,1111H B.100CH,1111H,1014HC.1111H,100CH,1014H D.1111H,1014H,100CH2.設有數組定義語句:Dim a(5) As Integer,Listl 為列表框控件。下列給數組元素賦值的語句,錯誤的是( )。A.a(3)=3B.a(3)=VAL(InputBox(“InputData”)C.a(3)=Listl.ListIndexD.a=Array(1,2,3,4,5,6)3.一頭指針 head=2 的單向鏈表 L=[[30,4], [10,-1], [20,0], [15,1],[21,3]]通過以下 Python 程序段,轉換為原鏈表的逆序鏈表,即頭指針 head=1,L=[[30,2], [10,3], [20,-1], [15,4],[21,0]]。q=-1p=head #head 為原鏈表頭指針while p!=-1 :tmp=L[p][1]head=q上述程序段中方框處可選的語句為:①p=tmp ②q=p ③L[p][1]=q則方框處語句依次為( )A.③②① B.③①② C.①③② D.①②③4.有如下程序段:a=[[2,2,1],[8,0,4],[3,3,0],[6,-1,2],[8,1,-1]]ans=head=3p=a[head][2]while p!=-1: if a[ans][0] < a[p][0] : ans=p p=a[p][2]print(ans,a[ans][0],sep=",")則程序運行后,下列說法正確的是( )A.鏈表數據值依次為2->8->3->6->8B.程序輸出結果為4,8C.a[0][2]的值為1,雙向鏈表a的頭節點數據值為2D.a[1][1]的值為0,雙向鏈表a的尾節點數據值為85.有個列表n=[‘水果’, ‘砂糖橘’,’蘋果’, ‘橙子’],請把列表中’蘋果’改為’橘子’,選出修改正確的語句( )A.n[2]= ‘橘子’ B.n[‘橘子’] C.n[3]= ‘橘子’ D.list[‘橘子’]6.語句Dim a&(1 To 20),b#(2,-1 To 1)定義兩個數組,其類型分別為: ( )A.二維單精度實型數組和二雙精度型數組B.二維長整型數組和二維單精度實型數組C.一維單精度實型數組和二維整型數組D.一維長整型數組和二維雙精度型數組7.一維數組a(下標從0開始)中元素值依次為11--100之間的奇數,則數組元素a[k]的值是( )A.2*k+10 B.2*k+11 C.2*k+12 D.2*k+138.在單向鏈表如下圖所示,在data2與data3之間插入一個新節點data4(p指向data2,r指向data4。列表data來記錄鏈表數據域,列表next來記錄指針域),在以下選項中選擇正確的執行步驟( )①next[p]= next[r] ②next[p]= r ③next[r]= p④next[r]= -1 ⑤next[r]= next[p] ⑥next[p]= -1A.③⑥ B.⑤② C.①④ D.⑤②④9.設有一個5×8的二維數組a,若按行優先的順序存儲數組元素,則元素a[3][5]前面元素的個數為( )A.21 B.22 C.29 D.3710.已知一個有7個節點的單向鏈表,設有頭指針head和尾指針tail,如右圖所示,下列操作需要遍歷多個節點的是( )A.刪除該鏈表中的最后一個節點B.刪除該鏈表中的第一個節點C.在該鏈表第一個節點前插入一個新節點D.在該鏈表最后一個節點后插入一個新節點11.數組a的數據存放情況如下表,則當i=2時,a[6/i-1]的值是( )。a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8]48 52 98 26 47 22 82 33A.98 B.26 C.52 D.2212.在日常幻燈片(如使用 PowerPoint 制作的講稿) 的放映中, 可以通過超鏈接的方式進行幻燈片之間的任意跳轉。與這種幻燈片的組織方式相似的數據結構是( )A.鏈表 B.隊列 C.棧 D.樹13.a數組定義如下:a=[2,5,0,3,6,8],則運算表達式“a[1]+a[3]+a[5]”的結果為( )A.16 B.8 C.10 D.1314.有關數組特征描述中,下列說法不正確的是( )A.同一數組中,每個數組元素的數據類型是相同的B.通過數組名和下標可以對數組中任意位置的數組元素進行高效訪問C.數組的存儲空間固定不變D.數組是非順序存儲結構15.給數組a賦值如下表,運行i=2 : i=i*i之后,讀取a(i)的值為A.7.9B.8.4C.7.6D.7.816.使用Python的二維列表來模擬單向鏈表,如下代碼創建一個擁有4個節點的鏈表aa=[["cat",1],[ "dog",2],[ "pig",-1],[ "rabbit",0]]head=3依次輸出各節點數據域的值,內容為( )A."cat","dog","pig","rabbit" B."pig","rabbit","cat","dog"C."pig","dog","cat","rabbit" D."rabbit","cat","dog","pig"17.在Python中可以使用列表模擬單向鏈表,如鏈表中的節點p,a[p] [0]存儲p節點的數據,a[p][1]存儲p指向后繼節點的指針。若要在p節點之后插入新的節點x(x作為p的新后繼節點),需要執行的語句是( )A.a[p][1]=x; a[x][1]=a[p][1] B.a[x][1]=a[p][1]; a[p][1]=xC.a[p][0]=x; a[x][0]=a[p][0] D.a[x][0]=a[p][0]; a[p][0]=x18.有一組含有9個元素的有序鏈表:1->3->5->6->8->11->15->18->20,現為該鏈表增設關鍵節點,建立索引,下列說法不正確的是( )A.一級索引中的關鍵節點為1,5,8,15,20B.二級索引中的關鍵節點為1,8,20C.若要在建立的一級索引的基礎上插入元素7,則需要比較3次即可找到7插入的位置D.若要在建立的二級索引的基礎上查找元素18,則需要比較4次就可以找到元素1819.定義數組 a(1 to 5,5)后,下列哪一個數組元素不存在( )。A.a(1,1)B.a(1,5)C.a(0,1)D.a(5,5)20.在日常幻燈片的放映中,可以通過超級鏈接方式進行幻燈片之間的任意跳轉。和這種跳轉方式相似的數據結構是( )A.數 B.鏈表 C.隊列 D.棧試卷第1頁,共3頁試卷第1頁,共3頁參考答案:1.C【詳解】本題考查的是鏈表的讀取。將字母e插入后,其鏈接地址如下圖:故,d、e、n的“鏈接地址”依次是111H、100CH、1014H。選項C正確。2.D【詳解】本題主要考查數組的賦值。array()函數的作用:返回一個包含數組的Variant(可變的),題干定義了一個容量固定的數組a(Dim a(5) As Integer),故賦值語句a=Array(1,2,3,4,5,6)是錯誤的,故本題選D選項。3.A【詳解】本題主要考查鏈表及Python程序實現。因為是逆序鏈表,q的初值為-1,故L[p][1]即p的下一個節點指向q,③L[p][1]=q。由題干單項鏈表可知,接下來更新q的值為p即②q=p,p的值為tmp①p=tmp,故本題選A選項。4.D【詳解】本題主要考查鏈表及Python程序。分析程序可知,a是雙向鏈表,ans=head=3,故鏈表數據值依次為6->3->2->8->8;程序運行結束后,ans=1,a[ans][0]=8;a[0][2]的值為1,head=3,雙向鏈表a的頭節點數據值為6;a[1][1]的值為0,雙向鏈表a的尾節點數據值為8,故本題選D選項。5.A【詳解】本題主要考查數組知識點。對應列表中的位置修改相應的數據,列表是從0起點標注位置,故正確的語句是n[2]= ‘橘子’,故本題選A選項。6.D【詳解】本題主要考查數組的定義。符號“%”表示短整型,“&”表示長整型,“!”表示單精度浮點型,“#”表示雙精度浮點型,故語句Dim a&(1 To 20),b#(2,-1 To 1)定義兩個數組,其類型分別為一維長整型數組和二維雙精度型數組,故本題選D選項。7.B【詳解】本題主要考查數組。一維數組a(下標從0開始)中元素值依次為11--100之間的奇數,2*k是偶數,2*k+11表示11~100之間的奇數(k從0開始),故本題選B選項。8.B【詳解】本題主要考查鏈表的操作。在data2與data3之間插入一個新節點data4,p指向data2,r指向data4,則正確的步驟是,先將r的next指針域指向p的next節點,其次更新p的next為r,故分別是:next[r]= next[p] 和next[p]= r ,故本題選B選項。9.C【詳解】本題主要考查Python二維數組結構。有一個5 × 8的二維數組a,若按行優先的順序存儲數組元素,則元素a 3| 5|前面元素的個數為29個。其中第一行為a0開頭共8個元素,第二行以a [1]開頭為8個元素,第三行以a [2]開頭為8個元素,第四行以a [3]開頭,到a [3] [5]前面有5個元素,所以共有3* 8+ 5 = 29,故本題選C選項。10.A【詳解】本題主要考查鏈表數據結構。刪除該鏈表中的第一個節點、在該鏈表第一個節點前插入一個新節點、在該鏈表最后一個節點后插入一個新節點均不需要遍歷多個節點,只需一次操作即可完成。刪除該鏈表中的最后一個節點需要從頭開始遍歷,故本題選A選項。11.C【詳解】本題主要考查數組知識點。當i=2時,a[6/i-1]= a[2]=52,故本題選C選項。12.A【詳解】本題主要考查鏈表數據結構。鏈表是一種物理存儲結構上非連續,非順序的存儲結構,數據元素的邏輯順序是通過鏈表中的指針鏈接次序實現的。在日常幻燈片(如使用 PowerPoint 制作的講稿) 的放映中, 可以通過超鏈接的方式進行幻燈片之間的任意跳轉。與這種幻燈片的組織方式相似的數據結構是鏈表,故本題選A選項。13.A【詳解】本題主要考查數組運算。數組索引是從0開始,故a[1]+a[3]+a[5]=5+3+8=16,故本題選A選項。14.D【詳解】本題主要考查數組特征。同一數組中,每個數組元素的數據類型是相同的;通過數組名和下標可以對數組中任意位置的數組元素進行高效訪問;數組的存儲空間固定不變;數組是順序存儲結構,故本題選D選項。15.B【詳解】本題主要數組相關知識點。i=2,i*i=4,a(4)=8.4,故讀取a(i)的值為8.4,故本題選B選項。16.D【詳解】本題主要考查鏈表的操作。head=3,即對應列表索引3,其值為“rabbit”,指向索引為0的節點,其值為“cat”,依次類推,依次輸出各節點數據域的值,內容為"rabbit","cat","dog","pig",故本題選D選項。17.B【詳解】本題主要考查鏈表數據結構。若要在p節點之后插入新的節點x(x作為p的新后繼節點),則x的指針域指向p的下一個節點,即a[x][1]=a[p][1]。其次將x與p連接起來,即p的指針域指向x,即a[p][1]=x,故本題選B選項。18.C【詳解】本題主要考查鏈表數據結構。有序鏈表:1->3->5->6->8->11->15->18->20,則一級索引中的關鍵節點為1,5,8,15,20(取奇數位);二級索引中的關鍵節點為1,8,20(取首尾以及中間元素);若要在建立的一級索引的基礎上插入元素7,則需要比較4次即可找到7插入的位置,首先分別與1、5、8比較,其次與6比較共4次;若要在建立的二級索引的基礎上查找元素18,則需要比較4次就可以找到元素18,分別與8、20比較,再與19、18比較,共4次,故本題選C選項。19.C【詳解】本題主要考查二維數組。定義數組 a(1 to 5,5),第一個參數的范圍是從1到5,第二個參數是5,故數組元素a(0,1)不存在,故本題選C選項。20.B【詳解】本題考查的是對數據結構的理解。鏈表是一種數據元素按照鏈式存儲結構進行存儲的數據結構,這種存儲結構具有在物理上存在非連續的特點。鏈表由一系列數據結點構成,每個數據結點包括數據域和指針域兩部分。其中,指針域保存了數據結構中下一個元素存放的地址。鏈表結構中數據元素的邏輯順序是通過鏈表中的指針鏈接次序來實現的。故選項B正確。答案第1頁,共2頁答案第1頁,共2頁 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫