0222011年自考計算機軟件基礎一練習題和答案_第1頁
0222011年自考計算機軟件基礎一練習題和答案_第2頁
0222011年自考計算機軟件基礎一練習題和答案_第3頁
0222011年自考計算機軟件基礎一練習題和答案_第4頁
0222011年自考計算機軟件基礎一練習題和答案_第5頁
免費預覽已結束,剩余7頁可下載查看

下載本文檔

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

文檔簡介

1、全國2011年7月高等教育自學考試考前練習題計算機軟件基礎(一)(課程代碼:02243)一、單項選擇題(本大題共15小題,每小題2分,共30分)在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內。錯選、多選或未選均無分。1 .能正確表示邏輯關系“a>10或awCT白CC語言表達式是()A.a>=100ra<=0B.a>=0|a<=10C.a>=10&&a<=OD.a>=10|a<=C2 .請讀程序如下,若運行時從鍵盤上輸入9876543210/(/表示回車),則下列程序的輸出結果是()#incl

2、ude<stdio.h>main()inta;floatb,c;scanf("2d%3f%4f,&a,&b,&e);printf("na=%db=%f,c=%fn”,a,b,c);A.a=98,b=765,c=4321B.a=10,b=432,c=8765C.a=98,b=765.000000,c=4321.000000D.a=98,b=765.0,c=4321.03 .有如下程序:main()floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=l.0/x;elsey=l.0;printf(

3、"fn",y);該程序輸出結果是()A.C.000000B.0.250000C.0.500000D.1.0000004 .有如下程序:main()inta33=1,2,3,4,5,6,i,j,s=C;for(i=1;i<3;i+)for(j=0;j<=i;j+)s+=aij;printf("dn",s);該程序的輸出結果是()A.18B.19C.20D.215 .下列程序的輸出結果是()intf()staticinti=0;ints=1:s+=i;i+:returns;main()inti,a=O;for(i=O;i<5;i+)a+=f

4、();printf("%dn”,a);A.20B.24C.25D.156 .設有定義:intn1=0,n2,*p=&n2,*q=&n1;,則以下賦值語句中與n2=n1;語句等價的是()A.*p=*q;B.p=q;C.*p=&n1;D.p=*q;7 .若有以下程序:#include<stdio.h>voidf(intn);main()voidf(intn);f(5);voidf(intn)printf("%dn",n);則以下說法中不正確的是()A.若只在主函數中對函數f進行說明,則只能在主函數中正確調用函數fB.若在主函數前對函

5、數f進行說明,則在主函數和其后的其他函數中都可以正確調用函f函數重復說明C.對于以上函數程序,編譯時系統會提示出錯信息;提示對D.函數f無返回值,所以可用void將其類型定義為無值型8.有如下程序:main()inta尸2,4,6,8,10,y=0,x,*p;p=&a1;for(x=1;x<3;x+)y+=px;printf("dn",y);B.11D.15則程序運行后的輸出結果是()A.10C.149.非空的循環單鏈表head的尾節點(由p所指向)滿足()A.p一next=NULLB.p=NULLC.p-next=headD.p=head10.數組A中,每個

6、元素的長度為3個字節,行下標i從1至ij8,列下標j從1至ij10,從首地址SA開始連續存放在存儲器內,該數組按行存放時,元素A85的起始地址為()B.SA+144D.SA+225A.SA+141C.SA+22211.具有5層節點的完全二叉樹至少有個節點。B.12t1有個葉子節點。()A.16D.1712 .如下圖所示的t2是由樹t1轉換而來的二叉樹,那么樹ABDB.5D.7在表內各元素等概率情況下查找成13 .有一個長度為12的有序表,按二分查找法對該表進行查找,功所需的平均比較次數為()A.35/12B.37/12C.39/12D.43/1214 .程序的三種基本控制結構的共同特點是()A

7、.不能嵌套使用B.只能用來寫簡單程序C.已經用硬件實現D.只有一個入口和一個出口15 .為了提高測試的效率,應該()A.隨機地選取測試數據B.取一切可能的輸入數據作為測試數據C.在完成編碼以后制定軟件的測試計劃D.選擇發現錯誤可能性大的數據作為測試數據第二部分非選擇題二、填空題(本大題共10小題,每小題2分,共20分)請在每小題的空格中填上正確答案。錯填、不填均無分。16 .若已定義x和y為double類型,則表達式x=1,y=x+3/2的值是。17 .下列函數值的類型是。fun(floatx)floaty;y=3*x4;returny;18 .若有定義語句:chars100,d1OO;int

8、j=O,i=O;,且s中已賦字符串,請填空以實現復制。(注:不使用逗號表達式)whi1e(si)dj=;j+;dj=0;19 .有如下定義:structintx;char*y;a2=1,"abc",2,"def",*p=a;貝Up-y的值;(+p)-y的值。20 .在一個單鏈表中,若刪除p所指節點的后繼節點,則執行。21 .若已知一個棧的入棧序列是1,2,3,,n,其輸出序列為pl,p2,p3,,pn,若pl=n,貝Upi為。22 .設n,m為一棵二叉樹上的兩個節點,在中序遍歷時,n在m前的條件是。23 .對于一個具有n個頂點的無向圖,若采用鄰接矩陣表示

9、,則該矩陣的大小是。24 .數組A56的每個元素占5個單元,將其按行優先次序存儲在起始地址為1000的連續的內存單元中,則元素A55的地址為。25 .對于長度為n的線性表,若進行順序查找,則時間復雜度為;若采用二分法查找,則其ASL為。三、解答題(本大題共4小題,每小題4分,共16分)26 .下列函數的功能是:在一個帶頭節點的單向鏈表中,查找元素最大的節點并輸出。請將該函數補充完整。typedefintdatatype;structnodedatatypedata;structnode*next;;typedefstructnodeLinkList;voidsearch(LinkList*h)

10、List*q,*pmax,*s;pmax=hfnext;q=pmax-next;while()if(q一data>pmax-data)pmax=q;q=q-next;)printf("最大值是%d”,pmax一data);)27 .已知某圖的頂點集和邊集如下所示,請畫出該圖。V=v1,v2,v3,v4)E=<v1,v2>,<v1,v3>,<v4,v1>,<v4,v2>,<v4,v3>28 .對于下圖,分別寫出按深度優先和廣度優先搜索的結果。29 .假設現有電文“ACBCCACBCCDCBB中出現的字符為“A”,&quo

11、t;B”,"C',"D”,它們出現的次數分別為2,3,8,1。要求畫出由此得到的哈夫曼樹及其編碼。四、程序分析題(本大題共4小題,每小題4分,共16分)30 .寫出下列程序的輸出結果。main()inta45=1,2,3,4,0,2,3,O,O,O,3,4,5,O,0,6,0,O,O,O;intj,k;for(j=O;j<4;j+)for(k=0;k<5;k+)if(ajk=0)break;printf("%d,ajk);printf(n”);31 .寫出下列程序的輸出結果。main()int*p1,*p2,*p,a=5,b=8;p1=&

12、;a;p2=&b;if(a<b)p=pl;pl=p2;p2=p;printf("d,%d,",*p1,*p2);printf("%d,%d,a,b);32 .寫出下列程序的輸出結果。voidsort(inta,intn)inti,j,t;for(i=O;i<n-1;i+)for(j=i+1;j<n;j+)if(ai<aj)t=ai;ai=aj;aj=t;main()intaa10=1,2,3,4,5,6,7,8,9,10),i;sort(&aa3,5);for(i=0;i<lO;i+)printf("%d,&

13、quot;,aai);printf(“n”);33 .閱讀程序段,若串s為"pcs389%+-ac”,寫出調用reverse(buf)后buf的內容。charbufreverse(char*s)intc,k;char*pk=strlen(s);for(p=s+k-1;svp;s+,p-)c=*s;*s=*p;*p=c;五、程序設計題(本大題共2小題,每小題9分,共18分)34 .輸入三個整數,按由小到大的順序輸出(要求用指針處理)。35 .假設二叉樹采用鏈接存儲方式存儲,編寫一個后序遍歷二叉樹的非遞歸函數。全國2011年7月高等教育自學考試考前練習題計算機軟件基礎(一)答案(課程代碼

14、:02243)一、單項選擇題1. D【解析】c語言中的“或”關系用7”表示,其他相關邏輯運算符“與"用“&&'表示;運算符“非”用“!”來表示2. C3. C【解析】本題考查的是if-else語句的使用。x=2.o,符合第二個IF語句的條件x<10.0,所以執行y=1.0/x語句,即y=l.0/2.0=0.500000。4. A【解析】題中的外循環只執行了2次。笫1次:a1O=3,a11=4,所以s=7;第2次:a20=5,a21=6,a22=0,所以s=7+5+6+0=18。5. D【解析】在函數多次被調用的過程中靜態局部變量的值具有可繼承性。在第一次

15、凋用函數結束時,i的值是1,返叫值1,第二次調用函數時,i的值保持為1,執行自加操作后,j的值變成了2.到了第三次調用時,i的值保持了上次調用結束時的值,再執行自加,值變成了3。到第五次調用結束叫,i的值是5。而s的值不具備i的這種可繼承性,每次調用時,它都先被重新賦值為1.再執行下面的操作。6. A【解析】*p=*q即表示將q指向變量的值取出賦予p指向的變量。7. C【解析】一個函數在一個文件中的定義只能有一次,但對它的聲明卻可以有很多個。一個函數可以正確調用在當前函數之前聲明的函數。對于本題來說,如果有一個新的函數fNew()是在f()函數之后說明的,那么即使主函數tp沒有對函數f進行說明

16、,在fNew()中同樣可以正確調用函數f()。8. C【解析】執行p=&a1;后,p指向了a1的地址,pl、p2的值即為6、8,經過累加后y的值為14。9. C10. C【解析】A85相對于A11的位置是7*10+4=74;則A85的地址為SA+74*3=SA+222。11. A【解析】比4層滿二叉樹多一個節點即為本題答案;4層滿二叉樹的節點數為24-1=15個,因此A選項正確。12. A【解析】根據左孩子右兄弟表示法可以到轉換后的二叉樹中找沒有左孩子的節點即為原樹中的葉子節點。13. B【解析】構造一棵有序二叉樹,共12個節點,第一層1個節點,第二層2個節點,第三層4個節點,第四層5

17、個節點,貝UASL=(1*1+2*2+3*4+4*5)/12=37/12。14.D【解析】程序的特點就是從一個入口開始,最終以一個出口結束15.D【解析】為了提高測試的效率,測試用例應該選擇發現錯誤可能性大的部分,這樣的測試結果才符合軟件測試的目的。二、填空題16.2.O【解析】這是一個逗號表達式,它的值應為表達式y=x+3/2的值,而前一個表達式已給x賦值l,在沒有進行類型轉換的t留下,3/2的值為1,所以x+3/2的值應為2.0。17. int【解析】c語言中如果函數前不加任何數據類型時,缺省函數的類型為整型,函數的類型就是函數返回值的類型。18. si+【解析】本題中為了能實現字符串的復

18、制,需要使字符數組s從頭到尾依次遍歷其所有元素。本題應使用i的自增后置來實現。19. abcdef【解析】因定義了*p=a因此p指向了a數組,即a0;pfy則是aO.y的值;+p后,p指向了al。20. pfnext=pfnextfnext【解析】通過尸next=p-nextnext可將p的后繼節點斷開了pnext的鏈接。21. n-i+l【解析】當pl=n,即n是最先出棧的,根據棧的原理,n必定是最后入棧的,那么輸入順序必定是1,2,3,n,則出棧的序列是n,,3,2,1。22. n在m左方【解析】中序遍歷的規則是先遍歷左子樹后訪問根節點再遍歷右子樹;因此n在m左方才能保證先訪問n。23.

19、n2【解析】A55相對于A00的位置是4*6+14=28,則A55的地址為1000+28*5=1140。25. O(n)log2(n1)-1三、解答題26. q!=NULL【解析】當q指針不為空作為循環的條件。typedefintdatatype;structnodedatatypedata;structnode*next;;typedefstructnodeLinkList;voidsearch(LinkList*h)List*q,*pmax,*s;pmax=h-next;/*讓pmax指針指向第個節點*/q=pmax-next;/*給q指針置初值,即讓其指向pmax的下一個節點*/whil

20、e(q!=NULL)if(q-data>pmax-data)/*.若q指針的數據域大于pmax的數據域,則將pmax指向q指針指向的節接*/pmax=q;q=q一next;/*q指針后移*/printf("最大值是d,pmadata);27.28.深度優先遍歷結果:VV2V3V5V1V6V7廣度優先遍歷結果:MV2V6V3V4V7V529【解析】通常約定樹中左分支表示字符“O',右分支表示字符“1”,從根節點到葉子節點的路徑上的分支對應的字符組成的串就是該葉子節點對應的編碼。編碼:A000B01C1D001四、程序分析題30.1234233456【解析】在循環語句中break語句的功能是退出最內層循環,而不是多層。31.8,5,5,8【解析】pl與p2交換后,達到所指向的變量發生r變化,而a和b的值并沒有變化。32.1,2,3,8,7,6,5,4,9,10,【解析】函數sort的功能是由大到小排序,實參是aa3和5,即由aa3開始對5個元素進行排序。33 .ca-+%983scp【解析】reverse函數功能是將字符串s的字符全部首尾顛倒過來。五、程序設計題34 .【解析】main()intnl,n2,n3;int*pointer1,*pointer2,*po

溫馨提示

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

評論

0/150

提交評論