全國計算機二級考試模擬題C語言_第1頁
全國計算機二級考試模擬題C語言_第2頁
全國計算機二級考試模擬題C語言_第3頁
全國計算機二級考試模擬題C語言_第4頁
全國計算機二級考試模擬題C語言_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、公共基礎知識基本要求1.掌握算法的基本概念。2.掌握基本數據結構及其操作。3.掌握基本排序和查找算法。4.掌握逐步求精的結構化程序設計方法。5.掌握軟件工程的基本方法,具有初步應用相關技術進行軟件開發(fā)的能力。6.掌握數據庫的基本知識,了解關系數據庫的設計。考試內容一、基本數據結構與算法1.算法的基本概念;算法復雜度的概念和意義(時間復雜度與空間復雜度)。2.數據結構的定義;數據的邏輯結構與存儲結構;數據結構的圖形表示;線性結構與非線性結構的概念。3.線性表的定義;線性表的順序存儲結構及其插入與刪除運算。4.棧和隊列的定義;棧和隊列的順序存儲結構及其基本運算。5.線性單鏈表、雙向鏈表與循環(huán)鏈表的

2、結構及其基本運算。6.樹的基本概念;二叉樹的定義及其存儲結構;二叉樹的前序、中序和后序遍歷。7.順序查找與二分法查找算法;基本排序算法(交換類排序,選擇類排序,插入類排序)。二、程序設計基礎1.程序設計方法與風格2.結構化程序設計。3.面向對象的程序設計方法,對象,方法,屬性及繼承與多態(tài)性。三、軟件工程基礎1.軟件工程基本概念,軟件生命周期概念,軟件工具與軟件開發(fā)環(huán)境。2.結構化分析方法,數據流圖,數據字典,軟件需求規(guī)格說明書。3.結構化設計方法,總體設計與詳細設計。4.軟件測試的方法,白盒測試與黑盒測試,測試用例設計,軟件測試的實施,單元測試、集成測試和系統測試。5.程序的調試,靜態(tài)調試與動

3、態(tài)調試。四、數據庫設計基礎1.數據庫的基本概念:數據庫,數據庫管理系統,數據庫系統。2.數據模型,實體聯系模型及ER圖,從ER圖導出關系數據模型。3.關系代數運算,包括集合運算及選擇、投影、連接運算,數據庫規(guī)范化理 論。4.數據庫設計方法和步驟:需求分析、概念設計、邏輯設計和物理設計的相關策略??荚嚪绞?.公共基礎知識的考試方式為筆試,與C語言程序設計(C+語言程序設計、Java語言程序設計、Visual Basic語言程序設計、Visual FoxPro數據庫程序設計或Access數據庫程序設計)的筆試部分合為一張試卷,公共基礎知識部分占全卷的30分。2.公共基礎知識有l(wèi)0道選擇題和5道填空

4、題。C語言程序設計基本要求1.熟悉TURBO C集成環(huán)境。2.熟練掌握結構化程序設計的方法,具有良好的程序設計風格。3.掌握程序設計中簡單的數據結構和算法。4.TURBO C的集成環(huán)境下,能夠編寫簡單的C程序,并具有基本的糾錯和調試程序的能力??荚噧热菀?、C語言的結構1.程序的構成,MAIN函數和其他函數。2.頭文件,數據說明,函數的開始和結束標志。3.源程序的書寫格式。4.C語言的風格。二、數據類型及其運算1.C的數據類型(基本類型,構造類型,指針類型,空類型)及其定義方法。2.C運算符的種類、運算優(yōu)先級和結合性。3.不同類型數據間的轉換與運算。4.C表達式類型(賦值表達式,算術表達式,關系

5、表達式,邏輯表達式,條件表達式,逗號表達式)和求值規(guī)則。三、基本語句1.表達式語句,空語句,復合語句。2.數據的輸入與輸出,輸入輸出函數的調用。3.復合語句。4.GOTO語句和語句標號的使用。四、選擇結構程序設計1.用IF語句實現選擇結構。2.用SWITCH語句實現多分支選擇結構。3.選擇結構的嵌套。五、循環(huán)結構程序設計1.FOR循環(huán)結構。2.WHILE和DO WHILE循環(huán)結構。3.CONTINUE語句和BREAK語句。4.循環(huán)的嵌套。六、數組的定義和引用1.一維數組和多維數組的定義、初始化和引用2.字符串與字符數組。七、函數1.庫函數的正確調用。2.函數的定義方法。3.函數的類型和返回值。

6、4.形式參數與實在參數,參數值的傳遞。5.函數的正確調用,嵌套調用,遞歸調用。6.局部變量和全局變量。7.變量的存儲類別(自動,靜態(tài),寄存器,外部),變量的作用域和生存期。8.內部函數與外部函數。八、編譯預處理1.宏定義:不帶參數的宏定義;帶參數的宏定義。2.“文件包含”處理。九、指針1.指針與指針變量的概念,指針與地址運算符。2.變量、數組、字符串、函數、結構體的指針以及指向變量、數組、字符串、函數、結構體的指針變量。通過指針引用以上各類型數據。3.用指針作函數參數。4.返回指針值的指針函數。5.指針數組,指向指針的指針,MAIN函數的命令行參數。十、結構體(即“結構”)與共用體(即“聯合”

7、)1.結構體和共用體類型數據的定義方法和引用方法。2.用指針和結構體構成鏈表,單向鏈表的建立、輸出、刪除與插入。十一、位運算1.位運算符的含義及使用。2.簡單的位運算。十二、文件操作只要求緩沖文件系統(即高級磁盤I/O系統),對非標準緩沖文件系統(即低級磁盤I/O系統)不要求。1.文件類型指針(FILE類型指針)。2.文件的打開與關閉(FOPEN,FCLOSE)。3.文件的讀寫(FPUTC,FGETC,FPUTS,FGETS,FREAD,FWRITE,FPRINTF,FSCANF函數),文件的定位(REWIND,FSEEK函數)。考試方式1.筆試:120分鐘,滿分100分,其中含公共基礎知識部

8、分的30分。2.上機:60分鐘,滿分100分。上機操作包括:(1)填空。(2)改錯。(3)編程。一、選擇題(1)(10)每小題2分,(11)(50)每小題1分,共60分)下列各題A)、B)、c)、D)四個選項中,只有一個選項是正確的,請將正確的選項涂寫在答題卡相應位置上,答在試卷上不得分。(1)在數據結構中,從邏輯上可以把數據結構分為_。A)動態(tài)結構和靜態(tài)結構B)緊湊結構和非緊湊結構c)線性結構和非線性結構D)內部結構和外部結構答案:C評析:邏輯結構反映數據元素之間的邏輯關系,線性結構表示數據元素之間一對一的關系,非線性結構表示數據元素之間一對多或多對一的關系。(2)若進棧序列為l,2,3,4

9、,進棧過程中可以出棧,則下列不可能的一個出棧序列是_。A)1,4,3,2B)2,3,4,lC)3,1,4,2D)3,4, 2,1答案:C評析:棧是一種后進先出表,選項c中,先出棧的是3,說明此時棧內必然有1,2,由于l先于2進棧,所以l不可能在2之前出棧,故選項C這種出棧序列是不可能的。(3)排序方法中,將整個無序序列分割成若干小的子序列并分別進行插入排序的方法,稱為_。A)希爾排序B)冒泡排序c)插入排序D)選擇排序答案:A評析:希爾排序法的基本思想是:將整個無序序列分割成若干小的子序列分別進行插入排序。(4)在順序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法

10、查找關鍵碼值11,所需的關鍵碼比較次數為_。A)2B)3 C)4D)5答案:C評析:二分法查找是用關鍵碼與線性表的中間元素比較,然后根據比較結果來判斷是結束查找,還是在左邊或者右邊子表按相同的方法繼續(xù)查找。本題中,與ll比較的關鍵碼分別為15,8,10,12四個。(5)對于n個結點的單向鏈表(無表頭結點),需要指針單元的個數至少為_。A)n-1B)nC)n+lD)2n答案:C評析:在n個結點的單向鏈表(無表頭結點)中,每個結點都有一個指針單元(即指針域),加上頭指針,至少需要n+1個指針單元。(6)在軟件開發(fā)過程中,軟件結構 設計 是描述_。A)數據存儲結構 B)軟件體系結構C)軟件結構測試D

11、)軟件控制過程答案:B評析:從工程管理角度來看,軟件設計分兩步完成:概要設計和詳細設計。概要設計(又稱結構設計)將軟件需求轉化為軟件體系結構、確定系統級接口、全局數據結構或數據庫模式。(7)模塊本身的內聚是模塊獨立性的重要性度量因素之一。在7類內聚中,具有最強內聚的一類是_。A)順序性內聚 B)過程性內聚c)邏輯性內聚D)功能性內聚答案:D評析:內聚性是一個模塊內部各元素間彼此結合的緊密程度的度量。內聚共有7類,它們之間的內聚性由弱到強排列順序為:偶然內聚、邏輯內聚、時間內聚、過程內聚、 通信 內聚、順序內聚和功能內聚。(8)數據存儲和數據流都是_,僅僅是所處的狀態(tài)不同。A)分析結果B)事件C

12、)動作D)數據答案:D評析:數據流圖有4種成分:源點或終點、處理、數據存儲和數據流。數據存儲是處于靜止狀態(tài)的數據,數據流是處于運動中的數據。(9)數據的完整性是指數據的正確性、有效性和_。A)可維護性B)獨立性C)安全性D)相容性答案:D評析:數據模型的完整性規(guī)則是給定的數據模型中數據及其聯系所具有的制約和依存規(guī)則,用以限定符合數據模型的數據庫狀態(tài)及其狀態(tài)的變化,以保證數據的正確性、有效性和相容性。(10)關系代數運算是以_為基礎的運算。A)關系運算B)謂詞運算c)集合運算 D)代數運算答案:C評析:關系代數運算是以關系代數作為運算對象的一組高級運算的集合。它的基本操作是并、交、差、笛卡爾積,

13、另外還包垂直分割(投影)、水平分割(選擇)、關系的結合(連接)等。(11)能將高級語言程序轉換成目標語言程序的是_。A)調試程序B)解釋程序C)編譯程序D)編輯程序答案:C評析:用高級語言編寫的程序稱為源程序,而計算機只能識別和執(zhí)行由0和l組成的二進制指令,所以高級語言必須先用一種稱為編譯程序的軟件,把源程序翻譯成二進制形式的目標程序。(12) _是構成c語言程序的基本單位。A)函數B)過程c)子程序 D)子例程答案:A評析:c程序是由函數構成的。一個c源程序至少包含一個main函數,也可以包含一個main函數和若干個其他函數,因此,函數是c程序的基本單位。(13)可以在C語言中用做用戶標識符

14、的是_。A)voidB)as_b3C)forD)2cdefine_123 -abcDoWORD Ifcas SIG答案:B評析:c語言規(guī)定,標識符只能由字母、數字和下劃線三種符號組成,而且第一個字符必須是字母或下劃線。另外還需要注意的是關鍵字不能作標識符。選項A中void,C中for都為關鍵字,D中2c以字母開頭。(14)若有以下類型說明語句:char w;int x;float y,z;則表達式w*x+z-y的結果為_類型。A)floatB)char C)int D)double答案:A評析:在進行運算時,不同類型的數據參加運算,需要先將其轉換成同一類型的數據,然后再進行運算。轉換的順序由低

15、到高為:char,shortintunsignedlongdoublefloat,故結果為float型。(15)main()float x=123A56;printf(-52fn,x);以上程序輸出的結果是_。A)1234B)1235C)12345D)12346答案:D評析:f格式符,用來輸出實數,以小數形式輸出。-mnf的含義是:輸出數據共占m列,其中n位小數,如果輸出位數小于m。則右端補空格。如果總長度大于列數,則按實際情況四舍五入輸出。(16)下面語句的輸出結果是_。Printf(dn,strlen(t065xffn);A)14B)8C)5 D)輸出項不合法,無正常輸出答案:C評析:在c

16、語言中,以開頭的字符均為轉義字符,其中后可跟l3位八進制數或在后跟字母x及l(fā)2位十六進制數,以此來代表一個特定的字符。(17)下列程序的輸出結果是_。main()int a=0,b=0,c=0;if(+a0lI+b0)+c;printf(na=d,b=d,c=d,a,b,c);A)a=0,b=0,c=0 B)a=l,b=l,c=1C)a=l,b=O, c=I D)a=0, b=1c=1答案:C評析:是或運算,它有個短路的特點需特別注意,當運算符左邊的表達式的值為真時,則程序就不再對右邊的表達式的值進行運算,而是使得整個表達式的值直接為真。(18)下列程序的輸出結果是_。Main()int i;

17、for(i=1;i+l;i+)if(i4)printlf(d,i+);break;printf(d,i+);A)55B)56c)程序錯誤,沒有輸出D)循環(huán)條件永遠為真,死循環(huán)答案:B評析:本程序中有個for循環(huán),但注意到for循環(huán)的條件是i+l,也就是只要i+l的值為真(非零值均為真),就執(zhí)行循環(huán)。當i=l的時,i+l的值為真,判斷if條件不成立,執(zhí)行i+,輸出i的值為5。(19)下列程序的輸出結果是_。#define A 100main()int i=O,sum=O;doif(I=(i2)*2)continue;sum+=i;while(+iprintf(dn,sum);A)2500B)20

18、50C)4D)O答案:A評析:本題程序的功能是求1到_99之問(包括1和99)所有奇數之和。程序中的while循環(huán)的終止條件為+i=100,在while循環(huán)體內,如果i是偶數,則執(zhí)行continue,跳過這一次循環(huán),執(zhí)行下一次循環(huán),否則求和。最后輸出的值是1到99之間(包括l和99)所有奇數之和(1+99)*502=2500。 (20)下列程序的輸出結果是_。main()int I=3;switch(i) case 1:case 2:printf(d,i);case 3:case 4:break;default:printf(OK);A)0B)3C)OKD)沒有任何輸出答案:D評析:在題中,i

19、的值為3,由于case 3:后面沒有break語句,所以繼續(xù)向下執(zhí)行case 4:后面的語句,由于case 4:后面的語句為break強行退出switch語句,所以,本題沒有任何輸出。(21)下列程序執(zhí)行后的輸出結果是_。main()int m3=1,4,7,2,5,8,3,6,9;int i,k=2:for(I=0;i3;i+)printf(d,mki);A)456B)258C)369D)789答案:C評析:根據二維數組的定義得出:mOO=1,mO1=4,mO2=7,m10=2,rail1=5,m12=8,m20=3,m2l=6,m22=9,所以本題的輸出是第3行的值m20,m21,m22,

20、即369。(22)設已定義洱口k為int類型變量,則以下for循環(huán)語句_。for(i=0;k=-1,k=1;i+,k+)printf(*n);A)判斷循環(huán)結束的條件不合法B)是無限循環(huán)C)循環(huán)一次也不執(zhí)行D)循環(huán)只執(zhí)行一次答案:B評析:本題定義了一個for循環(huán),循環(huán)變量是i,但由于本題并沒有設置循環(huán)條件,所以循環(huán)的條件永遠默認為真,即無限次執(zhí)行循環(huán)。(23)下面程序的輸出結果是_。unsigned fun(unsigned num) unsigned k=1;dok*=numlO;num=lO;while(num);return(k);main()unsigned n。26;printf(dn

21、,fun(n);A)0B)4c)12D)無限次循環(huán)答案:C評析:本題定義了一個fun函數,用于num求和,具體執(zhí)行過程如下:num=26:k=k*(num10)=1*(2610),所以k=6,num=num10=2;num=2:k=k*(num10)=6*(210),所以k=12,num=numlO=O;num=O:while條件不成立,所以返回k的值12(24)已知字母A的ASCII碼值是65,字母a的ASCII碼值是97,以下程序_。main()char a=A;int b=20;printf(d,o,(a=a+a,a+b,b),a+a-A,b);A)表達式非法,輸出零或不確定值B)因輸出

22、項過多,無輸出或輸出不確定值C)輸出結果為20,141D)輸出結果為20,141,20答案:C評析:本題中首先輸出逗號表達式a=a+a,a+b,b的值,即20。然后以八進制的形式輸出a+a-A的值為97對應的八進制數141,由于最后一個表達式b沒有對應輸出格式的輸出項表列就不會輸出。(25)C語言函數返回值的類型是由_決定的。A)return語句中的表達式類型B)調用函數的主調函數類型c)調用函數時臨時 D)定義函數時所指定的函數類型答案:D評析:函數值的類型應當是在定義函數時指定的。在定義函數時對函數值說明的類型一般應該和return語句中的表達式類型一致,如果不_致,則以函數類型為準,即函

23、數類型決定返回值的類型。2一、選擇題(1)(10)每小題2分,(11)-(50)每小題1分,共60分)下列各題A)、B)、c)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應位置上,答在試卷上不得分。(1)下面敘述正確的是_。A)算法的執(zhí)行效率與數據的存儲結構無關B)算法的空間復雜度是指算法程序中指令(或語句)的條數C)算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止D)算法的時間復雜度是指執(zhí)行算法程序所需要的時間答案:C評析:算法的設計可以避開具體的計算機程序設計語言,但算法的實現必須借助程序設計語言中提供的數據類型及其算法。數據結構和算法是計算機科學的兩個重要支柱。(

24、2)以下數據結構屬于非線性數據結構的_。A)隊列B)線性表C)二叉樹D)棧答案:C評析:線性表、棧和隊列等數據結構所表達和處理的數據以線性結構為組織形式。棧又稱后進先出表(Last In First Out);隊列又稱先進先出表(First:In First Out)。二叉樹的數據結構是樹型結構,結構中數據元素之間存在著一對多的關系,因此它是一種非線性數據結構。(3)在一棵二叉樹上第8層的結點數最多是_。A)8B)16C)128D)256答案:C評析:根據二叉樹的性質:二叉樹第i(i1)層上至多有2i-1個結點。得到第8層的結點數最多是128。(4)下面描述中,不符合結構化程序設計風格的是_。

25、A)使用順序、選擇和重復(循環(huán))三種基本控制結構表示程序的控制邏輯B)自頂向下C)注重提高程序的執(zhí)行效率D)限制使用goto語句答案:C評析:結構化程序設計方法的四條原則是:1自項向下;2逐步求精;3模塊化;4限制使用goto語句。(5)下面概念中,不屬于面向對象方法的是_。A)對象、消息 B)繼承、多態(tài)c)類、封裝D)過程調用答案:D評析:面向對象方法是一種運用對象、類、封裝、繼承、多態(tài)和消息等概念來構造、測試、重構軟件的方法。面向對象方法從對象出發(fā),發(fā)展出對象、類、消息、繼承等概念。(6)在結構化方法中,用數據流程圖(DFD)作為描述工具的軟件開發(fā)階段是_。A)可行性分析B)需求分析c)詳

26、細設計D)程序編碼答案:B評析:軟件開發(fā)階段包括需求分析、總體設計、詳細設計、編碼和測試五個階段。其中需求分析階段常用的工具是數據流圖和數據字典。7)軟件生命周期中所花費用最多的階段是_。A)詳細設計B)軟件編碼c)軟件測試D)軟件維護答案:D評析:軟件生命周期分為軟件定義、軟件開發(fā)及軟件運行維護3個階段。本題中詳細設計、軟件編碼和軟件測試都屬于軟件開發(fā)階段;維護是軟件生命周期的最后一個階段。(8)數據庫系統的核心是_。A)數據模型B)DBMSC)軟件工具D)數據庫答案:B評析:數據庫管理系統DBMS是數據庫系統的核心。DBMS是負責數據庫的建立、使用和維護的軟件。DBMS建立在 操作系統 之

27、上,實施對數據庫的統一管理和控制。用戶使用的各種數據庫命令以及應用程序的執(zhí)行,最終都必須通過DBMS。(9)下列敘述中正確的_。A)數據處理是將信息轉化為數據的過程B)數據庫設計是指設計數據庫管理系統c)如果一個關系中的屬性或屬性組并非該關系的關鍵字,但它是另一個關系的關鍵字,則稱其為本關系的外關鍵字D)關系中的每列稱為元組,一個元組就是一個字段答案:C評析:數據處理是指將數據轉換成信息的過程,故選項A敘述錯誤;設計數據庫的目的實質上是設計出滿足實際應用需求的實際關系模型;關系中的行稱為元組,對應存儲文件中的記錄,關系中的列稱為屬性,對應存儲文件中的字段,故D選項敘述錯誤。(10)下列模式中,

28、_是用戶模式。A)內模式B)外模式C)概念模式D)邏輯模式答案:B評析:數據庫管理系統的三級模式結構由外模式、模式和內模式組成。外模式,指數據庫用戶所看到的數據結構,是用戶看到的數據視圖。模式,是數據庫中對全體數據的邏輯結構和特性的描述,是所有用戶所見到的數據視圖的總和。內模式是指數據在數據庫系統內的存儲介質上的表示,即對數據的物理結構和存取方式的描述。(11)C語言規(guī)定,程序中各函數之間_。A)既允許直接遞歸調用也允許間接遞歸調用B)不允許直接遞歸調用也不允許間接遞歸調用C)允許直接遞歸調用不允許間接遞歸調用D)不允許直接遞歸調用允許間接遞歸調用答案:A評析:c語言規(guī)定,程序中各函數之間既允

29、許直接遞歸調用也允許間接遞歸調用。(12)在使用程序流程圖來表示算法時,菱形用來表示_。A)輸入與輸出B)子程序C)判斷分支D)循環(huán)邊界答案:C評析:美國國家標準化協會ANSI規(guī)定了一些常用的流程圖符號,其中橢圓框表示起止框,方框表示處理框,菱形框表示判斷分支,箭頭表示流程線。(13)C語言中下列敘述正確的是_。A)不能使用dowhile語句構成的循環(huán)B)dowhile語句構成的循環(huán),必須用break語句才能退出C)dowhile語句構成的循環(huán),當while語句中的表達式值為非零時結束循環(huán)D)dowhile語句構成的循環(huán),當while語句中的表達式值為零時結束循環(huán)答案:D評析:選項A是錯誤的,

30、c語言支持d0while語句;選項B是錯誤的,dowhile構成的循環(huán),當while語句中的表達式值為零時結束循環(huán),而不是非零;選項c也是錯誤的。(14)以下選項中屬于C語言的數據類型是_。A)復數型B)邏輯型C)雙精度型D)集合型答案:C評析:c語言的數據類型分為基本類型、構造類型、指針類型、空類型四大類。其中,基本類型分為整型、字符型、實型三類。實型又稱浮點型,包括單精度型和雙精度型兩種類型。(15)在C語言中,不正確的int類型的常數是_。A)32768B)0C)037 D)0xAF答案:A評析:c語言中int類型的常數的范圍是:-3276832767。c整常數可用三種形式表示:十進制整

31、數,八進制整數,十六進制整數。選項A超出范圍,不正確。main()int a=65535;printf(du,a,a);A)-1 -1B)65535 65535 C)-1 65535D)65535 -l答案:C評析:printf函數中不同類型的數據用不同的格式字符,其中d是按整型數據的實際長度輸出十進制整數。變量a=65535以d格式輸出時溢出輸出值為該數的補碼值,即1;u用來輸出unsigned型數據,無符號整型變量的數值范圍為065535,所以變量a=65535以u格式輸出的值為65535。(17)下列描述中不正確的是_。A)字符型數組中可以存放字符串B)可以對字符型數組進行整體輸入、輸出

32、c)可以對整型數組進行整體輸入、輸出D)不能在賦值語句中通過賦值運算符=對字符型數組進行整體賦值答案:C評析:c語言規(guī)定只能逐個引用數組元素而不能一次引用整個數組。字符數組的輸入、輸出可以將整個字符串一次輸入或輸出。所以,選項c的說法是不正確的。(18)以下程序的輸出結果是_。main()int i,x33=9,8,7,6,5,4,3,2,1,*p=&x11;for(I=0;i=b=0)&(aOb=0&b=O)&(a0&b0)&(a+b0答案:D評析:選項A中,表達式表示的是a,b為異號;選項B中,表達式表示的是0,因為沒有滿足條件的值;選項c中,表達式表示的是0,因為沒有滿足條件的值;選項D

33、表示的是a和b為同號。(24)若己定義:int a9,*p=a;并在以后的語句中未改變p的值,不能表示al地址的表達式是_。A)p+lB)a+lC)a+D)+p答案:C評析:數組名是指針常量,是個固定的指針,不能對數組名賦予一個新的地址值,也不能使這個指針常量移動,指向數組的其它元素。(25)以下程序的輸出結果是_。main() int a=-1,b=1,k;if(+a0)&!(b-=0)printf(ddn,a,b);elseprintf(ddn,b,a)A)-1lB)0lC)10 D)00答案:C評析:邏輯運算符的優(yōu)先次序如下:!(非)&(與)(或),但本題需特別、注意的是短路的概念。3一

34、、選擇題(1)(10)每小題2分,(11)-(50)每小題1分,共60分)下列各題A)、B)、c)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應位置上,答在試卷上不得分。(1)算法的時間復雜度是指_。A)執(zhí)行算法程序所需要的時間B)算法程序的長度C)算法執(zhí)行過程中所需要的基本運算次數D)算法程序中的指令條數答案:C評析:所謂算法的時間復雜度,是指執(zhí)行算法所需要的計算工作量。(2)下列敘述中正確的是_。A)線性表是線性結構 B)棧與隊列是非線性結構C)線性鏈表是非線性結構 D)二叉樹是線性結構答案:A評析:一般將數據結構分為兩大類型:線性結構與非線性結構。線性表、棧與隊列、

35、線性鏈表都是線性結構,而二叉樹是非線性結構。(3)下面關于完全二叉樹的敘述中,錯誤的是_。 A)除了最后一層外,每一層上的結點數均達到最大值B)可能缺少若干個左右葉子結點C)完全二叉樹一般不是滿二叉樹D)具有結點的完全二叉樹的深度為log2n+1答案:B評析:滿二叉樹指除最后一層外每一層上所有結點都有兩個子結點的二叉樹。完全二叉樹指除最后一層外,每一層上的結點數均達到最大值,在最后一層上只缺少右邊的若干子結點(葉子結點)的二叉樹。(4)結構化程序 設計 主要強調的是_。A)程序的規(guī)模 B)程序的易讀性c)程序的執(zhí)行效率 D)程序的可移植性答案:B評析:結構化程序設計主要強調的是結構化程序清晰易

36、讀,可理解性好,程序員能夠進行逐步求精、程序證明和測試,以保證程序的正確性。(5)在軟件生命周期中,能準確地確定軟件系統必須做什么和必須具備哪些功能的階段是_。A)概要設計B)詳細設計C)可行性分析D)需求分析答案:D評析:需求分析是對待開發(fā)軟件提出的需求進行分析并給出詳細定義,即準確地確定軟件系統的功能。編寫軟件規(guī)格說明書及初步的用戶手冊,提交評審。(6)數據流圖用于抽象描述一個軟件的邏輯模型,數據流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬于數據流圖合法圖符的是_。A)控制流B)加工C)數據存儲D)源和潭答案:A評析:數據流圖從數據傳遞和加工的角度,來刻畫數據流從輸入到輸出的移動變換

37、過程。數據流圖中的主要圖形元素有:加工(轉換)、數據流、存儲文件(數據源)、源和潭。(7)軟件需求分析一般應確定的是用戶對軟件的_。A)功能需求B)非功能需求C)性能需求D)功能需求和非功能需求答案:D評析:軟件需求分析中需要構造一個完全的系統邏輯模型,理解用戶提出的每一功能與性能要求,是用戶明確自己的任務。因此,需求分析應確定用戶對軟件的功能需求和非功能需求。(8)下述關于數據庫系統的敘述中正確的是_。A)數據庫系統減少了數據冗余B)數據庫系統避免了一切冗余C)數據庫系統中數據的一致性是指數據類型的一致D)數據庫系統比文件系統能管理更多的數據答案:A評析:由數據的共享自身又可極大地減少數據冗

38、余性,不僅減少了不必要的存儲空間,更為重要的是可以避免數據的不一致性。所謂數據的一致性是指在系統中同一數據的不同出現應保持相同的值。(9)關系表中的每一橫行稱為一個_。A)元組B)字段C)屬性D)碼答案:A評析:在關系數據庫中,關系模型采用二維表來表示,簡稱表。二維表是由表框架及表元組組成。在表框架中,按行可以存放數據,每行數據稱為元組。(10)數據庫設計包括兩個方面的設計內容,它們是_。A)概念設計和邏輯設計B)模式設計和內模式設計C)內模式設計和物理設計D)結構特性設計和行為特性設計答案:A評析:數據庫設計可分為概念設計與邏輯設計。概念設計的目的是分析數據間內在語義關聯,在此基礎上建立一個

39、數據的抽象模型。邏輯設計的主要工作是將ER圖轉換為指定的RDBMS中的關系模型。(11)請讀程序:#includemain()int a;float b,c;scanf(2d3P%4f,&a,&b,&c);printf(na=d,b=ec。fn,a,b,c);若運行時從鍵盤上輸入l,則上面程序的輸出結果是_。A)a=98,b=765,c=432 1B)a=1 0,b=432,c=8765C)a=98,b=765,c=432 1D)a=98,b=7650,c=432 10答案:C評析:scanf()把用戶從鍵盤錄入的數字的第1、2位存入整型變量a;把第3、4、5位存入單精度實型變量b,把第6、7

40、、8、9位存入單精度實型變量c,用戶錄入的第10位被scanf()遺棄。這時變量a、b、c的值分別為:98、765、4321。(12)一個良好的算法由下面的基本結構組成,但不包括_。A)順序結構B)選擇結構c)循環(huán)結構)跳轉結構答案:D評析:1966年,Bohra和Jacopini提出了以下三種基本結構,用這三種基本結構作為表示一個良好算法的基本單元:1、順序結構;2、選擇結構;3、循環(huán)結構。(13)請選出以下程序的輸出結果_。#includesub(x,y,z)int x,y,*z:*z=y-x;main()int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b

41、,&c);printf(d,d,dn,a,b,c);A)5,2,3B)-5,-12,-7C)-5,-12,-17D)5,-2,-7答案:B評析:sub()函數的作用是將形參y和x的差賦給了z指向的那個內存地址,所以在sub(10,5,&aI,10和5屬于值傳遞,a是屬于地址傳遞,也就是a與z指向了同一個存儲單元,在執(zhí)行函數后,a的值隨*z變化,所以此次函數被調用后,a的值為y-x=-5,同理可知,在sub(7,a,&b)后,b的值發(fā)生變化,其值為-5-7=-12,在sub(a,b,&c)后,c的值發(fā)生變化,其值為-12-(-5)=-7。(14)下面程序在屏幕上的輸出是_。main()print

42、f(abbb c);A)abbb cB)a cC)abcD)ab c答案:B評析:c語言中允許使用一種特殊形式的字符常量,、就是以一個開頭的字符序列,這樣的字符稱為轉義字符。常用的轉義字符有:n,換行;t,水平制表;b,退格;r,回車。(15)若x是整型變量,pb是基類型為整型的指針變量,則正確的賦值表達式是_。A)pb=&x;B)pb=x;C)*pb=&x;D)*pb=*x答案:A評析:選項A將變量x的地址賦給指針變量pb,使pb指向x選項B是將x的值當作地址賦給指針pb,Db指向一個地址等于x值的內存單元;選項c將x的地址賦給指針pb指向的地址等于x的內存單元。(16)設整型數i=5,則p

43、rintf(d,i+i);的輸出為_。A)10B)1lC)12D)語法錯誤答案:D評析:c語言中有基本的算術運算符(+、-、*、)還包括自增自減運算符(+、-),在c語言解析表達式時,它總是進行貪婪咀嚼,這樣,該表達式就被解析為i+ + +i,顯然該表達式不合c語言語法。(17)若要用下面的程序片段使指針變量p指向一個存儲整型變量的動態(tài)存儲單元int*p;p=_malloc(sizeof(im);則應填入_。A)intB)int C)(*int)D)(int*)答案:D評析:不論p是指向什么類型的指針變量,都可以通過強制類型轉換的方法使之類型一致,強制類型轉換的格式為(數據類型+)。(18)下

44、面程序輸出的結果是_。main()int i=5,J=9,x;x=(I=j?i:(j=7);printf(nd,d,I,J);A)5,7B)5,5C)語法錯誤D)7,5答案:A評析:條件表達式的一般形式為:表達式I?表達式2:表達式3;先求解表達式1,若為真則求解表達式2;若表達式l的值為假,則求解表達式3。本題中先判斷i=j,不等,執(zhí)行j=7;然后執(zhí)行x=7。故本題為A。(19)若執(zhí)行下面程序時從鍵盤上輸入5,main()int x:scanf(d,&x);if(x+5)printf(dn,x);else printf(dn,x-);則輸出是_。A)7B)6C)5D)4答案:B評析:根據c語言的語法,x+是在使用x之后,再將x的值加1,在if語句中,x的值為5,條件不成立,執(zhí)行else后面的語句,因為x的值已經加1,為6,所以打印結果為6。(20)若有以下定義和語句:int a=l,2,3,4,5,6,7,8,9,10,*p=a;則值為3的表達式是_。A)p+=2,*(p+)B)p+=2,*+pC)p+=3,*p+D)p+=2,+*p答案:A評析:引用一個數組元素,可以用:(1)下標法,如ai形式;(2)指針法,如*(a+i)或

溫馨提示

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

評論

0/150

提交評論