- 相關推薦
2016年9月計算機二級C語言選擇題及答案
(1)設棧的存儲空間為S(1:m),初始狀態為top=m+1。經過一系列入棧與退棧操作后,top=1。現又要將一個元素進棧,棧頂指針t叩值變為( )。‘
A.發生棧滿的錯誤
B.2
C.m
D.0
(2)下列敘述中正確的是( )。
A.解決同一個問題的不同算法的時間復雜度一般是不同的
B.解決同一個問題的不同算法的時間復雜度必定是相同的
C.對同一批數據作同一種處理,如果數據存儲結構不同,不同算法的時間復雜度肯定相同
D.對同一批數據作不同的處理,如果數據存儲結構相同,不同算法的時間復雜度肯定相同
(3)下列處理中與隊列有關的是( )。
A.操作系統中的作業調度
B.執行程序中的過程調用
C.執行程序中的循環控制
D.---X樹的遍歷
設--X樹共有150個結點,其中度為l的結點有l0個,則該---X樹中的葉子結點數為( )。
A.71
B.70
C.69
D.不可能有這樣的二叉樹
(5)非空循環鏈表所表示的數據結構( )。
A.有根結點也有葉子結點
B.沒有根結點但有葉子結點
C.有根結點但沒有葉子結點
D.沒有根結點也沒有葉子結點
(6)i殳Z.X樹中共有31個結點,其中的結點值互不相同。如果該二叉樹的后序序列與中序序列相同,該二叉樹的深度為( )。
A.31
B.16
C.17
D.5
(7)在最壞情況下,堆排序的時間復雜度是( )。
A.0(1902n)
B.O(nl092n)
C.o(n2)
D.0(nl.5)
軟件按功能可以分為應用軟件、系統軟件和支撐軟件(或工具軟件)。下面屬于系統軟件的是( )。
A.學籍管理系統
B.ERP系統
C.C編譯程序
D.CAl軟件
(9)存儲在計算機內有結構的數據集合是( )。
A.數據庫
B.數據庫系統
C.數據庫管理系統
D.數據結構
(10)在數據庫技術中,為提高數據庫的邏輯獨立性和物理獨立性,數據庫的結構被劃分成用戶級、存儲級和( )。
A.概念級
B.外部級
C.管理員級
D.內部級
(11)以下敘述錯誤的是( )。
A.一個算法所包含的操作步驟應該是有限的
B.任何能通過編譯和運行的算法都一定能得到所期望的結果
C.算法中每一條指令必須有確切的含義
D.算法可以用各種描述方法來進行描述
(12)以下是正確C語言實型常量的是( )。
A..e—l
B.e一1
C.一le
D.1e一1
(13)以下敘述正確的是( )。
A.在c語言中分號是語句的組成部分
B.c語言程序由c語句組成,可以省略main函敷
C.分號是C語句之間的分隔符
D.所有程序行都必須用分號結束
(14)若有定義:doublea,b,c;能正確給a,b,c輸入數據的語句是( )。
A.seanf(”%lf%1f%1P‘&a,&b,&C.;
B.scanf(-t%f%f%f¨,&a,&b。&C.:
C.scanf(”%If%lf%lf’,a,b,C.;
D.scanf(”%lf%lf%lf'’,&a,&b,&C.;(15)有以下程序:
程序運行后的輸出結果是( )。
I
B.J
C.K
D.H
(16)設有定義:doublex=5.16894;,則語句prinff(”%If\n”,(int)(x$1000+0.5)/1000.);的輸出結果
是( )。
A.5.16900
B.5.16800
C.0.00000
D.輸出格式說明符與輸出項不匹配,產生錯誤信息
(17)有以下程序:
程序輸出( )。‘
編譯有錯
B.0,0,0,3
C.1,1,2,0
D.0,1,2,0
(18)有以下程序:
程序運行后的輸出結果是( )。
A.0,1
B.0,0
C.1,一l
D.0,2
(19)有以下程序:,
執行時輸人:6<回車>,則輸出結果是( )。
A.6
B.8
C.7
D.5
(20)有以下程序:
程序運行后的輸出結果是( )。
A.CB
B.BCA
C.CCBB.
D.CDBCA
更多計算機二級C語言試題推薦:
>>>參考答案與解析<<<
(1)A
【解析】棧是一種特殊的線性表,它所有的插入與刪除都限定在表的同一端進行。人棧運算即在棧頂位置插入一個新元素,退棧運算即是取出棧頂元素賦予指定變量。題目中初始狀態為top=m+1,可知入棧棧頂指針top=top一1,出棧棧頂指針top=top+1,由于棧長為rn,當top=1時棧滿,不能再進行人棧操作。故選A選項。
(2)A
【解析】算法的時間復雜度是指執行算法所需要的計算工作量,而計算工作量是用算法所執行的基本運算次數來度量的。解決同一個問題的不同算法的時間復雜度,可能相同也可能不相同。算法的時間復雜度與數據存儲結構無關。對同一批數據作同一種處理或者不同處理,數據存儲結構相同或者不同,算法的時間復雜度都可能相同或者不同。故選A選項。
(3)A
【解析】隊列是指允許在一端進行插入,而在另一端進行刪除的線性表。由于最先進入隊列的元素將最先出隊,所以隊列具有“先進先出”的特性,體現了“先來先服務”的原則。作業調度是指根據一定信息,按照一定的算法,從外存的后備隊列中選取某些作業調入內存分配資源并將新創建的進程插入就緒隊列的過程。執行程序中的過程調用一般指函數調用,需要調用時候轉入被調用函數地址執行程序,與隊列無關。執行程序中的循環控制是指算法的基本控制結構,包括對循環條件的判定與執行循環體,與隊列無關。二叉樹是一個有限的結點集合,二叉樹的遍歷是指不重復地訪問二叉樹中的所有結點,與隊列無關。故本題選擇A選項。
(4)D
【解析】在樹結構中,一個結點所擁有的后件個數稱為該結點的度,所有結點中最大的度稱為樹的度。對任何一棵二叉樹,度為0的結點總是比度為2的結點多一個。如果有一棵二叉樹,結點總數為l50,假設度為0的結點個數為n,則有n+10+n一1=150,n=70.5,由于結點個數必須是整數,所以不可能有題目中這樣的二叉樹。故選擇D選項。
(5)A
【解析】在單鏈表的第一個結點前增加一個表頭結點,隊頭指針指向表頭結點,最后一個結點的指針域的值由NULL改為指向表頭結點,這樣的鏈表稱為循環鏈表。循環鏈表是線性結構,有且只有一個根結點,每一個結點最多有一個前件,也最多有一個后件。循環鏈表表頭結點為根結點,鏈表的最后一個結點為葉子節點,雖然它含有一個指向表頭結點的指針,但是表頭結點并不是它的一個后件。故選擇A選項。
(6)A
【解析】二叉樹遍歷可以分為3種:黃序遍歷(訪問根結點在訪問左子樹和訪問右子樹之前)、中序童歷(訪問根結點在訪問左子樹和訪問右子樹兩者之問)、后序童歷(訪問根結點在訪問左子樹和訪問右子樹之后)。由結點售互不相同而后序序列與中序序列相同,可知該二叉樹所有的結點都沒有右子樹,所以31個結點的二叉樹深度為31:故選A選項。
(7)B
【解析】若有n個元素的序列,將元素接腰序組成一棵完全二叉樹,當且僅當滿足下列條件時稱為堆。大根堆是指所有結點的值大于或等于左右子結點的值;小掇堆是指所有結點的值小于或等于左右子結點的值。在調整建堆的過程中,總是將根結點值與左、右子樹的根結點進行比較,若不滿足堆的條件,則將左、右子樹根結點值中的大者與根結點值進行交換。堆排序最壞情況需要0(nl092n)次比較,所以時間復雜度是0(nl092n),B選項正確。
(8)C
【解析】計算機軟件按功能分為應用軟件、系統軟件、支撐軟件(或工具軟件)。系統軟件是管理計算機的資源,提高計算機的使用效率,為用戶提供各種服務的軟件。應用軟件是為了應用于特定的領域而開發的軟件。支撐軟件介于系統軟件和應用軟件之間,協助用戶開發軟件的工具型軟件,其中包括幫助程序人員開發和維護軟件產品的工具軟件,也包括幫助管理人員控制開發進程和項目管理的工具軟件,如Dephi、PowerBuilder等。選項c屬于系統軟件,選項A、B、D屬于應用軟件,故選c選項。
(9)A
【解析】數據庫是指長期存儲在計算機內的、有組織的、可共享的數據集合。數據庫系統是由數據庫及其管理軟件組成的系統,是應用軟件。數據庫管理系統是數據庫系統的核心,它位于用戶與操作系統之間,屬于系統軟件。數據結構是計算機存儲、組織數據的方式。故本題選A選項。
(10)A
【解析】數據庫系統在其內部分為三級模式,即概念模式、內模式和外模式。概念模式是數據庫系統中全局數據邏輯結構的描述,全體用戶的公共數據視圖。外模式也稱子模式或者用戶模式,是用戶的數據視圖,也就是用戶所能夠看見和使用的局部數據的邏輯結構和特征的描述,是與某一應用有關的數據的邏輯表示。內模式又稱物理模式,是數據物理結構和存儲方式的描述,是數據在數據庫內部的存儲方式。所以數據庫的結構被劃分成用戶級、存儲級和概念級。故選A選項。
(11)B
【解析】算法的特點:零個或多個輸入,至少一個輸出,可行性(能編程實現),有窮性(有限步出結果),確定性(描述不能有歧義)。可知選項A,c,D正確。c語言中。通過編譯,可以運行的程序,不一定符合題目的本意,因此即使可以運行得到結果,也不一定和預期的結果一樣,否則就不需要調試和修改程序了,故B選項錯誤。答案為B選項。
(12)D
【解析】所謂常量是指在程序運行過程中,其值不能被改變的量。在C語言中,有整型常量、實型常量、字符常量和字符串常量等類型。實型常量有兩種表示形式:十進制小數形式、指數形式。指數形式中e后面的指數必須是整數,階碼標志e之前需要有數字,由此可知選項A,B,C錯誤。答案為D選項
(13)A
【解析】C程序的人口函數是main(),C程序中有且只有一個main函數,故選項8錯誤。分號是c語言一條語句的結束標志,不是分隔符,c語言分隔符是用來分隔多個變量、數據項、表達式等的符號,包括逗號、空白符、分號和冒號等,選項C錯誤。c語言的程序不是以分號結束的,因為c語言是面向過程的,從main函數開始在main函數里結束,選項D錯誤。故答案為A選項。
(t4)D
【解析】%If,%le是針對double類型的,如果僅用%f,輸入的數據可能不完全接收,數據的精度可能不足。%f主要針對tloat類型的變量輸入,因此選項8錯誤。根據題目格式可知選項A,C錯誤。故答案為D選項。
(15)B
【解析】研n仃(”%e\n”,’A’+x),x=ox9(16)轉為十進制x=9,因此prinff(”%e\n”,7A’+9),打印格式要求是%c,因此需要從字符A,按字母順序向后偏移9個位置,可得結果為J。故答案為B選項。
(16)A
【解析】(x}1000+0.5)表示x移動3位小數,細0.5,也就是小數第4位加5,若這位大于等于5,則進1到個整。因為“5.16894}1000 5168.94+0.5 75169.44”所以(int)(x$1000+0.5)強制轉換為整型結果為5169。(5169/1000.0)5.169,由于1000.0結果自動轉換為浮點數所以prinff(“%lf\n”,5.169)結果是5.16900。故答案為A選項
(17)A
【解析】c語言規定else總是和之前與其最近的且不帶else的if配對,題目中,if(a=1)b=1;C=2;默認省略的else已經配對了,下一句else沒有匹配,if為非法else。另外if的判斷條件a=1是賦值語句,不是判斷語句,此處也會產生編譯錯誤。因此答案為A選項。
(18)A
【解析】for(;++a&&~b;);for循環中第l,3表達式為缺省項,判斷條件為++a&&…b;a一2,b=2;,第一次執行了++a和一b,,表示為真,循環條件成立,第二次執行++a為0,由于&&運算符,當第一個條件為假時,不執行第二個條件,所以b=1,發生短路,一b不執行了。因此a,b的最終值0,1。故答案為A選項。
(19)C
【解析】后置自增運算:k++表示先運算,后自如。if(t++<6)p血ff(“%d\n”,t);else prinff(“%d、n”,t);t的初值為6,t++<6,則條件為假,執行prinff(“%d、n”,t一),此時t=7,打印t值為k之后進行自減操作t=6。因此打印的結果為7。故答案為C選項。
(20)D
【解析】putehox()函數功能是輸出~個字符,由while判斷條件和ch初始值可知,只要ch’A’,每次執行二次putchar,否則跳出。第一次輸出CD,第二次輸出Bc,第三次輸出A,跳出循環。因此答案為D選項。
更多計算機二級C語言試題推薦:
【9月計算機二級C語言選擇題及答案】相關文章:
9月計算機二級C語言測試題及答案08-20
2016年9月計算機二級c語言題庫01-22
2016年9月計算機二級C語言考試上機沖刺試題及答案03-02
計算機二級c語言題庫及答案03-28
2016年9月計算機二級C語言試題題庫03-05
2017年9月計算機二級C++考試選擇題03-06
2016計算機二級c語言習題及答案03-08
計算機二級《C語言》模擬試題及答案03-29