點擊查看:2018年3月全國計算機二級C語言考試強化模擬題匯總
1、以下不構(gòu)成無限循環(huán)的語句或語句組是( )。
A.n=0:
do{++n;}while(n<=0);
B.n=0;
while(1){n++;}
C.n=10;
while(n);{n--;}
D.for(n=0,i=1;;i++)n+=i;
參考答案:A
參考解析: 選項A中do后面的語句只執(zhí)行了一次便結(jié)束了循環(huán);B選項中條件while(1)永遠成立,所以是死循環(huán);C選項中n的值為10,而循環(huán)體為空語句,所以wilile(n)永遠為真,進入死循環(huán);D選項中for語句第二個表達式為空,所以沒有判別條件,進入死循環(huán)。
2、若a是數(shù)值類型,則邏輯表達式(a==1)||(a!=1)的值是( )。
A.1
B.0
C.2
D.不知道a的值,不能確定
參考答案:A
參考解析: 邏輯或”||”要求只要兩邊的運算對象有一個非零,結(jié)果就為真。雖然不知道a的值,但是若a為l,則左邊運算對象為1;若a的值不是1,則右邊運算對象的值為1,所以總能保證一邊非零,所以結(jié)果為真,即1。
3、程序中已構(gòu)成如下圖所示的不帶頭結(jié)點的單向鏈表結(jié)構(gòu),指針變量s、p、q均已正確定義,并用于指向鏈表結(jié)點,指針變量s總是作為指針指向鏈表的第一個結(jié)點。
若有以下程序段:
該程序段實現(xiàn)的功能是( )。
A.刪除尾結(jié)點
B.尾結(jié)點成為首結(jié)點
C.刪除首結(jié)點
D.首結(jié)點成為尾結(jié)點
參考答案:D
參考解析: 本題考查鏈表的操作,本題中首先是s指向了它的下個結(jié)點,題目中說明了s總是指向鏈表的第一個結(jié)點,然后while循環(huán)找到鏈表的最后一個元素,然后最后一個元素指向了之前鏈表的頭結(jié)點,之前頭結(jié)點指向了空結(jié)點,所以本題實現(xiàn)的功能是使首結(jié)點成為尾結(jié)點。選項D正確。
4、下列選項中不屬于結(jié)構(gòu)化程序設(shè)計原則的是( )。
A.可封裝
B.自頂向下
C.模塊化
D.逐步求精
參考答案:A
參考解析: 結(jié)構(gòu)化程序設(shè)計的思想包括:自頂向下、逐步求精、模塊化、限制使用goto語句,所以選擇A。
5、支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是( )。
A.棧
B.樹
C.隊列
D.二叉樹
參考答案:A
參考解析: 棧支持子程序調(diào)用。棧是一種只能在一端進行插入或刪除的線性表,在主程序調(diào)用子函數(shù)時要首先保存主程序當前的狀態(tài),然后轉(zhuǎn)去執(zhí)行子程序,最終把子程序的執(zhí)行結(jié)果返回到主程序中調(diào)用子程序的位置,繼續(xù)向下執(zhí)行,這種調(diào)用符合棧的特點,因此本題的答案為A。
6、有以下程序:
以上程序執(zhí)行后abc.dat文件的內(nèi)容是( )。
A.China
B.Chinang
C.ChinaBeijing
D.BeijingChina
參考答案:B
參考解析: 本題考查文件操作函數(shù),fwrite和rewind函數(shù),題目中先是將a2字符串寫入adc.dat中,然后將寫指針回到文件開頭,然后寫入sl字符串,那么s1字符串就將前5個字符覆蓋,所以最終結(jié)果為Chinang,選項B正確。
7、設(shè)有定義:
struct complex
{ int real,unreal;}data1={1,8},data2;
則以下賦值語句中錯誤的是( )。
A.data2=(2,6);
B.data2=data1;
C.data2.real=data1.real;
D.data2.real=data1.unreal;
參考答案:A
參考解析: A選項中可以在聲明變量的同事為data2賦值,但是data2=(2,6);應(yīng)寫作data2={2,6}。所以選擇A。
1、某二叉樹共有7個結(jié)點,其中葉子結(jié)點只有l(wèi)個,則該二叉樹的深度為(假設(shè)根結(jié)點在第1層)( )。
A.3
B.4
C.6
D.7
參考答案:D
參考解析: 根據(jù)二叉樹的基本性質(zhì)3:在任意一棵二叉樹中,多為0的葉子結(jié)點總比度為2的結(jié)點多一個,所以本題中度為2的結(jié)點為1-1=0個,所以可以知道本題目中的二叉樹的每一個結(jié)點都有一個分支,所以共7個結(jié)點共7層,即度為7。
2、有以下程序:
程序運行后的輸出結(jié)果是( )。
A.t1=9 t2=4
B.t1=4 t2=9
C.t1=9 t2=9
D.t1=1 t2=4
參考答案:A
參考解析: 由程序可知,main函數(shù)的for循環(huán)中i的取值為1、2、3、4。T1初值為10,t2初值為0,當i-1時,傳人函數(shù)m1參數(shù)為:1、10,因為1<10,所以函數(shù)m1的返回值為2×1+1=3;傳人函數(shù)m2的參數(shù)為1、0,因為1>0,所以返回值為1;即第一輪循環(huán)后,t1=3,t2=1。當i=2時,傳人函數(shù)m1的參數(shù)為2、3,因為2<3,所以函數(shù)返回值為2×2+1=5;傳人函數(shù)m2的參數(shù)為2、1,因為2>1,所以函數(shù)返回值為2;即第二輪循環(huán)后,t1=5,t2=2;當i=3時,傳人函數(shù)m1的參數(shù)為3、5,因為3<5,所以返回值為2×3+1=7;傳人函數(shù)m2的參數(shù)為3、2,因為3>2,所以返回值為3;即第三輪循環(huán)后,t1=7,t2=3;當i-4時,傳人函數(shù)m1的參數(shù)為4、7,因為4<7,所以函數(shù)返回值為2x4+1=9,傳人函數(shù)m2的參數(shù)為4、3,因為4>3,所以函數(shù)返回值為4,即第四輪循環(huán)后,t1=9,t2=4。故答案選A(仔細分析可以發(fā)現(xiàn),對于m1函數(shù),由于第一次1<10,導致后面每次參數(shù)x都是i,而參數(shù)y都是2×i-1,返回值都是2×i+1;同理,對于m2函數(shù),由于第一次1>0,導致后面每次參數(shù)x都是i,而y都是i-1,返回值都是i,所以最終結(jié)果為t1=2x4+1,t2=4)。
3、以下程序擬讀取一個姓氏,查找其對應(yīng)的年齡并輸出:
程序有語法錯誤,出錯的是( )。
參考答案:A
參考解析: 語句gets(&p- >name)中,gets的參數(shù)應(yīng)該是成員變量name數(shù)組的首地址。而&p->name是首先獲取數(shù)組name的首地址,然后再對首地址取地址符,所以這是錯誤的,正確參數(shù)應(yīng)該是:gets(p->name);,故答案選A。
4、設(shè)有以下函數(shù):
則下面對函數(shù)指針的定義和賦值均正確的是( )。
參考答案:D
參考解析: 函數(shù)的參數(shù)可以是指針類型。它的作用是將一個變量的地址傳送到另一個函數(shù)中。函數(shù)名代表函數(shù)的入口地址,指向函數(shù)的指針應(yīng)該定義為void(* pf)()。如果定義為void*pf(),則表示函數(shù)pf返回值為一個基類型為void的指針。因此D選項正確。
5、以下選項中正確的定義語句是( )。
A.double,a,b;
B.double a=b=7;
C.double a;b;
D.double a=7,b=7;
參考答案:D
參考解析: A選項中變量類型符double后面不能有逗號。B選項中變量b不能先使用再定義,應(yīng)該寫成選項D中的格式。C選項中變量a后面應(yīng)該是逗號而不是分號。
6、負責數(shù)據(jù)庫中查詢操作的數(shù)據(jù)庫語言是( )。
A.數(shù)據(jù)定義語言
B.數(shù)據(jù)管理語言
C.數(shù)據(jù)操縱語言
D.數(shù)據(jù)控制語言
參考答案:C
參考解析: 數(shù)據(jù)定義語言:負責數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;數(shù)據(jù)操縱語言:負責數(shù)據(jù)的操縱,包括查詢及增、刪、改等操作;數(shù)據(jù)控制語言:負責數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。
7、有以下程序:
程序運行后的輸出結(jié)果是( )。
A.1,2,3,0,0,0,0,0,0,0,
B.1,2,3,1,2,3,0,0,0,0,
C.123,0,0,0,0,123,0,0,0,0,
D.1,2,3,0,0,1,2,3,0,0,
參考答案:D
參考解析: 本題考查文件操作函數(shù),兩次fwrite后,fp文件中已經(jīng)寫入1,2,3,0,0,l,2,3,0,0然后將文件fp中的內(nèi)容重新寫入數(shù)組a中,最后輸出a為l,2,3,0,0,1,2,3,0,0,所以選項D正確。
8、以下選項中,合法的c語言實數(shù)是( )。
A..4eO
B.4.3e0.2
C.FA.8
D.0.29E
參考答案:A
參考解析: C語言中,實數(shù)有兩種形式:十進制小數(shù)形式和指數(shù)形式。由4個選項可知,本題考查的是實數(shù)的指數(shù)形式,指數(shù)形式一般為:aEn,其中a為十進制數(shù),n為十進制整數(shù),表示的值為:a ×10n;B、C選項錯在階碼必須是整數(shù),D選項錯在無階碼,故答案為A,A的值為:0.4×100=0.4。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2018年全國計算機等級考試復(fù)習知識點匯總(各科目)
2018全國計算機等級考試備考經(jīng)驗及應(yīng)試技巧匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |