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