第 1 頁:選擇題 |
點擊查看:2018年3月全國計算機(jī)二級C語言練習(xí)題及答案匯總
一、選擇題
1). 下列敘述中正確的是( )。
A.調(diào)用printf( )函數(shù)時,必須要有輸出項
B.使用putchar( )函數(shù)時,必須在之前包含頭文件stdio.h
C.在C語言中,整數(shù)可以以二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出
D.調(diào)節(jié)getchar( )函數(shù)讀入字符時,可以從鍵盤上輸入字符所對應(yīng)的ASCII碼
正確答案:B
答案解析:選項A,若printf函數(shù)沒有輸出項,且格式字符串中不含格式信息,則輸出的是格式字符串本身,若格式字符串含有格式信息,運行時則出現(xiàn)錯誤提示;選項C,在C語言中,整數(shù)可以十進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出;選項D,getchar函數(shù)是從標(biāo)準(zhǔn)輸入設(shè)備讀取一個字符。
2). 以下結(jié)構(gòu)體類型說明和變量定義中正確的是( )
A.typedef struct { int n; char c; } REC; REC t1,t2;
B.struct REC ; { int n; char c; }; REC t1,t2;
C.typedef struct REC; { int n=0; char c=′A′; } t1,t2;
D.struct { int n; char c; } REC; REC t1,t2;
正確答案:A
答案解析:定義結(jié)構(gòu)體類型的一般形式為:struct 結(jié)構(gòu)體名 {成員列表};struct 結(jié)構(gòu)體名后不能加″;″號,所以選項B、C)錯誤,選項D中定義無名稱的結(jié)構(gòu)體類型同時定義結(jié)構(gòu)體變量形式應(yīng)為struct t1,t2;選項A為用戶自定義類型,其為正確的定義形式。
3). 若實體A和B是一對多的聯(lián)系,實體B和C是一對一的聯(lián)系,則實體A和C的聯(lián)系是( )
A.一對一
B.一對多
C.多對一
D.多對多
正確答案:B
答案解析:由于B和C有一一對應(yīng)的聯(lián)系,而A和B只間有一對多的聯(lián)系,則通過關(guān)系之間的傳遞,則A和C之間也是一對多的聯(lián)系。
4). 關(guān)于C語言的變量,以下敘述中錯誤的是( )
A.所謂變量是指在程序運行過程中其值可以被改變的量
B.變量所占的存儲單元地址可以隨時改變
C.程序中用到的所有變量都必須先定義后才能使用
D.由三條下劃線構(gòu)成的符號名是合法的變量名
正確答案:B
答案解析:變量是指在程序運行過程中其值可以改變的值,一個變量實質(zhì)上是代表了內(nèi)存中的某個存儲單元。在程序中對某個變量的操作實際上就是對這個存儲單元的操作,程序運行期間,這個分配的存儲單元不會改變,但是其值可以變化。變量命名要符合標(biāo)識符的規(guī)定,其中下劃線是標(biāo)識符的組成字符。程序中所有變量都必須先定義后使用。
5). 當(dāng)變量c的值不為2、4、6時,值也為″真″的表達(dá)式是( )
A.(c==2)||(c==4)||(c==6)
B.(c>=2 && c<=6)&& !(c%2)
C.(c>=2 && c<=6)&&(c%2!=1)
D.(c>=2 && c<=6) || (c!=3) || (c!=5)
正確答案:D
答案解析:邏輯或運算中,只要有一項為真,表達(dá)式的值就為真,故選項D中c的值不為2、4、6時,那么表達(dá)式(c>=2 && c<=6)以及(c!=3)、(c!=5)必有一個成立,表達(dá)式的值也為真。
6). 在C語言中,函數(shù)返回值的類型最終取決于
A.函數(shù)定義時在函數(shù)首部所說明的函數(shù)類型
B.return語句中表達(dá)式值的類型
C.調(diào)用函數(shù)時主調(diào)函數(shù)所傳遞的實參類型
D.函數(shù)定義時形參的類型
正確答案:A
答案解析:在C語言中,應(yīng)當(dāng)在定義函數(shù)時指定函數(shù)值的類型,凡不加類型說明的函數(shù),一律按整型處理。在定義函數(shù)時,對函數(shù)值說明的類型一般應(yīng)該和return語句中的表達(dá)式類型一致。如果函數(shù)值的類型和return語句中的表達(dá)式類型不一致,則以函數(shù)類型為主,即函數(shù)類型決定返回值的類型。
二、程序填空題
下列給定程序中,函數(shù)fun的功能是:把形參a所指數(shù)組中的最小值放在元素a[o]中,接著把a(bǔ)_所指數(shù)組中的最大值放在a[1]元素中;再把a(bǔ)所指數(shù)組元素中的次小值放在a[2]中,把a(bǔ)所指數(shù)組元素中的次大值放在a[3],以此類推。
例如,若a所指數(shù)組中的數(shù)據(jù)最初排列為:9、1…4 2 3、6、5、8、7;則按規(guī)則移動后,數(shù)據(jù)排列為:1、9.2、8:3、7、4、6、5。形參13.中存放a所指數(shù)組中數(shù)據(jù)的個數(shù)。‘
規(guī)定fum函數(shù)中的max存放當(dāng)前所找的最大值,px存放當(dāng)前所找最大值的下標(biāo)。請在程序的下劃線處填人正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。注意:部分源程序在文件BLANK1.C中。
不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
【參考答案】(1)a[i](2)a[j](3)a[j]
【考點分析】
本題考查:數(shù)組的引用;if語句條件表達(dá)式,如果表達(dá)式的值為真,則執(zhí)行下面的語句,如果該值為假,財不執(zhí)行下面的語句。
【解題思路】
填空1:for循環(huán)語句循環(huán)體中將數(shù)組元素a[i]賦值給變量max和變量rain。
填空2:通過一次for循環(huán),找到數(shù)組中的最大值,if語句的條件表達(dá)式是mu
填空3:同理,此處if語句的條件表達(dá)式是min>a[j]。
【解題寶典】
求最大值或者最小值的題目,一般都是假設(shè)一個元素最大或最小,然后通過if條件語句將該元素和其他元素進(jìn)行比較操作來完成。
三、程序修改題
下列給定程序中函數(shù)fun的功能是。用遞歸算法計算斐波拉契數(shù)列中第n項的值。從第l項起,斐波拉契數(shù)列為:1、1、2、3、5、8、l3、21、……
例如,若給n輸入7,則該項的斐波拉契數(shù)值為l3。請改正程序中的錯誤,使它能得出正確的結(jié)果。注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
【參考答案】
去掉分號
(2Case 1:caBe
2:return 1;
【考點分析】
本題考查:switch語句,其一般形式為switch(表達(dá)式)
cage常量表達(dá)式l:語句l;case常量表達(dá)式2:語句2;
cm常量表達(dá)式n:語句n;default:語句n+1;
其中switch(表達(dá)式)后不應(yīng)該帶有“;”,同時case語句常量后應(yīng)該是“:”。
【解題思路】
C語言中,switch語句之后不能有分號,并且case語句常量后應(yīng)用的是冒號。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2018年全國計算機(jī)等級考試復(fù)習(xí)知識點匯總(各科目)
2018計算機(jī)等級考試報名時間|各地報名入口|報名條件
2018年全國計算機(jī)等級考試時間|教材目錄(2018年版)
2018全國計算機(jī)等級考試備考經(jīng)驗及應(yīng)試技巧匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |