2011山東專升本計算機科學與技術專業課模擬試題_第1頁
2011山東專升本計算機科學與技術專業課模擬試題_第2頁
2011山東專升本計算機科學與技術專業課模擬試題_第3頁
免費預覽已結束,剩余44頁可下載查看

下載本文檔

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

文檔簡介

1、計算機科學與技術模擬試題操作系統模擬試題一、填空題(本題共 25分,每題5分)1、 進程的邏輯地址到 地址的轉換,稱為重定位。2、 分區管理分為 和兩種方式。3、 處理機在執行系統程序時的狀態稱為 ,在執行用戶程序時的狀態稱為 。4、 如果為了使所有進程都有機會運行,最好采用的調度算法是 。5、 對記錄式文件,操作系統為用戶存取文件信息的最小單位是 。乂 *二、(本題滿分為10分)以打印機為例說明 SPOOLIN啲工作原理,系統如何利用 SPOOLING術將打印機模擬為虛擬打印機。三、(本題滿分為10分)對于如下的頁面訪問序列:1,2,3,4,1,2,5,1,2,3,4,5當內存塊數量分別為書

2、3和4時,試問:使用FIFO、LRU置換算法產生的缺頁中斷是多少?(所有內存開始時都是空的,凡第一次用到的頁面都產生一次缺頁中斷)四、(本題滿分為15分)某虛擬存儲器的用戶編程空間共32個頁面,每頁為1KB,內存為16KB假定某時刻一用戶頁表中已調入內存的頁面的頁號和物理塊號的對照表如下:頁號物理塊號031721138則邏輯地址0A5C(H)所對應的物理地址是什么?要求:寫出主要計算過程。五、(本題滿分為15分)假定具有5個進程的進程集合 P= P0,P1,P2,P3,P4 ,系統中有三類資源 A, B和C。其中A類資源AF有 10 個,B類資源有5個,AllocationC類資源有7個。假定

3、在某時刻有如下狀態:aCAvailableABABMaxCABCP0010753332P1200322P2302902P3211222P4002433試給出Need,并說明當前系統是否處于安全狀態,如果是,給出安全序列。如果不是,說明理由。答案、1、物理2、靜態分區動態分區3、系統態用戶態4、輪轉法5、記錄二、 當用戶進程請求打印輸出時,Spooling系統同意打印輸出,但并不真正把打印機分配給該用戶進程,而只為它做兩件事:1,由輸岀進程在輸岀井中為之申請一空閑盤塊區,并將要打印的數據送入其中;2,輸岀進程再為用戶進程申請一張空白的用戶請求打印表,并將用戶的打印要求填入表中,再將該表掛到請求打

4、印隊列之上。如果還有進程要求打印輸岀,系統仍可以接受該請求,同樣做上面的工作。如果打印機 空閑,輸岀進程將從請求打印隊列的隊首取岀一張請求表,根據表中的要求將要打印的數據從輸岀井傳送 到內存緩沖區,再由打印機進行打印。打印完畢,輸岀進程再查看請求打印隊列中是否還有等待要打印的 請求表,若有,再取岀一張表,并根據其中的要求進行打印,如此下去,直至請求隊列為空位置,輸岀進 程才將自己阻塞起來,等待下次再由打印請求時才被喚醒。三、FIFO淘汰算法:內存塊為3時,缺頁中斷(或稱缺頁次數、頁面故障)為 9;內存塊為4時,缺頁中斷為10。LRU淘汰算法:內存塊為3時,缺頁中斷為10;內存塊為4時,缺頁中斷

5、為8。四、125C (H)(要求寫出計算步驟)分析頁式存儲管理的邏輯地址分為兩部分:頁號和頁內地址。由已知條件“用戶編程空間共32個頁面”,可知頁號部分占5位;由“每頁為1KB,1K=210,可知內頁地址占10位。由“內存為16KB,可知有16塊,塊號為4位。邏輯地址0A5C(H)所對應的二進制表示形式是: 000 1010 0101 1100 ,根據上面的分析,下劃線部分為 頁內地址,編碼“000 10”為頁號,表示該邏輯地址對應的頁號為2。查頁表,得到物理塊號是 4 (十進制),即物理塊地址為: 01 00,拼接塊內地址 10_0101_1100_,得 01 0010 0101 1100

6、,即 125C ( H)。五、當前系統處于安全狀態,安全序列如下求解:work = Available = (3,3,2 )尋找 Needj <= work =( 3,3,2 ) (j = 0 , 1 , 2,3,4)j = 1Need1 = (1 ,2 ,3 ) < =(3,3,2 )work : =(3,3,2 ) + (2 ,0 ,0 ) =(5,3,2 )尋找 Needj <= work =( 5,3,2 ) (j = 0,2,3,4)j = 3Need3 =(0 ,1 ,1 ) < =(5,3,2 )work :=(5,3,2 ) + (2 ,1 ,1 ) =

7、 (7,4,3 )尋找Needj <=work=(7,4,3 ) ( j = 0,2,4)j = 4Need4 =(4 ,3 ,1 ) < =(7,4,3 )work :=(7 ,4,3 ) + (0 ,0 ,2 ) = (7,4,5)尋找Needj <=work=(7,4,5) (j = 0,2 )j = 2Need2 =(6 ,0 ,0 ) < =(7,4,5 )work :=(7 ,4,5 ) + (3 ,0 ,2 ) =(10,4,7)尋找Needj <=work=(10,4,7) ( j = 0 )j = 0work :=(10,4,7 ) + (0 ,

8、1 ,0 ) = (10,5,7)所以安全序列為v P1,P3, P4, P2, P0>o操作系統模擬試題二一、填空題(本題共25分,每題5分)1、 操作系統是計算機系統的一種系統軟件,它以盡量合理、有效的方式組織和管理計算機的 ,并控制程序的運行,使整個計算機系統能高效地運行。2、操作系統中,對信號量 S的P原語操作定義中,使進程進入相應等待隊列等待的條件是 。3、銀行家算法中,當一個進程提岀的資源請求將導致系統從 進入時,系統就拒絕它的資源請求。4、在請求頁式存儲管理中,若采用 FIFO頁面淘汰算法,則當分配的頁面數增加時, 的次數可能增加也可能減少。5、采用段式存儲管理的系統中,若

9、地址用24位表示,其中8位表示段號,則允許每段的最大長度是二、(本題滿分為10分)在操作系統中,P操作和V操作各自的動作是如何定義的?三、(本題滿分為10分)假設一個活動頭磁盤有 200道,編號從0-199.當前磁頭正在143道上服務,并且剛剛完成了 125道的請求.現有如下訪盤請求序列(磁道號):86, 147, 91, 177, 94, 150, 102, 175, 130試給岀采用下列算法后磁頭移動的順序和移動總量(總磁道數).(1).先來先服務(FCFS)磁盤調度算法.(2).最短尋道時間優先(SSTF)磁盤調度算法.(3).掃描法(SCAN磁盤調度算法.(假設沿磁頭移動方向不再有訪問

10、請求時,磁頭沿相反方向移動.)四、(本題滿分為15分)設系統中有三類資源A B和C,又設系統中有5個進程P1,P2,P3, P4和P5.在T0時刻系統狀態如下:最大需求量已分配資源旦 量剩余資源量ABCJrABCABCP1J- jk864121211P2 433311P3 1013413P4 333322P5 5461 13(1)系統是否處于安全狀態?如是,則給岀進程安全序列(2)如果進程P5申請1個資源類A 1個資源類B和1個資源類C,能否實施分配?為什么?五、(本題滿分為15分)有 n+1 個進程 A1, A2, .An 和 B:(1) A1,.An通過同一個緩沖區各自不斷地向B發送消息,

11、B不斷地取消息,它必須取走發來的每一個消息.剛開始時緩沖區為空.試用P、V操作正確實現之.(2) 若緩沖區個數增至 m個,試用P、V操作實現正確的通訊.答案:一、1、資源2、S<03、安全狀態不安全狀態4、缺頁中斷5、216二、 在操作系統中,P操作和V操作各自的動作是如何定義的?答:P操作順序執行下述兩個動作: 信號量的值減1,即S=S-1 ; 如果SAO,則該進程繼續執行;如果Sv0,則把該進程的狀態置為阻塞態,把相應的PCB連入該信號量隊列的末尾,并放棄處理機,進行等待(直至其它進程在 S上執行V操作,把它釋放岀來為止)。V操作順序執行下述兩個動作: S值加1,即S=S+1 如果S

12、> 0,則該進程繼續運行;如果S<0,則釋放信號量隊列上的第一個PCB(即信號量指量指針項所指向的PCB所對應的進程(把阻塞態改為就緒態),執行V操作的進程繼續運行。三、(1) 86,147,91,177,94,150,102,175,130(2)當前磁頭在143道上:147,150,130,102,94,91,86,175,177(3) 當前磁頭在143道上,并且剛剛完成125道的請求147, 150, 175, 177, 130, 102, 94, 91, 86四、(1)最大需求量已分配資源量剩余資源量尚需要量ABCABCABCABCP18 641 21211743P24333

13、111 22ft.+P3|10 134136 00P433332/20 11Fpw. *J*P5J J5461 13433*WfL Jf系統是處于安全狀態,安全序列為P4,P2,P1,P3,P5(2)最大需求量P5申請(1,1, 1)已分配資源量剩余資源量尚需要量ABCABCABCAB CP18 6412 11007P24 331 2 2P310136 0 0P43330 1 1P55 46322不能實施分配,因為分配后找不到安全序列,系統將處于不安全狀態五、n+1個進程P1, P2, .,Pn 和Q,一個緩沖區Pi ( i=1,.,n):Repeat生產消息;P(S 1);向緩沖區送消息;V

14、(S 2)Until FalseQ:RepeatP0);從緩沖區取消息;V(S 1);處理消息;Until FalseS 1=1, S 2=0(2) k 個緩沖區Pi ( i=1,.,n):Repeat生產消息;P(S i);P(mutex);向BUFFERI中送消息;l:=(l+1) mod k;V(mutex);V(S 2)Until FalseS1=k;S2=0;mutex=1;l=0;ll=0Q:RepeatP(S 2);P(mutex);從BUFFERll取消息;ll:=(ll+1) mod k;V(mutex);V(S 1)Until False微機原理與接口技術(七)一、填空題(

15、每題 5分,共5個題,總分25分)1 . 8086/8088 CPU具有兩種外部中斷,它們是 和2 .( 234) 10 =163第二代CPU使用的電子器件是 第三代CPU采用的電子器件是4. EIA RS-232C的TXD和RXD數據線上的電平邏輯 1=V;邏輯0=V。5 .在8086中,段寄存器CS= 1200H,指令指針寄存器IP = FF00H此時指令的物理地址為: 二、(10分)什么是中斷源? 8086通常的中斷源有哪些?三、(10分)何為邏輯地址?何為物理地址?它們倆者之間有何關系?四、(15分)編寫程序段實現如下功能:(1 )將立即數17H送DL;立即數7FH送AL。(2)從DX

16、所指的端口中讀取一個字節至 AL;將AX中的一個字輸出至 DX和DX 1所指的端口中。五、(15分)在1000H開始的內存中,放有1000個ASCII字符,請設計一程序,將這串 ASCII字符以異 步串行通信方式從 8255A PB0輸出,采用偶校驗、一位起始位、一位終止位、波特率500(可調用1ms軟件定時程序 “DIMS)。8255A接口連接圖如下:8255A工作方式控制字如下:D7D6D5D4D3D2D1D0特征位A組方式A 口C47B組方式B 口|C03答案、1、可屏蔽中斷,非屏蔽中斷2、11101010 , EA3、半導體,集成電路4、-3-15,+3+155、21F00H二、引起中

17、斷的原因或能發岀中斷申請的來源稱為中斷源。通常中斷源有以下幾種:(1) 一般的輸入輸出設備。如鍵盤、行打印機等。(2) 數據通道中斷源。如磁盤、磁帶等。(3) 實時時鐘。(4) 故障源。如電源掉電等。三、物理地址是存儲器的實際地址,一個存儲單元的物理地址是惟一,邏輯地址為程序設計中所使用的存儲器地址,它由段基址和地內偏移地址兩部份構成,物理地址=段基址X 16+偏移地址,可見一個存儲單元的邏輯地址可以有若干個四、(1) MOV DL,17HMOV AL,7FH(2) IN AL,DXOUT DX,AX五、MOVSI ,1000HMOVCX ,1000MOVDX ,30FHMOVAL ,1000

18、0000BOUTDX,ALMOVDX,30DHMOVAL ,0FFHOUTgDX ,ALCALL4D1MSCALLD1MSL1:MOVBL ,8MOVAL ,0OUTDX ,ALCALLD1MSCALLD1MSMOVAL ,SIANDAL ,ALJPL2ORAL ,80HL2:OUTDX ,ALCALLD1MSCALLD1MSRORAL,1DECBLJNZL2MOVAL ,0FFHOUTDX ,ALCALLD1MSCALLD1MSINCSILOOPL1HLT;微機原理與接口技術(九)、填空題(每題 5分,共5個題,總分25分)1、數制轉換:247.86=H =BCD2、 8086CPU中典型總

19、線周期由個時鐘周期組成,其中 期間,CPU輸出信息3、異步串行通信數據格式由起始位、位、位和位等4部分組成4、 如果一個程序在執行前 (CS)=0A7F0H( IP)=2B40H該程序的起始物理地址是 5、 用4KX4bit的存儲器芯片構成32KB的存儲器,所需要的芯片數是片。(10分)EU與BIU各自的功能是什么?如何協同工作?三、(10分)8086如何響應一個可屏蔽中斷請求?簡述響應過程四、(15分)用其他指令完成和下列指令一樣的功能: REP MOVSB (2) REP LODSB (3) REP STOSB (4) REP SCASB五、(15分)已知某8255A在系統中占用888BH

20、號端口地址,現欲安排其 PA PB, PC口全部為輸出,PAPB 口均工作于方式0模式,并將PC6置位,使PC復位,試編寫出相應的初始化程序。答案、1、F7.DCH001001000111.10000110 BCD2、4個 地址3、數據奇偶校驗停止 4、0AAA40H 5、16二、EU是執行部件,主要的功能是執行指令。BIU是總線接口部件,與片外存儲器及I/O接口電路傳輸數據。EU經過BIU進行片外操作數的訪問,BIU為EU提供將要執行的指令。EU與BIU可分別獨立工作,當EU不需BIU提供服務時,BIU可進行填充指令隊列的操作。三、 當8086收到INTR的高電平信號時,在當前指令執行完且I

21、F=1的條件下,8086在兩個總線周期中分別發出INTA#有效信號;在第二個INTA#期間,8086收到中斷源發來的一字節中斷類型碼;8086完成保護現場的操作,CS IP內容進入堆棧,請除IF、TF; 8086將類型碼乘4后得到中斷向量表的入口地址,從此地址開始讀取4字節的中斷處理程序的入口地址,8086從此地址開始執行程序,完成了 INTR中斷請求的響應過程。四、 LOOP1:MOV AL,BYTE PTR SIMOV ES:BYTE PTR DI, ALINC SI或:DEC SIINC DI或:DEC DILOOP LOOP1 LOOP1:MOV AL, BYTE PTR SIINC

22、SI 或:DEC SILOOP LOOP1 LOOP1:MOV ES:BYTE PTR DI, ALINC DI 或:DEC DILOOP LOOP1 LOOP1:CMP AL,ES:BYTE PTR DIJE EXITINC DI 或:DEC DILOOP LOOP1EXIT:五、1MOVAL, 80HOUT8BH,ALMOVAL,ODHOUT8BH,ALMOVAL,06HOUT8BH,al微機原理與接口技術(十)*一、填空題(每題5分,共5個題,總分25分)1、 10111B用十六進制數表示為H,八進制數表示為0。2、 微機的系統總線是連接 CPU存儲器及I/O的總線,AB表示總線,DB表

23、示總線,CB表示總線。3、 8086CPU是一個位的微處理器,具有位數據總線, 位地址總線,可尋址空間為。4、 8086CPU可分為、兩大部分。5、 用8kXl位的存儲芯片,組成 8kX16位的存儲器,需用擴展,要用片。二、(10分)8086基本總線周期是如何組成的?各狀態中完成什么基本操作?三、(10分)設采用8251A進行串行異步傳輸,每幀信息對應1個起始位,7個數據位,1個奇/偶校驗位,1個停止位,波特率為 4800,則每分鐘能傳輸的最大字符數為多少個?四、(15分)某系統中8253占用地址為100H103H初始化程序如下:MOV DX,103HMOV AL, 16HOUT DX, AL

24、SUB DX,3OUT DX, AL問:1、此段程序是給8253的哪一個計數器初始化?安排工作在哪種工作方式?2、若該計數器的輸入脈沖的頻率為 1MHZ則其輸出脈沖的頻率是多少?五、(15分)根據下列要求編寫一個匯編語言程序 代碼段的段名為COD_SG數據段的段名為DAT_SG堆棧段的段名為STK_SG變量HIGH_DAT所包含的數據為95將變量HIGH_DAT裝入寄存器 AH BH和DL 程序運行的入口地址為 START答案、1、11,212、地址,數據,系統3、16,16,16,64KB4、RAM ROM5、分段,24個時鐘(CLK)周期組成,按時間順序定義為二、基本總線周期由訪問目的地的

25、地址信號和地址鎖存選通信號ALE;期間完成數據的訪問;T4結束該總線周期。三、每幀占1+7+1+1=10位,波特率為 4800 bit/s,四、計數器0工作于方式3T1、T2、T3 T4。在 T1 期間 8086 發出T2期間發出讀寫命令信號 RD# WR及其它相關信號;T3故每分鐘能傳送的最大字符數為4800*60/10=28800個45.454KHZ五、DAT_SG SEGEMNTHIGH_DAT DB 95DAT_SG ENDS;STK_SG SEGMENTDW 64 DUPSTK_SG ENDS;COD_SG SEGMENTMAIN PROC FARASSUME CS: COD_SG,

26、 DS: DAT_SG, SS: STK_SGSTART: MOV AX, DAT-SGMOV DS, AXMOV AH, HIGH_DATMOV BH, AHMOV DL, AHMOV AH, 4CHINT 21HMAIN ENDPCOD_SG ENDSEND START數據結構(八)一、填空題(本大題共有 5個題,每題5分,共25分,將正確答案填在空格處)1. 設棧的輸入序列是1,2,,n,若輸岀序列的第一個元素是 n,則第i個輸岀元素是 2. 廣義表(a,b,c,d)的表尾是。3. 有一棵非空的二叉樹(假設第 0層為根結點),其第i層上至多有 個結點。4. 已知有序表為(12, 18,

27、24, 35, 47, 50, 62, 83, 90, 115, 134),當用折半法查找時 90時,需進行次查找可確定成功。5. 已知二維數組A10.205.10,每個數組元素占4個存儲單元,若按行優先順序存放數據元素,a105的存儲地址是 1000,則a189 的存儲地址是 。二、(本題滿分為10分)證明:樹中的結點數等于所有結點的度數加1。三、(本題滿分為10分)如圖所示有向圖,采用dijkstra算法求出從頂點0到其它頂點的最短路徑,并說明整個計算過程。*四、(本題滿分為15分)已知,一棵二叉樹中根遍歷的結點序列為DCBGEAHFIJ,先根遍歷的結點序列為ABCDEGFHJI,畫出對應

28、的二叉樹,并寫出后根遍歷的結點序列。五、(本題滿分為15分)試寫岀希爾排序的算法。答案:一、1.n-i+12.()3.2 i 4.25.1208二、根據樹的定義,在一棵樹中,除樹根結點外,每個結點有且僅有一個前驅結點,也就是說,每個結點 與指向他的一個分支一一對應,所以除樹根之外的結點數等于所有結點的分支數(度數),從而可得樹中 的結點數等于所有節點的度數加 1.(1 )選 <0,1>4( 2)選 <1,2>1(3)選 <2,5>4(4)選 <0,3>6(5 )選 <1,4>7(6)選<5,6>8 或選 <4,6&g

29、t;6四、五、見課本數據結構(九)一、填空題(本大題共有 5個題,每題5分,共25分,將正確答案填在空格處)1. 在一個長度為n的順序表中刪除第i個元素(0wi <n -1 )時,需向前移動個元素。/、Jr2. 廣義表(a) ,(b),c),(d)的長度是。3. 深度為K的完全二叉樹至少有個結點。4. 在一棵二叉樹中,度為零的結點的個數為n。,度為2的結點的個數為 ,則有n°=。5. 長度為255的表,采用分塊查找法,每塊的最佳長度是 。二、(本題滿分為10分)有7個帶權結點,其權值分別為:4, 7,8,2, 5,16,30,試以它們為葉子結點構造一棵哈夫曼樹(要求按每個結點的

30、左子樹根結點的權值小于等于右子樹根結點的權值的次序構造)三、(本題滿分為10分)在帶頭結點的單鏈表中查找數據域為x的結點,并返回首次找到的節點的序號。四、(本題滿分為15分)設有一組關鍵字(19, 01, 23,14,55, 20, 84,27,68, 11, 10,77),采用散列函數H(key)=key%13,采用開放定址法的二次探測再散列方法解決沖突,試在0到18的形式列地址空間中對該關鍵字序列構造散列表。五、(本題滿分為15分)二叉樹采用鏈式存儲結構,試設計一個算法計算一棵給定二叉樹的所有結點數。答案:一、1.n-i-12.33.2 k-14. n 2+15.15二、構造的哈夫曼樹為:

31、三、int locate(SNode *p,ElemType x) int i=0;SNode *q=pnext;while(q!=null&&q data!=x) q=q Tnext;i+;if(q=null)return(_1);else return(i);四、計算散列地址:H(19)=19%13=6H(01)=01%13=1H(23)=23%13=10H(14)=14%13=1(沖突)2H1= (1+1 )%19=2H(55)=55%13=3H(20)=20%13=7H(84)=84%13=6(沖突)H仁(6+1 2)%19=7 (沖突)H(27)=27%13=1 (沖

32、突)H1=(1+1 2)%19=2(沖突)H(68)=68%13=3 (沖突)H1=(3+1 2)%19=4H(11)=11%13=11H2=(6-1 2)%19=5H2=(1-1 2)%19=0H(10)=10%13=10 (沖突)H1=(10+1 2)%19=11 (沖突)H2=(10-1 2)%19=9H(77)=77%13=12 散列表為:10-1023ASL= (7*1+2*2+3*3 ) /12=20/12=5/3五、 int nodes(BTree *b)01234562701145568841920return(0) int num1,num2;lf(b=null)111112

33、77elsenum1=nodes(bleft);num2=nodes(bright);return(num1+num2+1);數據結構(十)、填空題(本大題共有 5個題,每題5分,共25分,將正確答案填在空格處 設某二叉樹前序為 abdcef,中序為dbaecf,則此二叉樹的后序為。2. 具有4個頂點的無向完全圖有 條邊。3. 已知二維數組A1020,每個數組元素占1個存儲單元,若按列優先順序存放數據元素,a00的存儲地址是200,則a612 的存儲地址是 。4. 具有n個結點的完全二叉樹的深度為 。5. 已知有序表為(12,18, 24,35,47,50, 62,

34、83,90,115,134),當用折半法查找時 47時,需進行次查找可確定成功。二、(本題滿分為10分)(1)將圖(a)中給定的樹轉換成二叉樹(2)將圖(b)中給定的二叉樹轉換成樹(3)將圖(c)中給定的森林轉換成二叉樹三、(本題滿分為10分)求以數據集(4, 5, 6,7,10,12,18)為結點權值所構造的哈夫曼樹,并且計 算岀其帶權路徑長度。四、(本題滿分為15分)假設查找表以單鏈表的形式存儲,試寫岀對此單鏈表進行順序查找時的實現算法。五、(本題滿分為15分)寫岀一趟快速排序的算法。答案:1. dbefca2.63.3324. L log 2n+15.4(1)( 2)(3)四、(4+5)

35、*4+ (10+6+7) *3+(18+12)*2=165structElemtype /數據元素的數據類型定義/關鍵字項keytypekey;structLnodeElemtypedata ;structLnode * next ;int seqsearch (Lnode*L ,keytypeLnode *p=L->next;int n=1;while(p&&(p->data.key!=s)p=p->next;n+;if(p) return n;else return - 1;五、int Partition(SqList &L, int low,in

36、t high)pivotkey=L.rlow.key;while(low<high)while(low<high &&L.rhigh.key>= pivotkey)-high;L.rlow <-> L.rhigh;while(low<high &&L.rhigh.key<= pivotkey)+low;L.rlow <-> L.rhigh;return low;C語言程序設計(九)、填空題。寫岀下列程序的運行結果(本題共有5小題,每小題5分,滿分25分)1. main()int a,b;a=5;a=a+4;p

37、rintf(“d ,a);b=2;a=+-b;print f( “d n” ,a);程序運行結果是:()2. # include <stdio.h>int f(int x) static y=1;y+;x += y;return x;main() int k;k=f(3);printf("%d %dn", k, f(k);程序運行結果是:()3. main() int x;x=3;do printf(“d ,x -); while(!x);程序運行結果是:()4. main() int i,j,row,col,m,a33=100,200,300,28,72,-3

38、0,-850,2,6;m=aOO;for(i=0;i<3;i+)for(j=0;j<3;j+)if(aij<m) m=aij; row=i; col=j;printf( “d,%d,%d ,m,row,col);程序運行結果是:()5. 以下fun函數的功能是將一個字符串的內容顛倒過來#include “stdio.h ”#include “string.h ”void fun(char str) int i,j,k;for(i=0,j=;i<j;i+,) k=stri;stri=strj;strj=k;二、程序設計題(本題共有3個小題,第一題10分,剩余兩題每題 20

39、分,滿分50分)1. 判斷101-200之間有多少個素數,并輸岀所有素數。2. 輸入8個整數放入一維數組 w中,輸出交換前的數組; 找出其中最小和最大數,并將他們分別與數組中 的第一個元素和最后一個元素交換位置;輸岀交換后的數組。3. 編寫一個函數,輸入 n為偶數時,調用函數求1/2+1/4+.+1/n, 當輸入n為奇數時,調用函數1/1+1/3+.+1/n答案:、1.912. 583. 34. -850,2,05. strlen(str)-1j-或-j 或 j-=11. #include "math.h" main()int m,i,k,h=0,leap=1;printf

40、("n");for(m=101;m<=200;m+) k=sqrt(m+1);for(i=2;i<=k;i+)if(m%i=0)leap=0;break;if(leap) printf("%-4d",m);h+;if(h%10=0)printf("n");leap=1;printf("nThe total is %d",h);2. #include <stdio.h>main()int w8,i,min,max,t;printf("請輸入8個整型數據:");for(i=0

41、;i<8;i+)scanf("%d",&wi);printf("交換前的數組:");for(i=0;i<8;i+)printf("%dt",wi);printf("n");min=0;for(i=1;i<8;i+)if (wi<wmin) min=i;t=wO;wO=wmin;wmin=t;printf(”交換最小值后的數組for(i=0;i<8;i+)max=O;for(i=1;i<8;i+)if (wi>wmax)t=w7;w7=wmax;wmax=t;prin

42、tf("交換最大值后的數組for(i=0;i<8;i+)printf("n");3. #include "stdio.h"main()float sum;int n;while (1)scanf("%d",&n);if(n>1)break;if(n%2=0):");printf("%dt",wi);max=i;:");printf("%dt",wi);printf("Even=");sum=dcall(peven,n);els

43、eprintf("Odd="); sum=dcall(podd,n);printf("%f",sum);float peven(int n)float s;int i;s=1;for(i=2;i<=n;i+=2)s+=1/(float)i; return(s);float podd(n)int n;float s;int i;s=0;for(i=1;i<=n;i+=2)s+=1/(float)i; return(s);float dcall(fp,n)float (*fp)();int n;float s;s=(*fp)(n);return(

44、s);C語言程序設計 (十)一、填空題。寫岀下列程序的運行結果(本題共有5小題,每小題5分,滿分25 分)1. main()int k;float s;for (k=0, s=0; k < 7; k +)s += k/2;printf("%d, %fn", k, s);程序運行結果是:()2. 函數void f(char s , char t) int k=0;等價于void f(char *s, char *t)while (3. # include <stdio.h># include <math.h>main() int a=1,b=4,

45、c=2;float x=10.5 , y=4.0 ,乙z=(a+b)/c+sqrt(double)y)*1.2/c+x;pritnf("%fn",z);程序運行結果是:(4.int fun(int *x,int n) if (n=0)return x0;else return x0+fun(x+1,n-1);while (sk=tk)k+;);main() int a=1,2,3,4,5,6,7;printf( “d , fun(a,3);程序運行結果是:()5.以下程序的功能是利用指針指向三個整型變量,并通過指針運算找岀三個數中的最大值# include <stdi

46、o.h> main() int x,y,z,max, *px, *py, *pz, *pmax;scanf( “d%d%d,&x,&y,&z);px=&x; py=&y;pz=&z;pmax=&max;if(*pmax<*py)*pmax=*py;if(*pmax<*pz)*pmax=*pz;printf(“max=%” ,max);二、程序設計題(本題共有 3個小題,第一題10分,剩余兩題每題 20分,滿分50分) £1. 寫一個函數,求一個字符串的長度,在main函數中輸入字符串,并輸岀其長度。2. 輸入8個整數放入一維數組 w中,輸出交換前的數組;找出其

溫馨提示

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

評論

0/150

提交評論