點擊查看:2016計算機二級《C語言》基礎(chǔ)練習(xí)題及答案匯總
1[填空題]下列給定程序中,函數(shù)fun的功能是:把形參a所指數(shù)組中的奇數(shù)按原順序依次存放到a[0]、a[1]、a[2]…中,把偶數(shù)從數(shù)組中刪除,奇數(shù)個數(shù)通過函數(shù)值返回。
例如,若a所指數(shù)組中的數(shù)據(jù)最初排列為:9,1,4,2,3,6,5,8,7,刪除偶數(shù)后,a所指數(shù)組中的數(shù)據(jù)為:9,1,3,5,7,返回值為5。
請在程序的下畫線處填入正確的內(nèi)容并將下畫線刪除.使程序得出正確的結(jié)果。
注意:部分源程序給出如下。
不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
試題程序:
【參考答案】
(1)1 (2)J++ (3)J
【考點分析】
本題考查:if語句,條件表達式;自增、自減運算符;函數(shù)返回值。
【解題思路】
填空l:根據(jù)題目要求,需進行奇偶數(shù)的判定,可以通過if條件語句來判斷數(shù)組元素是否為奇數(shù),如果元素不能被2整除,則為奇數(shù),所以填入if(a[i]%2==1)。
填空2:將為奇數(shù)的元素重新存放到數(shù)組的前面,同時下標增1。
填空3:函數(shù)返回值需要返回數(shù)組中奇數(shù)的個數(shù),因此返
回變量J。
【解題寶典】
奇數(shù)和偶數(shù)的判定方法,對2求余運算,結(jié)果為0是偶數(shù),結(jié)果為1是奇數(shù)。
自增l、自減1運算符:自增l運算符記為“++”,其功能是使變量的值自增1;自減1運算符記為“一一”,其功能是使變量值自減l。自增1、自減1運算符均為單目運算符,具有右結(jié)合性,有以下幾種形式:
++i:i自增l后再參與其他運算。
_-i:1’自減1后再參與其他運算。
i++:i參與運算后,i的值再自增1 0
i一一:i參與運算后,i的值再自減1。
2[單選題] 若有以下程序
則程序的輸出結(jié)果是
A.5,6,0B.6,0,0C.6。6,1D.5,6,1
參考答案:C
參考解析:本題重點考查C語言中for語句和邏輯表達式,for語句的一般形式為:
for(表達式1;表達式2;表達式3)語句其循環(huán)中的“表達式1(循環(huán)變量賦初值)”、“表達式2(循環(huán)條件)”和“表達式3(循環(huán)變量增量)”都是選擇項,即可以缺省,但“;”不能缺省。該題目中省了“表達式1(循環(huán)變量賦初值)”和“表達式3(循環(huán)變量增量)”。for(;a&&(b==0);){b+=a s a-=e++;}相當(dāng)于while(a&&(b==0)){b+=a;a-=c++;}。因此c選項正確。
3[單選題] 以下選項中正確的定義語句是( )。
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)該是逗號而不是分號。
4[單選題] 有以下程序
程序要求輸出結(jié)構(gòu)體中成員a的數(shù)據(jù),以下不能填入橫線處的內(nèi)容是
A.a.aB.*P.aC.P->aD.(*p).a
參考答案:B
參考解析:本題考查結(jié)構(gòu)體變量的引用,題目中要求輸出結(jié)構(gòu)體中成員a的數(shù)據(jù),P為指針,* P為結(jié)構(gòu)體變量,那么*P.a可以表示為結(jié)構(gòu)體中成員a的數(shù)據(jù)。
5[單選題] 下列關(guān)于二叉樹的敘述中,正確的是( )。
A.葉子結(jié)點總是比度為2的結(jié)點少一個
B.葉子結(jié)點總是比度為2的結(jié)點多一個
C.葉子結(jié)點數(shù)是度為2的結(jié)點數(shù)的兩倍
D.度為2的結(jié)點數(shù)是度為1的結(jié)點數(shù)的兩倍
參考答案:B
參考解析:根據(jù)二叉樹的基本性質(zhì)3:在任意一棵二叉樹中,度為0的葉子結(jié)點總是比度為2的結(jié)點多一個。所以選擇8。
6[單選題] 數(shù)據(jù)庫管理系統(tǒng)是
A.操作系統(tǒng)的一部分
B.在操作系統(tǒng)支持下的系統(tǒng)軟件
C.一種編譯系統(tǒng)
D.一種操作系統(tǒng)
參考答案:B
參考解析:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫的機構(gòu),它是一種系統(tǒng)軟件,負責(zé)數(shù)據(jù)庫中數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護、控制及保護和數(shù)據(jù)服務(wù)等。是一種在操作系統(tǒng)之上的系統(tǒng)軟件。
7[單選題] 有以下程序:
則以下函數(shù)調(diào)用語句錯誤的是( )。.
A.k=f(a,B.;B.k=add(a,B.;C.k=(*f)(a,B.;D.k={f(a,B.;
參考答案:D
參考解析:s與()的優(yōu)先級,()的優(yōu)先級高于*,因為(+f)()定義函數(shù)指針f。f指向函數(shù)的指針。f=add,將函數(shù)8dd()的首地址賦給指針f,所以調(diào)用函數(shù)add()可以寫為f(),其返回值是整型,不是指針類型,不能用t取指針指向的內(nèi)存單元的數(shù)據(jù),故k=*f(a,b)的調(diào)用方式錯誤。答案為D選項。
8[單選題] 若有定義:float x=1.5;int a=1,b=3,c=2;則正確的switch語句是( )。
參考答案:A
參考解析:B選項中switch((int)x);語句中不應(yīng)該有最后的分號。switch(exprl),中的exprl不能用浮點類型或10n9類型,也不能為一個字符串,所以c錯誤。ca”后面常量表達式的類型必須與switch后面表達式的類型一致,所以D錯誤。
9[單選題] 以下關(guān)于字符串的敘述中正確的是( )。
A.空串比空格打頭的字符串小
B.兩個字符串中的字符個數(shù)相同時才能進行字符串大小的比較
C.可以用關(guān)系運算符對字符串的大小進行比較
D.C語言中有字符串類型的常量和變量
參考答案:A
參考解析:字符串比較大小是以第l個不相同字符的大小為標準的,跟長度沒有關(guān)系,B選項不正確;字符串比較大小除了使用庫函數(shù)s協(xié)emp()以外,就只能靠自己寫代碼來實現(xiàn)了。而不能通過關(guān)系運算符來比較大小。因為字符串在表達式中相當(dāng)于const char+,即常字符指針,代表的是字符串的首地址,關(guān)系運算符會將兩個字符串的首地址值比較大小,這是毫無意義的。c選項不正確。C語言中只有字符串常量而沒有字符串變量,D選項描述不正確;空串的長度為0,而以空格打頭的字符串的長度至少為l,因此A選項是正確的。
10[單選題] 以下敘述中錯誤的是( )。
A.可以通過typedef增加新的類型
B.可以用typedef將已存在的類型用一個新的名字來代表
C.用typedef定義新的類型名后,原有類型名仍有效
D.用typedef可以為各種類型起別名,但不能為變量起別名
參考答案:A
參考解析:關(guān)鍵字typedef的作用只是將C語言中的已有的數(shù)據(jù)類型作了置換,并不是增加新的類型,所以A錯誤。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |