計算機(jī)二級考試C語言試題及答案_第1頁
計算機(jī)二級考試C語言試題及答案_第2頁
計算機(jī)二級考試C語言試題及答案_第3頁
計算機(jī)二級考試C語言試題及答案_第4頁
計算機(jī)二級考試C語言試題及答案_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

2007年四月計算機(jī)二級試題

一選擇題

(1)下列敘述中正確的是

A)算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)

B)算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量

O數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)是一一對應(yīng)的

D)算法的時間復(fù)雜度與空旬復(fù)雜度一定相關(guān)

(2)在結(jié)構(gòu)化程序設(shè)計中,模塊劃分的原則是

A)各模塊應(yīng)包括盡量多的功能

B)各模塊的規(guī)模應(yīng)盡量大

O各模塊之間的聯(lián)系應(yīng)盡量緊密

D)模塊內(nèi)具有高內(nèi)聚度、模塊間具有低耦合度

(3)下列敘述中正確的是

A)軟件測試的主要目的是發(fā)現(xiàn)程序中的錯誤

B)軟件測試的主要目的是確定程序中錯誤的位置

C)為了提高軟件測試的效率,最好由程序編制者自己來完成軟件測試的工作

D)軟件測試是證明軟件沒有錯誤

(4)下面選項中不屬于面向?qū)ο蟪绦蛟O(shè)計特征的是

A)繼承性B)多態(tài)性C)類比性D)封閉性

(5)下列對列的敘述正確的是

A)隊列屬于非線性表

B)隊列按“先進(jìn)后出”原則組織數(shù)據(jù)

C)隊列在隊尾刪除數(shù)據(jù)

D)隊列按“先進(jìn)先出”原則組織數(shù)據(jù)

(6)對下列一又樹

進(jìn)行前序遍歷的結(jié)果為

A)DYBEAFCZXB)YDEBFZKCA

C)ABDYECFXZD)ABCDEFXYZ

(7)某二叉樹中有n個度為2的結(jié)點,則該二叉樹中的葉子結(jié)點為

A)n+1B)n-1C)2nD)n/2

(8)在下列關(guān)系運(yùn)算中,不改變關(guān)系表中的屬性個數(shù)但能減少元組個數(shù)的是

A)并B)交C)投影D)笛卡兒乘積

(9)在E-R圖中,用來表示實體之間聯(lián)系的圖形是

A)矩形B)橢圓形C)菱形D)平行四邊形

(10)下列敘述中錯誤的是

A)在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致

B)數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題

C)數(shù)據(jù)庫設(shè)計是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫

D)數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持

(11)算法中,對需要執(zhí)行的每?步操作,必須給出清楚、嚴(yán)格的規(guī)定,這屬于算法的

A)正當(dāng)性B)可行性C)確定性D)有窮性

(12)下列敘述中錯誤的是

A)計算機(jī)不能直接執(zhí)行用C語言編寫的源程序

B)C程序經(jīng)C編譯后,生成后綴為.obj的文件是一個二進(jìn)制文件

C)后綴為.obj的文件,經(jīng)連接程序生成后綴為.exe的文件是一個二進(jìn)制文件

D)后綴為.obj和.exe的二進(jìn)制文件都可以直接運(yùn)行

(13)按照C語言規(guī)定的用戶標(biāo)識符命名規(guī)則,不能出現(xiàn)在標(biāo)識符中的是

A)大寫字母B)連接符C)數(shù)字字符D)下劃線

(14)以下敘述中錯誤的是

A)C語言是一種結(jié)構(gòu)化程序設(shè)計語言

B)結(jié)構(gòu)化程序有順序、分支、循環(huán)三種基木結(jié)構(gòu)組成

C)使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題

D)結(jié)構(gòu)化程序設(shè)計提倡模塊化的設(shè)計方法

(15)對于一個正常運(yùn)行的C程序,以下敘述中正確的是

A)程序的執(zhí)行總是從main函數(shù)開始,在main函數(shù)結(jié)束

B)程序的執(zhí)行總是從程序的第一個函數(shù)開始,在main函數(shù)結(jié)束

C)程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束

D)程序的執(zhí)行總是從程序的第一個函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束

(16)設(shè)變量均己正確定義,若要通過scanf('%d%c%d%c",&al,&cl,&a2,&c2);語句為變

量al和a2賦數(shù)值1()和20,為變量cl和c2賦字符X和Y。以下所示的輸入形式正確的是

(注:□代表空格字符)

A)10DXC20DY〈回車〉B)1OLIX2OC1Y〈回車)

C)10QX(回車〉D)10X〈回車〉

20口丫(回車)20Y〈回車)

(17)若有代數(shù)式(其中e僅代表自然對數(shù)的底數(shù),不是變量),則以下能夠正確表示該代

數(shù)式的C語言表達(dá)式是

A)sqrt(abs(n*x+e*x))B)sqrt(fabs(pow(n,x)+pow(x,e)))

C)sqrt(fabs(pow(n,x)+exp(x,e)))D)sqrt(fabs(pow(x,n

n)+exp(x)))

(18)設(shè)有定義:intk=0;:以下選項的四個表達(dá)式中與其他三個表達(dá)式的值不相同的是

A)k++B)k+=1C)++kDD)k+l

(19)有以下程序,其中卻表示按無呼號整數(shù)輸出

MainO

{unsignedintx=0xFFFF;/*x的初值為十六進(jìn)制數(shù)*/

Printf(“加\n",x);

}

程序運(yùn)行后的輸出結(jié)果是

A)-1B)65535C)32767D)0XFFFF

(20)設(shè)變量x和y均已正確定義并賦值,以下if語句中,在編譯時將產(chǎn)生錯誤信息的是

A)if(x++)B)if(x>y&y!=0);

C)if(x>y)x—D)if(y<0){;}

elsey++:elsex++;

(21)以下選項中,當(dāng)x為大于1的奇數(shù)時,值為0的表達(dá)式

A)x%2==lB)x/2C)x%2!=0D)x%2==0

(22)以下敘述中正確的是

A)break語句只能用于switch語句題中

B)continue語句的作用是:使程序的執(zhí)行流程跳出包含它的所有循環(huán)

C)break語句只能用在循環(huán)體內(nèi)和switch語句體內(nèi)

D)在循環(huán)體內(nèi)使用break語句和continue語句的作用用同

(23)有以下程序

Main()

{intk=5,n=0;

do

{switch(k)

{easel:case3:n+=l;break;

Default;n=0;k-;

Case2:cased:n+=2;k一;break;

)

PrintfC,n);

(while(k>0&&n<5);

}

程序運(yùn)行后的輸出結(jié)果是

A)235B)()235C)02356D)2356

(24)有以下程序

mian()

{inti,j;

for(i=l;i<4;i++)

{for(j=i;j<4;j++)printfCM%d*%d=%d",i,j,i*j);

Printf(“\n”);

}

)

程序運(yùn)行后的輸出結(jié)果是

*p=&n;

Printf(aInputn:");scanf(,&p);printf(^outputn:");

printfCM%d\n,r,p);

}

該程序試圖通過指針P為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯誤,以下語句正確的是

A)intn,*p=NULL;B)*p=&n;C)scanf("%d",&p)D)printf(a%d\nw,p);

(31)以下程序中函數(shù)f的功能是:當(dāng)flag為4時,進(jìn)行有小到大排序;當(dāng)flag為0時,進(jìn)

行由大到小排序。

voidf(intb[],intn,intflag)

{inti,j,t;

for(i=0;ifor(j=i+l;jif(flag?b[i]>b[j]:b[i')

main()

{inta[10]={5,4,3,2,1,6,7,8,9,10},I;

f(&a[2],5,0);f(a,5,1);

for(i=0;i<10;i++)printfCM%d,wa[i]);

)

程序運(yùn)行后的輸出結(jié)果是

A)1,2,3,4,5,6,7,8,9,10,B)3,4,5,6,7,2,1,8,9,10,

C)5,4,3,2,1,6,7,8,9,10,I))10,9,8,7,6,5,4,3,2,1,

(32)有以下程序

voidf(intb[])

{intI;

for(i=2;i<6;i++)b[i]*=2;

)

main()

{inta[10]={l,2,3,4,5,6,7,8,9,10},i;

f

for(i=0;i<10;i++)pr

intf(M%d,w,a[i]);

)

程序運(yùn)行后的輸出結(jié)果是

A)1,2,3,4,5,6,7,8,9,10,B)1,2,6,8,10,12,7,8,9,10

C)1,2,3,4,10,12,14,16,9,1(),D)1,2,6,8,10,12,14,16,9,10,

(33)有以下程序

typedefstruct{intb,p;}A;

voidf(Ac)/*注意:c是結(jié)構(gòu)變量名*/

{intj;

c.b+=l;c.p+=2;

}

main(){inti;

Aa={l,2);

f

ww

printf(%d,%d\n,a.b:a.p);

)

程序運(yùn)行后的輸出結(jié)果是

A)2,3B)2,4C)1,4D)1,2

(34)有以下程序

main()

{inta[4][4]={{1,4,3,2,},{8,6,5,7,},{3,7,2,5,},{4,8,6,1J},i,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(w%d,w,a[i][j]);

)

程序運(yùn)行后的輸出結(jié)果是

A)1,6,5,7,B)8,7,3,1,C)4,7,5,2,D)l,6,2,1,

(35)有以下程序

mainO

{inta[4][4]=({1,4,3,2,},{8,6,5,7,},{3,7,2,5,),{4,8,6,1,}},i,k,t;

for(i=0;i<3;i++)

for(k=i+i;k<4;k++)if(a[i][i]for(i=0;i<4;i++)printf(w%d,w,a[0][i]);

}

程序運(yùn)行后的輸出結(jié)果是

A)6,2,1,1,B)6,4,3,2,C)l,1,2,6,1))2,3,4,6,

(36)有以下程序

voidf(int*q)

{inti=0;

for(i〈5;i++)(*q)++;

}

mainO

{inta[5]={l,2,3,4,5),i;

f

for(i=0;i<5;i++)printf(u%d,w,a[i]);

}

程序運(yùn)行后的輸出結(jié)果是

A)2,2,3,4,5,B)6,2,3,4:5,C)2,3,4,5,6,

(37)有以下程序

#include

mainO

{charp[20]=('b','c','d'},q[]="abc",r[]=wabcdcw;

Strcpy(p+strlen(q),r);strcat(p,q);

Printf(<<%d%d\n>,,sizeof(p),strlen(p));

}

程序運(yùn)行后的輸出結(jié)果是

A)209B)99C)2011D)1111

(38)有以下程序

#includc

main()

{charp[20]=[b'c'd'},q[]="abc",r[]=wabcdew

strcat(p,r);Strcpy(p+strlen(q),q);

Printf(u%d\nw,sizeof(p));

)

程序運(yùn)行后的輸出結(jié)果是

A)9B)6OilD)7

(39)有以下程序

#include

mainO

{charp[20]={'a','b','c','d'},q[]=wabc",r[]=wabcde";

Strcat(p,r);strcpy(p+strlen(q),q);

Printf(<<%d\n>,,strlen(p));

)

程序運(yùn)行后的輸出結(jié)果是

A)9

B)6C)11D)7

else{inta=7;t+=a++;}

returnt+a++;

}

main()

{ints=a,i=0:

for(;i<2;i++〉s+=f(i);

printf("%d\n",s);

)

程序運(yùn)行后的輸出結(jié)果是

A)24B)28032D)36

(43)有一個名為init.txt的文件,內(nèi)容如下:

#defineIIDY(A,B)A/B

#definePRINT(Y)Printf(rty=%d\n.,Y)

有以下程序

^include"init.txt"

main()

{inta=l,b=2,c=3,d=4,k;

K=HDY(a+c,b+d);

PRINT(K);

)

下面針對該程序的敘述正確的是

A)編譯有錯B)運(yùn)行出錯

C)運(yùn)行結(jié)果為y=0D)運(yùn)行結(jié)果為y=6

(44)有以下程序

MainO

{charch[]="uvwxyz”,*pc;

Pc=ch;printf(4<%c\n?,:*(pc+5));

}

程序運(yùn)行后的輸出結(jié)果是

A)zB)0C)元素ch[5]地址D)字符y的地址

(45)有以下程序

structS{intn;inta[20];};

voidf(structS*P)

{inti,j,t;

for(i=0;in-1;i++)

for(j=j+l;jn-1;j++)

程序運(yùn)行后的輸出結(jié)果是

A)3B)4C)5D)6

(49)有以下程序

#include

Main()

{FILE*fp;intI,a[6]={l,2,3,4,5,6};

fp=fopen(rtd2.dat","w");

fprintf(fp,%d%d\nw,a[0],a[l],a[2]);fprintf(fp,w%d%d\nw,a[3],a[4],a[5]);

fclose(fp);

fp=fopen(ad2.dat","r");

fscanf(fp,M"%d%d\n”,&k,&n);printf(w%d%d\nw,k,n);

fclose(fp);

)

程序運(yùn)行后的輸出結(jié)果是

A)12B)1401234D)123456

(50)有以下程序

4include

main()

{flLE*fp;intI,a[6]={l,2,3,4,5,6k);

fp=fopen(<4d3.dat","w+b”);

fwrite(a,size(int),6,fp);

fseek(fp,sizeof(int)*3;SEEKSET);/*該語句使讀文件的位置指針從文件頭向后移動3個

int型數(shù)據(jù)*/

fread(a,sizeof(int),3,fp);fclose(fp);

for(i=0;i<6;i++)printf(u%d,w,a[i]);

}

程序運(yùn)行后的輸出結(jié)果是

A)4,5,6,4,5,6,B)1,2,3:4,5,6,C)4,5,6,1,2,3,D)6,5,4,3,2,1,

二.填空題(每空2分,共40分)

請將每一個空的正確答案寫在答題卡[1]至[20]序號的橫線上,答在試卷上不得分。

注意:以命令關(guān)鍵字填空的必須寫完整

(1)在深度為7的滿二叉樹中,度為2的結(jié)點個數(shù)為_________。

(2)軟件測試分為白箱(盒)測試和黑箱(盒)測試,等價類劃分法屬于測

試。

(3)在數(shù)據(jù)庫系統(tǒng)中,實現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為數(shù)據(jù)庫管理系統(tǒng)o

(4)軟件生命周期可分為多個階段,一般分為定義階段、開發(fā)階段和維護(hù)階段。編碼和測

試屬于階段。

(5)在結(jié)構(gòu)化分析使用的數(shù)據(jù)流圖(DFD)中,利用對其中的圖形元素進(jìn)行確

切解釋。

(6)執(zhí)行以下程序后的輸出結(jié)果是。

main()

{inta=10;

a=(3*5,a+4);printf(rta=%d\nw,a);

)

(7)當(dāng)執(zhí)行以下程序時,輸入1234567890〈回車),則其中while循環(huán)體將執(zhí)行

___________次。

#include

main()

{charch;

While((ch=getchar())==,O')printf(;

}

(8)以下程序的運(yùn)行結(jié)果是o

intk=0;

voidfun(intm)

{m+=k;k+初;printf(am=%d\nk=%d”,m,k++);}

mainO

{inti=4;

fun(i++);printf(wi=%dk=%d\n",i,k);

}

(9)以下程序的運(yùn)行結(jié)果是__________o

mainO

{inta=2,b=7,c=5;

Switch(a>0)

{case1:switch(b<0)

{case1:switch(;break;

Case2:printf(uw;break;

}

Case0:switch(c==5)

{case0:printf("*"j;break;

Ccise1:printf("#");break;

Case2:printf(“$");break;

}

default:printf(

}

Printf(“\n”);

}

(10)以下程序的輸出結(jié)果是

#include

mainO

{printf(w%d\nw,strlsn(rtIBM\nO12\l\\,*));

)

(11)已定義charch="$";inti=l,j;執(zhí)行j=!ch&&i++以后,i的值為

(12)以下程序的輸出結(jié)果是

#include

main()

{chara□:{‘'1'\2'\3''4'\0'};

Printf(u%d%d\n”,sizcof,srelen);

)

(13)設(shè)有定義語句:inta[][3]={{0},{l},{2}};,則數(shù)組元素的值為________

(14)以下程序的功能是:求出數(shù)組x中各相鄰兩個元素的和,依次存放到a數(shù)組中,然后

輸出,請?zhí)羁铡?/p>

Main()

{intx[10],a[9],I;

For(i=0;i<10;i++)

Scanf(w%dM,&x[i]);

For(i<10;i++)

A[il]=x[i]?

For(i=0;i<9;i++)

Printf(“%d",a[i]);

Printf("\n");

(15)以下程序的功能是:利用指針指向三個整型變量,并通過指針運(yùn)算找出三個數(shù)中的最

大值,輸出到屏幕上,請?zhí)羁眨?/p>

MainO

{intx,y,z,max,*px,*py.*pz,*pmax;

Scanf("%d%d%d",&x,&y.&z);

Px=&x;

Py=&y;

Pz=&z;

Pmax=&max;

Ir(*pmax<*py)*pmax=*py;

If(*pmax<*pz)*pmax=*pz;

Printf(“max=%d\n",max);

}

(16)以下程序的輸出結(jié)果是

Intfun(int*x,intn)

{if(n==0)

Returnx[0];

Else

returnx[0]+fun(x+1,n-1);

}

Main()

{inta[]={l,2,3,4,5,6,7};

Printf(<<%d\nw,fun(a,3));

)

(17)以下程序的輸出結(jié)果是

#include

MainO

{char*sl,*s2,m;

Sl=s2=(char*)malloc(sizeof(char));

*sl=15;

*s2=20;

M=*sl+*s2;

Printf("%d\n",m);

)

(18)設(shè)有說明

StructDATE{intyear;intmonth;intday;};

請寫出一條定義語句,該語句定義d為上述結(jié)構(gòu)體變最,并同時為其成員year、month,day

依次賦初值2006、10、1:;

(19)設(shè)有定義:FILEMw;,請將以下打開文件的語句補(bǔ)充完整,以便可以向文本文件

readme.txt的最后續(xù)寫內(nèi)容。

fw=fopen(areadme.txtw,"")

2007年4月二級C語言筆試答案

選擇題

1-5:BDACD6-10:CABCA11-15:CDBCA16-20:DCABC21-25:DCABA

26-30:ADCDA31-35:BBDDB36-40:DCACA41-45:DADAA46-50:ACBDA

填空題

1、632、黑盒3、數(shù)據(jù)庫管理系統(tǒng)4、開發(fā)

5、數(shù)據(jù)字典6、a=14

7^0,8、m=4k=4i=5k=5

9、#&

10、9

11、1

12、54

13、0

14、i=l

15、x[i-l]

16>*pmax=*px

17、10

18、40

19、structDATEd={2006,10,1)

20、a

2007年9月全國計算機(jī)等級考試二級C語言筆試試題及答案

一、選擇題((1)-(10)每題2分,(11)-(50)每題1分.共60分))

下列各題A)、B)、C)、D)四個選項中,只有一個是正確的,請將正確選項涂寫在答題卡上,

答在試卷上不得分。

(1)軟件是指

A)程序B)程序和文檔

C)算法加數(shù)據(jù)結(jié)構(gòu)D)程序、數(shù)據(jù)和相關(guān)文檔的集合

(2)軟件調(diào)試的目的是

A)發(fā)現(xiàn)錯誤B)改正錯誤

C)改善軟件的性能D)驗證軟件的正確性

(3)在面向?qū)ο蠓椒ㄖ?,實現(xiàn)信息隱蔽是依靠

A)對象的繼承B)對象的多態(tài)

C)對象的封裝D)對象的分類

(4)下列敘述中,不符合良好程序設(shè)計風(fēng)格的是

A)程序的效率第一,清晰第二B)程序的可讀性好

C)程序中有必要的注釋D)輸入數(shù)據(jù)前要有提示信息

(5)下列敘述中正確的是

A)程序執(zhí)行的效率與數(shù)據(jù)的存儲結(jié)構(gòu)密切相關(guān)

B)程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)

C)程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量

D)以上三種說法都不對

(6)下列敘述中正確的是

A)數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)必定是一一對應(yīng)的

B)由于計算機(jī)存儲空間是向量式的存儲結(jié)構(gòu),因此,數(shù)據(jù)的存儲結(jié)構(gòu)一定是線性結(jié)構(gòu)

C)程序設(shè)計語言中的數(shù)組一般是順序存儲結(jié)構(gòu),因此,利用數(shù)組只能處理線線結(jié)構(gòu)

D)以上三種說法都不對

(7)冒泡排序在最壞情況下的比較次數(shù)是

A)n(n+1)/2B)nlog2nC)n(n-1)/2D)n/2

(8)一棵二叉樹中共有70個葉子結(jié)點與80個度為1的結(jié)點,則該二叉樹中的總結(jié)點數(shù)為

A)219B)221C)229D)231

(9)下列敘述中正確的是

A)數(shù)據(jù)庫系統(tǒng)是?個獨立的系統(tǒng),不需要操作系統(tǒng)的支持

B)數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題

C)數(shù)據(jù)庫管理系統(tǒng)就是數(shù)據(jù)庫系統(tǒng)

D)以上三種說法都不對

(10)下列敘述中正確的足

A)為了建立一個關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系

B)表示關(guān)系的二維表中各元組的每一個分量還可以分成若干數(shù)據(jù)項

C)一個關(guān)系的屬性名表稱為關(guān)系模式

D)一個關(guān)系可以包括多個二維表

(IDC語言源程序名的后綴是

A).exeB).CC).objD).cp

(12)可在C程序中用做用戶標(biāo)識符的一組標(biāo)識符是

A)andB)DateC)HiD)case

_2007y-m-dDr.TomBigl

(13)以下選項中,合法的一組C語言數(shù)值常量是

A)028B)12.C).177D)0x8A

.5e-30Xa234cl.510,000

-Oxf4.5e0Oabc3.e5

(14)以下敘述中正確的是

A)C語言程序?qū)脑闯绦蛑械谝粋€函數(shù)開始執(zhí)行

B)可以在程序中由用戶指定任意一個函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行

C)C語言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行,在此結(jié)束

D)main可作為用戶標(biāo)識符,用以命名任意一個函數(shù)作為主函數(shù)

(15)若在定義語句:inia,b,c,*pWc;之后,接著執(zhí)行以下選項中的語句,則能正確執(zhí)行

的語句是

A)scanf(^d*,a,b,c);B)scanf(*%d%d%d*,a,b,c);

C)scanfp);D)scanf&p);

(16)以下關(guān)于long,int和short類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是

A)均占4個字節(jié)B)根據(jù)數(shù)據(jù)的大小來決定所占內(nèi)存的字節(jié)數(shù)

C)由用戶自己定義D)由C語言編譯系統(tǒng)決定

(17)若變量均已正確定義并賦值,以下合法的C語言賦值語句是

A)x=y==5;B)x=n%2.5;C)x+n=I;D)x=5=4+l;

(18)有以下程序段

intj;floaty;charname[50];

scanf(,,%2d%f%s,,?&j,&y,name);

當(dāng)執(zhí)行上述程序段,從健盤上輸入555667777abe后,y的值為

A)55566.0B)566.0C)7777.0D)566777.0

(19)若變量已正確定義,有以下程序段

i=0;

doprintf("%d,”,i);while(i++);

printf("%d\n",i)

其輸出結(jié)果是

A)0,0B)0,1C)1,1D)程序進(jìn)入無限循環(huán)

(20)有以下計算公式

Vx(x20)

{V-x(x<0)

若程序前面已在命令中包含math,h文件,不能夠正確計算上述公式的程戶段足

A)if(x>=0)y=sqrt(x);B)y=sqrt(x)

elsey=sqrt(-x);if(x<0)y=sqrt(-x);

C)if(x>=0)y=sqrt(x);D)y=sqrt(x>=0?x:-x);

If(x<0)y=sqrt(~x);

(21)設(shè)有條件表達(dá)式:(EXP)?i++;j—,則以下表達(dá)式中(EXP)完全等價的是

A)(EXP==0)B)(EXP!=0)C)(EXP==1)D)(EXP!=1)

(22)有以下程序

itincludc

main()

{inty=9;

for(y>0;y一)

if(y%3==0)printfC%d\—y);

1

程序的運(yùn)行結(jié)果是

A)741B)963C)852D)875421

(23)已有定義:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判斷c

中的字符是否為大寫字母的表達(dá)式是

A)isupper(c)B),A'<=c<=,Z>

C),A'<=Mc<=fZ'D)c<=(<2,-32)&&(匕'-32)<=c

(24)有以下程序

#inc1ude

mainO

{inti,j,m=55;

for(i=l;i<=3;i++)

for(j=3;j<=i;j++)

printf("%d\n",m);

)

程序的運(yùn)行結(jié)果是

A)0B)1C)2D)3

(25)若函數(shù)調(diào)用時的實參為變量時,以下關(guān)于函數(shù)形參和實參的敘述中正確的是

A)函數(shù)的實參和其對應(yīng)的形參共占同一存儲單元

B)形參只是形式上的存在,不占用具體存儲單元

C)同名的實參和形參占同一存儲單元

0)函數(shù)的形參和實參分別占用不同的存儲單元

(26)已知字符‘A'的ASCII代碼值是65,字符變量cl的值是'A,,c2的值是'D\執(zhí)

行語句printf(*%d,%d”,cl,c2-2);后,輸出結(jié)果是

A)A,BB)A,68C)65,66D)65,68

(27)以下敘述中錯誤的是

A)改變函數(shù)形參的值,不會改變對應(yīng)實參的值

B)函數(shù)可以返回地址值

C)可以給指針變量賦一個整數(shù)作為地址值

D)當(dāng)在程序的開頭包含文件stdio.h時,可以給指針變量賦NULL

(28)以下正確的字符串常量是

A)"\\\"B)'abc,C)OlympicGcimesD)””

(29)設(shè)有定義:charp[]={'1'2'3'},*q=p;,以下不能計算出一個char型數(shù)據(jù)

所占字節(jié)數(shù)的表達(dá)式是

A)sizeof(p)B)sizeof(char)C)sizeof(*q)D)sizeof(p[0])

(30)有以下函數(shù)

intaaa(char*s)

{char*t=s;

while(*t++);

t—;

return(t-s);

)

以下關(guān)于aaa函數(shù)的功能敘述正確的是

A)求字符串s的長度B)比較兩個串的大小

C)將串s兔制到串tD)求字符串s所占字節(jié)數(shù)

(31)若有定義語句:inta[3][6]:,按在內(nèi)存中的存放順序,a數(shù)組的第1()個元素是

A)a[0][4]B)a[l][3]C)a[0][3]D)a[l][4]

(32)有以下程序

ifinclude

voidfun(char**p)

{++p;printf("%s\rT,*p);}

main()

{char*a口:{“Morning","Aflernoon","Evening","Nighl"};

fun(a);

)

程序的運(yùn)行結(jié)果是

A)AfternoonB)fternoonC)MorningD)orning

(33)若有定義語句:inta[2][3],*p[3];,則以下語句中正確的是

A)p=a;B)p[O]=a;C)p[O]=&a[l][2];D)p[l]=&a;

(34)有以下程序

Sinclude

voidfun(int*a,intn)/*fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序*/

{intt,i,j;

for(i=0;ifor(j=i+l;jif(a)

mainO

{intc[10]={l,2,3,4,5,6,7,8,9,0},i;

fun(c+4,6);

for(i=0;i<10;i++)printfC%d,c);

prinlf;

)

程序運(yùn)行的結(jié)果是

A)1,2,3,4,5,6,7,8,9,0,B)0,9,8,7,6,5,1,2,3,4,

00,9,8,7,6,5,4,3,2,1,1))1,2,3,4,9,8,7,6,5,(),

(35)有以下程序

^include

intfun(chars[])

(intn=0;

while(*s<=,9'&&*s>二'O'){n=10*n+*s->O';s++;}

return(n);

)

main()

{chars[10]=(,6,JrJ#J4,-91J(TJ*,};

printf(飛d\n〃,fun(s));

)

程序運(yùn)行的結(jié)果是

A)9B)61490C)61D)5

(36)當(dāng)用戶要求輸入的字符串中含有空格時,應(yīng)使用的輸入函數(shù)是

A)scanf()B)getchar()C)gets()D)getc()

(37)以下關(guān)于字符串的敘述中正確的是

A)C語言中有字符串類型的常量和變量

B)兩個字符串中的字符個數(shù)相同時才能進(jìn)行字符串大小的比較

C)可以用關(guān)系運(yùn)算符對字符串的大小進(jìn)行比較

D)空用一定比空格打頭的字符串小

(38)有以下程序:

Sinclude

voidfun(char*1,char*s)

{

while(*t!=())t++;

whi1e((*t++=*s++)!=0);

)

main()

charss[10]=waccw,aa[10]=wbbxxyy”;

fun(ss,aa);

printf(M%s,%s\nn,ss,aa);

)

程序運(yùn)行結(jié)果是

A)accxyy,bbxxyyB)acc,bbxxyy

C)accxxyy,bbxxyyD)accbbxxyy,bbxxyy

(39)有以下程序

^include

#include

voidfun(chars[][10],intn)

(

chart;inti,j;

for(i=();ifor(j=i+l,j/*比較字符串的首字符大小,并交換字符串的首字符*/

if(s[0])>s[j][0]{t=s[0];s[0]=s[j][0];s[j][0]=t;}

}

main()

(

charss[5][10]={"bee",”bbcc","xy",“aaaacc""aabcc”}

fun(ss,5);printf(M%s.%s\n,",ss[0],ss[4]);

)

程序運(yùn)行結(jié)果是

A)xy,aaaaccB)aaaacc.xy

C)xcc,aabccD)acc,xabcc

(40)在一個C語言源程序文件中所定義的全局變量,其作用域為:

A)所在文件的全部范圍B)所在程序的全部范圍

0所在函數(shù)的全部范圍D)由具體定義位置和extern說明來決定范圍

(41)有以下程序

^include

inta=l;

intf(intc)

{staticinta=2;

c=c+l;

return(a++)+c;}

main()

{inti,k=0;

for(i=0;i<2;i++){inta=3;k+=f(a);)

k+=a;

printf("%d\n",k);

)

程序運(yùn)行結(jié)果是

A)14B)15

016D)17

(42)有以下程序

Sinclude

voidfun(intn,int*p)

{intfl,f2;

if(n==l|n=2)*p=l;

else

{fun(n-l,&f1);fun(n-2,&f2);

*p=fl+f2;

)

)

mainO

{ints;

fun⑶&s);printfs);

}

程序的運(yùn)行結(jié)果是

A)2B)3C)4D)5

(43)若程序中有宏定義行用defineN100則以下敘述中正確的足

A)宏定義行中定義了標(biāo)識符N的值為整數(shù)100

B)在編譯程序?qū)源程序進(jìn)行預(yù)處理時用100替換標(biāo)識符N

0對C源程序進(jìn)行編譯時用100替換標(biāo)識符N

【))在運(yùn)行時用100替換標(biāo)識符N

(44)以下關(guān)于typedef的敘述錯誤的是

A)用typedef可以增加新類型

B)typedef只是將已存在的類型用一個新的名字來代表

C)用typedef可以為各種類型說明一個新名,但不能用來為變量說明一個新名

D)用typedef為類型說明一個新名,通常可以增加程序的可讀性

(45)有以下程序

#include

structtt

{intx;structtt*y;}*p;

structtta[4]={20,a+1.15,a+2,30,a+3,17,a);

mainO

{inti;

P=a;

for(i=l;i<=2;i++){printfC%d,\p->x);p=p->y;J

}

程序的運(yùn)行結(jié)果是

A)20,30,B)30,17C)15,30,1))20,15,

(46)有以下程序

#include

#include

typedefstruct{charname[9];charsex;floatscore[2];}STU;

STUf(STUa)

{STUb={"Zhao",'m',85.0,90.0};inti;

strcpy(a.name,b.name);

a.sex=b.sex;

for(i=0;i<2;i++)a.score二b.score;

returna;

)

mainO

{STUc={"Qian",'f',95.0,92.0},d;

d=f(c);printf("%s,%c,%2.Of,%2.Of\n〃,d.name,d.sex,d.score[0],d.score[1]);

}

程序的運(yùn)行結(jié)果是

A)Qian,f,95,92B)Qian,m,85,90C)Zhao,m,85,90D)Zhao,f,95,92

(47)設(shè)有以下定義

uniondata

{intdl;floatd2;)demo;

則下面敘述中錯誤的是

A)變量demo與成員d2所占的內(nèi)存字節(jié)數(shù)相同

B)變量demo中各成員的地址相同

C)變量demo和各成員的地址相同

D)若給demo,dl賦99后,demo.d2中的值是99.0

(48)有以下程序

#include

main()

{inta=l,b=2,c=3,x;

,,,,

x=(ab)&c;printf(%d\ntx);

)

程序的運(yùn)行結(jié)果是

A)0B)102D)3

(49)讀取二進(jìn)制文件的函數(shù)調(diào)用形式為:frcad(buffer,size,count,fp);,其中buffer代表

的是

A)一個文件指針,指向待讀取的文件

B)一個整型變量,代表待讀取的數(shù)據(jù)的字節(jié)數(shù)

C)一個內(nèi)存塊的首地址,代表讀入數(shù)據(jù)存放的地址

【))一個內(nèi)存塊的字節(jié)數(shù)

(50)有以下程序

#include

main()

{FILE*fp;inta[10]={l,2,3,0,0),i;

fp=fopen("d2.dat,〃wb");

fwrite(a,sizeof(int),5.fp);

fwrite(a,sizeof(int),5,fp);

fclose(fp);

fp=fopen(,zd2.dat","rb");

fread(a,sizeof(int),10:fp);

fclose(fp);

for(i=0;i<10;i++)printf(螺d〃,a);

)

程序的運(yùn)行結(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,123,0,0,0,0,D)l,2,3,0,0,1,2,3,0,0,

二、填空題(每空2分,共40分)

請將每一個空的正確答案寫在答題卡[1]至[20]序號的橫線上,答在試卷上不得分.

(1)軟件需求規(guī)格說明書應(yīng)具有完整性、無歧義性、正確性、可驗證性、可修改性等特性,

其中最重要的」1].

(2)在兩種基本測試方法中,_[2]測試的原則之一是保證所測模塊中每一個獨立路

徑至少要執(zhí)行一次.

(3)線性表的存儲結(jié)構(gòu)主要分為順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu).隊列是一種特殊的線性表,

循環(huán)隊列是隊列的.[3]______存儲結(jié)構(gòu).

(5)在E-R圖中距形表示>5]_

(6)執(zhí)行以下程序時輸入1234567,則輸出結(jié)果是」6].

#include

main()

{inta=l,b;

scanf("%2d%2d”,&a&b);printf(*%d%d\n,,?a,b);

)

(7)以下程序的功能是:輸出a、b、c三個變量中的最小值.請?zhí)羁铡?/p>

#include

main()

{inta,b,c,tl,t2;

scanfC%d%d%d",&a,&b,&c);

tl=at2=cprintf("%d\n",t2);

)

(8)以下程序的輸出結(jié)果是」9]______.

#include

mainO

{intn=12345,d;

while(n!=0){d=n%10;printfd);n/=10;}

)

(9)有以下程序段,且變量已正確定義和賦值

for(s=l.0,k=l;k<=n;k++)s=s+l.0/(k*(k+l));

printf(,,s=%f\n\n,,?s);

請?zhí)羁?,使下面程序段的功能為完全相?/p>

s=l.0;k=l;

whileGtlO]_______){s=s+1.0/(k*(k+l));_[11];}

printf(z,s=%f\n\n,,?s);

(10)以下程序的愉出結(jié)果是,12]____.

^include

main()

{inti;

for(i=>a';i<'f';i++,i++)printfi-'a'+'A');

printf('\n");

}

(11)以下程序的輸出結(jié)果是一[13]______.

^include

#include

char*fun(char*t)

{char*p=t;

return(p+strlen(t)/2);

)

main()

{char*str="abcdefgh";

str=fun(str);

puts(str);

)

(12)以下程序中函數(shù)f的功能是在數(shù)組x的n個數(shù)(假定「個數(shù)互不相同)中找出最大最小數(shù),

將其中最小的數(shù)與第一個數(shù)對換,把最大的數(shù)與最后一個數(shù)對換.請?zhí)羁?

^include

viodf(intx[],intn)

{intpO,pl,i,j,t,m;

i=j=x[O];p0=pl=0;

for(m=0;m{if(x[m]>i){i=x[m];p0=m;)

elseif(x[m]}

t=x[pO];x[p0]=x[n-l];x[n-l]=t;

t=x[pl];x[pl]=_[14];_[15]=t;

)

main()

{inta[10],u;

for(u=0;u<10;u++)scanf&a);

f(a,10);

for(u=0;u<10;u++)printfa);

printf('\n");

)

(13)以下程序統(tǒng)計從終端輸入的字符中大寫字母的個數(shù),num[O]中統(tǒng)計字母A的個數(shù),rum[l]

中統(tǒng)計字母B的個數(shù),其它依次類推.用#號結(jié)束輸入,請?zhí)羁?

#include

#include

main()

{intnum[26]={0}?i;charc;

while((_[16])!=:#')

if(isupper(c))num[c-'A']+=_[17]_______;

for(i=0;i<26;i++)

Printfi+'A':num);

)

(14)執(zhí)行以下程序的輸出結(jié)果是[18].

#include

main()

{inti,n[4]={l);

for(i=l;i<=3;i++)

{n=n[il]*2i1;printfn);}

)

(15)以下程序的輸出結(jié)果是一[19].

#include

^defineM5

^defineNM+M

main()

{intk;

k=N*N*5;printf("%d\n"k);

)

(16)函數(shù)main。的功能是:在帶頭結(jié)點的單鏈表中查找數(shù)據(jù)域中值最小的結(jié)點.請?zhí)羁?/p>

#include

structnode

{intdata;

structnode*next;

);

intmin(structnode*first)/*指針first為鏈表頭指針*/

{strctnode*p;intm;

p=first->next;m=p->data;p=p->next;

for(;p!;NULL;p=_[20])

if(p->datadata;

returnm;

一、選擇題

1-10DBCADCCABD11?20BABCCDABBB21?30BCBBDCCDAA

31-40BDCDCCDDDD41-50AABADCDDCD

二、選擇題

1.無歧義性2.白盒3.順序4.ACBDFE1IGP5.實體6.1234

7.a:bc:tl8.543219.k<=nk++10.ACEll.efgh

12.x[0]x[0]13,c=getchar()114.371515.5516.p->next

2008年4月全國計算機(jī)等級考試二級筆試試卷

C語言程序設(shè)計

(考試時間90分鐘,滿分100分)

一、選擇題(共70分)

卜列各題A),B),C),D)四個選項中,只有一個選項是正確的,請將止確選項涂寫在

答題卡相應(yīng)位置上,答在試卷上不得分。

(1)程序流程圖中指有箭頭的線段表示的是

A)圖元關(guān)系B)數(shù)據(jù)流C)控制流D)調(diào)用關(guān)系

(2)結(jié)構(gòu)化程序設(shè)計的基本原則不包括

A)多態(tài)性B)自頂向下C)模塊化D)逐步求精

(3)軟件設(shè)計中模塊劃分應(yīng)遵循的準(zhǔn)則是

A)低內(nèi)聚低耦合B)高內(nèi)聚低耦合

C)低內(nèi)聚高耦合D)高內(nèi)聚高耦合

(4)在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是

A)可行性分析報告B)軟件需求規(guī)格說明書

C)概要設(shè)計說明書D)集成測試計劃

(5)算法的有窮性是指

A)算法程序的運(yùn)行時間是有限的

B)算法程序所處理的數(shù)據(jù)量是有限的

C)算法程序的長度是有限的D)算法只能被有限的用戶使用

(6)對長度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是

A)快速排序B)冒泡排序

C)直接插入排序D)堆排序

(7)下列關(guān)于棧的敘述正確的是

A)棧按“先進(jìn)先出”組織數(shù)據(jù)B)棧按“先進(jìn)后出”組織數(shù)據(jù)

C)只能在棧底插入數(shù)據(jù)D)不能刪除數(shù)據(jù)

(8)在數(shù)據(jù)庫設(shè)計中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于[C]

A)需求分析階段B)概念設(shè)計階段

C)邏輯設(shè)計階段D)物理設(shè)計階段

(9)有三個關(guān)系R、S和T如下:

T

BCD

a0k1

RS

BCD

a0k1

b1n1

BCD

f3h2

aOk1

n2x1

有關(guān)系R和S通過運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為

A)并B)自然連接C)笛k爾積D)交

(10)設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號,姓名,性別,年齡,身份證號),課程

C(課號,課名),選課SC(學(xué)號,課號,成績),則表SC的關(guān)鍵字(鍵或碼)為

A)課號,成績B)學(xué)號,成績

C)學(xué)號,課號D)學(xué)號,姓名,成績

(11)以下敘述中正確的是

A)C程序中的注釋只能出現(xiàn)在程序的開始位置和語句的后面

B)C程序書寫格式嚴(yán)格,要求一行內(nèi)只能寫一個語句

C)C程序書寫格式自由,一個語句可以寫在多行上

D)用C語言編寫的程序只能放在一個程序文件中

(12)以下選項中不合法的標(biāo)識符是

A)printB)FORC)&aD)_00

(13)以下選項中不屬于字符常量的是

A),CB)"C"C)'\xCC0'D)'\072'

(14)設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是

A)x=y*5=x+zB)int(15.8%5)

C)x=y+z+5,++yD)x=25%5.0

(15)以下定義語句中正確的是

A)inta=b=0;BJcharA=65+1,b='b';

CJfloata=1,*b=&a,*c=&b;D)doublea=0.0,b=1.1;

(16)有以下程序段

charch;intk;

ch='a';k=12;

printf("%c,%d,”,ch,ch,k);printf("k=%d\n",k);

已知字符a的ASCII十進(jìn)制代碼為97,則執(zhí)行上述程序段后輸出結(jié)果是

A)因變最類型與格式描述符的類型不匹配輸出無定值

B)輸出項與格式描述符個數(shù)不符,輸出為零值或不定值

C)a,97112k=12D)a,97,k=12

(17)已知字母A的ASCII代碼值為65,若變量kk為char型,以下不能正確判斷出kk中

的值為大寫字母的表達(dá)式是

A)kk>='A'&&kk<="Z'B)!(kk>='A'IIkk<='Z')

C)(kk+32)>='a'&&(kk+32)<='z,D)isalpha(kk)&&(kk<91)

(18)當(dāng)變量c的值不為2、4、6時,值也為“真”的表達(dá)式是

A)(c==2)II(c==4)II(c==6)B)(c>=2&&c<=6)II(c!=3)II(c!=5)

C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&&c<=6)&&(c%2!=1)

(19)若變量已正確定義,有以下程序段

inta=3,b=5,c=7;

if(a>b)a=b;c=a;

if(c!=a)c=b;

printf("%d,%d,%d\n",a,b,c);

其輸出結(jié)果是

A)程序段有語法錯B)3,5,3C)3,5,5D)3,5,7

(20)有以下程序

include<stdio.h>

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:a++;break;

case1:b++;break;

)

case2:a++;b++;break;

case3:a++;b++;

}

printf(*,a=%d,b=%d\n,,,a,b);

}

程序的運(yùn)行結(jié)果是

A)a=1,b=0B)a=2,b=2

C)3=1,b=1D)3=2,b=1

(21)有以下程序

include<stdio.h>

main()

{intx=8;

for(;x>0;x-)

{if(x%3){printf(*'%d,M,x-);continue;}

printfC'%d;,,-x);

}

}

程序的運(yùn)行結(jié)果是

A)7,4,2B)8,7,5.2

C)9,7,6,4D)8,5,4,2

(22)以卜.不構(gòu)成無限循環(huán)的語句或者語句組是

A)n=0;B)n=0;

do{++n;}while(n<=0);while(1){n++;}

C)n=10;D)for(n=0,i=1;;i++)n+=i;

while(n);{n-;}

(23)有以下程序

include<stdio.h>

main()

{inta[]={1,2,3,4}>y,*p=&a[3];

-P;y=*P;printfO%d\n",y);

)

程序的運(yùn)行結(jié)果是

A)y=0B)y=1C)y=2D)y=3

(24)以下錯誤的定義語句是

A)intx[][3]={{0},{1},{1,2,3));

B)intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

C)intx[4][]={{1,2,3},{1,2.3},{1}2,3},{1,2,3));

D)intx[][3]={1,2,3,4);

(25)設(shè)有如下程序段

chars[20]="Bejing",*p;

P=s;

則執(zhí)行p=s;語句后,以下敘述正確的是

A)可以用*p表示s[0]

B)s數(shù)組中元素的個數(shù)和p所指字符串長度相等

C)s和p都是指針變量

D)數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相等

(26)若有定義:inta[2][3];,以下選項中對a數(shù)組元素正確引用的是

A)a[2][!1]B)a[2][3]C)a[0][3]D)a[1>2][11]

(27)有定義語句:chars[10];,若要從終端給s輸入5個字符,錯誤的輸入語句是

A)gets(&s[O]);B)scanf("%s”,s+1);

C)gets(s);D)scanf(M%s),,s[1]);

(28)以下敘述中錯誤的是

A)在程序中凡是以“#”開始的語句行都是預(yù)處理命令行

B)預(yù)處理命令行的最后不能以分號表示結(jié)束

C)#defineMAX是合法的宏定義命令行

D)C程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過程中進(jìn)行的

(29)以下結(jié)構(gòu)體類型說明和變量定義中正確的是

A)typcdcfstructB)structREC;

{intn;charc;}REC;{intn;charc;};

RECt1,t2;RECt1,t2;

C)typedefstructREC;D)struct

{intn=0;charc=,A';}t1,t2;{intn;charc;}RECt1,t2;

(30)以下敘述中錯誤的是

A)gets函數(shù)用于從終端讀入字符串

B)getchar函數(shù)用于從磁盤文件讀入字符

CJfputs函數(shù)用于把字符串輸出到文件

D)fwrite函數(shù)用于以二進(jìn)制形式輸出數(shù)據(jù)到文件

(31)有以下程序

include<stdio.h>

main()

{ints[12]={1,2,3,4,4,321,1,1,2,3},c[5]={0},i;

for(i=0;i<12;i++)c[s[i]]++;

for(i=1;i<5;i++)printf("%d”,c[i]);

printf(4,\n,');

)

程序的運(yùn)行結(jié)果是

A)1234B)23440)4332D)1123

(32)有以下程序

#include<stdio.h>

voidfun(int*s,intnl,intn2)

{inti,j,t;

i=nl;j=n2;

while(i<j){t=s[i];s[i]=sU];s[j]=t;i++;j-;)

)

main()

{inta[10]={1,2,3,4,5,6,7,8,9,0},k;

fun(a,0,3);fun(a,4,9);fun(a,0,9);

for(k=0;k<10;k++)printfC'%d',,a[k]);printf("\n”);

}

程序運(yùn)行的結(jié)果是

A)0987654321B)4321098765

CJ5678901234DJ0987651234

(33)有以下程序

include<stdio.h>

#include<string.h>

voidfun(char*s[],intn)

{char*t;inti,j;

for(i=0;i<n-1;i++)

for(j=i+1;j<n;j++)

if(strlen(s[i])>strlen(s[j])){t=s[i];s[i]=s[j];s[j]=t;}

}

main()

{char*ss[]={"bcc",”bbcc",“xy",“aaaacc","aabcc"};

fun(ss,5);printf(H%s,%s\nw,ss[0],ss[4]);

)

程序的運(yùn)行結(jié)果是

A)xy,aaaaccB)aaaacc,xyC)bcc,aabccD)aabcc,bcc

(34)有以下程序

#include<stdio.h>

intf(intx)

{inty;

if(x==0||x==1)return(3);

y=x*x-f(x-2);

returny;

)

main()

z=f(3);printf("%d\rT,z);

}

程序的運(yùn)行結(jié)果是

A)0B>9C)6D)8

(35)有以卜程序

include<stdio.h>

voidfun(char*a,char*b

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論