- 相關推薦
四川省計算機二級C語言筆試真題及答案
在學習、工作生活中,我們最離不開的就是試題了,借助試題可以為主辦方提供考生某方面的知識或技能狀況的信息。一份好的試題都具備什么特點呢?以下是小編精心整理的四川省計算機二級C語言筆試真題及答案,僅供參考,大家一起來看看吧。
第一部分:軟件技術基礎
一、是非判斷題
A:在程序設計中,常用一維數組來表達線性表的順序存儲空間。數組可以通過下標方便地訪問和操作線性表中的元素,實現順序存儲的功能。
B:軟件測試的目的不僅僅是為用戶提供沒有錯誤的程序,更重要的是發現軟件中的潛在問題,確保軟件的質量和可靠性。
B:棧頂既可以進行進棧操作,也可以進行退棧操作。棧的特點是先進后出,即新元素入棧放在棧頂,出棧時也從棧頂取出。
A:處在等待狀態的進程,若其等待的事件已發生,就會立即轉入就緒狀態,等待被調度程序選中占有處理機后進入運行狀態。
A:線性表采用鏈式存儲時,其節點之間通過指針相連,因此存儲單元地址可以不連續,便于動態地進行插入和刪除操作。
A:在進行插入排序時,數據的初始排列會影響比較的次數。如果初始序列基本有序,比較次數會相對較少;如果初始序列較為無序,比較次數可能會較多。
A:數據的邏輯結構是從邏輯關系上描述數據,它獨立于數據的存儲結構和存儲方式,是數據在用戶層面上的抽象表示。
B:在操作系統中,進程最基本的特性是動態性和并發性。進程是程序的一次執行過程,具有動態創建、調度和消亡等特點;同時多個進程可以并發執行,提高系統的資源利用率。
B:軟件危機并不是由于軟件產品過多而產生的,主要原因包括軟件需求的增長難以滿足、軟件開發的成本和進度難以控制、軟件質量難以保證、軟件的維護困難等。
A:面向過程系統需求分析中,數據流圖用于描述系統中數據的流動和處理過程,數據字典用于定義數據流圖中涉及的數據元素、數據結構、數據存儲等信息,它們是重要的分析工具。
二、選擇題
A:進程從運行狀態進入就緒狀態通常是因為時間片用完,此時需要讓出處理機,進入就緒隊列等待下一次調度。
B:需求分析中開發人員主要從用戶那里了解軟件需要做什么,即軟件的功能、性能、約束等方面的需求,而不是如何做(具體的實現方式)。
B:隊列的操作原則是先進先出,先進入隊列的元素先出隊列。
C:在需要經常查找節點的前驅和后繼的情況下,使用雙鏈表比較合適。雙鏈表的每個節點都有指向前驅和后繼節點的指針,可以方便地雙向遍歷鏈表。
D:任何兩個并發進程之間可能存在同步或互斥關系。同步是指多個進程之間協調工作,按照一定的順序或條件執行;互斥是指多個進程在訪問共享資源時需要進行排他性控制,避免數據不一致等問題。但并不是所有并發進程之間都一定存在這兩種關系,也可能彼此獨立無關,具體取決于進程的功能和操作。
第二部分:C 與 C++ 語言程序設計
一、單項選擇題
C:在 C 語言中,整數除法的結果會自動舍去小數部分。所以3/2
的結果是 1,然后再與x
相加,得到 2.0,因為x
是double
類型,所以最終結果也是double
類型的 2.0。
A:先計算表達式(-y == x+)
,因為x = 5
,y = 10
,所以-y == x+
不成立,其值為 0。然后執行a = -y
,即a = -10
。接著執行b = y+
,先將y
的值(10)賦給b
,然后y
自增 1,變為 11。最后c = x
,即c = 5
。所以最終結果是a = -10
,b = 10
,c = 5
。
C:先計算邏輯與表達式(j++ || k++) && i++
。由于短路效應,先計算j++
,其值為 2(先使用j
的值 1 進行判斷,然后j
自增 1),為真,所以不再計算k++
。然后計算i++
,其值為 2(先使用i
的值 1 進行判斷,然后i
自增 1)。所以最終輸出的是i
、j
、k
自增后的結果,即 2, 2, 2。
D:在 C 語言中,a!= 0
是表示 “a 不等于 0” 的正確表達式。而 D 選項a0 || a0
的意思是 “a 小于 0 或 a 大于 0”,雖然在邏輯上也能表達 “a 不等于 0”,但不是最直接的表達方式。
A:*p
表示指針p
所指向的變量,所以*p - b +
就是先取p
指向的值,然后減去b
,再加上c
。
B:二維數組的初始化可以使用花括號括起來的一組值來進行。選項 B 中,外層花括號表示有三行,內層花括號表示每行有兩個元素,符合二維數組a[3][2]
的定義和初始化方式。
C:要將r
指向的結點插入到p
、q
所指結點之間,可以先讓r
的下一個指針指向q
(即r->next = q
),然后讓p
的下一個指針指向r
(即p->next = r
)。這樣就可以實現將r
插入到p
和q
之間的鏈表結構。
C:宏定義在預編譯時會進行文本替換。在這個例子中,宏S(x)
被替換為PT * x * x
,即3.5 * (a + b) * (a + b)
。將a = 1
,b = 2
代入計算,結果為 10.5。
A:將八進制數020
轉換為十進制是 16,然后進行位與運算。a = 9
轉換為二進制是1001
,與十進制數 16 進行位與運算后得到二進制的1000
,轉換為八進制就是 40。
二、讀程序回答問題
。1)C:程序的功能是在母串str
中查找子串substr
出現的次數。在輸入abcdabad
和ab
時,子串ab
在母串中出現了 2 次。
(2)B:該程序通過兩個嵌套的循環,逐個比較母串和子串的字符,當子串完全匹配時計數器加 1,最終返回子串在母串中出現的次數。
程序的輸出結果為 10。在函數fun
中定義了一個靜態變量c
,其值會在多次調用函數時保留。首先調用fun(2*a, fun(b, c))
,計算內部的fun(b, c)
,即fun(5, 6)
,此時c = 5 + 6 = 11
。然后再計算外部的fun(2*2, 11)
,即fun(4, 11)
,得到c = 4 + 11 = 15
,最后將結果返回并輸出。
【四川省計算機二級C語言筆試真題及答案】相關文章:
計算機二級C語言筆試歷年真題及答案09-30
計算機二級C語言真題及答案09-26
計算機二級C語言考試真題及答案09-30
計算機二級考試C語言歷年真題及答案解析03-10
2016年計算機二級c語言真題及答案03-29
2024年計算機二級c語言考試真題及答案09-25
計算機二級考試C語言歷年真題09-26
3月計算機等級考試二級c筆試真題10-04
2017計算機二級考試C語言沖刺題及答案03-22