版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
國(guó)家二級(jí)(C語(yǔ)言)機(jī)試模擬試卷第1
套
一、選擇題(本題共39題,每題1.0分,共39分。)
1、下列關(guān)于c語(yǔ)言文件的敘述中正確的是()。
A、文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進(jìn)制文件
B、文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件
C、文件由數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件
D、文件由字符序列組成,其類型只能是文本文件
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:C語(yǔ)言將文件看作是一個(gè)字符(字節(jié))的序列,即由一個(gè)一個(gè)字符(字
節(jié))數(shù)據(jù)順序組成。根據(jù)數(shù)據(jù)的組成形式,可將文件分為兩種:①ASCH文件,又
稱文本(text)文件,它的每一個(gè)字節(jié)可放一個(gè)ASCII碼,代表一個(gè)字符;②二進(jìn)制
文件,是把內(nèi)存中的數(shù)據(jù)按其在內(nèi)存中的存儲(chǔ)形式原樣輸出到磁盤上存放。所以
C文件就是一個(gè)字節(jié)流或一個(gè)二進(jìn)制流。
2、下列哪一條不屬于數(shù)據(jù)庫(kù)設(shè)計(jì)的任務(wù)?()
A、設(shè)計(jì)數(shù)據(jù)庫(kù)應(yīng)用結(jié)構(gòu)
B、設(shè)計(jì)數(shù)據(jù)庫(kù)概論結(jié)構(gòu)
C、設(shè)計(jì)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)
D、設(shè)計(jì)數(shù)據(jù)庫(kù)物理結(jié)構(gòu)
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)設(shè)計(jì)工作量大而且過(guò)程復(fù)雜,既是一項(xiàng)數(shù)據(jù)庫(kù)工程也是一項(xiàng)龐
大的軟件工程??紤]數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)開發(fā)全過(guò)程.將數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)
階段:需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)實(shí)施和數(shù)
據(jù)庫(kù)的運(yùn)行和維護(hù)。
3、下列敘述中錯(cuò)誤的是()。
A、用戶所定義的標(biāo)識(shí)符允許使用關(guān)鍵字
B、用戶所定義的標(biāo)識(shí)符應(yīng)盡量做到“見名知意”
C、用戶所定義的標(biāo)識(shí)符必須以字母或下劃線開頭
D、用戶定義的標(biāo)識(shí)符中,大、小寫字母代表不同標(biāo)識(shí)
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:在C語(yǔ)言中,合法標(biāo)識(shí)符的命名規(guī)則是:標(biāo)識(shí)符可以由字母、數(shù)字
和下劃線組成,并且第一個(gè)字符必須為字母或下劃線,凡是要求標(biāo)識(shí)符的地方都必
須按此規(guī)則命名。在C語(yǔ)言的標(biāo)識(shí)符中,大寫字母和小寫字母被認(rèn)為是兩個(gè)不同
的字符。在選擇標(biāo)識(shí)符時(shí),應(yīng)注意做到“見名知義”,即選擇具有一定含義的英文單
詞或漢語(yǔ)拼音作為標(biāo)識(shí)符,以增加程序的可讀性。
4、有以下程序:#include<stdio.h>main(){ints,t,A=10:doubleB=6;
s=sizeof(A);t=sizeof(B);printf("%d,%d\n",s,t);}在VC6.0平臺(tái)上編譯
運(yùn)行,程序運(yùn)行后的輸出結(jié)果是()。
A、10,6
B、4,4
C、2,4
D、4,8
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:C語(yǔ)言中利用sizeof()函數(shù)判斷數(shù)據(jù)類型長(zhǎng)度,在VC6.0平臺(tái)中,
整型int占有4個(gè)字節(jié),double型數(shù)據(jù)占有8個(gè)字節(jié)。
5、有關(guān)return語(yǔ)句說(shuō)法不正確的是()。
A、系統(tǒng)默認(rèn)的返回值類型為整型,故當(dāng)函數(shù)的返回值為int型時(shí);在函數(shù)定義
時(shí),返回值的類型說(shuō)明可以省略。
B、當(dāng)函數(shù)有返回值時(shí),凡是允許表達(dá)式出現(xiàn)的地方,都可以調(diào)用該函數(shù)。
C、當(dāng)函數(shù)沒有返回值時(shí),函數(shù)的返回值類型可以說(shuō)明為void型,它表示“無(wú)類型”
或“空類型
D、函數(shù)的返回值類型必須與return語(yǔ)句中的表達(dá)式值的類型一致,但C語(yǔ)言也允
許不同:這時(shí),系統(tǒng)以函數(shù)定義時(shí)的返回值類型說(shuō)明為準(zhǔn),并自動(dòng)地將return語(yǔ)句
中表達(dá)式的值轉(zhuǎn)換為函數(shù)的返回值類型。
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:函數(shù)的返回值類型一般與return語(yǔ)句中的表達(dá)式值的類型一致,但C
語(yǔ)言也允許不同;這時(shí),系統(tǒng)以函數(shù)定義時(shí)的返回值類型說(shuō)明為準(zhǔn),并自動(dòng)地將
return語(yǔ)句中表達(dá)式的值轉(zhuǎn)換為函數(shù)的返回值類型。
6、有以下程序:#include<stdio.h>#defineN4voidfun(inta[][N],intb[]){int
i;for(i=0;i<N;i++)b[i]=a[i][i]-a[i][N-1-i];}main(){intx[N][N]={{1,2,3,
4),{5,6,7,8},{9,10,11,12),{13,14,15,16)),y[N],i;fun(x,
u
y):for(i=0;i<N:i++)printf(%d,%y[i]);printf("\n");}程序運(yùn)行后的輸出
結(jié)果是()。
A、-3,-1,1,3,
B、-12,-3,0,0,
C、0,1,2,3,
D、-3,-39-39-3,
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:本題中由fun函數(shù)可知,b[0]=a[0][0]-a[0][3]=l-4=-3,b[l]=a[l][l]-
[1][2]=6-7=-1,b[2]=a[2][2]-[2][l]=l1-10=1,b[3]=a[3][3]-[3][l]=16-13=3o所以主函
數(shù)中打印y數(shù)組元素的值為A選項(xiàng)。
7、下面程序的運(yùn)行結(jié)果是()。y=5;x=14;y-((x=3*y,x+6),x—I);
printf("x=%d,y=%d",x,y);
A、x=27,y=27
B、x=12,y=13
C、x=15,y=14
D^x=y=27
標(biāo)準(zhǔn)答案:c
知識(shí)點(diǎn)3析:本題考查的是逗號(hào)表達(dá)式。逗號(hào)表達(dá)式的求解步驟是先求解表達(dá)式
1,然后依次求解表達(dá)式2,直到表達(dá)式N的值。整個(gè)逗號(hào)表達(dá)式的值就是最后一
個(gè)表達(dá)式N的值。表達(dá)式(x=3*y,x+6)中,x=!5o表達(dá)式y(tǒng)=x—1=14。
8、兩次運(yùn)行下面的程序,如果從鍵盤上分別輸入3和2,則輸出結(jié)果是()。
#includemain(){intx;scanf(4t%d,\&x);if(x++〉2)printf("%d'',x);else
printR"%d\n",X-);}
A、4和3
B、4和2
C、4和1
D、3和2
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:本題考查if-else語(yǔ)句。首先,scanf函數(shù)通過(guò)鍵盤讀入x的值。當(dāng)
x=3時(shí),第一個(gè)if語(yǔ)句先判斷條件,取x的值3和2比較,然后將x的值加1,if
條件成立,執(zhí)行下面的printf語(yǔ)句,輸出x的值4。當(dāng)x=2時(shí),第一個(gè)if語(yǔ)句先判
斷條件,先取x的值2和2比較,然后將x的值加l(x的值變?yōu)?),if條件不成
立,執(zhí)行下面的else語(yǔ)句,先輸出x的值3,再將x的值減I。
9、有以下程序:includemain(){intb[3][3]={0,1,2,0,1,2,O,1,2},i,
j,t=l;for(i=0;i<3;i++)for(j=i;j<=i;j++)t+=b[i][b[j][i]];prinff("%d\n",
t):)程序運(yùn)行后的輸出結(jié)果是()c
A、3
B、4
C、1
D、9
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:每次內(nèi)循環(huán)只循環(huán)一次就結(jié)束,第一次外循環(huán)時(shí)
t=t+b[O][b[O][O]]=l+b[O][O]=l+O=l;第二次外循環(huán)時(shí)
t=t+b[l][b[l][l]]=l+b[l][l]=l+l=2;第三次外循環(huán)時(shí)
Qt+b⑵2⑵⑵]=2+b⑵⑵=2+2=4。
10、以下不正確的定義語(yǔ)句是()。
A、doublex[5]={1.0,2.0,3.0,4.0,5.0);
B>inty[51={0,1,2,3,4,5);
C、charcl[]={,l,,2,3,'4','5'};
D、charc2[]={V,'b','c'};
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:本題考查對(duì)一維數(shù)組的賦值。選項(xiàng)Bj中,y[5]說(shuō)明數(shù)組中有5個(gè)元
素,但卻給它賦了6個(gè)值,數(shù)組溢出所以是錯(cuò)誤的。
11、設(shè)有定義:structcomplex{intreal,unreal;}datal={1,8},data2;則以下賦
值語(yǔ)句中錯(cuò)誤的是()。
A、data2={datal.real,datal.unreal);
B、data2=(2,6);
C、data2.rcal=datal.real;
D、data2->real=datal.unreal;
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:本題主要考查結(jié)構(gòu)體變量的定義與初始化。題目中定義了complex類
型的結(jié)構(gòu)體變量datal和data2,并對(duì)datal進(jìn)行了初始化??梢杂靡粋€(gè)結(jié)構(gòu)在變量
的成員對(duì)另一個(gè)結(jié)構(gòu)體變量的成員賦值。
12、以卜程序段的輸出結(jié)果為()。staticchara|^"programme";char*p;p=a;
for(p=a;p
A、programme
B、porm
C、有語(yǔ)法錯(cuò)誤
D^prog
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:本程序首先定義了靜態(tài)字符數(shù)組a,然后將指針p指向數(shù)組a的首地
址,第一次for循環(huán),p=a,p指向數(shù)組的第一個(gè)元素,狗是取指針p所指地址的內(nèi)
容,輸出p;第二:次for循環(huán),p=p+2,則p指向數(shù)組的第三個(gè)元素,*p是取指
針p所指地址的內(nèi)容,輸出。;第三次for。循環(huán),p=p+2,則p指向數(shù)組的第5個(gè)
元素.*p是取指針p所指地址的內(nèi)容.輸出r:第四次for循環(huán),p=p+2,則p指向
數(shù)組的第7個(gè)元素,*p是取指針p所指地址的內(nèi)容,輸出m;結(jié)束循環(huán)。
13、下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)原則的是(),
A、可封裝
B、自頂向下
C、模塊化
D、逐步求精
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:結(jié)構(gòu)化程序設(shè)計(jì)的思想包括:自頂向下、逐步求精、模塊化、限制使
用goto語(yǔ)句,所以選擇A。
14、下列敘述中錯(cuò)誤的是()。
A、計(jì)算機(jī)不能直接執(zhí)行用C語(yǔ)言編寫的源程序
B、C程序經(jīng)C編譯程序編譯后,生成后綴為.obj的文件是一個(gè)二進(jìn)制文件
C、后綴為.obj的文件,經(jīng)連接程序生成后綴為.exe的文件是一個(gè)二進(jìn)制文件
D、后綴為.obj和.exe的二進(jìn)制文件都可以直接運(yùn)行
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:C源程序經(jīng)過(guò)程序編譯之后生成一個(gè)后綴為obi”的二進(jìn)制文件(稱
為目標(biāo)文件),然后由稱為“連接程序”的軟件包文件與C語(yǔ)言提供的各種庫(kù)函數(shù)連
接起來(lái)生成一個(gè)后綴為“.exe”的可運(yùn)行文件。
15、已知下列函數(shù)定義:fun(int*b,intc,intn,intdata){intk;for(k=0;k<
m*n;k++){*b=data;b++;}}則調(diào)用此函數(shù)的正確寫法是(假設(shè)變量a的說(shuō)明為
inta[5OJ)()。
A、fun(*a,4,5,1);
fun(&a,4,5,1);
C、fun((int*)a,4,5,1);
D、fun(a,4,5,1);
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。fun函數(shù)的調(diào)用形式為“fun(int*b,
intm,intn,intdataf,而調(diào)用數(shù)組時(shí),用數(shù)組名表示一個(gè)指向數(shù)組第一個(gè)元素的
指針,因此調(diào)用時(shí)的形式為:fun(a,4,5,1)。
16、有以下程序(說(shuō)明:字母A的ASCII碼值是65):#includevoidfun(char*s)
{while(*s)if(*s%2)primf("%C”,*s);S++:main。{chara(尸“BYTE”;fun(a);
printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。
A、BT
B、YE
C、YT
D、BY
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:本題中執(zhí)行fun(a)時(shí),會(huì)取字符串a(chǎn)的第一個(gè)字母R.因?yàn)樽帜窧的
ASCII碼值為66,所以不會(huì)輸出字母B,函數(shù)只會(huì)輸出ASCH碼值為奇數(shù)的字
母,字母Y的ASCII碼值為89,字母T的ASCII碼值為84,字母E的ASCII碼值
為69。因此B選項(xiàng)正確。
17、若以“a+”方式打開一個(gè)已存在的文件,以下敘述正確的是()。
A、文件打開時(shí),原有文件內(nèi)容不被刪除,可以進(jìn)行添加和讀操作
B、文件打開時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件開頭,可以進(jìn)行重寫
和讀操作
C、文件打開時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件中間,可以進(jìn)行重寫
和讀操作
D、文件打開時(shí),原有文件內(nèi)容被刪除,只可進(jìn)行寫操作
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:C語(yǔ)言文件打開時(shí),打開方式“a+”表示打開一個(gè)文本文件,從文件開
始位在讀,在文件尾部添加數(shù)據(jù),如果指定的文件不存在,系統(tǒng)將使用調(diào)用
fopen()時(shí)指定的文件名創(chuàng)建一個(gè)新的文件,如果指定的文件存在,那么文件原有內(nèi)
容將被保存,新的數(shù)據(jù)追加到原有文件之后,本題答案為A。
18、以下描述中,不是線性表順序存儲(chǔ)結(jié)構(gòu)特征的是()。
A、可隨機(jī)訪問(wèn)
B、需要連續(xù)的存儲(chǔ)空間
C、不便于插入和刪除
D、邏輯相鄰的數(shù)據(jù)物理位置上不相鄰
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:線性表的順序存儲(chǔ)是用一片連續(xù)的空間來(lái)存放數(shù)據(jù)元素,其特點(diǎn)是邏
輯上相鄰的元素在物理位置上也相鄰。數(shù)據(jù)元素之間邏輯上的先后關(guān)系自動(dòng)隱含在
物理位置的相鄰元素之中,因此不需要另外開辟空間來(lái)保存元素之間的關(guān)系。
19、有以下程序:#include<stdio.h>voidfun(char**p){++p;printf(u%s\n",
*p);}main(){char*a[]={"Morning","Afternoon","Evening'*,"Night"};
fun(a);}程序運(yùn)行后的輸出結(jié)果是()。
A、Mternoon
B、fternoon
C、Morning
D、coring
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:本題主函數(shù)中定義了一個(gè)指針數(shù)組a,可以將它看成一個(gè)以字符指針
為元素的一維數(shù)組。和一般的一維數(shù)組名能賦給同類型指針變量一樣,該字符指針
數(shù)組也可以賦給指向字符指針的指針,所以數(shù)組名a可以用做函數(shù)fun()的實(shí)參。
在fun()函數(shù)中,++p操作使形參p往后移動(dòng)一個(gè)字符指針的位置,即指針a⑴的位
置。故最后通過(guò)pfinff()函數(shù)輸出的字符串為"Afternoon”。因此A選項(xiàng)正確。
20、結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是()。
A、順序結(jié)構(gòu),分支結(jié)構(gòu),跳轉(zhuǎn)結(jié)構(gòu)
B、順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)
C、分支結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)
D、分支結(jié)構(gòu),跳轉(zhuǎn)結(jié)構(gòu),循環(huán)結(jié)構(gòu)
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:程序設(shè)計(jì)語(yǔ)言僅僅使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)溝就
足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計(jì)方法。遵循程序結(jié)構(gòu)化的設(shè)計(jì)原則,按結(jié)
構(gòu)化程序設(shè)計(jì)方法設(shè)計(jì)出的程序易于理解、使用和維護(hù);可以提高編程工作的效
率,降低軟件的開發(fā)成本。
21、設(shè)有以下說(shuō)明,則不正確的敘述是()。unionun{inta:charb:float
c;}arr;
A、arr所占的內(nèi)存長(zhǎng)度等于成員c的長(zhǎng)度
B、arr的地址和它的各成員的地址都是同一地址
C、arr可以作為函數(shù)參數(shù)
D、不能在定義arr時(shí)對(duì)它初始化
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:本題主要考查聯(lián)合體的內(nèi)存使用:聯(lián)合體所占用的內(nèi)存空間為最長(zhǎng)的
成員所占用的空間,int占2個(gè)字節(jié),char占1個(gè)字節(jié),float占4個(gè)字節(jié),所以art
所占的內(nèi)存長(zhǎng)度等于成員c的長(zhǎng)度:air的地址和它的各成員的地址都是同一地
址;不能直接對(duì)art賦值,即不能在定義air時(shí)對(duì)它初始化;art也不可以作為函數(shù)
參數(shù)。
22、設(shè)變量已正確定義,以下不能統(tǒng)計(jì)出一行中輸入字符個(gè)數(shù)(不包含回年符)的程
序段是()。
A^n=0:while((ch:getchar())!="\n")n++;
B、n=0;while(getchar()!\n,,)n-H-;
C、for(n=0;getchar()!n++);
D^13:O;for(ch=getchar()!="\n";n++);
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:要統(tǒng)計(jì)一行中輸入字符個(gè)數(shù)(不包含回車符),首先定義一個(gè)用作統(tǒng)計(jì)
的變量n,賦初值為0;一行字符是否結(jié)束的判斷條件應(yīng)為getchar。!="\n”;D
項(xiàng)中for循環(huán)表達(dá)式格式錯(cuò)誤,應(yīng)在ch前添加“;”號(hào)。
23、以下有關(guān)宏替換的敘述不正確的是()。
A、使用宏定義可以嵌套
B、宏定義語(yǔ)句不進(jìn)行語(yǔ)法檢查
C、雙引號(hào)中出現(xiàn)的宏名不替換
D、宏名必須用大寫字母表示
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:本題考查宏替換的規(guī)則。宏替換有兩類:簡(jiǎn)單的字符替換和帶參數(shù)的
宏替換.使用宏應(yīng)注意:①宏定義僅僅是符號(hào)替換.不是賦值語(yǔ)句,因此不做語(yǔ)
法檢查;②為了區(qū)別程序中其他的標(biāo)示符,宏名的定義通常用大寫字母,但不是
必須用大寫;⑧雙引號(hào)中出現(xiàn)的宏名不替換;④使用宏定義可以嵌套,即后定義
的宏中可以使用先定義的宏。
24、以下敘述中正確的是()。
A、用C語(yǔ)言編寫的程序只能放在一個(gè)程序文件中
B、C程序書寫格式嚴(yán)格,要求一行內(nèi)只能寫一個(gè)語(yǔ)句
C、C程序中的注釋只能出現(xiàn)在程序的開始位置和語(yǔ)句的后面
D、C程序書寫格式自由,一個(gè)語(yǔ)句可以寫在多行上
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:C語(yǔ)言編寫的程序可以放置于多個(gè)程序文件中,所以A錯(cuò)誤。C程序
中的一行可以有多條語(yǔ)句,所以B錯(cuò)誤。C語(yǔ)言中的注釋語(yǔ)句可以與原語(yǔ)句放在一
行也可以不放在一行,所以C錯(cuò)誤。
25、以下不是合法C語(yǔ)言轉(zhuǎn)義字符的是()。
A、
B、
C>,\b,
D、
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:C語(yǔ)言中,轉(zhuǎn)義字符、a,表示響鈴,、b,表示退格,表示回車
不換行。
26、設(shè)有定義:chars電1];int尸U;以下不能將一行(不超過(guò)8。個(gè)字符)帶有空格
的字符串正確讀入的語(yǔ)句或語(yǔ)句組是()。
A、scanf(',%s",s);
B、while((s[i-H-]=getcharO)!=,\n,);s[i]=,\O*;
C、gets(s);
D、do{scanf(,'%c,,,&s[i]);}while(s[i++]!=,\n,);s[i]=,\O,;
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:函數(shù)scanf()輸入字符串時(shí)默認(rèn)空格為間隔符,所以不能輸入空格,
答案選A)。
27、下面不屬于軟件設(shè)計(jì)階段任務(wù)的是
A、軟件總體設(shè)計(jì)
B、算法設(shè)計(jì)
C、制定軟件確認(rèn)測(cè)試計(jì)劃
D、數(shù)據(jù)庫(kù)設(shè)計(jì)
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:從技術(shù)觀點(diǎn)上看,軟件設(shè)計(jì)包括軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)
計(jì)、過(guò)程設(shè)計(jì)。所以A、B、D正確,C為軟件測(cè)試階段的任務(wù)。
28、有三個(gè)關(guān)系R、S和T如下:1111
則由關(guān)系R和S得到關(guān)系T的操作是()。
A、自然連接
B、交
C、投影
D、并
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量
必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉,所以根據(jù)T中元組可
以判斷R和S做的是自然連接操作。
29、有以下程序:#includevoidfun(char*x,char*y){while(*x=='*")x++;
while(*y=*x){y++;x++;}}main(){char*s=,,*****x*****y,\t[80];fun(s,t);
puts(t);)程序運(yùn)行后的輸/結(jié)果兔()。
A、xy
B、x
C、x*****y
D、y
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:子函數(shù)的功能是將字符串x拷貝到宇符串y中,如果x前面是木,則
從不是*的字符開始拷貝,但如果有非*得字符出現(xiàn),則后面即使出現(xiàn)*也會(huì)被拷
貝。
30、C程序中合法的用戶標(biāo)識(shí)符的是()。
A、_0_
B、l_a
C、int
D、unsigned
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:選項(xiàng)C和D是關(guān)鍵字,選項(xiàng)B開頭使用了數(shù)字,所以不合法,只有
選項(xiàng)A是合法的。
31、下列敘述中正確的是()。
A、棧是一種先進(jìn)后出的線性表
B、隊(duì)列是一種后進(jìn)先出的線性表
C、棧與隊(duì)列都是非線性結(jié)構(gòu)
D、以上三種說(shuō)法都不對(duì)
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:棧是一種后進(jìn)先出的線忤表,隊(duì)列是一種先進(jìn)先出的線件表.
32、以下敘述中錯(cuò)誤的是
A、數(shù)值型常量有正值和負(fù)值的區(qū)分
B、常量可以用一個(gè)符號(hào)名來(lái)代表
C、定義符號(hào)常量必須用類型名來(lái)設(shè)定常量的類型
D、常量是在程序運(yùn)行過(guò)程中值不能被改變的量
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:數(shù)值型常量有整型常量,實(shí)型常量,不論是整型常量還是實(shí)型常量都有
正值和負(fù)值之分,所以A正確,在C語(yǔ)言的預(yù)編譯處理中,可以用符號(hào)名代表一個(gè)常
量,定義時(shí)不必指定常量類型,所以C錯(cuò)誤,B正確,常量的定義就是常量是在程序運(yùn)
行過(guò)程中值不能被改變的量,所以D正確。
33、下面程序的運(yùn)行結(jié)果是()。#include<stdio.h>main(){inti;for(i=i;i<
=5;i++){if(i%2)printf(n*n);elseprintf("#n);}}
B、#*#*#*
C、*#*#
D、#*#*
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:分析程序可知,程序循環(huán)5次,然后利用if語(yǔ)句決定每次循環(huán)時(shí)輸
出的字符。當(dāng)i為奇數(shù)時(shí),i%2二i,if(i%2)為真,輸出“*”;當(dāng)i為偶數(shù)時(shí),i%
2=0,if(i%2)為假,執(zhí)行else語(yǔ)句,輸出‘鏟,所以當(dāng)i取1、3、5值時(shí)輸出“*”,
當(dāng)i取2、4值時(shí)輸出
34、下面程序的運(yùn)行結(jié)果是()。#include<stdio.h>voiddel(char*s){inti,j;
char*a;a=s;for(i=0,j=0;a[i]!=,\0,;i++){if(a[i]>=,0,&&a[i]<
=,9,){s[j]=a[i];j++;}s|j]=,\O,;)}main(){chars[]=naa89gggh";del(s);printf(n
\n%s",s);)
A^aa
B、89
C>gggh
D、aa89gggh
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:本題中del(char*s)函數(shù)實(shí)現(xiàn)的功能是:逐個(gè)讀入s數(shù)組中的字符,如
果遇到數(shù)字,則將其重新存在s中,遇到非數(shù)字字符則跳過(guò)。所以最后輸出的應(yīng)該
是字符串s中的所有數(shù)字。
35、設(shè)有n個(gè)數(shù)按從大到小的順序存放在數(shù)組x中,以下能使這n個(gè)數(shù)在x數(shù)組中
的順序變?yōu)閺男〉酱蟮氖?/p>
A、for(i=0;i<n/2;i++){t=x[i];x[i]=x[n-i-l];x[n-i-l]=t;)
B、for(i=0;i<n;i++){t=x[i];x[i]=x[n-i-l];x[n-i-l]=t;)
C、for(i=0;i<n/2;i++){t=x[i];x[i]=x[n-i+1];x[n-i+1]=t;}
D、for(i=0;i<n/2;i+=2){t=x[i];x[i]=x[n-i-l];x[n-i-l]=t;)
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:本題使用for循環(huán)實(shí)現(xiàn)數(shù)組元素首尾倒置。A選項(xiàng)中控制變量上限為
n/2,用變量I實(shí)現(xiàn)數(shù)下標(biāo)值i與n-i?l的元素交換,使數(shù)組元素首尾倒置,從而實(shí)
現(xiàn)從小到大排列,A選項(xiàng)正確。B選項(xiàng)控制變量上限為n,用變量t實(shí)現(xiàn)數(shù)下標(biāo)值i
與nil的元素交換,當(dāng)仁n/2時(shí),已經(jīng)實(shí)現(xiàn)數(shù)組首尾倒置,而繼續(xù)運(yùn)行至i=n,將
再次將新的數(shù)組首尾倒置,與原數(shù)組相比沒有發(fā)生變化,依然是從大到小排列,B
選項(xiàng)錯(cuò)誤。C選項(xiàng)數(shù)組越界,i=0時(shí)x[n+l]不存在,C選項(xiàng)錯(cuò)誤。D選項(xiàng)控制變量
每次加2,實(shí)現(xiàn)數(shù)組偶數(shù)下標(biāo)值的元素首尾倒置,奇數(shù)下標(biāo)值元素不變,不能實(shí)現(xiàn)
整個(gè)數(shù)組從小到大排列,D選項(xiàng)錯(cuò)誤。
36、有以下程序#inckide<stdio.h>#include<string.h>main(){char
a[20]=,,ab',,b[20]="cdef,;intk=0;strcat(a,b);while(a[k]!=,\0,){b[k]=a[k];k++;}
puts(b);}程庠而運(yùn)行結(jié)果是
A、abcdef
cbcdef
C、cdef
D、ab
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:strcat(字符串1,字符串2)函數(shù)是把字符串2連接到字符串I的后
面,最終結(jié)果存放到字符組1中,因此本題把a(bǔ),b字符串連接起來(lái)放在a數(shù)組中,
while語(yǔ)句完成功能是再將a字符串賦給b字符串,因此答案為A選項(xiàng)。
37、存儲(chǔ)在計(jì)算機(jī)內(nèi)有結(jié)構(gòu)的數(shù)據(jù)集合是
A、數(shù)據(jù)庫(kù)
B、數(shù)據(jù)庫(kù)系統(tǒng)
C、數(shù)據(jù)庫(kù)管理系統(tǒng)
D、數(shù)據(jù)結(jié)構(gòu)
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)是指長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、有組織的、可?共享的數(shù)據(jù)集合。
數(shù)據(jù)庫(kù)系統(tǒng)是由數(shù)據(jù)庫(kù)及其管理軟件組成的系統(tǒng),是應(yīng)用軟件。數(shù)據(jù)庫(kù)管理系統(tǒng)
是數(shù)據(jù)庫(kù)系統(tǒng)的核心,它位于用戶與操作系統(tǒng)之間,屬于系統(tǒng)軟件。數(shù)據(jù)結(jié)構(gòu)是
“算機(jī)存儲(chǔ)、組織數(shù)據(jù)的方式。故本題選A選項(xiàng)
38、有以下程序#include<stdio.h>#include<siring.h>voidfun(char*s,intml,
intm2){chart,*p;p=s4-m1;s=s+m2;while(s<p){t=*s;*s=*p;*p=t;s++;p—;))
main(){charss[10]=M012345678";intn=6;fun(ss,0,n-l);fun(ss,9,n);fun(ss,0,9);
printf("%s\nH,ss);)程序運(yùn)行后的輸出結(jié)果是
A、012345
B、876543210
C、876543
D、12345678
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:fun(*ss,ml,m2)的作用是,如果ml>m2交換數(shù)組元素ss[ml
ss[m2]o因此,fun(ss,0,5)后ss的0,1,2,3,4,5,6,7,8,\0。fun(ss,9,6)后ss的0,1,2,34,5,
\0,8,7,6ofun(ss,0,9)后ss的01,2,3,4,5,\0,8,7,6。因此打印結(jié)果012345。故答案為A
選項(xiàng)
39、下列關(guān)于線性表的敘述中,不正確的是()。
A、線性表可以是空表
B、線性表是一種線性結(jié)構(gòu)
C、線性表的所有結(jié)點(diǎn)有且僅有一個(gè)前件和后件
D、線性表是由n個(gè)元素組成的一個(gè)有限序列
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:線性表是一種線性結(jié)構(gòu),由n(ni>0)個(gè)元素組成,所以線性表可以是
空表。但是在線性表中,第一個(gè)結(jié)點(diǎn)沒有前件,最后一個(gè)結(jié)點(diǎn)沒有后件,其他結(jié)點(diǎn)
有且只有一個(gè)前件和后件,所以選項(xiàng)C)是錯(cuò)誤的。
二、程序填空題(本題共I題,每題7.0分,共I分0)
40、下列給定程序中已建立一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,鏈表中的各結(jié)點(diǎn)按結(jié)點(diǎn)數(shù)據(jù)
域中的數(shù)據(jù)遞增有序鏈接。函數(shù)fun的功能是:把形參x的值放入一個(gè)新結(jié)點(diǎn)并插
入鏈表中,使插入后各結(jié)點(diǎn)數(shù)據(jù)域中的數(shù)據(jù)仍保持遞增有序.請(qǐng)?jiān)诔绦虻南庐嬀€
處填入正確的內(nèi)容并將下畫線刪除,使程序得出正確的結(jié)果。注意:部分源程序
給出如下。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:#include<
stdio.h>#include<stdlib.h>#defineN8typedefstructlist{intdata:struer
liSt*next;)SLIST;voidfun(SLIST*h,intx){SLISTp,*q,*s;
s=(SLIST*)malloc(Sizeof(SLIST));/*********found*********/S—>data=
[11;q=h:P=h—>next:while(p!=NULL&&x>p—>data){/
*********fbund*********/q=[2j;p=p—>next;)s—>next=p;/
*********found*********/q—>next=[3];}SLIST*creatlist(int*a)
{SLTST*h,*P.*q:inti:h=P=(SIJST*)malloc(si7eof(SIJST)):for(i=0:i<N:
i++){q=(SLIST*)malloc(sizeof(SLIST));q—>data=a[i];P—>ncxL=q;p=q;)p
—>nexL=0;returnh:)voidoutlist(SLIST*h){SLIST*P:P=h—>next;
if(P==NULL)printf(n\nThelistisNULL!\n");else{printf("\nHead");
do{printf("—>%d",P—>data);P=P—>next;|while(p!=NULL);printf("—>
End\n");}}main(){SLIST*head;intX;inta[N]={11,12,15,18,19,22,
25,29):head=treatlist(a):printf("\nThelistbeforeinserting:\n");
outlist(head);printf("\nEnteranumber:");scanf(n%d",&x);fun(head,x);
printf("\nThelistafterinserting:\n");outliSt(head);)
標(biāo)準(zhǔn)答案:(l)x(2)p(3)s
知識(shí)點(diǎn)解析:填空1:將形參x賦值給結(jié)點(diǎn)的數(shù)據(jù)域。填空2和填空3:將新的結(jié)
點(diǎn)和原有鏈表中的結(jié)點(diǎn)進(jìn)行比較。
三、程序修改題(本題共7題,每題7.0分,共]分。)
41、下列給定程序中,函數(shù)fun的功能是:依次取出字符串中所有的數(shù)字字符,形
成新的字符串,并取代原字符串。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的垢
果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題
程序:#include<stdlib.h>升includeVsldio.h>#includeVconio.h>void
fun(char*s){inti,j;for(i=0,j=0;s[i]!='\0';i++)if(s[i]>=,0,&&s[i]<=,9,)/
*********3und*********/s[j]—s|i|*/*********8und*********/s[j]='1\
0";)voidmain(){charitem[80],system("CLS");printf("\nEnterastring:");
gets(item);printf(n\n\nThestringis:%s、n",item);fun(item);printf("\n\
nThestringofchangingis:%s'n",item);}
標(biāo)準(zhǔn)答案:(l)s[j++]=s[i];(2)s[j]=,\0,;
知識(shí)點(diǎn)解析:題目要求依次取出字符串中所有的數(shù)字字符,因此將元素s[i]存入
s[j]后耍使j加1,為下次存儲(chǔ)做準(zhǔn)備。sU]="\0";是一個(gè)語(yǔ)法錯(cuò)誤。
四、程序設(shè)計(jì)題(本題共7題,每題1.0分,共7分。)
42、學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組
S中,請(qǐng)編寫函數(shù)fun,它的功能是:把分?jǐn)?shù)最低的學(xué)生數(shù)據(jù)放在b所指的數(shù)組
中,注意:分?jǐn)?shù)最低的學(xué)生可能不止一個(gè),函數(shù)返回分?jǐn)?shù)最低的學(xué)生的人數(shù)。注
意:部分源程序在文件PROG1.C文件中。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的
任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語(yǔ)句。#includc#dcfincN16
typedefstruct{charnum[10];ints;JSTREC;intfun(STREC*a,STREC*b)|)
main(){STRECs[N]={{"GA05",85),{"GAOS'1,76},{"GA02",69),{"GA04",
85),{nGA0r,,91),{"GA07",72),{"GA08",64),{“GA06”,87},
{"GA015M,85},{“GA013”,91},{"GA012n,64},{nGA014",91),
{"GA011".91},("GA017,\64),{HGA018%64),("GA016",72}):STREC
h|NJ;inti,n;FILE*out;n=fun(s,h);printf{nThe%dlowestscore:\n",
n);for(i=0;i
標(biāo)準(zhǔn)答案:inti,j=0,min=a[0].s;for(i=0;ia[i].s){j=0;b|j++]=a[i];
min=a[i].s;)elseif(min==a[i].s)b|j++]=a[ij;)returnj;
知識(shí)點(diǎn)解析:(1)要把最低分?jǐn)?shù)的學(xué)生數(shù)據(jù)放在數(shù)組中,首先求出最低分?jǐn)?shù),再使
用一個(gè)for循環(huán)把所有的成績(jī)進(jìn)行比較,找出最低的分?jǐn)?shù)來(lái)。(2)找出所有與最低
分?jǐn)?shù)相等的學(xué)生,并將最低分?jǐn)?shù)的人數(shù)累加。
國(guó)家二級(jí)(C語(yǔ)言)機(jī)試模擬試卷第2
套
一、選擇題(本題共40題,每題1.0分,共40分。)
1、有以下程序:#include<stdio.h>main(){intx[3][3]={1>2,3>4,5,61
7,8,9),i;for(i-l;i<3;i++)printf("%dH,x[i][3—i]);}程序運(yùn)行后的輸出
結(jié)果是()。
A、2,4
B、6,8
C、3,7
D、2,6
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:二維數(shù)組的起始行標(biāo)和列標(biāo)均為O,即x[O][O]=l。當(dāng)i=l時(shí),for循
環(huán)判斷條件成立,輸出x[l|[2]=6;此時(shí)i自增為2,開始第二次「or循環(huán),條件成
立,輸出x⑵[1]=8。故B選項(xiàng)正確。
2、下面是有關(guān)C語(yǔ)言字符數(shù)組的描述,其中錯(cuò)誤的是()。
A、不可以用賦值語(yǔ)句給字符數(shù)組名賦字符串
B、可以用輸入語(yǔ)句把字符串整體輸入給字符數(shù)組
C、字符數(shù)組中的內(nèi)容不一定是字符串
D、字符數(shù)組只能存放字符串
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:字符數(shù)組可以用來(lái)存放單個(gè)的字符或者字符串。
3、以下選項(xiàng)中正確的定義語(yǔ)句是()。
A^doublea:b:
doublea=b=7;
C、doublea=7,b=7;
D、double,a,b;
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:同一類型變量的定義時(shí),不同變量之間需要用“,”分隔;定義變量時(shí)
初始化賦值時(shí)不能用等號(hào)連接;變量類型說(shuō)明后面不能用逗號(hào),而是用空格分離。
4、語(yǔ)句“printf("a\bhow\'arc\'y\\\bou'n");”的輸出結(jié)果是()。
A、a\bhow\'are\'y\\bou
B、a\bhow\'are\'y\bou
C、how'arc'you
D、ahow'are'y\bou
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:“\b”格式符表示退格,功能是將它后面的字母把它前面的字母覆
蓋,導(dǎo)致“\b”格式符前面的字母不能輸出;”\川格式符表示輸出單引號(hào)字符;
“\\”格式符表示輸出反斜線字符。
5、下面程序的運(yùn)行結(jié)果是()。#includemain(){inti;for(i=l;i<=5;i++){if(i%
2)printf(H*H);elseprintf("#");))
A、*#*#*
B、#*#*#*
C、*#*#
D、#*#*
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:分析程序可知,程序循環(huán)5次,然后利用if語(yǔ)句決定每次循環(huán)時(shí)輸
出的字符。當(dāng)i為奇數(shù)時(shí),i%2=l,if(i%2)為真,輸出“”:當(dāng)i為偶數(shù)時(shí),i%
2=0,if(i%2)為假,執(zhí)行else語(yǔ)句,輸出“#",所以當(dāng)i取1、3、5值時(shí)輸出
當(dāng)i取2、4值時(shí)輸出
6、若輸入''abcdef'、"abdeP,以下程序的輸出結(jié)果為()。include<stdio.h>
#include<string.h>main(){intn;chars11201,s2|20],*pl,*p2;scanf(''%
s”,si);scanf(''%s'',s2);pl=sl;p2=s2;n=strcmp(pl,p2);printR''%d\
nLn);)
A、-
B、0
C、,,abcdcf,
D、''abdeF'
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:本題考查兩個(gè)知識(shí)點(diǎn):①字符串比較函數(shù)strcmp(sl,s2),若sl>
s2,則返回I;若sl=s2,則返回0;若slVs2,則返回?1。②字符串依次比較的
是它們相同位置上字符的ASCH碼值。
7、以下敘述中不正確的是()。
A、在不同的函數(shù)中可以使用相同的名字的變量
B、函數(shù)中的形式參數(shù)是局部變量
C、在一個(gè)函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效
D、在一個(gè)函數(shù)內(nèi)的復(fù)合語(yǔ)句中定義的變量在本函數(shù)范圍內(nèi)右.效
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:此題考查的是變量的作用范圍。選項(xiàng)D中,在一個(gè)函數(shù)的復(fù)合語(yǔ)句
中定義的變量是局部變量,只在定義此變量的復(fù)合語(yǔ)句內(nèi)有效,并不是在整個(gè)函數(shù)
體內(nèi)都有效。
8、在printf的格式字符中,e格式字符的作用是()(:
A、以十六進(jìn)制無(wú)符號(hào)形式輸出整數(shù)
B、以帶符號(hào)的十進(jìn)制形式輸出整數(shù)
C、以指數(shù)形式輸出實(shí)數(shù)
D、以字符形式輸出,且只輸出一個(gè)字符
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:本題考查printf函數(shù)的格式。格式字符飛”或者都表示以指數(shù)形式
輸出單精度或雙精度數(shù)。
9、檢查軟件產(chǎn)品是否符合需求定義的過(guò)程稱為()。
A、確認(rèn)測(cè)試
B、需求測(cè)試
C、驗(yàn)證測(cè)試
D、路徑測(cè)試
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:確認(rèn)測(cè)試的任務(wù)是驗(yàn)證軟件的功能和性能,以及其他特性是否滿足需
求規(guī)格說(shuō)明中確定的各種需求。
10>有下列程序:main(){intm,n,p;scanf(nm=%dn=%dp=%d",&m,&n,
&p);printf("O%d%d%d\n",m,n,p);}若想從鍵盤上輸入數(shù)據(jù),使變量m中
的值為123,n中的值為456,P中的值為789,則正確的輸入是()。
A、m=123n=456p=789
B、m=123n=456p=789
C、m=123,n=456.p=789
D、123456789
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:scanf()函數(shù)中格式控制字符串是為了輸入數(shù)據(jù)用的,無(wú)論其中有什么
字符,在輸入數(shù)據(jù)時(shí),發(fā)照一一對(duì)應(yīng)的位置原樣輸入這些字符。
11>有以卜程序:#include<stdio.h>main()(intal,a2;charc1,c2;scanf("%
d%c%d%c",&al,&cl,&a2,&c2);printf(H%(l,%c,%d,%c",al,cl,
a2,c2);}若想通過(guò)鍵盤輸入,使得al的值為12,a2的值為34,cl的值為字符
a,c2的值為字符b,程序運(yùn)行后的輸出結(jié)果是:12,a,34,b。則正確的輸入格
式是(以下一代表空格,VCR>代表回車)()。
A、12-4JbVCR>
B、123—34—b〈CR>
C、12,a,34,h<CR>
D、12a34h<CR>
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:存輸入多個(gè)數(shù)據(jù)時(shí),若格式控制串中無(wú)非格式字符,則認(rèn)為所有輸入
的字符均為有效字符。所以應(yīng)按選項(xiàng)D的順序輸入數(shù)據(jù)。
12、若要求定義具有10個(gè)ini型元素的一維數(shù)組a,則以下定義語(yǔ)句中錯(cuò)誤的是
()。
A、inta[5+5];
B、intn=10,a[n];
C、#definen5inta[2*n];
D、#dcfincN10inta[N]:
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:一維數(shù)組的定義方式為:類型說(shuō)明符數(shù)組名[常量表達(dá)式];注意定義
數(shù)組時(shí),元素個(gè)數(shù)不能是變量。因此應(yīng)該選B選項(xiàng)。
13、以下程序運(yùn)行后的輸出結(jié)果是()。#include<stdio.h>voidreverse(inta[],
intn){inti,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-l-i];a[n-l-i]=t;}}main()
{intb[10]={10,9,8,7,6,5,4,3,2,1};inti,s=0;reverse(b?10);
for(i=0;i<3;i++)s+=b[i];printf(H%d\n",s);}
A、27
B、6
C、25
D、30
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。函數(shù)reverse將數(shù)組b進(jìn)行了逆
置,此時(shí)b[10]={10,9,8,7,6,5,4,3,2,1),后面此r語(yǔ)句的功能是將b
中的后3個(gè)數(shù)累加,并將結(jié)果放在s中,最后將s輸出,結(jié)果s=l+2+3=6。
14、有三個(gè)關(guān)系R、S和T如下:
關(guān)系R和S得到關(guān)系T的操作是()。
A、選擇
B、差
C、交
D、并
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:關(guān)系T是關(guān)系R的一部分,并且將關(guān)系R去掉了R和S相同的元
素,符合差操作。
15、下列關(guān)于C語(yǔ)言數(shù)據(jù)文件的敘述中正確的是()。
A、文件由ASCII碼字符序列組成,C語(yǔ)言只能讀寫文本文件
B、文件由二進(jìn)制數(shù)據(jù)序列組成,C語(yǔ)言只能讀寫二進(jìn)制文件
C、文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件
D、文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:本題考查的是數(shù)據(jù)文件的有關(guān)概念。文件由數(shù)據(jù)流的形式組成,可以
按數(shù)據(jù)存放的形式分為二進(jìn)制文件和文本文件,C:,吾言既能讀寫文本文件,又能讀
寫二進(jìn)制文件。
16>有以下程序:#includemain(){inti=0;i=~i;printf("%d\n'>>i);}程序
運(yùn)行后的輸出結(jié)果是()c
A、8
B、0
C、I
D、-1
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:本題考查按位取反運(yùn)算。0按位取反就是-1,所以選項(xiàng)D正確。
17、下列關(guān)于二叉樹的敘述中,正確的是()。
A、葉子結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)少一個(gè)
B、葉子結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)多一個(gè)
C、葉子結(jié)點(diǎn)數(shù)是度為2的結(jié)點(diǎn)數(shù)的兩倍
D、度為2的結(jié)點(diǎn)數(shù)是度為1的結(jié)點(diǎn)數(shù)的兩倍
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:根據(jù)二叉樹的基本性質(zhì)3:在任意一棵二叉樹中,度為。的葉子結(jié)點(diǎn)
總是比度為2的結(jié)點(diǎn)多一個(gè)。所以選擇B
18、下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖?)。
A、多態(tài)性
B、標(biāo)識(shí)惟一性
C、封裝性
D、耦合性
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:面向?qū)ο鬀]計(jì)方法與面向過(guò)程設(shè)計(jì)方法有本質(zhì)的不同,其基本原理
是:使用現(xiàn)實(shí)世界的概念抽象地思考問(wèn)題從而自然地解決問(wèn)題。其特點(diǎn)包括:標(biāo)識(shí)
惟一性、多態(tài)性、封裝性、模塊獨(dú)立性、繼承和多態(tài)性好。
19、有以下程序include<stdio.h>main(){inta[4][4]={{1,4,3,2(,{8,6,5,7),
{3,7,2,5},[4,8,6,1});inti,j,k,t;for(i=0;i<4;i++)for(j=0;j<3;j++)for(k=j+l;k<
4;k++)if(a|j][i]>a[k][i]){t=a[j][i];a[j][i]=a|k||i];a[k][i]=t;}/*按列排序*/for
(i=0;i<4;i++)printf("%d,",a[i][i]);}程序運(yùn)行后的輸出結(jié)果是
A、1,6,2,1,
B、8,7,3,1,
C、4,7,5,2,
D、1,6,5,7,
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:首先對(duì)二維數(shù)組進(jìn)行賦值操作,a[0][0].a[O][l].........a[3][2]、
a[3][3]的值為1、4........6、1。通過(guò)for語(yǔ)句和if語(yǔ)句,對(duì)二維數(shù)組各列元素進(jìn)行
由小到大的排序操作,程序最后通過(guò)for語(yǔ)句輸出二維數(shù)組對(duì)角線上的元素。因此
D選項(xiàng)正確。
20、若輸入“abcdcF'、"abdcf,以下程序的輸出結(jié)果為()。#includc#includc
main(){intn;charsi[20],s2[20|,*pl,*p2;scanfV'%s",si);scanf{“%s”,
s2);p1=s1;p2=s2;n=strcmp(pl,p2);printf("%d\n",n);}
A、-1
B、0
C、“abcdeF
D、“abdef
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:本題考查兩個(gè)知識(shí)點(diǎn):①字符串比較函數(shù)strcmp(sl,s2),若
sl>s2,則返回1;若sl=s2,則返回0;若si
21、若有以卜.程序:#includemain(){iniy=9;for(;Y>0;y--)if(y%
3==0)printf("%d",-y);則程序的運(yùn)行結(jié)果是()。
A、852
B、963
C、741
D、875421
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:第一次f。「循環(huán),y的值為9.y%3的值為0,滿足條件,打印-丫,
即先減1后打印,所以打印8;第二次for循環(huán),y的值為7,y%3的值為1,示執(zhí)
行打印語(yǔ)句;第三次fo「循環(huán),y的值為6,y%3的值為0,滿足條件,打印
打印5;第四次for循環(huán),y的值為4,不滿足if條件,不執(zhí)行打印語(yǔ)句;第立次
for循環(huán),y的值為3,滿足if條件,打印2;第六次for循環(huán),y的值為1,不滿足
條件,不執(zhí)行打印語(yǔ)句。
22、一棵二叉樹共有25個(gè)結(jié)點(diǎn),其中5個(gè)是葉子結(jié)點(diǎn),則度為1的結(jié)點(diǎn)數(shù)為
A、16
B、10
C、6
D、4
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:根據(jù)二叉樹的性質(zhì)3:在任意一棵二叉樹中,度為0的葉子結(jié)點(diǎn)總是
比度為2的結(jié)點(diǎn)多一個(gè),所以本題中度為2的結(jié)點(diǎn)是5-1=4個(gè),所以度為1的結(jié)
點(diǎn)的個(gè)數(shù)是25—5—4=16個(gè)。
23、以下不合法的數(shù)值常量是()。
A、8.0E0.5
B、lei
「、011
D^Oxabcd
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:A選項(xiàng)中E后面的指數(shù)必須為整型數(shù)據(jù),所以A錯(cuò)誤。C選項(xiàng)中011
表示的是八進(jìn)制常量,Oxabcd表示的是十六進(jìn)制常量。
24、設(shè)有定義:imk=0:以下選項(xiàng)的四個(gè)表達(dá)式中與其他三個(gè)表達(dá)式的值不相同的
是()。
A、++k
B、k+=l
C、k++
D、k+1
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:++k,先使k的值自增1后再使用,k++是先取得k的值再將k的值
自增1,所以C選項(xiàng)中表達(dá)式的值為0,而其他三個(gè)表達(dá)式的值均為1,所以選擇
Co
25、下列語(yǔ)句組中,不正確的是()。
A、char*s;s="Olympic";
B、chars[]="Olympic";
C、char*s;s={"Olympic");
D、chars[]={"Olympic"!;
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:s是一個(gè)字符指針變量,s代表其地址,C將字符串賦給地址,因此
選項(xiàng)C)錯(cuò)誤。
26、若有定義語(yǔ)句:inix=12,y=8,z;在其后執(zhí)行語(yǔ)句z=0.9+x/y;則z的值為
A、1
B、1.9
C、2
D、2.4
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:先計(jì)算X/Y,結(jié)果為1,然后計(jì)算0.9+1,結(jié)果為1.9,但由于變量z為整
型,所以取值1,所以z的值為1。
27、有以下程序:#include<stdio.h>main(){intk=5;while(--k)printf(,,%d5\
k-=3):pr血f("\rT);}程序執(zhí)行后的輸出結(jié)果是()。
A、1
B、2
C、4
D、死循環(huán)
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:一一k先自減再使用,所以第一次判斷條件即為while(4),條件為
真,執(zhí)行打印k的值k=4?3,結(jié)果為1;第二次判斷條件即為while(O),條件為假,
結(jié)束循環(huán),打印回車換行符。所以選擇A選項(xiàng)。
28、有以下程序:#includc#includcmain(){charW[20],a[5][10]={"abcdef,
"ghijkl","mnopq',,Vstuv*',nwxyz.");inii;for(i=0;i<5;i++)
w[i]=a[i][strlen(a[i])—1];w[5]=,\0,;puts(w);)程序的運(yùn)行結(jié)果是()。
A、flqv.
agmrw
C^ekpuy
D、flqvz
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:puls()函數(shù)將數(shù)組中存放的字符串輸出,用“\n”取代字符串結(jié)束符”
\0\strlen()函數(shù)求字符串的實(shí)際長(zhǎng)度(不包含結(jié)束標(biāo)志)。程序中for循環(huán)將第i個(gè)
字符串最后一個(gè)字符放入w數(shù)組下標(biāo)值為i的位置,最后將數(shù)組最后一個(gè)字符賦值
為“\0”,輸出字符串認(rèn)為flqv.。
29、以下正確的字符串常量是
A、\\\
B、'abc'
C^OlympicGames
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:本題考察的知識(shí)點(diǎn)是:字符串常量。在C語(yǔ)言中,字符串常量是以
雙引號(hào)括起來(lái)的字符序列。因此B選項(xiàng)和C選項(xiàng)不正確。字符序列中可包含一些
轉(zhuǎn)義字符,轉(zhuǎn)義字符都是以“'"開頭的。A選項(xiàng)中包含了三個(gè)“\“,前兩個(gè)(\\)代表了
一個(gè)字符,后面一個(gè)和”心一起(\”)被看作一個(gè).所以該字符串缺少一個(gè)結(jié)束的
,因此不正確。D選項(xiàng)的兩個(gè)“心之間沒有任何字符,代表的是一個(gè)空串,是合
法的字符串常量,因此D選項(xiàng)正確。
30、設(shè)有以下程序段:floata|8]={l.0,2.0};intb[l]={0};charc卜{“A",
"B");chard=="l";以下敘述正確的是()“
A、只有變量c的定義是合法的
B、只有變量a,b,C的定義是完全合法的
C、所有變量的定義都是完全合法的
D、只有變量a,b的定義是完全合法的
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:noata[8]={1.0,2.0):定義了一個(gè)包含8個(gè)float型元素的數(shù)組,
并初始化了數(shù)組的前2項(xiàng),其他項(xiàng)是隨機(jī)數(shù)。intb[l]={0},定義了只有一個(gè)int型
元素的數(shù)組,并初始化為0。char*c[]={。",“B”};定義一個(gè)char型數(shù)組,大小有
初始化元素決定,但初始化值是字符串,類型不兼容.編譯出錯(cuò).chard="l":定
義一個(gè)char型變量,但是初始化賦值字符串,類型不兼容,編譯出錯(cuò)。因此只有
a,b定義和初始化正確。故答案為D選項(xiàng)。
31、在C語(yǔ)言中,只有在使用時(shí)才占用內(nèi)存單元的變量,其存儲(chǔ)類型是()。
A^autostatic
B、extern和register
C、autoflregister
D^static和register
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:auto:函數(shù)中的局部變量,動(dòng)態(tài)地分配存儲(chǔ)空間,數(shù)據(jù)存儲(chǔ)在動(dòng)態(tài)存
儲(chǔ)區(qū)中,在調(diào)用該函數(shù)時(shí)系統(tǒng)會(huì)給它們分配存儲(chǔ)空間,在函數(shù)調(diào)用結(jié)束時(shí)就自動(dòng)釋
放這些存儲(chǔ)空間。regisler:為了提高效率,C語(yǔ)言允許將局部變量的值放在CPU
中的寄存器中,這種變量叫“寄存器變量”,只有局部自動(dòng)變量和形式參數(shù)可以作為
寄存器變量。extern:外部變量(即全局變量)是在函數(shù)的外部定義的,它的作用域
為從變量定義處開始,到本程序文件的末尾。如果外部變量不在文件的開頭定義,
其有效的作用范圍只限于定義處到文件終了。static:靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)
類別,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元。在程序整個(gè)運(yùn)行期間都不釋放。
32、以下選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),值為0的表達(dá)式為()。
A、x%2=l
B、x/2
C、x%2!=0
D、x%2=0
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:當(dāng)x為大于1的奇數(shù)時(shí),x對(duì)2求余的結(jié)果為1,不為0,所以選項(xiàng)
D中表達(dá)式的值為0。
33、設(shè)有定義:structcomplex{intreal,unreal;)a={1?8),b;則以下賦值語(yǔ)句
中錯(cuò)誤的是()。
A、b=(2,9);
B、b=a;
C、b.real=a.real;
D、b.real=a.unreal:
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:結(jié)構(gòu)體賦值時(shí),應(yīng)該用大括號(hào);選項(xiàng)B和C是正常賦值表達(dá)式,選
項(xiàng)D中的結(jié)構(gòu)體元素雖然不對(duì)應(yīng),但合法引用
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 31116-2025粥類罐頭質(zhì)量通則
- 2026年醫(yī)療廣告宣傳合同
- 2026年綠色施工合同
- 2026年醫(yī)療糾紛調(diào)解與法律援助服務(wù)協(xié)議
- 民航華東地區(qū)管理局機(jī)關(guān)服務(wù)中心2025年公開招聘工作人員備考題庫(kù)及完整答案詳解1套
- 2025年威海市檢察機(jī)關(guān)公開招聘聘用制書記員31人備考題庫(kù)及一套參考答案詳解
- 2025年北京朝陽(yáng)區(qū)高二(上)期末歷史試題和答案
- 2025衛(wèi)生監(jiān)督學(xué)試題及答案
- 2025年招商銀行紹興分行社會(huì)招聘?jìng)淇碱}庫(kù)完整答案詳解
- 《高層建筑火災(zāi)疏散模擬與安全出口優(yōu)化設(shè)計(jì)在檔案館建筑中的應(yīng)用研究》教學(xué)研究課題報(bào)告
- 2025下半年貴州遵義市市直事業(yè)單位選調(diào)56人參考筆試題庫(kù)附答案解析
- 【試卷】吉林省松原市2025-2026學(xué)年八年級(jí)上學(xué)期12月期末測(cè)試道德與法治試題
- 車子棚出租協(xié)議書
- 2024年廣東省春季高考(學(xué)考)語(yǔ)文真題(試題+解析)
- 陜西省專業(yè)技術(shù)人員繼續(xù)教育2025公需課《黨的二十屆三中全會(huì)精神解讀與高質(zhì)量發(fā)展》20學(xué)時(shí)題庫(kù)及答案
- 特種設(shè)備日管控、周排查、月調(diào)度模板
- 安全生產(chǎn)管理檔案
- 過(guò)盈配合壓裝力計(jì)算
- PFMEA模板完整版文檔
- 《論法的精神》讀書筆記思維導(dǎo)圖PPT模板下載
- 《普通心理學(xué)課程論文3600字(論文)》
評(píng)論
0/150
提交評(píng)論