2009年9 月全國計算機等級考試二級筆試試卷_第1頁
2009年9 月全國計算機等級考試二級筆試試卷_第2頁
2009年9 月全國計算機等級考試二級筆試試卷_第3頁
2009年9 月全國計算機等級考試二級筆試試卷_第4頁
2009年9 月全國計算機等級考試二級筆試試卷_第5頁
已閱讀5頁,還剩116頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2009年9月全國計算機等級考試二級C語言程序設(shè)計

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

一、選擇題((1)—(10)、(21)D)隊頭指針可以大于隊尾指針,也可

—(40)每題2分,(11)—(20)每題1以小于隊尾指針

分,共70分)(4)算法的空間復(fù)雜度是指

(1)下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)A)算法在執(zhí)行過程中所需要的計算機

構(gòu)的是存儲空間

A)循環(huán)隊列B)算法所處理的數(shù)據(jù)量

B)帶鏈隊列C)算法程序中的語句或指令條數(shù)

C)二叉樹D)算法在執(zhí)行過程中所需要的臨時工

D)帶鏈棧作單元數(shù)

(2)下列數(shù)據(jù)結(jié)果中,能夠按照“先進(5)軟件設(shè)計中劃分模塊的一個準則

后出”原則存取數(shù)據(jù)的是是

A)循環(huán)隊列A)低內(nèi)聚低耨合

B)棧B)高內(nèi)聚低相合

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

D)二叉樹D)高內(nèi)聚高耦合

(3)對于循環(huán)隊列,下列敘述中正確(6)下列選項中不屬于結(jié)構(gòu)化程序設(shè)

的是計原則的是

A)隊頭指針是固定不變的A)可封裝

B)隊頭指針一定大于隊尾指針D)自頂向下

C)隊頭指針一定小于隊尾指針C)模塊化

D)逐步求精(10)有三個關(guān)系R,S和T如下:

(7)軟件詳細設(shè)計產(chǎn)生的圖如下:R

ABCABC

a12d32

b21

c31

其中關(guān)系T由關(guān)系R和S通過某種操

作得到,該操作為

該圖是

A)選擇

A)N-S圖

B)投影

B)PAD圖

C)交

C)程序流程圖

D)并

D)E-R圖

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

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

A濯序設(shè)計的任務(wù)就是編寫程序代碼

A)操作系統(tǒng)的一部分

并上機調(diào)試

B)在操作系統(tǒng)支持下的系統(tǒng)軟件

B瘴序設(shè)計的任務(wù)就是確定所用數(shù)據(jù)

C)一種編譯系統(tǒng)

結(jié)構(gòu)

D)一種操作系統(tǒng)

C展序設(shè)計的任務(wù)就是確定所用算法

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

D)以上三種說法都不完整

的圖形是

(12)以下選項中,能用作用戶標識符

A)橢圓圖

的是

B)矩形

A)void

C)菱形

B)8.8

D)三角形

C),0_

D)unsignedB)3

(13)閱讀以下程序C)4

#includeD)5

main()(15)若有定義語句:intx=10;,則表

{intcase;floatprintF;達式x-=x+x的值為

printf(“請輸入2個數(shù):");A)-20

scanf("%d%f,,&case,&pjrintF);B)-10

printf(u%d%f\n",case,printF);C)0

)D)10

該程序編譯時產(chǎn)生錯誤,其出錯原因(16)有以下程序

是#include

A)定義語句出錯,case是關(guān)鍵字,main()

不能用作用戶自定義標識符{inta=1,b=0;

B)定義語句出錯,printF不能用作用printf("%d,",b=a+b);

戶自定義標識符printf("%d\n",a=2*b);

C)定義語句無錯,scanf不能作為輸)

入函數(shù)使用程序運行后的輸出結(jié)果是

D)定義語句無錯,printf不能輸出A)0,0

case的值B)1,0

(14法達式:(int)((double)9/2)-(9)%2C)3,2

的值是D)1,2

A)0

17)設(shè)有定義:inta=1,b=2,c=3;,以D)9

下語句中執(zhí)行效果與其它三個不同的是(19)以下程序段中,與語句:

A)if(a>b)c=a,a=b,b=c;k=a>b?(b>c?1:0):0;功能相同的是

B)if(a>b){c=a,a=b,b=c;}A)if((a>b)&&(b>c))k=1;

C)if(a>b)c=a;a=b;b=c;elsek=0;

D)if(a>b){c=a;a=b;b=c;}B)if((a>b)||(b>c)k=1;

(18)有以下程序elsek=0;

#includeC)if(a<=b)k=0;

main()elseif(b<=c)k=1;

{intc=O,k;D)if(a>b)k=1;

for(k=1;k<3;k++)elseif(b>c)k=1;

switch(k)elsek=0;

{default:c+=k20)有以下程序

case2:c++;break;#include

case4:c+=2;break;main()

){charsO=f012xy");inti,n=0;

printf(M%d\nn,c);for(i=0;s[i]!=0;i++)

)if(s[i]>=,a,&&s[i]<=,z,)n++;

程序運行后的輸出結(jié)果是printf("%d\n”,n);

A)3)

B)5程序運行后的輸出結(jié)果是

C)7A)0

B)2#include

C)3main()

D)5{charc1,c2;

(21)有以下程序c1='A'+'8'-'4';

#includec2='A'+'8'-'5';

main()printf("%c,%d\n",c1,c2);

{intn=2,k=0;)

while(k++&&n++>2);已知字母A的ASCII碼為65,程序運

printf(u%d%d\n",k,n);行后的輸出結(jié)果是

}A)E,68

程序運行后的輸出結(jié)果是B)D,69

A)02C)E,D

B)13D)輸出無定值

C)57(24)有以下程序

D)12#include

(22)有以下定義語句,編譯時會出現(xiàn)voidfun(intp)

編譯錯誤的是{intd=2;

A)chara-a';p=d++;printf("%d",p);}

B)chara="\n";main()

C)chara-aa';{inta=1;

D)chara=>\x2d,;fun(a);printf("%d\n",a);}

(23)有以下程序程序運行后的輸出結(jié)果是

A)32(26)有以下程序

B)12#include

C)21main()

D)22{intm=1,n=2,*p=&m,*q=&n,*r;

(25)以下函數(shù)findmax擬實現(xiàn)在數(shù)組r=p;p=q;q=r;

中查找最大值并作為函數(shù)值返回,但程序中printf("%d,%d,%d,%d\n",m,n,*p,*q

有錯導(dǎo)致不能實現(xiàn)預(yù)定功能);

#defineMIN-2147483647)

intfindmax(intxO.intn)程序運行后的輸出結(jié)果是

{inti.max;A)1,2,1,2

for(i=0;i<N;l++)<p=""/>B)1,2,2,1

{max=MIN;C)2,1,2,1

if(maxD)2,1,1,2

returnmax;(27)若有定義語句:int

)a[4][10],*p,*q[4];ja0。<4,則錯誤的賦值是

造成錯誤的原因是A)p=a

A)定義語句inti,max;中max未鼠初B)q[i]=a[i]

值C)p=a[i]

B)賦值語句max=MIN;中,不應(yīng)給D)p=&a[2][1]

max賦MIN值(28)有以下程序

C)語句if(max#include

D)鼠值語句max=MIN;放錯了位置#include

main())

{charstr[][20]=rOne*World,,,for(i=0;i<4;i++)printfC%d",a[i]);

M0ne*Dream!,,},*p=str[1];printf(\n");

printf("%d:,strlen(p));printf("%s\n”,}

P);A)3344

)B)2050

程序運行后的輸出結(jié)果是C)3040

A)9,One*WorldD)0304

B)9,0ne*Dream(30)有以下程序

C)10,One*Dream#include

D)10,One*World#include

(29)有以下程序main()

#include{chara[10]="abcd";

main()printf("%d,%d\n",strlen(a),sizeof(a))

{inta[]={2,3,5,4},i;*

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

switch(i%2)程序運行后的輸出結(jié)果是

{case0:switch(a[i]%2)A)7,4

{caseO:a[i]++;break;B)4,10

case1:a[i]-;C)8,8

}break;D)10,10

case1:a[i[=0;

(31)下面是有關(guān)C語言字符數(shù)組的C)void*pf();*pf=fun;

描述,其中錯誤的是D)void(*pf)(int,char);pf=&fun;

A方可以用賦值語句給字符數(shù)組名賦(34)有以下程序

字符串#include

B)可以用輸入語句把字符串整體輸入intf(intn);

給字符數(shù)組main()

C序符數(shù)組中的內(nèi)容不一定是字符串{inta=3,s;

D)字符數(shù)組只能存放字符串s=f(a);s=s+f(a);printfC%d\n",s);

(32)下列函數(shù)的功能是)

fun(char*a,char*b)intf(intn)

{while((*b=*a)!='\O'){a++,b++;}}{staticinta=1;

A)將a所指字符串賦給b所指空間n+=a++;

B)使指針b指向a所指字符串returnn;

C)將a所指字符串和b所指字符串}

進行比較程序運行以后的輸出結(jié)果是

D/查a和b所指字符串中是否有‘\0'A)7

(33)設(shè)有以下函數(shù)B)8

voidfun(intn.char*s){.......}C)9

則下面對函數(shù)指針的定義和賦值均是D)10

正確的是(35)有以下程序

A)void(*pf)();pf=fun;#include

B)viod*pf();pf=fun;#definef(x)x*x*x

main()B)scanf("%s”,c);

{inta=3,s,t;C)c=getchar();

s=f(a+1);t=f((a+1));D)*c="string”;

printf(u%d,%d\n,,s,t);(38)有以下程序

)#include

程序運行后的輸出結(jié)果是#include

A)10,64structA

B)10,10{inta;charb[10];doublec;};

C)64,10structAf(structAt);

D)64,64main()

(36)下面結(jié)構(gòu)體的定義語句中,錯誤{structA

的是a={1001;ZhangDaM,1098.0};

A)structord{intx;inty;intz;};structa=f(a);jprintf(M%d,%s,%6.1f\nn,a.a,a.b

orda;,a.c);

B)structord{intx;inty;intz;}struct)

orda;structAf(structAt)

C)structord{intx;inty;intz;}a;(t.a=1002;strcpy(t.b,"ChangRong,,);t.

D)struct{intx;inty;intz;}a;c=1202.0;returnt;)

(37)設(shè)有定義:char*c;,以下選項程序運行后的輸出結(jié)果是

中能夠使字符型指針c正確指向一個字符串A)1001,ZhangDa,1098.0

的是B)1001,ZhangDa,1202.0

A)charstr[]-,string,,;c=str;C)1001,ChangRong,1098.0

D)1001,ChangRong,1202.0(1)某二叉樹有5個度為2的結(jié)點以

(39)若有以下程序段及3個度為1的結(jié)點,則該二叉樹中共有

intr=8;[1]個結(jié)點。

printf("%d\n",r?1);(2)程序流程圖中的菱形框表示的是

輸出結(jié)果是[2]o

A)16(3)軟件開發(fā)過程主要分為需求分析、

B)8設(shè)計、編瑪與測試四個階段,其中【3】階

C)4段產(chǎn)生“軟件需求規(guī)格說明書。

D)2(4)在數(shù)據(jù)庫技術(shù)中,實體集之間的

(40)下列關(guān)于C語言文件的敘述中聯(lián)系可以是一對一或一對多或多對多的,那

正確的是么“學(xué)生”和“可選課程”的聯(lián)系為【4】o

A)文件由一系列數(shù)據(jù)依次排列組成,(5)人員基本信息一般包括:身份證

只能構(gòu)成二進制文件號,姓名,性別,年齡等。其中可以作為主

B)文件由結(jié)構(gòu)序列組成,可以構(gòu)成二關(guān)鍵字的是【5】o

進制文件或文本文件(6)若有定義語句:inta=5;,則表達

C)文件由數(shù)據(jù)序列組成,可以構(gòu)成二式:a++的值是【6】o

進制文件或文本文件(7)若有語句doublex=17;inty;,當

D)文件由字符序列組成,其類型只能執(zhí)行y=(int)(x/5)%2;之后y的值為【7】。

是文本文件(8)以下程序運行后的輸出結(jié)果是

二、填空題(每空2分,共30分)[8]o

#include

main()

{intx=20;printf('*\n");

printf(u%dB,0<X<20);<p=""/>)

printf(u%d\n",O<X&&X<=""/>程序運行后的輸出結(jié)果是[10]o

(9)以下程序運行后的輸出結(jié)果是(11)有以下程序

[9]o#include

#includeinta=5;

main()voidfun(intb)

{inta=1,b=7;{inta=10;

do{a+=b;printf("%d",a);

b=b⑵a+=b;)

}while(b>1);main()

printf("%d\n",a);}{intc=20;

(10)有以下程序fun(c);a+=c;printfC%d\n,,,a);

#include}

main()程序運行后的輸出結(jié)果是[111o

{intf,f1,f2,i;(12)設(shè)有定義:

f1=0;f2=1;structperson

printf(u%d%d",f1,f2);{intID;charname[12];}p;

for(i=3;i<=5;i++)請將scanf(“%d”,[12]);語句補充完

{f=f1+f2;printf(u%d",f);整,使其能夠為結(jié)構(gòu)體變量p的成員ID正

f1=f2;f2=f;確讀入數(shù)據(jù)。

)(13)有以下程序

#include程序運行后的輸出結(jié)果是[14]o

main()

(15)有以下程序

{chara[20]=nHowareyou?\b[20];

#include

scanf(w%s",b);printfC%s%s\nw,a,b);

fun(intx)

}

{if(x/2>0)run(x/2);

程序運行時從鍵盤輸入:Howare

printf(u%d",x);

you?v回車》

}

則輸出結(jié)果為(131o

main()

(14)有以下程序{fun(6);printf(rn");}

include程序運行后的輸出結(jié)果是[15]。

typedefstruct2009年9月全國計算機等級考試二級

{intnumjdoubles}REC;C語言筆試參考答案

voidfun1(REC一、選擇題

x){x.num=23;x.s=88.5;}

main()

{RECa={16,90.0};

fun1(a);

printf("%d\n",a.num);

)

(c(B(D((AA((cB(B(

1)2)3)€)4))5))9)

(9)5

(8)10

(7)1

(6)5

(5)身份證號

(4)多對多

''2009年3月二級C語言筆試真題及答案

(3)需求分析

(2)邏輯條件

(1)14

二、填空題

((1)—(10)每小題2分,(11)—(50)只有一個選項是正確的,請將正確選項涂寫

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

下列各題A}B\D)四個選項中,(1)下列敘述中正確的是

A)棧是“先進先出”的線性表D)匯編程序

B)隊列是“先進先出”的線性表(6)下面敘述中錯誤的是

C)循環(huán)隊列是非線性結(jié)構(gòu)A)軟件測試的目的是發(fā)現(xiàn)錯誤并改正錯誤

D)有序性表既可以采用順序存儲結(jié)構(gòu),也B)對被調(diào)試的程序進行“錯誤定位”是程序

可以采用鏈式存儲結(jié)構(gòu)調(diào)試的必要步驟

(2)支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是C)程序調(diào)試通常也稱為Debug

A)棧B)樹C)隊列D)二叉樹D)軟件測試應(yīng)嚴格執(zhí)行測試計劃,排除測

(3)某二叉樹有5個度為2的結(jié)點,則該二試的隨意性

叉樹中的葉子結(jié)點數(shù)是(7)耦合性和內(nèi)聚性是對模塊獨立性度量

A)10B)8C)6D)4的兩個標準。下列敘述中正確的是

(4)下列排序方法中,最壞情況下比較次A)提高耦合性降低內(nèi)聚性有利于提高模塊

數(shù)最少的是的獨立性

A)冒泡排序B)降低耦合性提高內(nèi)聚性有利于提高模塊

B)簡單選擇排序的獨立性

C)直接插入排序C)相合性是指一個模塊內(nèi)部各個元素間彼

D)堆排序此結(jié)合的緊密程度

(5)軟件按功能可以分為:應(yīng)用軟件、系D)內(nèi)聚性是指模塊間互相連接的緊密程度

統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬(8)數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是

于應(yīng)用軟件的是A)數(shù)據(jù)庫設(shè)計

A)編譯軟件B)數(shù)據(jù)庫系統(tǒng)設(shè)計

B)操作系統(tǒng)C)數(shù)據(jù)庫維護

C)教務(wù)管理系統(tǒng)D)數(shù)據(jù)庫管理員培訓(xùn)

(9)有兩個關(guān)系R,S如下:(11)以下選項中合法的標識符是

RA)1-1B)1—1C)-11D)1-

ABc(12)若函數(shù)中有定義語句:intk;,則

a32A)系統(tǒng)將自動給k賦初值0

b01B)這時k中值無定義

c21C)系統(tǒng)將自動給k鼠初值-1

D)這時k中無任何值

(13)以下選項中,能用作數(shù)據(jù)常量的是

SA)o115B)0118C)1.5e1.5D)115L

設(shè)有定義:,以下表達式中,

AB(14)intx=2;

值不為6的是

a3

A)x*=x+1

b0

B)x++,2*x

c2

C)x*=(1+x)

D)2*x,x+=2

(15)程序段:intx=12;

由關(guān)系R通過運算得到關(guān)系S,則所使用的

doubley=3.141593;printf

運算為

("%d%8.6f,x,y);的輸出結(jié)果是

A)選擇B)投影C)插入D)連接

A)123.141593

(10)將E-R圖轉(zhuǎn)換為關(guān)系模式時,實體

B)12

和聯(lián)系都可以表示為

3.141593

A)屬性B)鍵C)關(guān)系D)域

C)12,3.141593

D)123.141593if(x!=10)

(16)若有定義語句:doublex,y,*px,*py,printf("%d\n",x);

執(zhí)行了px=&x,py=&y;之后,正確的輸入語)

句是程序運行時,輸入的值在哪個范圍才會有輸

A)scanf(0%f%f,,x,y);出結(jié)果

B)scanf(H%f%f,,&x,&y);A)不等于10的整數(shù)

C)scanf("%lf%le",px,py);B)大于3且不等于10的整數(shù)

D)scanf("%lf%lf',x,y);C)

(17)以下是if語句的基本形式:大于3或等于10的整數(shù)

if(表達式)D)小于3的整數(shù)

語句(19)有以下程序

其中“表達式”#include<stdio.h>

A)必須是邏輯表達式Main()

B)必須是關(guān)系表達式(

C)必須是邏輯表達式或關(guān)系表達式inta=1,b=2,c=3,d=0;

D)可以是任意合法的表達式if(a==1&&b++==2)

(18)有以下程序if(b!=2||c-!=3)

#include<stdio.h>

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

{intx;elseprintf("%d,%d,%d\n”,a,b,c);

scanf("%dM,&x);elseprintf("%d,%d,%d\n”,a,b,c);

if(x<=3);else

程序運行后的輸出結(jié)果是注意,字母A的ASCII碼值為65。程序運

A)1,2,3行后的輸出結(jié)果是

B)1,3,2A)5670

C)1,3,3B)656667

D)3,2,1C)567

(20)以下程序中的變量已正確定義D)ABC

for(i=0;i<4;i++,i++(22)設(shè)變量已正確定義,以下不能統(tǒng)計出

for(k=1;k<3;k++)jprintf(*");一行中輸入字符個數(shù)(不包含回車符)的程

程序段的輸出結(jié)果是序段是

A)********A)n=0;while((ch=getchar())!='\n')

B)****n++;

C)**B)n=0;while(getchar()!='\n')n++;

D)*C)for(n=0;getchar()!='\n';n++);

(21)有以下程序D)n=0;for(ch=getchar();ch!='\n';n++);

#include<stdio.h>(23)有以下程序

main()#include<stdio.h>

{charmain()

*s=("ABC);{inta1,a2;charc1,c2;

doscant(',%d%c%d%cn,&a1,&c1,&a2,&c2);

{printf(-%d”,*s%10);s++;printf("%d,%c,%d,%c”,&1,c1,a2,c2);

}while(*s);)

)若想通過鍵盤輸入,使得a1的值為12,a2的

是為34,c1的值為字符a,c2的值為字符b,程序運行后的輸出結(jié)果是

程序輸出結(jié)果是:12,a,34,b,則正確的輸入A)10

格式是(以下B)9

代表空格,<CR>代表回車)C)8

A)12a34b<CR>D)7

B)12(25)有以下程序

a#include<stdio.h>

34voidfun(char

b<CR>*s)

C)12,a,34,b<CR>{while(*s)

D)12

a34{if(*s%2==0)

b<CR>printf("%c",*s);

(24)有以下程序s++;

#include<stdio.h>

intf(intx,inty))

{return()y-x)*x);})

main()main()

{inta=3,b=4,c=5,d;{char

d=f(f(a,b),f(a,c));a[]={"good");

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

)fun(a);printf(**\n");

)c)5,3,3,5

注意:字母a的ASCII碼值為97,程序運行D)5,3,5,3

后的輸出結(jié)果是(27)有以下程序

A)d#include<stdio.h>

B)goviodf(int*p,int*q);

C)godmain()

D)good{intm=1,n=2,*r=&m;

(26)有以下程序

#include<stdio.h>f(r,&n)jprintf("%d,%d”,m,n);

voidfun(int*a,int*b))

{int*c;voidf(int*p,int*q)

c=a;a=b;b=c;{p=p+1;*q=*q+1;}

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

main()A)1,3

{intx=3,y-5,*P=&x,*q=&y;B)2,3

C)1,4

fun(p,q);printf("%d,%d,",*p,*q);D)1,2

fun(&x,&y)jprintf("%d)%d\n",*p,*q);(28)以下函數(shù)按每行8個輸出數(shù)組中的數(shù)

)據(jù)

程序運行后的輸出結(jié)果是voidfun(int*w,intn)

A)3,5,5,3{inti;

B)3,5,3,5

for(i=0;i<n;i++)D)pt+3

(30)設(shè)有定義:chars[81];inti=10;,以下

不能將一行(不超過80個字符)帶有空格的

字符串真確讀入的語句或語句組是

printf(u%d",w);A

gets(s)

}

B)while((s[i++]=getchar())!="\n";s=n\0";

printf("\n");C)scant("%s",s);

)D)do{scanf("%c",&s);}while

下劃線處應(yīng)填入的語句是(s[i++]!="\n");s="\0";

A)if(i/8==0)print("Vi");(31)有以下程序

B)if(i/8==0)continue;#include<stdio.h>

C)if(i%8==0)print('*\n")

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論