第 1 頁(yè):選擇題 |
點(diǎn)擊查看:2018年3月全國(guó)計(jì)算機(jī)二級(jí)C語(yǔ)言練習(xí)題及答案匯總
一、選擇題(每小題1分,共40分)
1[單選題] 有以下程序(注:字符a的ASCII碼值為97):
程序運(yùn)行后的輸出結(jié)果是( )。
A.789
B.abe
C.7890
D.979899
參考答案:A
參考解析:因?yàn)樾?xiě)字符a,b,c的ASCII碼值分別為97,98,99,而在do while循環(huán)語(yǔ)句中,每次對(duì)字符的ASCII碼值取余數(shù)并輸出,所以分別輸出7,8,9。
2[單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.7
B.10
C.8
D.9
參考答案:D
參考解析:調(diào)用f(a,b)函數(shù)返回3,調(diào)用f(a,c)函數(shù)返回6,所以外層調(diào)用f(f(a,b),f(a,c));即調(diào)用f(3,6)函數(shù)返回9。
3[單選題] 下面敘述中錯(cuò)誤的是( )。
A.軟件測(cè)試的目的是發(fā)現(xiàn)錯(cuò)誤并改正錯(cuò)誤
B.對(duì)被調(diào)試的程序進(jìn)行“錯(cuò)誤定位”是程序調(diào)試的必要步驟
C.程序調(diào)試通常也稱(chēng)為Debug
D.軟件測(cè)試應(yīng)嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性
參考答案:A
參考解析:軟件測(cè)試的目的是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程,并不涉及改正錯(cuò)誤,所以選項(xiàng)A錯(cuò)誤。程序調(diào)試的基本步驟有:錯(cuò)誤定位、修改設(shè)計(jì)和代碼,以排除錯(cuò)誤、進(jìn)行回歸測(cè)試,防止引進(jìn)新的錯(cuò)誤。程序調(diào)試通常稱(chēng)為Debug,即排錯(cuò)。軟件測(cè)試的基本準(zhǔn)則有:所有測(cè)試都應(yīng)追溯到需求、嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性、充分注意測(cè)試中的群集現(xiàn)象、程序員應(yīng)避免檢查自己的程序、窮舉測(cè)試不可能、妥善保存測(cè)試計(jì)劃等文件。
4[單選題] 以下關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)的敘述中正確的是( )。
A.結(jié)構(gòu)化程序使用goto語(yǔ)句會(huì)很便捷
B.在C語(yǔ)言中,程序的模塊化是利用函數(shù)實(shí)現(xiàn)的
C.一個(gè)結(jié)構(gòu)化程序必須同時(shí)由順序、分支、循環(huán)三種結(jié)構(gòu)組成
D)由三種基本結(jié)構(gòu)構(gòu)成的程序只能解決小規(guī)模的問(wèn)題
參考答案:B
參考解析:濫用goto語(yǔ)句將使程序的流程毫無(wú)規(guī)律,可讀性差,對(duì)于初學(xué)者來(lái)說(shuō)盡量不要使用,所以A錯(cuò)誤。一個(gè)結(jié)構(gòu)化程序可以包含順序、分支、循環(huán)結(jié)構(gòu)中的一種或多種,所以C錯(cuò)誤。由三種基本結(jié)構(gòu)構(gòu)成的程序可以解決任何復(fù)雜的問(wèn)題,所以D錯(cuò)誤。
5[單選題] 若變量已正確定義為int型,要通過(guò)語(yǔ)句:
scanf("%d,%d,%d",&a,&b,&c);
給a賦值1、給b賦值2、給c賦值3,以下輸入形式中錯(cuò)誤的是( )。(注:口代表一個(gè)空格符)
ABCD參考答案:D
參考解析:scanf()的格式控制串可以使用其他非空白字符,如本題中的逗號(hào),但在輸入時(shí)必須輸入這些字符,以保證匹配。所以逗號(hào)必須輸入。
6[單選題] 以下四個(gè)程序中,完全正確的是( )。
ABCD參考答案:B
參考解析:C語(yǔ)言中注釋語(yǔ)句的注釋方法是:/*注釋內(nèi)容*/或//注釋一行。所以A與C錯(cuò)誤,D選項(xiàng)中預(yù)編譯命令indade前丟掉了”#”號(hào)。所以選擇B。
7[單選題] 算法的空間復(fù)雜度是指( )。
A.算法在執(zhí)行過(guò)程中所需要的計(jì)算機(jī)存儲(chǔ)空間
B.算法所處理的數(shù)據(jù)量
C.算法程序中的語(yǔ)句或指令條數(shù)
D.算法在執(zhí)行過(guò)程中所需要的臨時(shí)工作單元數(shù)
參考答案:A
參考解析:算法的空間復(fù)雜度是指算法在執(zhí)行過(guò)程中所需要的內(nèi)存空間。所以選擇A。
8[單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.1,2,3,4,5,6,7,8,9,0,
B.2,1,4,3,6,5,8,7,0,9,
C.0,9,8,7,6,5,4,3,2,1,
D.0,1,2,3,4,5,6,7,8,9,
參考答案:A
參考解析:函數(shù)調(diào)用中發(fā)生的數(shù)據(jù)傳送是單向的。即只能把實(shí)參的值傳送給形參而不能把形參的值反向地傳送給實(shí)參。因此在函致調(diào)用過(guò)程中,形參的值發(fā)生改變,而實(shí)參中的值不會(huì)變化,所以數(shù)組C中的元素的值并沒(méi)有變化,選擇A。
9[單選題] 若變量x,y已正確定義并賦值,以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是( )。
A.x+1=y
B.++x,y=x- -
C.x=z+10=z+y
D.double(x)/10
參考答案:B
參考解析:A選項(xiàng)中不能將變量Y賦給表達(dá)式,C選項(xiàng)中錯(cuò)誤與A選項(xiàng)一樣,D選項(xiàng)中強(qiáng)制類(lèi)型轉(zhuǎn)換表達(dá)式應(yīng)寫(xiě)成(double)x/10。
10[單選題] 若有以下函數(shù)首部:
則下面針對(duì)此函數(shù)的函數(shù)聲明語(yǔ)句中正確的是( )。
ABCD參考答案:B
參考解析:函數(shù)聲明的一般形式為:“類(lèi)型說(shuō)明符被調(diào)函數(shù)名(類(lèi)型形參,類(lèi)型形參,……);"或"類(lèi)型說(shuō)明符被調(diào)函數(shù)名(類(lèi)型,類(lèi)型,……);”由于函數(shù)首部為int fun(double x[10],int * n),因此B選項(xiàng)正確。
11[單選題] 設(shè)有以下語(yǔ)句:
執(zhí)行后,c的值為( )。
A.7
B.9
C.8
D.6
參考答案:B
參考解析:b為2,二進(jìn)制為00000010,執(zhí)行左移兩位操作后為00001000,然后與a 00000001做異或操作結(jié)果為00001001,即十進(jìn)制的9。
12[單選題] 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中的核心問(wèn)題是( )。
A.數(shù)據(jù)庫(kù)設(shè)計(jì)
B.數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)
C.數(shù)據(jù)庫(kù)維護(hù)
D.數(shù)據(jù)庫(kù)管理員培訓(xùn)
參考答案:A
參考解析:數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中的核心問(wèn)題是數(shù)據(jù)庫(kù)的設(shè)計(jì)。
13[單選題] 以下定義語(yǔ)句中正確的是( )。
ABCD參考答案:B
參考解析:A選項(xiàng)語(yǔ)句中b變量還沒(méi)有定義不能直接用于給a變量賦值。c選項(xiàng)語(yǔ)句中*b、* c表示的是一個(gè)實(shí)型變量的地址,不能再將&b賦值給指針型變量c。D選項(xiàng)語(yǔ)句中a=0.0后面應(yīng)該為逗號(hào),不能是分號(hào)。
14[單選題] 下列敘述中正確的是( )。
A.在switch語(yǔ)句中,不一定使用break語(yǔ)句
B.在switch語(yǔ)句中必須使用default
C.break語(yǔ)句必須與switch語(yǔ)句中的case配對(duì)使用
D.break語(yǔ)句只能用于switch語(yǔ)句
參考答案:A
參考解析:default語(yǔ)句在switch語(yǔ)句中可以省略,所以B錯(cuò)誤;switch語(yǔ)句中并非每個(gè)case后都需要使用break語(yǔ)句,所以C錯(cuò)誤;break語(yǔ)句還可以用于for等循環(huán)結(jié)構(gòu)中,所以D錯(cuò)誤。
15[單選題] 對(duì)于一個(gè)正常運(yùn)行的C程序,以下敘述中正確的是( )。
A.程序的執(zhí)行總是從main函數(shù)開(kāi)始,在程序的最后一個(gè)函數(shù)中結(jié)束
B.程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開(kāi)始,在main函數(shù)結(jié)束
C.程序的執(zhí)行總是從main函數(shù)開(kāi)始
D.程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開(kāi)始,在程序的最后一個(gè)函數(shù)中結(jié)束
參考答案:C
參考解析:任何一個(gè)c程序都是從主函數(shù)main開(kāi)始,至主函數(shù)main結(jié)束,所以選擇c選項(xiàng)。
16[單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.7
B.5
C.3
D.9
參考答案:C
參考解析:向switch語(yǔ)句塊傳送參數(shù)后,編譯器會(huì)先尋找匹配的case語(yǔ)句塊,找到后就執(zhí)行該語(yǔ)句塊,遇到break跳出;如果沒(méi)有匹配的語(yǔ)句塊,則執(zhí)行default語(yǔ)句塊。case與default沒(méi)有順序之分。所以第一次循環(huán)k的值為1,執(zhí)行c+=k,c的值為l,再執(zhí)行case 2后的語(yǔ)句c++,c的值為2,遇到break語(yǔ)句跳出循環(huán);第二次循環(huán)k的值為2,執(zhí)行case 2后面的語(yǔ)句c++,c的值為3,跳出循環(huán)。
17[單選題] 以下定義數(shù)組的語(yǔ)句中錯(cuò)誤的是( )。
A.int num[][3]={{1,2},3,4,5,6};
B.int num[2][4]={{1,2},{3,4},{5,6}};
C.int num[]={1,2,3,4,5,6};
D.int hum[][4]={1,2,3,4,5,6};
參考答案:B
參考解析:B)選項(xiàng)中定義的數(shù)組為2行4列,而賦值時(shí)賦成了3行所以出錯(cuò)。
18[單選題] 下列語(yǔ)句組中,正確的是( )。
ABCD參考答案:A
參考解析:字符型指針變量可以用選項(xiàng)A的賦值方法:char*s;s="Olympic",選項(xiàng)C的寫(xiě)法:char*s,s={"Olympic"};是錯(cuò)誤的。字符數(shù)組可以在定義的時(shí)候初始化:char s[]={"Olympic"};?或者char s[]="Olympic",都是正確的。但是不可以在定義字符數(shù)組后,對(duì)數(shù)組名賦值。(數(shù)組名是常量,代表數(shù)組首地址)所以選項(xiàng)B和選項(xiàng)D都是錯(cuò)誤的。對(duì)于本例,選項(xiàng)B、D中字符數(shù)組8的大小至少為8,才能存放下字符串。(字符串的末尾都有結(jié)束標(biāo)識(shí)‘\0’)。
19[單選題] 以下關(guān)于typedef的敘述錯(cuò)誤的是( )。
A.用typedef可以增加新類(lèi)型
B.typedef只是將已存在的類(lèi)型用一個(gè)新的名字來(lái)代替
C.用typedef可以為各種類(lèi)型說(shuō)明一個(gè)新名,但不能用來(lái)為變量說(shuō)明一個(gè)新名
D.用typedef為類(lèi)型說(shuō)明一個(gè)新名,通?梢栽黾映绦虻目勺x性
參考答案:A
參考解析:typedef并不是增加了新類(lèi)型,而是用一個(gè)新名字替代已存在的類(lèi)型,不能為變量說(shuō)明一個(gè)新名,使用typedef可以增強(qiáng)程序的可移植性。所以A選項(xiàng)錯(cuò)誤。
20[單選題] 在E-R圖中,用來(lái)表示實(shí)體聯(lián)系的圖形是( )。
A.橢圓形
B.矩形
C.菱形
D.三角形
參考答案:C
參考解析:在E-R圖中實(shí)體集用矩形,屬性用橢圓,聯(lián)系用菱形。
21[單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.Zhao,m,85,90,Qian,f,95,92
B.Zhao,m,85,90,Zha0,m,85,90
C.Qian,f,95,92,Qian,f,95,92
D.Qian,f,95,92,Zha0,m,85,90
參考答案:A
參考解析:本題考查的是函數(shù)調(diào)用時(shí)的參數(shù)傳遞問(wèn)題。程序在調(diào)用函數(shù)f時(shí),傳給函數(shù)f的參數(shù)只是結(jié)構(gòu)變量c在棧中的一個(gè)拷貝,函數(shù)f所做所有操作只是針對(duì)這個(gè)數(shù)據(jù)拷貝進(jìn)行的修改,這些都不會(huì)影響變量c的值。
22[單選題] 耦合性和內(nèi)聚性是對(duì)模塊獨(dú)立性度量的兩個(gè)標(biāo)準(zhǔn)。下列敘述中正確的是( )。
A.提高耦合性降低內(nèi)聚性有利于提高模塊的獨(dú)立性
B.降低耦合性提高內(nèi)聚性有利于提高模塊的獨(dú)立性
C.耦合性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度
D.內(nèi)聚性是指模塊問(wèn)互相連接的緊密程度
參考答案:B
參考解析:模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性,所以A錯(cuò)誤,B正確。耦合性是模塊間互相連接的緊密程度的度量而內(nèi)聚性是指一個(gè)模塊內(nèi)部各個(gè)元素問(wèn)彼此結(jié)合的緊密程度,所以C與D錯(cuò)誤。
23[單選題] 以下不能輸出字符A的語(yǔ)句是( )。(注:字符A的ASCII碼值為65,字符a的ASCII碼值為97)
ABCD參考答案:B
參考解析:B選項(xiàng)輸出的格式為%d,即為整型格式,所以輸出字符A的ASCII碼值65,而不是字符A。由于大寫(xiě)字母比與其對(duì)應(yīng)的小寫(xiě)字母的ASCII碼值小32,所以A正確。字符A的ASCII碼值就是65,所以以%c格式輸出可以輸出字符A,所以C正確。由于字符A的ASCII碼值比字符B的小1,所以D正確。
24[單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.120
B.11
C.6
D.21
參考答案:D
參考解析:fun函數(shù)中的變量x為靜態(tài)局部變量,占用固定的內(nèi)存單元,下一次調(diào)用時(shí)仍可以保留上次調(diào)用時(shí)的值。也就是說(shuō),如果多次調(diào)用fun函數(shù),s的定義只在第一次調(diào)用時(shí)有效,從第二次調(diào)用開(kāi)始,X的定義相當(dāng)于不存在,直接使用上次x的值。fun函數(shù)被調(diào)用了5次,每次調(diào)用后的返回值累加到s上。5次調(diào)用后,x的值為6,s的值為1+2+3+4+5+6=21。因此D選項(xiàng)正確。
25[單選題] 軟件設(shè)計(jì)中劃分模塊的一個(gè)準(zhǔn)則是( )。
A.低內(nèi)聚低耦合
B.高內(nèi)聚低耦合
C.低內(nèi)聚高耦合
D.高內(nèi)聚高耦合
參考答案:B
參考解析:一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。
26[單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.2,3,1,6,8.7,5,4,10,9,
B.10,9,8,7,6,5,4,3,2,1,
C.1,2,3,4,5,6,7,8,9,10,
D.10,9,8,7,6,1,2,3,4,5,
參考答案:C
參考解析:本題的子函數(shù)f的功能是對(duì)結(jié)構(gòu)體變量8中第二個(gè)成員數(shù)組中所有的數(shù)據(jù)進(jìn)行從小到大的冒泡排序,所以結(jié)果是C。
27[單選題] 有三個(gè)關(guān)系R、S和T如下:
其中關(guān)系T由關(guān)系R和S通過(guò)某種操作得到,該操作為( )。
A.選擇
B.投影
C.交
D.并
參考答案:D
參考解析:關(guān)系T中包含了關(guān)系R與S中的所有元組,所以進(jìn)行的是并的運(yùn)算。
28[單選題] 有以下程序:
程序執(zhí)行后的輸出結(jié)果是( )。
A.20
B.25
C.45
D.36
參考答案:B
參考解析:統(tǒng)計(jì)1~9九個(gè)數(shù)中的奇數(shù)和,此題考察指向數(shù)組的指針。C語(yǔ)言規(guī)定數(shù)組名代表數(shù)組的首地址,也就是第一個(gè)元素的地址。因此*(t+i)代表數(shù)組的第i+1個(gè)元素。程序運(yùn)行的結(jié)果是l+3+5+7+9=25。
29[單選題] 下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進(jìn)后出”原則存取數(shù)據(jù)的是( )。
A.循環(huán)隊(duì)列
B.棧
C.隊(duì)列
D.二叉樹(shù)
參考答案:B
參考解析:棧是按先進(jìn)后出的原則組織數(shù)據(jù)的。隊(duì)列是先進(jìn)先出的原則組織數(shù)據(jù)。
30[單選題] 以下敘述中錯(cuò)誤的是( )。
A.gets函數(shù)用于從終端讀入字符串
B.getchar函數(shù)用于從磁盤(pán)文件讀入字符
C.fput,函數(shù)用于把字符串輸出到文件
D.fwrite函數(shù)用于以二進(jìn)制形式輸出數(shù)據(jù)到文件
參考答案:B
參考解析:本題考查字符處理函數(shù)和文件操作函數(shù),屬于基礎(chǔ)知識(shí),其中B選項(xiàng)getehar函數(shù)是用于從終端讀入一個(gè)字符。
31[單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.33
B.197
C.143
D.28
參考答案:C
參考解析:本題考查帶參數(shù)的宏定義,s為帶參數(shù)的宏定義,運(yùn)行S(k+j)為4*(k+j)*k+j+1=143,選項(xiàng)C正確。
32[單選題] 以下選項(xiàng)中能表示合法常量的是( )。
A.1,200
B.1.5E2.0
C.'\'
D."\007"
參考答案:D
參考解析:A選項(xiàng)中整型常量應(yīng)表示為1200,不能包含“,”。B選項(xiàng)中E后面的指數(shù)必須為整數(shù)。C選項(xiàng)中轉(zhuǎn)義字符以“\”開(kāi)始,若要表示字符“\”,應(yīng)寫(xiě)為“\\”。
33[單選題] 設(shè)有如下函數(shù)定義:
若執(zhí)行調(diào)用語(yǔ)句“n=fun(3);”,則函數(shù)fun總共被調(diào)用的次數(shù)是( )。
A.2
B.3
C.4
D.5
參考答案:B
參考解析:首先n=fun(3),3被當(dāng)作參數(shù)傳遞進(jìn)去,這就進(jìn)行了一次調(diào)用,3被當(dāng)作參數(shù)傳進(jìn)去后,程序會(huì)執(zhí)行這句else returnfun(k-1)+1;這就調(diào)用了第二次,而參數(shù)是3-l也就是2。2被當(dāng)作參數(shù)傳進(jìn)去后,程序會(huì)執(zhí)行這句elsereturn fun(k-1)+1;這就調(diào)用了第三次,而參數(shù)是2-1也就是1。1被當(dāng)作參數(shù)傳進(jìn)去后,程序會(huì)執(zhí)行這句else if(k==1)return 1;不再遞歸調(diào)用,所以最終結(jié)果為3次。
34[單選題] 若有定義語(yǔ)句:
char s[10]="1234567\0\0";
則strlen(S)的值是( )。
A.7
B.8
C.9
D.10
參考答案:A
參考解析:strlen()函數(shù)在計(jì)算字符串長(zhǎng)度時(shí),遇到結(jié)束標(biāo)識(shí)為止,且長(zhǎng)度不包括結(jié)束標(biāo)識(shí)。本題中字符串,從第一個(gè)字符開(kāi)始,遇到第一個(gè)結(jié)束標(biāo)識(shí)‘\0’為止,注意‘\0’不占字符串長(zhǎng)度,所以字符串長(zhǎng)度為7。因此A選項(xiàng)正確。
35[單選題] C源程序中不能表示的數(shù)制是( )。
A.十六進(jìn)制
B.八進(jìn)制
C.十進(jìn)制
D.二進(jìn)制
參考答案:D
參考解析:在C語(yǔ)言中整型常量可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制等形式表示,但不包括二進(jìn)制,所以選擇D。
36[單選題] 若有以下定義:
則對(duì)x數(shù)組元素的正確引用是( )。
A.pt+3
B.*&x[10]
C.*(pt+10)
D.*(x+3)
參考答案:D
參考解析:沒(méi)有A選項(xiàng)的引用形式。*與&放在一起作用抵消,所以B選項(xiàng)錯(cuò)誤,最大只能引用到x[9]。*(pt+i)表示引用指針pt所指元素后的第i個(gè)元素,所以c選項(xiàng)錯(cuò)誤,最大只能為*(pt+9)。因此D選項(xiàng)正確。
37[單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.A B E F
B.C D E F
C.A B C D
D.C D A B
參考答案:B
參考解析:本題考察的是變量的作用范圍。如果在同一個(gè)源文件中,外部變量與局部變量同名,則在局部變量的作用范圍內(nèi),外部變量被“屏蔽”,即不起作用。本題中,在funl()和main()函數(shù)內(nèi)訪(fǎng)問(wèn)的是全局變量a和b,在fun2()函數(shù)中訪(fǎng)問(wèn)的是形參變量a和b。所以,main()函數(shù)中的printf()函數(shù)輸出的是在fun1()函數(shù)中被改變的全局變量a和b的值C、D,而fun2()函數(shù)中輸出的是傳遞給它的實(shí)參值E、F。因此B選項(xiàng)正確。
38[單選題] 有以下程序:
若運(yùn)行時(shí)輸入:246<回車(chē)>,則輸出結(jié)果為( )。
A.204
B.200
C.240
D.246
參考答案:A
參考解析:奉題中輸入的3個(gè)數(shù)據(jù)2,4,6分別賦值給了x[0][0],x[1][0],x[2][0]。x[0][1]仍為初始時(shí)的0,所以打印輸出時(shí)的結(jié)果為A選項(xiàng)。
39[單選題] 設(shè)有定義:
int a=1,b=2,e=3;
以下語(yǔ)句中執(zhí)行效果與其他三個(gè)不同的是( )。
A.if(a>b) c=a,a=b,b=c;
B.if(a>b) {e=a,a=b,b=e;}
C.if(a>b)e=a;a=b;b=C;
D.if(a>b) {c-7-a;a=b;b=e;}
參考答案:C
參考解析:由于a小于b,所以所有選項(xiàng)中的條件都為假,c選項(xiàng)中實(shí)際執(zhí)行了a=b;b=c;兩個(gè)操作。而A、B、D選項(xiàng)由于條件不成立.所以什么也沒(méi)有做,所以選擇C選項(xiàng)。
40[單選題] 軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是( )。
A.編譯程序
B.操作系統(tǒng)
C.教務(wù)管理系統(tǒng)
D.匯編程序
參考答案:C
參考解析:編譯軟件、操作系統(tǒng)、匯編程序都屬于系統(tǒng)軟件,只有C教務(wù)管理系統(tǒng)才是應(yīng)用軟件。
二、程序填空題(共18分)
41[填空題]
下列給定程序中,函數(shù)fun的功能是進(jìn)行數(shù)字字符轉(zhuǎn)換。若形參ch中是數(shù)字字符‘0’~‘9’,則將‘0’轉(zhuǎn)換成‘9’,‘1’轉(zhuǎn)換成‘8’,‘2’轉(zhuǎn)換成‘7’,……,‘9’轉(zhuǎn)換成‘0’;若是其他字符則保持不變;并將轉(zhuǎn)換后的結(jié)果作為函數(shù)值返回。
請(qǐng)?jiān)诔绦虻南聞澗(xiàn)處填入正確的內(nèi)容并將下劃線(xiàn)刪除,使程序得出正確的結(jié)果。
注意:部分源程序在文件BLANKl.C中。
不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
參考解析:【參考答案】 (1)char
(2)eh<='9'
(3)'0'
【考點(diǎn)分析】
本題考查:函數(shù)定義,注意函數(shù)定義的一般形式以及有參函數(shù)和無(wú)參函數(shù)的區(qū)別;if語(yǔ)句條件表達(dá)式,本題的條件表達(dá)式是判斷數(shù)字字符;函數(shù)返回值,其一般形式為“return表達(dá)式;”。
【解題思路】
填空l(shuí):函數(shù)定義時(shí),類(lèi)型標(biāo)識(shí)符指明了本函數(shù)的類(lèi)型,函數(shù)的類(lèi)型實(shí)際上是函數(shù)返回值的類(lèi)型,所以此處應(yīng)該填char。
填空2:通過(guò)if條件語(yǔ)句判斷字符串中字符是否是數(shù)字字符,既大于等于字符‘0’,同時(shí)小于等于字符‘9’。
填空3:return語(yǔ)句完成函數(shù)返回操作,要實(shí)現(xiàn)字符轉(zhuǎn)換,應(yīng)填入return'9'-(ch-'0')。
【解題寶典】
有參函數(shù)定義,其一般形式為:類(lèi)型標(biāo)識(shí)符函數(shù)名(形式參數(shù)表列)
{聲明部分
語(yǔ)句
在形參表中給出的參數(shù)稱(chēng)為形式參數(shù),它們可以是各種類(lèi)型的變量,各參數(shù)之間用逗號(hào)間隔。在進(jìn)行函數(shù)調(diào)用時(shí),主調(diào)函數(shù)將賦予這些形式參數(shù)實(shí)際的值。形參既然是變量,必須在形參列表中給出類(lèi)型說(shuō)明。
三、程序修改題(共18分)
42[簡(jiǎn)答題]
下列給定程序中,函數(shù)fun的功能是:讀入一個(gè)字符串(長(zhǎng)度<20),將該字符串中的所有字符按ASCII碼值升序排序后輸出。例如,若輸入“edcba”,則應(yīng)輸出“abcde”。
請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:部分源程序在文件MODI1.C中,不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
試題程序:
參考解析:【參考答案】
【解題思路】
(1)本題是利用選擇法對(duì)數(shù)組元素進(jìn)行比較排序。所謂選擇法,是依次用當(dāng)前取得的元素和其后面的元素進(jìn)行比較,在第一個(gè)元素和其后面的元素順次比較時(shí),可以借助中間變量來(lái)對(duì)兩個(gè)數(shù)進(jìn)行交換,要保證第一個(gè)元素始終存放數(shù)組中的最大數(shù),以后依次挑選出次大數(shù),這樣最終的數(shù)組就是有序的。strlen函數(shù)所求得的字符串長(zhǎng)度包括字符串結(jié)束符,所以要減1。
(2)這里是一個(gè)分析邏輯錯(cuò)誤,題中要求按升序排序,所以應(yīng)改為
四、程序設(shè)計(jì)題(共24分)
43[簡(jiǎn)答題]
m個(gè)人的成績(jī)存放在score數(shù)組中,請(qǐng)編寫(xiě)函數(shù)fun,它的功能是:將低于平均分的人數(shù)作為函數(shù)值返回,將低于平均分的分?jǐn)?shù)放在below所指的數(shù)組中。
例如,當(dāng)score數(shù)組中的數(shù)據(jù)為10、20、30、40、50、印、70、80、90時(shí),函數(shù)返回的人數(shù)應(yīng)該是4,below中的數(shù)據(jù)應(yīng)為10、20、30、40。
注意:部分源程序在文件PROG1.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。
試題程序:
參考解析:【參考答案】
【解題思路】
要計(jì)算低于平均分的人數(shù),首先應(yīng)該求出平均分,然后通過(guò)for循環(huán)語(yǔ)句和if條件語(yǔ)句找出低于平均分的分?jǐn)?shù)。該題第1個(gè)循環(huán)的作用是求出平均分av,第2個(gè)循環(huán)的作用是找出低于平均分的成績(jī)記錄并存入below數(shù)組中。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2018年全國(guó)計(jì)算機(jī)等級(jí)考試必做試題匯總(各科目)
2018年全國(guó)計(jì)算機(jī)等級(jí)考試復(fù)習(xí)知識(shí)點(diǎn)匯總(各科目)
2018計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間|各地報(bào)名入口|報(bào)名條件
2018年全國(guó)計(jì)算機(jī)等級(jí)考試時(shí)間|教材目錄(2018年版)
2018全國(guó)計(jì)算機(jī)等級(jí)考試備考經(jīng)驗(yàn)及應(yīng)試技巧匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |