第 1 頁:選擇題 |
第 3 頁:程序填空題 |
第 4 頁:程序修改題 |
第 5 頁:程序設計題 |
點擊查看:2017年12月計算機二級考試C語言考前提分卷匯總
一、選擇題(每小題1分,共40分)
1 [單選題] 下列關(guān)于線性鏈表的敘述中,正確的是( )。
A.各數(shù)據(jù)結(jié)點的存儲空間可以不連續(xù),但它們的存儲順序與邏輯順序必須一致
B.各數(shù)據(jù)結(jié)點的存儲順序與邏輯順序可以不一致,但它們的存儲空間必須連續(xù)
C.進行插入與刪除時,不需要移動表中的元素
D.以上說法均不正確
參考答案:C
參考解析:
一般來說,在線性表的鏈式存儲結(jié)構(gòu)中,各數(shù)據(jù)結(jié)點的存儲序號是不連續(xù)的.并且各結(jié)點在存儲空間中的位置關(guān)系與邏輯關(guān)系也不一致。線性鏈表中數(shù)據(jù)的插入和刪除都不需要移動表中的元素,只需改變結(jié)點的指針域即可。
2 [單選題] 以下關(guān)于字符串處理的敘述正確的是( )。
A.進行字符串復制時,目的串的存儲空間必須足夠大
B.兩個字符串進行比較時,短的一個必定比長的一個小
C.計算一個字符串的長度時,應包含串尾的結(jié)束標志
D.兩個字符串連接時,對存儲空間的大小沒有要求
參考答案:A
參考解析:
兩個字符串進行比較時,按照字符串中相同位置的字符ASCII碼順序進行比較,故選項B錯誤;字符串需要包含串尾的結(jié)束標志,但是計算字符串長度時,不包含串尾的結(jié)束標志,故選項c錯誤;要將字符串s2連接到s1后面,串s1所在存儲空間必須可以存儲字符串s1、字符串s2連接后構(gòu)成新串的字符,故選項D錯誤。答案選A。
3 [單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.57,39
B.57,57
C.9,9
D.39,39
參考答案:A
參考解析:
本題考查宏定義。宏定義是在程序預處理階段直接進行文本替換,所以本題中S(k+j)、S(j+k)可以替換為:S(k+j)=(k+j/k+j) ×k+j=(6+3/6+3)×6+3=57;S(j+k)=(j+k/j+k)×j+k=(3+6/3+6)× 3+6=39,故答案為A。(注:宏定義中的形參一定要使用小括號括起來,以避免出錯)
4 [單選題] 設fp為指向某二進制文件的指針,且已讀到此文件末尾,則函數(shù)feof(fp)的返回值為( )。
A.0
B.'\0'
C.非0值
D.NULL
參考答案:C
參考解析:
本題考查文件的定位,feof函數(shù)的用法是從輸人流讀取數(shù)據(jù),如果到達文件末尾(遇文件結(jié)束符),eof函致值為非零值,否則為0,所以選項C正確。
5 [單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.2
B.4
C.6
D.8
參考答案:D
參考解析:
本題考查位運算符,題目中將a向左移兩位,左移兩位表示乘以4,所以答案為8,選項D正確。
6 [單選題] 以下敘述中錯誤的是( )。
A.C程序在運行過程中所有計算都以二進制方式進行
B.C程序在運行過程中所有計算都以十進制方式進行
C.所有C程序都需要編譯鏈接無誤后才能運行
D.C程序中字符變量存放的是字符的ASCII碼值
參考答案:B
參考解析:
C程序在運行過程中的所有計算都以二進制方式進行,所以B選項錯誤。
7 [單選題] 設有定義和語句(假設short int型數(shù)據(jù)占2字節(jié))nt型數(shù)據(jù)占2字節(jié))
則以下敘述正確的是( )。
A.pi和pj指向了同一個short int型存儲單元
B.pi和pj指向了2個連續(xù)的short int型存儲單元的首地址
C.pi和pj分別指向了一個short int型存儲單元
D.pi和pj分別指向了2個short int型存儲單元
參考答案:A
參考解析:
語句pi=pj=(short*)ma11oc(2)首先使用動態(tài)分配函數(shù)ma11oc分配2個字節(jié)的內(nèi)存空間,然后將內(nèi)存首地址轉(zhuǎn)換為short·類型并返回,賦值給pj,再將pj的值賦給pi,所以指針pi和pj的值是相同的,指向同一個short int型的存儲單元,故選項A正確。
8 [單選題] 以下語句中存在語法錯誤的是( )。
參考答案:A
參考解析:
二維數(shù)組第一維的大小在初始化時可以不指定,當?shù)谝痪S的大小初始化沒有指定時按如下規(guī)則確定:若初值個數(shù)能被第二維大小整除,所得的商就是第一維的大小,若不能整除。則所得的商加1作為第一維的大小,所以選項B相當于:char ss[1][20]={"right?"};其中ss[0][0]=‘r’、ss[0][1]=‘i’…,故選項B正確;選項中聲明一個字符指針數(shù)組ss,ss中每個元素都是—個字符指針,ss[1]=“right?”相當于將字符串“right?”的首地址賦值給字符指針ss[1],故選項C正確;選項D聲明一個字符指針數(shù)組ss,并初始化第一個元素,使它指向字符串“right?”,故選項D正確;選項A定義二維字符數(shù)組ss,所以s[1]可看作是一個字符數(shù)組,ss[1]=“right?”相當于將一個字符串的首地址賦值給一個字符數(shù)組,這是錯誤的,字符數(shù)組如果沒有初始化,則只有對數(shù)組中的每個元素逐個賦值,因此答案為A。
9 [單選題] 設有定義:double x;,以下選項中不能將輸入數(shù)據(jù)3.14讀入賦給變量x的是( )。
A.scanf(“%4.2f”,&x);
B.scanf(“%If”&x);
C.scanf(“%le”,&x);
D.scanf(“%41f”,&x);
參考答案:A
參考解析:
scanf()函數(shù)格式字符串的一般形式為:%[*][輸入數(shù)據(jù)寬度][長度]類型。輸入數(shù)據(jù)寬度必須是十進制的整數(shù),它沒有精度控制,%4.2f是錯誤的,不能企 圖用此語句輸入小數(shù)點為2位的實數(shù),故選項A錯誤:scanf()函數(shù)的長度格式符為1和h,%If表示用小數(shù)形式輸入雙精度浮點數(shù),滿足條件,故選項B正確;%le表示用指數(shù)形式輸入雙精度浮點數(shù),滿足條件,故選項C正確;%41f表示用小數(shù)形式輸入寬度為4的雙精度浮點數(shù),故選項D正確,因此答案為A。
10 [單選題] 以下選項中,不合法的C語言用戶標識符是( )。
A.a_b
B.AaBc
C.a—b
D.1
參考答案:C
參考解析:
C語言規(guī)定,變量命名必須符合標識符的命名規(guī)則,C選項中包含了非法字符"一",所以錯誤。標識符由字母、數(shù)字或下劃線組成,且第一個字符必須是大小寫英文字母或者下劃線,而不能是數(shù)字。
11 [單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.10,20,14
B.20,20,20
C.10,10,10
D.14,14,14
參考答案:A
參考解析:
本題考查宏定義,宏定義在程序的預編譯階段直接進行文本替換,所以本題中宏定義展開如下:
程序輸出結(jié)果為10,20,14答案為A。(注:宏定義中的形參一定要使用小括號括起來,以避免出錯)
12 [單選題] 結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括( )。
A.順序結(jié)構(gòu)
B.GOT0跳轉(zhuǎn)
C.選擇(分支)結(jié)構(gòu)
D.重復(循環(huán))結(jié)構(gòu)
參考答案:B
參考解析:
l966年Boehm和Jacopini證明了程序設計語言僅僅使用順序、選擇和重復三種基本控制結(jié)構(gòu)就足以表達出各種其他形式結(jié)構(gòu)的程序設計方法。
13 [單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.4321098765
B.5678901234
C.0987654321
D.0987651234
參考答案:B
參考解析:
該程序首先給一維數(shù)組賦值,然后三次調(diào)用fun函數(shù),其中fun(a,0,3);功能是將一維數(shù)組中第1個元素和第4個元素互換,第2個元素和第3個元素互換;其中fun(a,4,9);功能是將一維數(shù)組中第5個元素和第10個元素互換,第6個和第9個元素互換,第7個元素和第8個元素互換;其中fun(a,0,9);功能是將將一維數(shù)組中第1個元素和第10個元素互換,第2個元素和第9個元素互換……依此類推。因此B選項正確。
14 [單選題] 建立表示學生選修課程活動的實體聯(lián)系模型,其中的兩個實體分別是( )。
A.課程和課程號
B.學生和課程
C.學生和學號
D.課程和成績
參考答案:B
參考解析:
實體是概念世界中的基本單位,是客觀存在并可以相互區(qū)別的事物。要建立表示學生選修課程活動的實體聯(lián)系模型,能互相區(qū)別并可以聯(lián)系起來的實體是學生和課程。故本題答案為B選項。
15 [單選題] 下列關(guān)于棧敘述正確的是( )。
A.棧頂元素最先能被刪除
B.棧頂元素最后才能被刪除
C.棧底元素永遠不能被刪除
D.棧底元素最先被刪除
參考答案:A
參考解析:
棧是先進后出的數(shù)據(jù)結(jié)構(gòu),所以棧頂元素最后入棧卻最先被刪除。棧底元素最先入棧卻最后被刪除。所以選擇A。
16 [單選題] 有三個關(guān)系R、S和T如下:
則由關(guān)系R和S得到關(guān)系T的操作是( )。
A.自然連接
B.并
C.交
D.差
參考答案:D
參考解析:
關(guān)系T中的元組是關(guān)系R中有而關(guān)系S中沒有的元組的集合,即從關(guān)系R中除去與關(guān)系S中相同元組后得到的關(guān)系T。所以做的是差運算。
17 [單選題] 有以下程序:
程序運行后的輸出結(jié)果是( )。
A.0
B.4
C.1
D.9
參考答案:D
參考解析:
由程序可知,for循環(huán)中a的取值為0~6,其中若if條件滿足,則b+=a不會執(zhí)行,所以當a取值為1,3,5時,b+=a才會被執(zhí)行,所以循環(huán)結(jié)束,b=1+3+5,輸出結(jié)果為9,故答案選D。
18 [單選題] 以下能正確定義字符串的語句是( )。
參考答案:B
參考解析:
C語言中,字符串是用一對雙引號括起來的字符序列,并用字符型數(shù)組來存放,故C選項和D選項不屬于字符串,A選項定義的是一個字符變量str,卻用來存放字符串,顯然也不正確,因此B選項正確。
19 [單選題] 軟件生命周期中的活動不包括( )。
A.市場調(diào)研
B.需求分析
C.軟件測試
D.軟件維護
參考答案:A
參考解析:
軟件生命周期可以分為軟件定義、軟件開發(fā)與軟件運行維護三個階段。主要活動階段是:可行性研究與計劃階段、需求分析、軟件設計、軟件實現(xiàn)、軟件測試、運行和維護.所以選擇A。
20 [單選題] 設文件指針fp已定義,執(zhí)行語句fp=fopen(“file”,“w”);后,以下針對文本文件file操作敘述的選項中正確的是( )。
A.只能寫不能讀
B.寫操作結(jié)束后可以從頭開始讀
C.可以在原有內(nèi)容后追加寫
D.可以隨意瀆和寫
參考答案:A
參考解析:
考查文件操作函數(shù)fopen的基礎(chǔ)知識,以”w”方式打開文件,只能寫不能讀。選項A正確。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
【考試吧整理】計算機等級考試各科目歷年真題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |