第 1 頁:選擇題 |
第 3 頁:程序填空題 |
第 4 頁:程序修改題 |
第 5 頁:程序設(shè)計題 |
點擊查看:2017年12月計算機二級考試C語言考前提分卷匯總
一、選擇題(每小題1分,共40分)
1 [單選題] 以下選項中不能在c語言程序中用作用戶標(biāo)識符的是( )。
A.auto
B.scanf
C.Float
D._3_14
參考答案:A
參考解析:
c語言的標(biāo)識符是由字母、數(shù)字和下劃線組成,第一個字符不能是數(shù)字,只能是字母或下劃線;A、B、C、D都是合法的標(biāo)識符;auto是C語言的關(guān)鍵字,不能用作用戶標(biāo)識符,故選項A錯誤;scanf是標(biāo)準(zhǔn)庫函數(shù)名,可以用作用戶標(biāo)識符,只是在使用標(biāo)識符的地方不能包含stdio.h頭文件,故選項B正確;C語言的標(biāo)識符區(qū)分大小寫,F(xiàn)1oat與關(guān)鍵字f1oat不同,可以用作用戶標(biāo)識符,故選項C正確;j-14是合法的用戶標(biāo)識符,故選項D正確;因此答案選A。
2 [單選題] 下面描述中錯誤的是( )。
A.系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細(xì)設(shè)計
B.軟件設(shè)計是將軟件需求轉(zhuǎn)換為軟件表示的過程
C.數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫設(shè)計是軟件設(shè)計的任務(wù)之一
D.PAD圖是軟件詳細(xì)設(shè)計的表示工具
參考答案:A
參考解析:
詳細(xì)設(shè)計的任務(wù)是為軟件結(jié)構(gòu)圖中而非總體結(jié)構(gòu)圖中的每一個模塊確定實現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié),所以A錯誤。
3 [單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.1002,ZhangDa,1202.0
B.1002,ChangRong,1202.0
C.1001,ChangRong,1098.0
D.1001,ZhangDa,1098.0
參考答案:D
參考解析:
本題考查結(jié)構(gòu)體的相關(guān)操作以及傳值、傳址的區(qū)別,該題中調(diào)用f函數(shù)后,會生成參數(shù)a的一個副本,而不會改變a的值,所以a值維持原值,選項D正確。
4 [單選題] 下列數(shù)據(jù)結(jié)構(gòu)中,不能采用順序存儲結(jié)構(gòu)的是( )。
A.非完全二叉樹
B.堆
C.隊列
D.棧
參考答案:A
參考解析:
根據(jù)完全二叉樹的性質(zhì)6,滿二叉樹和完全二叉樹可以按層序進行順序存儲,但一般的二叉樹不適用。堆可以用一維數(shù)組來存儲也可以用完全二叉樹來直觀地表示堆的結(jié)構(gòu)。隊列、棧本身就是順序存儲的。故本題答案為A選項。
5 [單選題] 以下關(guān)于C語言的敘述中正確的是( )。
A.C語言的數(shù)值常量中夾帶空格不影響常量值的正確表示
B.C語言中的變量可以在使用之前的任何位置進行定義
C.在C語言算術(shù)表達(dá)式的書寫中,運算符兩側(cè)的運算數(shù)類型必須一致
D.C語言中的注釋不可以夾在變量名或關(guān)鍵字的中間
參考答案:D
參考解析:
C語言的數(shù)值常量中不能夾帶空格,所以A錯誤。C語言中的變量都必須先定義再使用,對變量的定義通常放在函數(shù)體內(nèi)的前部,但也可以放在函數(shù)外部或復(fù)合語句的開頭,不能隨便放置,所以B錯誤。在C語言中運算符兩側(cè)的運算數(shù)據(jù)類型可以不一致,且結(jié)果與精度較高的保持一致,所以C錯誤。
6 [單選題] 若有定義:
float x=1.5;
int a=1,b=3,c=2;
則正確的switch語句是( )。
參考答案:A
參考解析:
switch語句的一般形式為: switch(表達(dá)式){
case常量表達(dá)式1:語句1;
ease常量表達(dá)式2:語句2;
default:語句n;
}
其中switch后的表達(dá)式只能是整型或字符型,故C選項錯誤;ease后面必須是常量表達(dá)式,所以D選項錯誤;switch()右括號后面不能有分號,放選項B錯誤,因此答案選A。
7 [單選題] 有以下程序:
運行時,若輸入123450<回車>,則輸出結(jié)果是( )。
A.66656
B.6566456
C.66666
D.6666656
參考答案:B
參考解析:
switch語句的執(zhí)行流程是:首先計算switch后面圓括號中表達(dá)式的值,然后用此值依次與各個case的常量表達(dá)式比較,若圓括號中表達(dá)式的值與某個case后面的常量表達(dá)式的值相等,就執(zhí)行此case后面的語句,執(zhí)行后遇break語句就退出switch語句;若圓括號中表達(dá)式的值與所有case后面的常量表達(dá)式都不等,則執(zhí)行default后面的語句。然后退出。所以輸入l時打印65,輸入2時打印6,輸入3時打印64,輸入4時打印5,輸入5時打印6。
8 [單選題] 有以下程序:
程序執(zhí)行后的輸出結(jié)果是( )。
A.Prphsbn
B.Prohsbn
C.Progsbn
D.Program
參考答案:B
參考解析:
(*q)++是q所指的字符加l,q++就是指針移到下一個字符。因此B選項正確。
9 [單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.9,18
B.8,11
C.7,11
D.10,14
參考答案:D
參考解析:
第一次循環(huán)a的值為1,滿足條件,執(zhí)行b+=a,與a+=2,則b的值變?yōu)?,a的值變?yōu)?。執(zhí)行a++,a的值為4,滿足條件進入第二次循環(huán),執(zhí)行完循環(huán)體后b的值為7,a的值為6。執(zhí)行a++,a的值為7,滿足條件進入第三次循環(huán),執(zhí)行完循環(huán)體后b的值為14,a的值為9。執(zhí)行a++.a的值變?yōu)?0,不滿足條件,循環(huán)結(jié)束。所以選擇D選項。
10 [單選題] 定義無符號整數(shù)類為UInt,下面可以作為類UInt實例化值的是( )。
A.-369
B.369
C.0.369
D.整數(shù)集合{1,2,3,4,5}
參考答案:B
參考解析:
只有B選項369可以用無符號整數(shù)來表示和存儲。A選項-369有負(fù)號,選項C 0.369是小數(shù)都不能用無符號整數(shù)類存儲。選項D是一個整數(shù)集合得用數(shù)組來存儲。
11 [單選題] 若有定義:
double a=22:int i=0,k=18;
則不符合C語言規(guī)定的賦值語句是( )。
A.a:a++,i++;
B.i=(a+k)<=(i+k);
C.i=a%11;
D.i=!a;
參考答案:C
參考解析:
自增、自減操作符適用于char、short、int、long、float、double等類型,故選項A正確;賦值操作符 “=”的優(yōu)先級小于比較操作符“<=”,所以選項B等價于:i=((a+k)<=(i十k));,即將后面比較操作符的結(jié)果賦值給i,故選項B也正確;“!”是邏輯非運算符,i=!a表示將a表達(dá)式的值取反,賦值給i,故選項D也正確;求模運算符“%”的操作數(shù)只能是整數(shù),故選項C錯誤,因此答案選C。
12 [單選題] 軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是( )。
A.學(xué)生成績管理系統(tǒng)
B.C語言編譯程序
C.UNIX操作系統(tǒng)
D.數(shù)據(jù)庫管理系統(tǒng)
參考答案:A
參考解析:
軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件、支撐軟件。操作系統(tǒng)、編譯程序、匯編程序、網(wǎng)絡(luò)軟件、數(shù)據(jù)庫管理系統(tǒng)都屬于系統(tǒng)軟件。所以B、C、D都是系統(tǒng)軟件,只有A是應(yīng)用軟件。
13 [單選題] 在下列模式中,能夠給出數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法的是( )。
A.外模式
B.內(nèi)模式
C.概念模式
D.邏輯模式
參考答案:B
參考解析:
數(shù)據(jù)庫系統(tǒng)的三級模式是概念模式、外模式和內(nèi)模式。概念模式是數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶公共數(shù)據(jù)視圖。外模式也稱子模式或用戶模式,它是用戶的數(shù)據(jù)視圖,給出了每個用戶的局部數(shù)據(jù)描述。內(nèi)模式又稱物理模式,它給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法,所以選擇B。
14 [單選題] 設(shè)有語句:printf(“%2d\n”,2010);,則以下敘述正確的是( )。
A.程序運行時輸出2010
B.程序運行時輸出20
C.程序運行時輸出10
D.指定的輸出寬度不夠,編譯出錯
參考答案:A
參考解析:
printf()函數(shù)格式化字符串的一般形式為:[標(biāo)志][輸出最小寬度][精度][長度]類型。對于”-\n”表示結(jié)果以十進制形式輸出帶符號的整數(shù),數(shù)字2表示輸出的最小寬度為2,若實際位數(shù)多于2,則按實際位數(shù)輸出,所以程序輸出2010,故答案選A。
15 [單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.2344
B.4332
C.1234
D.1123
參考答案:B
參考解析:
在for(i=0;i<12;i++)c[s[i]]++中,數(shù)組元素s[i]的值作為數(shù)組c的下標(biāo),當(dāng)退出循環(huán)時,數(shù)組c的4個元素的值分別為4、3、3、2。因此B選項正確。
16 [單選題] 有三個關(guān)系R、S和T如下:
則由關(guān)系R和S得到關(guān)系T的操作是( )。
A.自然連接
B.交
C.投影
D.并
參考答案:A
參考解析:
自然連接是一種特殊的等值連接,它要求兩個關(guān)系中進行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉,所以根據(jù)T中元組可以判斷R和S做的是自然連接操作。
17 [單選題] 有以下程序(strcat函數(shù)用于連接兩個字符串):
程序運行后的輸出結(jié)果是( )。
A.IJK
B.ABCDE\OFG\OIJK
C.ABCDIJK
D.EFGIJK
參考答案:C
參考解析:
a中包含兩個‘\0’,遇到第一個‘\0’時就表示字符串a(chǎn)結(jié)束。字符串處理函數(shù)strcat(字符數(shù)組a,字符數(shù)組b),功能是連接兩個字符數(shù)組中的字符串,把字符串b連接到a的后面,結(jié)果放在字符數(shù)組a中。連接時將字符串a(chǎn)后的‘\0’取消,只在新串最后保留一個‘\0’。本題相當(dāng)于將“ABCD”和“UK”連接。因此C選項正確。
18 [單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.1.6.2,1,
B.8,7,3,1,
C.4,7,5,2,
D.1,6,5,7,
參考答案:D
參考解析:
首先對二維數(shù)組進行賦值操作,a[0][0]、a[0][1]、…、a[3][2]、a[3][3]的值為1、4、…、6、l。通過for語句和if語句,對二維數(shù)組各列元素進行由小到大的排序操作,程序最后通過for語句輸出二維數(shù)組對角線上的元素。因此D選項正確。
19 [單選題] 下面描述中.不屬于軟件危機表現(xiàn)的是( )。
A.軟件過程不規(guī)范
B.軟件開發(fā)生產(chǎn)率低
C.軟件質(zhì)量難以控制
D.軟件成本不斷提高
參考答案:A
參考解析:
軟件危機主要表現(xiàn)在:軟件需求的增長得不到滿足;軟件開發(fā)成本和進度無法控制;軟件質(zhì)量難以保證;軟件不可維護或維護程度非常低;軟件的成本不斷提高;軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長。所以選擇A。
20 [單選題] 以下選項中,與k=n++完全等價的表達(dá)式是( )。
A.k=n,n=n+1
B.n=n+1,k=n
C.k=++n
D.k+=n+1
參考答案:A
參考解析:
本題考查后綴自增++運算符,n++表示n的當(dāng)前值參與運算后,再自增1,所以表達(dá)式k=n++等價于k=n,n=n+1,故答案選A。
相關(guān)推薦:
【考試吧整理】計算機等級考試各科目歷年真題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |