各年份C語(yǔ)言真題_第1頁(yè)
各年份C語(yǔ)言真題_第2頁(yè)
各年份C語(yǔ)言真題_第3頁(yè)
各年份C語(yǔ)言真題_第4頁(yè)
已閱讀5頁(yè),還剩72頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2012年上半年計(jì)算機(jī)二級(jí)C語(yǔ)言試題:文字版一、選擇題1、下列敘述中正確的是( )。A.循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu)B.循環(huán)隊(duì)列是隊(duì)列的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)C.循環(huán)隊(duì)列是非線性結(jié)構(gòu)D.循環(huán)隊(duì)列是一直邏輯結(jié)構(gòu)2、下列敘述中正確的是( )。A.棧是一種先進(jìn)先出的線性表B.隊(duì)列是一種后進(jìn)先出的線性表C.棧和隊(duì)列都是非線性結(jié)構(gòu)D.以上三種說(shuō)法都不對(duì)?棵二又樹共有25個(gè)節(jié)點(diǎn),其中5個(gè)時(shí)子節(jié)點(diǎn),那么度為1的節(jié)點(diǎn)數(shù)為( )。4610164、在下列模式中,能夠給出數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是( )。A.內(nèi)模式B.外模式C.概念模式D.邏輯模式5、在滿足實(shí)體完整性約束的條件下( ).A、一個(gè)關(guān)系中可以沒有候選關(guān)鍵詞B、一個(gè)關(guān)系中只能有一個(gè)候選關(guān)鍵詞C、一個(gè)關(guān)系中必須有多個(gè)候選關(guān)鍵詞D、 ?個(gè)關(guān)系中應(yīng)該有個(gè)或者多個(gè)候選關(guān)鍵詞6、有三個(gè)關(guān)系R、S和T如下:則由關(guān)系R和S得到關(guān)系T的操作是( ).A.自然連接B.并C.差D.交7、軟件生命周期中的活動(dòng)不包括( )。A.軟件維護(hù)B.市場(chǎng)調(diào)研C.軟件測(cè)試D.需求分析8、下面不屬于需求分析階段任務(wù)的是( ).A.確定軟件系統(tǒng)的功能需求B.確定軟件系統(tǒng)的系統(tǒng)的系能需求B.制定軟件集成測(cè)試計(jì)劃D.需求規(guī)格說(shuō)明書審評(píng)9、在黑盒測(cè)試方式中,設(shè)計(jì)測(cè)試用例的主要根據(jù)是( )。A.程序外部功能B.程序內(nèi)部邏輯C.程序數(shù)據(jù)結(jié)構(gòu)D.程序流程圖10、在軟件設(shè)計(jì)中不使用的工具是( )。A.系統(tǒng)結(jié)構(gòu)圖B.程序流程圖C.PAD圖D.數(shù)據(jù)流圖(DFD圖)11、針對(duì)簡(jiǎn)單程序設(shè)計(jì),以卜.敘述的實(shí)施步驟正確的是( )。A.確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試、整理文檔B.編碼、確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、整理文檔C.整理文檔、確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試D.確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、編碼、整理文檔12、關(guān)于C語(yǔ)言中數(shù)的表示,以下敘述正確的是( )。A.只有整型數(shù)在允許范圍內(nèi)能精確無(wú)誤的表示,實(shí)型數(shù)會(huì)有誤差B.只要在在允許范圍內(nèi)整型和實(shí)型都能精確表示C.只有實(shí)型數(shù)在允許范圍內(nèi)能精確無(wú)誤的表示,整型數(shù)會(huì)有誤差

D.只有八進(jìn)制表示的數(shù)在不會(huì)有誤差13、以下關(guān)于算法敘述錯(cuò)誤的是( ).A.算法可以用偽代碼、流程圖等多種形式來(lái)描述一個(gè)正確的算法必須有輸入一個(gè)正確的算法必須有輸出D.用流程圖可以描述的算法可以用任何一種計(jì)算機(jī)高級(jí)語(yǔ)言編寫成程序代碼14、以下敘述錯(cuò)誤的是( )。一個(gè)C程序可以包含多個(gè)不同名的函數(shù)一個(gè)C程序只能有一個(gè)主函數(shù)C程序在書寫時(shí),有嚴(yán)格的縮進(jìn)要求,否則不能編譯通過(guò)C程序的主函數(shù)必須用main作為函數(shù)名15、設(shè)有以下語(yǔ)句Charchl,ch2,scanf("%c%c”,&chl,&ch2);若要為變量chi和ch2分別輸入字符A和B,正確的輸入形式應(yīng)該是( )。A和B之間用逗號(hào)間隔A和B之間不能有任何間隔符A和B之間可以用回車間隔

D.A和B之間用空格間隔16、以下選項(xiàng)中非法的字符常量是( )。A.、102'''65''\xf「''019'17、有以下程序#includeMain()

{

IntA=O,B=(),C=O;C=(A-=A-5);(A=B,B+=4);Printf(w%d,%d.%d\n*\A,B,C)

)

程序運(yùn)行后輸出的結(jié)果是( )。0,4,54,4,54,4,40,0,018、設(shè)變量均已正確定義并且賦值,以卜與其他三組輸出結(jié)構(gòu)不同的一組語(yǔ)句是( )。x++;printf((44%d\n,\x);n=++x;printf(("%d\n”,n);++x;printf(C%d\n'?;n=x++;printf(Ck%d\nMji);19、以下選項(xiàng)中,能表示邏輯值"假''的是( )。10.0000010D.100.020、有以下程序

#includeMain()

{inta:

Scanf(“%d”,&a);If(a++<9)prinlf(("%d\n”,a);

臼seprintf((it%d\n,\a—);)程序運(yùn)行時(shí)鍵盤輸入9〈回車,,則輸出的結(jié)構(gòu)是(10119821、有以下程序#include

Main()

{ints=O,n;For(n=0;n<3;n<++)

{switch(s)

{case0;Casel;s+=l;Case2;s+=2;break;Case3;s+3;Case4;s+=4;)

printf(C%d\n,\s);))程序運(yùn)行后的結(jié)果是( )。A.1,2,4B.1,3,6C.3,10,14D.3,6,1022、若k是im類型變量,且有以下for語(yǔ)句

For(k=-l;k<O;k++)printf(****\n*);

下面關(guān)于語(yǔ)句執(zhí)行情況的敘述中正確的是(A.循環(huán)體執(zhí)行一次B.循環(huán)體執(zhí)行兩次C.循環(huán)體一次也不執(zhí)行D.構(gòu)成無(wú)限循環(huán)

23、有以下程序#includeMain(){charA,B,C;B=r;C=,A,

For(A=0;A<6;A++)

{if(A%2)pulchar(B+A);

Elsepulchar(C+A);

)I

程序運(yùn)行后輸出的結(jié)果是( )。1B3D5FABCDFEA2C4E6D.12345624、設(shè)有如下定義語(yǔ)句

Intm[]={2,4,6,8},*k=m;

以下選項(xiàng)中,表達(dá)式的值為6的是( )。*(k+2)k+2*k+2*k+=225、fun函數(shù)的功能是:通過(guò)鍵盤輸入給x所指的整型數(shù)組所有元素賦值。在卜列劃線處應(yīng)該填寫的是

()0#include#dcfineN5Viodfun(intx[N])

{intm;For(m=N-l;m>0;m--)scanfC*%d\n'\);

)

A.&x[++m]

B.&x[m+l]

C.x+(m++)

D.x+m26、若有函數(shù)Viodfun(doublea[],int*n)

以下敘述中正確的是( ).A、調(diào)用fun函數(shù)時(shí)只有數(shù)組執(zhí)行按值傳送,其他實(shí)參和形參之間執(zhí)行按地址傳送

B、形參a和n都是指針變量C,形參a是個(gè)數(shù)組名,n是指針變量D,調(diào)用fun函數(shù)時(shí)將把double型實(shí)參數(shù)組元素 ?對(duì)應(yīng)地傳送給形參a數(shù)組27、有以下程序

#include

Main()

{inta,b,k,m,*pl,*p2;

k=l.m=8;

pl=&k,p2=&m;

a=/*pl-m;b=*pl+*p2+6;

printff4%d”,a);printf("%d\n”,b):

)

編譯時(shí)編譯器提示錯(cuò)誤信息,你認(rèn)為出錯(cuò)的語(yǔ)句是( )。a=/*pl-mb=*pl+*p2+6k=l,m=8;pl=&k,p2=&m:28、以下選項(xiàng)中有語(yǔ)法錯(cuò)誤的是( )。Achar*str[]={uguestM);charstr[10]={44guesf,};char*str[3]*str[l]={"guest"};charstr[3][10];str[l]={"guest");29、avg函數(shù)的功能是求整型數(shù)組中的前若干個(gè)元素的平均值,設(shè)數(shù)組元素個(gè)數(shù)最多不超過(guò)10,則卜.列函

數(shù)說(shuō)明語(yǔ)句錯(cuò)誤的是( )。intavg(int*a,intn);intavg(inta[10],intn);intavg(intaantn);intavg(inta[],intn);30、有以下函數(shù)#include#include

main()

{printf(tt%d\n,,,strren',ATS\nO12\r,));)

程序運(yùn)行后的輸出結(jié)果是( )。384931、有以下函數(shù)

#include

main()

{chara[20],b[20],c[20];

scanf(M%s%s,*,a,b);get(c);printfC,%s%s\n*\a,b,c);)

程序運(yùn)行時(shí)從第一行開始輸入misisacat!〈回車〉,則輸出結(jié)果是( )。A.thisisacat!thisisathisisacat!D.thisisacat!32、有以下函數(shù)#include

viodfun(charc)

{if(c>'x')fun(c?l);printf("%c”,c);)

main()程序運(yùn)行輸出結(jié)果是( )。A.xyzwxyzC.zyxwD.zyx33、有以下函數(shù)#include

viodfunc(intn)

{inti;for(i=0;i<=n;i++)printf("*'’);

printf("#”);main(){func(3);printf(tk????M);func(4);printfC4\nM);)

程序運(yùn)行輸出結(jié)果是( ).A.****#????***#B***#????*****#**#”?7?7*****#****#????*****#34、有以下函數(shù)#include

viodfun(int*s)

{staicintj=0;do{s[j]=s|j]+s|j+l];}wihle(++j<2);main()(intk,a[10]={123,4,5};for(K+l;k<3;k++)fun(a);for(K+l;k<5;k++)printfC%d';a|k]);printff<\nM);)

程序運(yùn)行輸出結(jié)果是( ).1234523445347563574535、有以下函數(shù)

#include#defineS(x)(x)*x*2

main(){intk=5J=2;

printf(u%d;\S[k+j]);printfC%d\n\S(k-j)));)

程序運(yùn)行輸出結(jié)果是( )。A.98,1839JI39J8D.98,1136、有以下函數(shù)#includeViodexch(intt||)(t[O]=t[5];J{intx[10]={1,2,3A5,6,7,8,9,10),i=0;Whiie(i<=4){exch(&x[i]),i++;)

for(i=0:i<5;i++)prinlf("%d”,x[i]);printf(“\n”);)

程序運(yùn)行輸出結(jié)果是( )O246810135791234567891037、設(shè)有以下程序段StructMP3{charname[20];Charcolor;Floatprice;}std,*ptr;ptr=&std;若要引用結(jié)構(gòu)體變最sld中的color成員,寫法錯(cuò)誤的是( )。std.colorptr->color

C.std->color

D.(*ptr).color38、有以下函數(shù)#includestructslu{intmun;charname[10];intage;);

viodfun(structstu*p)

(printf(lt%s\nv,p->name);)

mian(){structsnix[3]={{01,“zhang'',20}.{02Jwang'',19},{03Jzhao'',18}};

fun(x+2);)程序運(yùn)行輸出結(jié)果是( )。zhangzhaowang

D.1939、有以下函數(shù)#include

mian()

{inta=12,c;

c=(a?2)?l;

printf(**%d\n,,,c):

)

程序運(yùn)行輸出結(jié)果是( ).35029640、以卜函數(shù)不能用于向文件寫入數(shù)據(jù)的是( )。ftell(writefputcfprintf二、填空題1、將長(zhǎng)度為n的順序存儲(chǔ)在線性表中刪除一個(gè)元素,最壞情況下需要移動(dòng)表中的元素個(gè)數(shù)為(2、設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(l:3),初始狀態(tài)為front=忖a=30。現(xiàn)經(jīng)過(guò)?系列入隊(duì)與退隊(duì)運(yùn)算后,front=16,

rear=15.則循環(huán)隊(duì)列中有( )個(gè)元素。TOC\o"1-5"\h\z3,數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)語(yǔ)言中,負(fù)責(zé)數(shù)據(jù)的增、刪、改和查詢的是( )。4、在將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體和聯(lián)系都可以發(fā)示成( )。5、常見的軟件工程方法有結(jié)構(gòu)化方法和面向?qū)ο蠓椒ǎ?、繼承以及多態(tài)性等概念屬于( )。6,設(shè)變量a和b已定義為int類型,若要通過(guò)scanf("a=%d,b=%d”.&a.&b);語(yǔ)句分別給a和b輸入1和2,

則正確的數(shù)據(jù)輸入內(nèi)容是( )。7、以下程序的輸出結(jié)果是( )。#include

mian()

(inta=37;

a+=a%=9;printf("%d\n”,a);

)8、設(shè)A.B.c都是整型變量,如果a的值為1,b的值為2,則執(zhí)行c=a++llb++;語(yǔ)句后,變量b的值是

()。9、有以下程序段s=1.0;for(k=l,k<=n;k++)s=s+1.0(k*(k+l));請(qǐng)?zhí)羁?,使以下程序段的功能與上面的程序段完全相同。s=1.0;k=l;

while()

{s=s+l.(Xk*(k+l));k=k+l;)

printf(M%f\n,\s);10、以下程序段的輸出結(jié)果是( )。#include

mian()

{chara,b;

for(a=0;a<20;a+=7){b=a;putchar(b+,0,);}111、以下程序段的輸出結(jié)果是( )。#include

mian()

{char*ch[4]={"red''Jgreen[''blue"};Inti=0;While(ch|i]);{putchar(ch|i|[O];i++;)12、有以下程序#include

mian(){intarr[]={1,3,5,7,24,6,8{.i,start;Scanfft%d,\&start);For(i=0j<3j++)printf(u%dM,arr[(start+i)%8]);)若在程序運(yùn)行時(shí)輸入整數(shù)1()v回車〉,則輸出結(jié)果為( )。13、以下程序的功能是輸出a數(shù)組中的所有字符串,請(qǐng)?zhí)羁?include

mian(){char*a[]={"ABC'JDEFGHT'IT'JKLMNOP');Inti=0;For(;iv4;i++)printf("%s\n", );114、以下程序的輸出結(jié)果是( )。#include#include#include

mian(){char*p,*q,*r;p=q=r=(char*)malloc(sizeof(char)*20);slrcpy(pjallaboy.welcomeprintfC%c%c%c\n,\p[l1],q[3],r[4]);free(p);)15、設(shè)文件test.lxt中原已寫入字符用Begin,執(zhí)行以下程序后,文件中的內(nèi)容為(#include

mian(){file*fp;fp=fopcn("test.txr',"w+");fputsC*tesf\fp);fclose(fp);2011年9月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試試卷

C語(yǔ)言程序設(shè)計(jì)(考試時(shí)間90分鐘,滿分100分)一、選擇題(⑴?(《>)、(21)-(40)每題2分,(11)-(20)每題1分,共70分)下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的.請(qǐng)將正確選項(xiàng)填涂在答題卡相應(yīng)位置上答

在試卷上不得分.(1)下列敘述中正確的是()。A)算法就是程序B)設(shè)計(jì)算法時(shí)只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)C)設(shè)計(jì)算法時(shí)只需要考慮結(jié)果的可靠性

D)以上三種說(shuō)法都不對(duì)(2)下列關(guān)于線性鏈表的敘述中,正確的是()。A)各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)空間可以不連續(xù),但它們的存儲(chǔ)順序與邏輯順序必須致B)各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)順序與邏輯順序可以不一致,但它們的存儲(chǔ)空間必須連續(xù)C)進(jìn)行插入與刪除時(shí),不需要移動(dòng)表中的元素

D)以上三種說(shuō)法都不對(duì)(3)下列關(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ù)的兩倍(4)軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是()。A)學(xué)生成績(jī)管理系統(tǒng)

B)C語(yǔ)言編譯程序

C)UNIX操作系統(tǒng)

D)數(shù)據(jù)庫(kù)管理系統(tǒng)(5)某系統(tǒng)總體結(jié)構(gòu)圖如下圖所示:該系統(tǒng)總體結(jié)構(gòu)圖的深度是()。A)7B)6C)3D)2

(6)程序調(diào)試的任務(wù)是()。A)設(shè)計(jì)測(cè)試用例B)驗(yàn)證程序的正確性C)發(fā)現(xiàn)程序中的錯(cuò)誤D)診斷和改正程序中的錯(cuò)誤(7)卜.列關(guān)于數(shù)據(jù)庫(kù)設(shè)計(jì)的敘述中,正確的是()。A)在需求分析階段建立數(shù)據(jù)字典B)在概念設(shè)計(jì)階段建立數(shù)據(jù)字典C)在邏輯設(shè)計(jì)階段建立數(shù)據(jù)字典D)在物理設(shè)計(jì)階段建立數(shù)據(jù)字

(8)數(shù)據(jù)庫(kù)系統(tǒng)的一級(jí)模式不包括()。A)概念模式B)內(nèi)模式C)外模式D)數(shù)據(jù)模式(9)有三個(gè)關(guān)系R、S利T如下:則由關(guān)系R和s得到關(guān)系T的操作是()。A)自然連接B)差C)交D)并

(10)下列選項(xiàng)中屬于面向?qū)ο笤O(shè)計(jì)方法主要特征的是()。A)繼承B)自頂向下C)模塊化D)逐步求精U1)以下敘述中錯(cuò)誤的是().A)C語(yǔ)言編寫的函數(shù)源程序,其文件名后綴可以是.C

B)C語(yǔ)言編寫的函數(shù)都可以作為一個(gè)獨(dú)立的源程序文件

C)C語(yǔ)言編寫的每個(gè)函數(shù)都可以進(jìn)行獨(dú)立的編譯并執(zhí)行

D)一個(gè)C語(yǔ)言程序只能有一個(gè)主函數(shù)(12)以下選項(xiàng)中關(guān)于程序模塊化的敘述錯(cuò)誤的是()。A)把程序分成若干相對(duì)獨(dú)立的模塊,可便于編碼和調(diào)試B)把程序分成若干相對(duì)獨(dú)立、功能單一的模塊,可便了重復(fù)使用這些模塊

c)可采用自底向上、逐步細(xì)化的設(shè)計(jì)方法把若干獨(dú)立模塊組裝成所要求的程序

D)可采用自項(xiàng)向卜.、逐步細(xì)化的設(shè)計(jì)方法把若「獨(dú)'Z模塊組裝成所要求的程序(13)以下選項(xiàng)中關(guān)于c語(yǔ)言常量的敘述錯(cuò)誤的是().A)所謂常量,是指在程序運(yùn)行過(guò)程中,其值不能被改變的量B)常量分為整型常量、實(shí)型常鼠、字符常量和字符串常量

c)常量可分為數(shù)值型常量和『數(shù)值型常最

D)經(jīng)常被使用的變最可以定義成常量(14)若有定義語(yǔ)句:inta=10:doubleb=3.14;,則表達(dá)式'A'+a+b值的類型是()。A)charB)intC)doubleD)floal(15)若有定義語(yǔ)句:inix=12,3=8,z:,在其后執(zhí)行語(yǔ)句z=0.9+x/y:,則Z的值為()。A)l.9B)1C)2D)2.4(16)若有定義:inta,b;,通過(guò)語(yǔ)句scanf("%d;%d”.&a,&b):,能把整數(shù)3賦給變量a,5賦給變量b的輸入數(shù)據(jù)是()。A)35B)3,5C)3;5D)35(17)若有定義語(yǔ)句:intkl=10,k2=20;,執(zhí)行表達(dá)式(kl=kl>k2)&&(k2=k2>kl)后,kl和k2的值分別為()。AX)和1B)0和20C)10和1D)10和20(18)有以下程序#includemain(){inta=l?b=0;

if(-a)b++:

elseif(a=0)b+=2:

elseb+=3:

printf("%d\n",b);)程序運(yùn)行后的輸出結(jié)果是()。AX)B)1C)2D)3(19)下列條件語(yǔ)句中,輸出結(jié)果與其他語(yǔ)句不同的是()o

A)if(a)printf("%d\-n”,x);elseprintf(H%d\n",y);

B)if(a—O)printf("%d\n",y);elseprintf(H%d\nH,x);

C)if(a!=O)p由 x);elseprintf("%d\n”,y);D)if(a=O)printf("%d\n",x);elsepnntf(H%d\n",y);(20)有以下程序#include

main()

(inia=7;

while(a-);printf("%d\n",a):)程序運(yùn)行后的輸出結(jié)果是()oA)-lB)0C)1D)7(21)以下不能輸出字符A的語(yǔ)句是(注:字符A的ASCII碼值為65,字符a的ASCII碼值為97)A)printf(H%c\n",才?32);B)printf(,,^d\nM,A):

c)printf("%c\n",65):

D)print-f("%c\n",'B'-l);(22)仃以下程序(注:字符a的ASCII碼值為97)#includemain()

{char*s={"abe");

do{primf(''%d'+s%10):++s:)

while(+s):)

程序運(yùn)行后的輸出結(jié)果是().A)abcB)78907890D)979899(23)若有定義語(yǔ)句:doublea.+p=&a;以下敘述中錯(cuò)誤的是()。A)定義語(yǔ)句中的*號(hào)是一個(gè)間址運(yùn)算符B)定義語(yǔ)句中的*號(hào)只是一個(gè)說(shuō)明符C)定義語(yǔ)句中的P只能存放double類型變量的地址D)定義語(yǔ)句中,*p=&a把變量a的地址作為初值賦給指針變量P(24)有以下程序#include

doublef(doublex);

main(){doublea_0:inti;for(i=O;i<30:i+=10)a+-f((double)i);printf("%5.Of\nH,a);

)doublef(doublex)(returnX+x+1:)

程序運(yùn)行后的輸出結(jié)果是()oA)5O3B)4010500D)1404(25)若有定義語(yǔ)句:imyear=2()09,*p=&year;,以卜不能使變量year中的值增至2010的語(yǔ)句是()。A)*p+=1;B)(*p)++:

C)++(*p);D)*p++;(26)以卜定義數(shù)組的語(yǔ)句中錯(cuò)誤的是()。A)intnum[]={1.2,3,4,5?6|;B)intnum[][3]={{l,2),3,4,5,6};C)intnum[2][4]=((l,2,,{3,4],{5,6)):D)intnum[][4]={1,2,3,4,5,6);(27)有以卜程序#include

voidfun(int+p){printfC%d\nM,p[5]);}

main():{inta[10]={1,2,3,4,5,6,7,8,9,10}:fun(&a|3J);)程序運(yùn)行后的輸出結(jié)果是()oA)5B)608

D)9(28)有以下程序#include#delineN4

voidfun(inta[][N]?imb[])

(inti;

for(i=0:i

)

voidmain()(intx[N][N]={{l,2,3,4},{5,6,7,8},{9,10,11,12),(13,14,15,16}},y[N],i;

fun(x,y);for(i=0;i<N;I++)PRINTF「%D,",Y[I]);PRINTFCW);

)程序運(yùn)行后的輸出結(jié)果是()oA)-12,-3,0,0,

L3,

C)OJ,2,3,

D)-3?-3,-3>-3(29)有以卜函數(shù)

intfun(char*x?char*y){intn=0;

while((*x=*y)&&*x!='\O'){x++:y++:n++:)returnn:

)

函數(shù)的功能是().A)杏找x和y所指字符串中是否有V)'B)統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)0將y所指字符串賦給X所指存儲(chǔ)空間

D)統(tǒng)計(jì)x和y所指字符串中相同的字符個(gè)數(shù)(30)若有定義語(yǔ)句:char*sh="OK",*s2="ok";,以下選項(xiàng)中,能夠輸出"0K"的語(yǔ)句是().A)if(strcmp(s1>s2)=0)puts(sl);B)if(strcmp(sl.s2)!=0)puts(s2);C)if(strcmp(sl.s2)=l)puts(sl?):D)if(strcmp((31)以下程序的主函數(shù)中調(diào)用了在其前面定義的ftin函數(shù)#include

(

main()

{doublea[15],k;

k=fun(a);則以下選項(xiàng)中錯(cuò)誤的fun函數(shù)首部是(),,A)doublefun(doublea|15])

B)doublcfun(doublc*a)

C)doublefun(doublea[])

D)doublefun(doublea)(32)有以下程序

#include

#include

main(){chara[5][l0]={nchina","beying",Myou","tiananmen,V,welcomeM);

inti,j;chart[10];for(i=0:i<4;i++)

for(j=i+l;j<5;j++)

if(strcmp(a[i],a[j])>O)

{strcpy(t,a[i]);strcpy(a[i],a[j]):strcpy(a|j],t):}

puts(a[3]);)

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

A)Beijing

B)china

C)welcome

D)tiananmen(33)有以卜程序

#include

intf(intm)

{staticintn=0;n+=m:

returnn;

)

main()

{intn=0:

primf("%d”,f(++n)):

printf(M%d\n",f(n++));

)

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

A)l,2

B)L1

C)2,3D)3,3(34)有以下程序

#include

main(){charch[3][5]={,'AAAA,',"BBB",CC");printf(M%s\n",ch[l]);)

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

A)AAAAB)CC

C)BBBCCD)BBB(35)有以下程序#include#include

voidfun(char*w,intm)

{chars,*pl,*p2;

pl=w:p2=w+m-l;

while(pl)

main()

{charaQ=M123456";

fun(a,strlcn(a)):puts(a);)

程序運(yùn)行后的輸出結(jié)果是()A)654321B)1166110161616D)123456(36)有以下程序#include#inckide

typedefstruct(charname|9];charsex:intscore[2|;}STU;

STUf(STUa){STUb={,'ZhaoM/m,,85,90):

inti:

strcpy(,):

a.sex=b.sex;for(i=0;i<2;i++)a.score[ij=b.score[i];

returna;)

main()

fSTUc={MQianM:f,95,92),d:

d=f(c);printf("%s,%c,%d,%d,”,d.nalne,d.sex,d.score[0]?d.score[l|);

printf("%s,%c,%d,%d,”,c.nanle?c.Sex,c.score[0]?c.score[l]);A)Zhao?m,85,90,Qian,f,95,92B)Zhao,m,85,90,ZhaO,m,85?90OQian,f,95,92,Qian,f,95,92

D)Qian,f,95?92,Zhao,m,85,90(37)有以下程序

#include

main(){structnodefintn:stmctnode+next:|*p:

structnodex[31={(2,x+l|,(4,x+2),{6,NULL)|;

p=x;

printff'%d?'*?p->n):printf("%dkrT,p->next->n);

)

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

A)2,3

B)2,4

C)3,4

D)4,6(38)有以下程序

#include

main()

{inta=2>b;

b=a?2:printr(',%d\n,',b):

)

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

A)2

B)4

C)6

D)8(39)以下選項(xiàng)中敘述錯(cuò)誤的是().A)C程序函數(shù)中定義的賦有初值的靜態(tài)變昂:,每調(diào)用一次函數(shù),賦一次初值

B)在C程序的同一函數(shù)中,各復(fù)合語(yǔ)句內(nèi)可以定義變量,其作用域僅限本復(fù)合語(yǔ)句內(nèi)

C)C程序函數(shù)中定義的自動(dòng)變量,系統(tǒng)不自動(dòng)就確定的初值D)C程序函數(shù)的形參不可以說(shuō)明為static型變量(40)有以F程序

#inckide

main()

{FILE*fp,

intk,n,j,a[6]=<L2,3,4,5,6);

fp=fopen(,'d2.dat","w"):for(i=0;i<6;i++)fprintf(fp,"%d\nM,a[i]);

fclose(fp);

fp=fopen("d2.dat",T):

for(i=0:i<3:i++)fscanf(fp;'%d%dH,&k,&n):

fclose(fp);

printf("%d,%d\n”,k,n);)程序運(yùn)行后的輸出結(jié)果是()?A)l,2B)3,4C)5,6

D)123.456二、填空題(每空2分,共30分)請(qǐng)將每空的正確答案寫在答題卡【1】至【15】序號(hào)的橫線上,答在試卷上不得分。(1)數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)與非線性結(jié)構(gòu),帶鏈的棧屬于【I】.(2)在長(zhǎng)度為n的順序存儲(chǔ)的線性表中插入?個(gè)元素,最壞情況下需要移動(dòng)表中 【2】個(gè)元素。⑶常見的軟件開發(fā)方法有結(jié)構(gòu)化方法和面向?qū)ο蠓椒?。時(shí)某應(yīng)用系統(tǒng)經(jīng)過(guò)需求分析建立數(shù)據(jù)流圖(DFD),

則應(yīng)采用【3】方法。(4)數(shù)據(jù)庫(kù)系統(tǒng)的核心是【4】。(5)在進(jìn)行關(guān)系數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)時(shí),E—R圖中的屬性常被轉(zhuǎn)換為關(guān)系中的屬性,聯(lián)系通常被轉(zhuǎn)換為【5】。(6)若程序中已給整型變量a和b賦值10和20,請(qǐng)寫出按以下格式輸出a、b值的語(yǔ)句16】.

****a=]0b—20****(7)以卜.程序運(yùn)行后的輸出結(jié)果是[7】o#include

main()

a%=9;printf(H%d\n",a);

)(8)以下程序運(yùn)行后的輸出結(jié)果是[8】o#include

main(){inti.j;for(i=6:i>3:i-)j=i;

printf("%d%d\n”,ij);)(9)以下程序運(yùn)行后的輸出結(jié)果是[9】。#includemain(){inti,n[]={0,0,0,0,0);

fbr(i=l:i<=2;i++)

{n[i]=n[i-l]*3+l:priinf("%d",n[i]);)printf("\n");)(10)以下程序運(yùn)行后的輸出結(jié)果是[10]?#include

main(){chara;for(a=0;a<15;a+=5){pulchaita+'A'):)

printf("\nH):)(11)以下程序運(yùn)行后的輸出結(jié)果是[111o

#includevoidfun(intx)

{if(x/5>o)fun(x/5);

x);

)main(){fun(ll);printf("\n"):)(12)有以下程序#includemain(){intc[3]={0),k,i;while((k=getchar())!='\n')

c[k-,A,]++:for(i=0:i<3;i++)prinlf("%d",c[i]);printf("\n");若程序運(yùn)行時(shí)從鍵盤輸入ABcAcCv回車〉,則輸出結(jié)果為[12]o(13)以下程序運(yùn)行后的輸出結(jié)果是[13]o#include

main(){intn[2]Jj;for(i=0;i<2;i++)n[i]=0;for(i=0;i<2;i++)for(j=0j<2;j++)n|j]=n[i]+l:

printf("%d\n",n[l]);(14)以下程序調(diào)用fun函數(shù)把x中的值插入到a數(shù)組下標(biāo)為k的數(shù)組元素中。主函數(shù)中,n存放a數(shù)組中數(shù)

據(jù)的個(gè)數(shù)。請(qǐng)?zhí)羁铡?includevoidfiin(ints[]7int*n,intk*intx){inti;for(i=*n-l;i>=k;i—)s[[14]]=s[i];s[k]=x;?n=*n+[15]:)

main(){inla[20]={l,2,3,4,5,6,7,8,9,10,11),i,x=0,k=6,n=ll;

fun(a.&n,k,X);for(i=0:i<N:1++)PRINTF("%4D“,A[I]):PRINTFCXN1');2011年3月計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言筆試:文字版一、選擇題(1)卜.列關(guān)于棧敘述正確的是A)棧頂元素最先能被刪除B)棧頂元素最后才能被刪除C)棧底元素永遠(yuǎn)不能被刪除D)以上三種說(shuō)法都不對(duì)(2)下列敘述中正確的是A)有一個(gè)以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)B)只有一個(gè)根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)C)循環(huán)鏈表是非線性結(jié)構(gòu)D)雙向鏈表是非線性結(jié)構(gòu)⑶某二叉樹共有7個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有1個(gè),則該二叉樹的深度為(假設(shè)根結(jié)點(diǎn)在第1層)A)3B)4C)6D)7(4)在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是A)軟件集成測(cè)試計(jì)劃B)軟件詳細(xì)設(shè)計(jì)說(shuō)明書C)用戶手冊(cè)D)軟件需求規(guī)格說(shuō)明書(5)結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括A)順序結(jié)構(gòu)B)GOTO跳轉(zhuǎn)C)選擇(分支)結(jié)構(gòu)D)重復(fù)(循環(huán))結(jié)構(gòu)(6)下面描述中錯(cuò)誤的是A)系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細(xì)設(shè)計(jì)B)軟件設(shè)計(jì)是將軟件需求轉(zhuǎn)換為軟件表示的過(guò)程C)數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫(kù)設(shè)計(jì)是軟件設(shè)計(jì)的任務(wù)之一D)PAD圖是軟件詳細(xì)設(shè)計(jì)的表示工具(7)負(fù)責(zé)數(shù)據(jù)庫(kù)中查詢操作的數(shù)據(jù)庫(kù)語(yǔ)言是A)數(shù)據(jù)定義語(yǔ)言B)數(shù)據(jù)管理語(yǔ)言C)數(shù)據(jù)操縱語(yǔ)言D)數(shù)據(jù)控制語(yǔ)言(8)?個(gè)教師可講授多門課程,?門課程可由多個(gè)教師講授。則實(shí)體教師和課程間的聯(lián)系是A)l:l聯(lián)系B)l:m聯(lián)系C)m:l聯(lián)系D)m:n聯(lián)系⑼有三個(gè)關(guān)系R、S和T如下:則由關(guān)系R和S得到關(guān)系T的操作是A)自然連接B)交C)除D)并(10)定義無(wú)符號(hào)整數(shù)類為Ulnt.下而可以作為類UInt實(shí)例化值的是A)-369B)369C)0.369D)整數(shù)集合{12,3,4,5}(11)計(jì)算機(jī)高級(jí)語(yǔ)言程序的運(yùn)行方法有編譯執(zhí)行和解釋執(zhí)行兩種,以下敘述中正確的是A)C語(yǔ)言程序僅可以編譯執(zhí)行B)C語(yǔ)言程序僅可以解釋執(zhí)行C)C語(yǔ)言程序既可以編譯執(zhí)行又可以解釋執(zhí)行D)以上說(shuō)法都不對(duì)(12)以下敘述中錯(cuò)誤的是A)C語(yǔ)言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的B)用C語(yǔ)言編寫的源程序不能直接在計(jì)算機(jī)上運(yùn)行C)通過(guò)編譯得到的二進(jìn)制目標(biāo)程序需要連接才可以運(yùn)行D)在沒有安裝C語(yǔ)言集成開發(fā)環(huán)境的機(jī)器上不能運(yùn)行C源程序生成的.exe文件(13)以下選項(xiàng)中不能用作C程序合法常量的是A)1,234B)'123'C)123D)"\x7G"(14)以下選項(xiàng)中可用作C程序合法實(shí)數(shù)的是A).le()B)3.0e0.2(15)若有定義語(yǔ)句:inta=3,b=2,c=l;,以下選項(xiàng)中錯(cuò)誤的賦值表達(dá)式是A)a=(b=4)=3:B)a=b=c+1;C)a=(b=4)+c;D)a=l+(b=c=4);(16)有以下程序段charname[20];intnum;scanf(nname=%snum=%d",name;&num);當(dāng)執(zhí)行上述程序段,并從鍵盤輸入:name=Lilinum=1001v回車〉后,name的值為A)LiliB)name=LiliC兒ilinum=D)name=Lilinum=1(X)1(17)if語(yǔ)句的基本形式是:if(表達(dá)式)語(yǔ)句,以下關(guān)于“表達(dá)式”值的敘述中正確的是A)必須是邏輯值B)必須是整數(shù)值C)必須是正數(shù)D)可以是任意合法的數(shù)值(18)有以下程序#includemain(){intx=Ol1;printf("%d\n",++x);}

程序運(yùn)行后的輸出結(jié)果是A)12B)1IC)1OD)9#includemain(){ints;scanf(M%d",&s);while(s>0)(switch(s)(easel:printf(,,%d*',s+5);case2:printf("%d'\s+4);break;case3:printf(',%d",s+3);default:printf("%d*\s+1);break;)scanf("%d”,&s);})運(yùn)行時(shí),若輸入123450〈回車),則輸出結(jié)果是A)6566456B)66656c)66666D)6666656(20)有以卜程序段inti,n;for(i=0;i<8;i++)(n=rand()%5;switch(n){case1:case3:printf(1'%d\n",n);break;case4:printf(,'%d\n'\n);continue;case0:exit(0);}printf(,,%d\n,\n);)以下關(guān)于程序段執(zhí)行情況的敘述,正確的是A)for循環(huán)語(yǔ)句固定執(zhí)行8次B)當(dāng)產(chǎn)生的隨機(jī)數(shù)n為4時(shí)結(jié)束循環(huán)操作C)當(dāng)產(chǎn)生的隨機(jī)數(shù)n為1和2時(shí)不做任何操作D)當(dāng)產(chǎn)生的隨機(jī)數(shù)n為0時(shí)結(jié)束程序運(yùn)行(21)有以下程序#includemain(){chars[]="012xy\08s34f4w2*';inti,n=();for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[iJ<=,9,)n++;primf("%d\n”,n);}程序運(yùn)行后的輸出結(jié)果是A)0B)3C)7D)822)若i和k都是int類型變量,有以下for語(yǔ)句for(i=0,k=-l;k=l;k++)printf(,,*****\n");下面關(guān)于語(yǔ)句執(zhí)行情況的敘述中正確的是A)循環(huán)體執(zhí)行兩次B)循環(huán)體執(zhí)行一次。循環(huán)體?次也不執(zhí)行D)構(gòu)成無(wú)限循環(huán)(23)有以卜程序#includemain(){charb,c;inti;b='a';c='A';for(i=0;i<6;i++){if(i%2)putchar(i+b);elseputchar(i+c);|prinlf("\nH);)程序運(yùn)行后的輸出結(jié)果是A)ABCDEFB)AbCdEfC)aBcDeFD)abcdef(24)設(shè)有定義:doublex[10h*p=x;,以卜能給數(shù)組x卜標(biāo)為6的元素讀入數(shù)據(jù)的正確語(yǔ)句是A)scanf(H%f;&x[6]);B)scanf(H%lf*(x+6));C)scanf(M%lf',p+6);D)scanf(n%lf;p[6]);(25)有以下程序(說(shuō)明:字母A的ASCII碼值是65)#includevoidfun(char*s)(while(*s)S++;)}main(){chara[]=,,BYTEM;fun(a);printf(',\n,');)程序運(yùn)行后的輸出結(jié)果是A)BYB)BTC)YTD)YE(26)有以卜程序段#includemain()(...while(getchar()!=*\n');}以卜,敘述中正確的是A)此while語(yǔ)句將無(wú)限循環(huán)B)getcharQ不可以出現(xiàn)在while語(yǔ)?句的條件發(fā)達(dá)式中C)當(dāng)執(zhí)行此while語(yǔ)句時(shí),只有按回車鍵程序才能繼續(xù)執(zhí)行D)當(dāng)執(zhí)行此while語(yǔ)句時(shí),按任意鍵程序就能繼續(xù)執(zhí)行(27)有以下程序#include{intx=l,y=O;if(!x)y++;elseif(x==O)if(x)y+=2;elsey+=3;prinif("%d\n”,y);)程序運(yùn)行后的輸出結(jié)果是A)3B)2C)1D)028)若有定義語(yǔ)句:chars[3][10L(*k)[3],*p;,則以下賦值語(yǔ)句正確的是A)p=s;B)p=k;C)p=s[O];D)k=s;(29)有以卜程序#includevoidfun(char*c){while(*c)(if(*c>=,a,&&*c<=z,)*c=*c-('a'-'A');C++;)}main(){chars[81];gets(s);fun(s);puts(s):)當(dāng)執(zhí)行程序時(shí)從鍵盤上輸入HelloBeijing(回車〉,則程序的輸出結(jié)果是

A)helk)beijingB)HelloBeijingC)HELLOBEIJINGD)hELLOBeijing

(30)以下函數(shù)的功能是:通過(guò)鍵盤輸入數(shù)據(jù),為數(shù)組中的所有元素賦值。#include#defineN10

voidfun(intx[N])

{inti=0;while(i<>

)

在程序中下劃線處應(yīng)填入的是

A)x+iB)&x(i+1]C)x+(i++)D)&x[++i]

(31)有以卜程序#include

main(){chara[3O],b[3Ol;scanfC'%s",a);gels(b);printf(H%s\n%s\n",a,b);}

程序運(yùn)行時(shí)若輸入:

howareyou?Iamfinev回車>

則輸出結(jié)果是A)howareyou?B)howIamfineareyou?IamfineC)howareyou?IamfineD)rowareyou?(32)設(shè)有如下函數(shù)定義intfun(intk){if(k<l)return0;elseif(k=1)return1;elsereturnfun(k-l)+l;)若執(zhí)行調(diào)用語(yǔ)句:n=fun(3);,則函數(shù)fun總共被調(diào)用的次數(shù)是A)2B)3C)4D)5(33)有以卜程序#includeintfun(intx,inty){if(x!=y)return((x+y);2);elsereturn(x);}main()(inta=4,b=5,c=6;pnntf(,r%d\n",fun(2*a,fun(b,c)));}程序運(yùn)行后的輸出結(jié)果是A)3B)6C)8D)12(34)有以下程序#includeintfun(){staticintx=l;x*=2;returnx;)

main()

{inti,s=l;

for(i=l;i<=3;i++)s*=fun();

prinlf("%d\n",s);)程序運(yùn)行后的輸出結(jié)果是A)0B)10C)30D)64(35)有以F程序#include#defineS(x)4*(x)*x+l

main()

(intk=5J=2;printf(H%d\n';S(k+j));)程序運(yùn)行后的輸出結(jié)果是A)197B)143C)33D)28(36)設(shè)有定義:struct(charmark|12];intnumkdoublenum2;} 若變量均已正確賦初值,則以下語(yǔ)句中錯(cuò)誤的是A)tl=t2;B)t2.numl=t1.num1;C)t2.mark=l1.mark;D)t2.num2=tl.num2;(37)有以下程序#include

structord

{intx,y;)dt[2]={1,23,4);main()

(

structord*p=dt:

printf("%d;;++(p->x));printf(H%d\nM,++(p->y));

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

A)l,2B)4,lC)3,4D)2,3

(38)有以F程序

#includestructS

{inta,b;)data[2]={10,100,20,200);main(){structSp=data[l];printf(',%d\n",++(p.a));}

程序運(yùn)行后的輸出結(jié)果是A)10B)11C)20D)21(39)有以下程序#include(unsignedchara=8tc;c=a?3;printf(H%d\n';c);)程序運(yùn)行后的輸出結(jié)果是A)32B)16C)1D)0(40)設(shè)巾已定義,執(zhí)行語(yǔ)句fp二fopen(“file","w”);JS,以N針對(duì)文本文件file操作敘述的選項(xiàng)中正確的是A)寫操作結(jié)束后可以從頭開始讀B)只能寫不能讀C)可以在原有內(nèi)容后追加寫D)可以隨意讀和寫二、填空題(1)有序線性表能進(jìn)行二分查找的前提是該線性表必須是【1】存儲(chǔ)的。⑵一棵二叉樹的中序遍歷結(jié)果為DBEAFC,前序遍歷結(jié)果為ABDECF,則后序遍歷結(jié)果為【2】。(3)對(duì)軟件設(shè)計(jì)的最小單位(模塊或程序單元)進(jìn)行的測(cè)試通常稱為【3】測(cè)試。(4)實(shí)體完整性約束要求關(guān)系數(shù)據(jù)庫(kù)中元組的【4】屬性值不能為空。⑸在關(guān)系A(chǔ)(S,SN,D)和關(guān)系B(D,CN,NM)中,A的主關(guān)鍵字是S,B的主關(guān)鍵字是D,則稱【5】是

關(guān)系A(chǔ)的外碼。(6)以下程序運(yùn)行后的輸出結(jié)果是[6】。#includemain(){inta;a=(int)((doublc)(3/2)+0.5+(int)1.99*2);printf("%d\n\a);⑺有以卜程序#includemain(){intx;scanf("%d”,&x);if(x>15)prinlf("%d",x-5);if(x>10)printf("%d",x);if(x>5)printf(H%d\n",x+5);)若程序運(yùn)行時(shí)從鍵盤輸入12〈回車〉,則輸出結(jié)果為【7】o⑻有以卜程序(說(shuō)明:字符。的ASCII碼值為48)#includemain(){charcl,c2;scanf(H%d",&cl);c2=cl+9;printf(H%c%c\n",cl,c2);}若程序運(yùn)行時(shí)從鍵盤輸入48〈回車〉,則輸出結(jié)果為【8】o(9)有以下函數(shù)voidprt(charch,intn){inti;fbr(i=l;i<=n;i++)

printf(i%6!=0?M%c":H%c\n';ch);

執(zhí)行調(diào)用語(yǔ)句prt('*',24);后,函數(shù)共輸出了【9】行*號(hào)。(10)以下程序運(yùn)行后的輸出結(jié)果是[10]。#includemain(){intx=10,y=20,t=0;if(x=y)t=x;x=y;y=t;printf("%d%d\n".x,y);)(11)己知a所指的數(shù)組中有N個(gè)元素。函數(shù)fun的功能是,將下標(biāo)k(k>0)開始的后續(xù)元素全部向前移

動(dòng)一個(gè)位置。請(qǐng)?zhí)羁?。voidfun(inta[N|Jntk)(inti;for(i=k;i}(12)有以下程序,請(qǐng)?jiān)冢?2]處填寫正確語(yǔ)句,使程序可正常編譯運(yùn)行。#include[12];main(){doublex,y,(*p)O;scanf(M%lf%lf*,&x,&y);p=avg;printf(',%An*',(*p)(x,y));doubleavg(doublea,doubleb){retum((a+b)/2);J

(13)以下程序運(yùn)行后的輸出結(jié)果是[13]o

#includemain(){inti,n[5]={0};for(i=l;i<=4;i++){n[i]==n[i-lF2+l;printf(M%dM,n[i]);}

printf('*\nM);)(14)以卜.程序運(yùn)行后的輸出結(jié)果是[14]o#include#include#include

main()

{char*p;inti;p=(char*)malloc(sizeof(char)*20);strcpy(p,HwelcomeH);fbr(i=6;i>=0;i--)putchar(*(p+i));

printf(H\n-M);free(p);)(15)以卜.程序運(yùn)行后的輸出結(jié)果是[15]?#includemain(){FILE*fp;inix[6]={123,4,5,6},i;fp=fopen(Mtest.dat,V*wbw);fwrite(x,sizeof(int),3,fp);rewind(fp);frcad(x,sizeof(int),3,fp);for(i=0;i<6;i++)prinlf("%d",x[i]);

printf("\nM);fclose(fp);2010年9月全國(guó)計(jì)算機(jī)二級(jí)C語(yǔ)言筆試試題:文字版一、選擇題(每小題2分,共70分)下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是1E確的。請(qǐng)將正確選項(xiàng)填涂在答題卡相應(yīng)位置上,答在試卷上不得分。(1)卜,列敘述中正確的是A)線性衣的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間是相同的B)線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間?般要多于順序存儲(chǔ)結(jié)構(gòu)C)線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般耍少了順序存儲(chǔ)結(jié)構(gòu)D)上述三種說(shuō)法都不對(duì)(2)下列敘述中正確的是A)在棧中,棧中元素隨棧底指針與棧頂指針的變化而動(dòng)態(tài)變化B)在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動(dòng)態(tài)變化C)在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動(dòng)態(tài)變化D)上述三種說(shuō)法都不對(duì)(3)軟件測(cè)試的口的是A)評(píng)估軟件可靠性B)發(fā)現(xiàn)并改正程序中的錯(cuò)誤C)改正程序中的錯(cuò)誤D)發(fā)現(xiàn)程序中的錯(cuò)誤(4)下面描述中,不屬于軟件危機(jī)表現(xiàn)的是A)軟件過(guò)程不規(guī)范B)軟件開發(fā)生產(chǎn)率低C)軟件質(zhì)量難以控制D)軟件成本不斷提高(5)軟件生命周期是指A)軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程B)軟件從需求分析、設(shè)計(jì),實(shí)現(xiàn)到測(cè)試完成的過(guò)程C)軟件的開發(fā)過(guò)程D)軟件的運(yùn)行維護(hù)過(guò)程(6)面向?qū)ο蠓椒ㄖ校^承是指?組對(duì)象所具有的相似性質(zhì)一個(gè)對(duì)象具有另一個(gè)對(duì)象的性質(zhì)C)各時(shí)象之間的共同性質(zhì)

D)類之間共享屬性和操作的機(jī)制(7)層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫(kù)劃分原則是A)記錄長(zhǎng)度B)文件的大小C)聯(lián)系的復(fù)雜程度D)數(shù)據(jù)之間的聯(lián)系方式?個(gè)工作人員可以使用多臺(tái)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)可被多個(gè)人使用,則實(shí)體工作人員、與實(shí)體計(jì)算機(jī)之間的聯(lián)系是一對(duì)一一對(duì)多C)多對(duì)多D)多對(duì)一(9)數(shù)據(jù)庫(kù)設(shè)計(jì)中反映用戶對(duì)數(shù)據(jù)要求的模式是A)內(nèi)模式B)概念模式C)外模式D)設(shè)計(jì)模式(10)有二個(gè)關(guān)系R、S和T如下:則由關(guān)系R和S得到關(guān)系T的操作是A)自然連接

B)交

C)投影D)并(11)以下關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)的敘述中正確的是A)一個(gè)結(jié)構(gòu)化程序必須同時(shí)由順序、分支、循環(huán)三種結(jié)構(gòu)組成

B)結(jié)構(gòu)化程序使用goto語(yǔ)句會(huì)很便捷C)在C語(yǔ)言中,程序的模塊化是利用函數(shù)實(shí)現(xiàn)的

D)由三種基本結(jié)構(gòu)構(gòu)成的程序只能解決小規(guī)模的問(wèn)題(12)以下關(guān)于簡(jiǎn)單程序設(shè)計(jì)的步驟和順序的說(shuō)法中正確的是

A)確定算法后,整理并寫出文檔,母后進(jìn)行編碼和上機(jī)調(diào)試B)首先確定數(shù)據(jù)結(jié)構(gòu),然后確定算法,再編碼,并上機(jī)調(diào)試,最后整理文檔

C)先編碼和上機(jī)調(diào)試,在編碼過(guò)程中確定算法和數(shù)據(jù)結(jié)構(gòu),最后整理文檔D)先寫好文檔,再根據(jù)文檔進(jìn)行編碼和上機(jī)調(diào)試,最后確定算法和數(shù)據(jù)結(jié)構(gòu)(13)以下敘述中錯(cuò)誤的是C程序在運(yùn)行過(guò)程中所有計(jì)算都以二進(jìn)制方式進(jìn)行C程序在運(yùn)行過(guò)程中所有計(jì)算都以卜進(jìn)制方式進(jìn)行

C)所有C程序都需要編譯鏈接無(wú)誤后才能運(yùn)行D)C程序中整型變量只能存放整數(shù),實(shí)型變量只能存放浮點(diǎn)數(shù)(14)有以下定義:inta;longb;doublex>y;則以下選項(xiàng)中正確的表達(dá)式是

A)a%(int)(x-y)a=x!=y;(a*y)%b

D)y=x+y=x(15)以卜.選項(xiàng)中能表示合法常量的是A)整數(shù):1.200B)實(shí)數(shù):1.5E2.0

C)字符斜杠:二

D)字符串:"\007"(16)友達(dá)式a+=a-=a=9的值是9_9C)18D)0(17)若變量已正確定義,在if(W)printf("%d\n,k"):中,以下不可替代W的是

A)a<>b+cch=getchar()a=b+ca++(18)有以下程序#includemain(){inta=l,b=0;if(!a)b++;elseif(a==0)if(a)b+=2;

elseb+=3;

prinlf("%d\n",b);}程序運(yùn)行后的輸出結(jié)果是012319)若有定義語(yǔ)句ima,b;doublex;則卜列選項(xiàng)中沒有錯(cuò)誤的是A)switch(x%2){case0:a++;break;case1:b++;break;default:a++;b++;)C)switch((int)x%2)(case0:a++:break;caseI:b++:break;default:a++;b++;B)switch((int)x/2.0{case0:a++;break;case1:b++;break;default:a++;b++;}D)switch((int)(x)%2){case0.0:a++;break;case1.0:b++;break;default:a++;b++;(20)有以下程序#include

main(){inta=l>b=2;while(a<6){b+=a;a+=2;b%二10:)

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

}程序運(yùn)行后的輸出結(jié)果是A)5,11B)7JC)7,11D)6,1(21)有以下程序#include<stdio.h>

main(){inty=10;

while(y—);

printf("Y=%d\n'',Y):

)程序執(zhí)行后的輸出結(jié)果是y=0y=-ly=lwhile構(gòu)成無(wú)限循環(huán)

(22)有以下程序

#includeVstdio.h>

main()

{chars[J=Mrstuv";

printf(''%c\n",*s+2):

)

程序運(yùn)行后的輸出結(jié)果是A)tuvB)字符l的ASCH碼值

C)tD)出錯(cuò)(23)有以下程序

#include<stdio.h>

#includedstring.h>

main(){charx[]="STRING”;x[OJ=0:x[1]=,\0':x[2J='0';

printf("%d%d\n",sizeof(x),strlen(x)):

}程序運(yùn)行后的輸出結(jié)果是6170063D)71(24)有以卜程序#includeVsldio.h>Intf(intx);

main()

{intn=Lm;m=f(f(f(n)));printf("%d\n,m);intf(intx){returnx*2;)程序運(yùn)行后的輸出結(jié)果是

A)1

B)2

C)4

D)8(25)以卜程序段完全正確的是int*p:scanf("%d".&p);int*p;scanf("%d”,p);intk,*p=&k;scanf("%d”,p);intk.*p:;*p=&k;scanf("%d”,p);(26)有定義語(yǔ)句:ini*p[4];以下選項(xiàng)中與此語(yǔ)句等價(jià)的是intp[4];int**p;int*(pF4J);int(*p)[4J;(27)下列定義數(shù)組的語(yǔ)句中,正確的是A)intN=10:B)#defineN10

intx[N];intx[N];C)intx[0..10];D)intx[];(28)若要定義一個(gè)具有5個(gè)元素的整型數(shù)組,以下借誤的定義語(yǔ)句是inta[5]=I0};intb[]={0A0,0,0};intc[2+3];inti=5,d[i];(29)有以卜程序

#includeVsldio.h>

voidf(int*p);

main(){inta[5]={1,2,3,4,5},*n=a:

f(r):printf("%d\n";*r):

}

voidf(int*p)

{p=p+3;primf("%d,”,*p);}

程序運(yùn)行后的輸出結(jié)果是A)1,44,43J4J(30)有以下程序(函數(shù)fun只對(duì)下標(biāo)為偶數(shù)的元素進(jìn)行操作)#include<stdio.h>voidfun(int*a:intn){inti、j、k、t;for(i=0;i<n-1;l+=2)

{k=iffor(j=i;ja(k])k=j:t=a(i];a(i]=a[k];a(k]=t:

)main(){intaa\10J={1、2、3、4、5、6、7},i;

fun(aa、7);for(i=0,i<7;i++)printf("%d,”,aa[i]));printf("\n");

)程序運(yùn)行后的輸出結(jié)果是A)725,4,3,6,1B)1,6,3,4,527C)7,654,3,2」D)1,7,3,5,621(31)下列選項(xiàng)中,能夠滿足“若字符串si等于字符串s2,則執(zhí)行ST”要求的是if(strcmp(s2,sl)=0)ST;if(sl=s2)ST;if(strcpy(s1,s2)=1)ST;if(sl-s2=0)ST;(32)以下不能將s所指字符串正確復(fù)制到l所指存儲(chǔ)空間的是while(*t=*s){t++;s++:}for(i=O;t[i]=s[i];i++);do{*t++=*s++;}while(*s);for(i=0,j=0;t[i++]=s[j-H-];);(33)有以下程序(sircal函數(shù)用以連接兩個(gè)字符串)#include<stdio.h>#includedstring.h>

main(){chara[20]="ABCD\OEFG\0\b[]strcat(a?b);printf a):}程序運(yùn)行后的輸出結(jié)果是A)ABCDE\OFG\OIJKB)ABCDIJKC)UK

D)EFGIJK(34)有以下程序,程序中庫(kù)函數(shù)islower(ch)用以判斷ch中的字母是否為小寫字母

#include<stdio.h>#include<ctype.h>

voidfun(char*p)

{inti=0:

while(p[i]){if(p[i]=='&&islower(pFi-U))p[i-l]=p[i-l]?W+'A';i++;}

}main(){charsl[100]=MabcdEFG!”:

fun(si);printf("%s\n“,si);}程序運(yùn)行后的輸出結(jié)果是abcdEFG!AbCdEFg!aBcDEFG!abcdEFg!(35)有以卜程序#include<stdio.h>

voidfun(intx)

{if(x/2>l)fun(x/2):printf("%d'',x);

)main(){fun(7);printf;}

程序運(yùn)行后的輸出結(jié)果是1377317337(36)有以下程序#include<stdio.h>

intfun(){staticintx=l;x+=1;returnx;

main(){inti;s=l;fbr(i=l:i<=5:i++)s+=fun();

printf s);程序運(yùn)行后的輸出結(jié)果是11216120(37)有以下程序#include<stdio.h>include<stdlib.h>Main(){int*a,*b,*c;a=b=c=(int*)malloc(sizeof(int));*a=l;*b=2,*c=3;

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

}程序運(yùn)行后的輸出結(jié)果是A)3,3,3B)2,2,3C)1,2,3D)1,1,3(38)有以卜程序#include<stdio.h>main(){ints?3A=10;doubleB=6:

s=sizeof(A);t=sizeof(B):

prinlf("%d,%d\n”,s,t);}在VC6平臺(tái)上編譯運(yùn)行,程序運(yùn)行后的輸出結(jié)果是A)2,4B)4,4C)4,8D)10,6(39)若有以下語(yǔ)句TypedefstructS{intg;charh;}T;以卜.敘述中正確的是A)可用S定義結(jié)構(gòu)體變量B)可用T定義結(jié)構(gòu)體變量S是struct類型的變量T是siruciS類型的變量(40)有以卜.程序#include<stdio.h>main()

{shortc=124:c=c:

printf("%d\n"、C);

}若要使程序的運(yùn)行結(jié)果為248,應(yīng)在卜劃線處填入的是A)?2B)1248C)&0248D)?I<P>}二、填空題(每空2分,共30分)請(qǐng)將每空的正確答案寫在答題卜【1】至【15】序號(hào)的橫線上,答在試卷上不得分。(1)?個(gè)棧的初始狀態(tài)為空。首先將元素5,4,3,2,1依次入棧,然后退棧?次,再將元素A.B,C,D依次入棧,之后將所有元素全部退棧,則所有元素退棧(包括中間退棧的元素)的順序?yàn)椤?】(2)在長(zhǎng)度為n的線性表中,尋找最大項(xiàng)至少需要比較【2】次。(3)一棵二叉樹有10個(gè)度為1的結(jié)點(diǎn),7個(gè)度為2的結(jié)點(diǎn),則該二叉樹共有13】個(gè)結(jié)點(diǎn)。(4)僅由順序、選擇(分支)和重復(fù)(循環(huán))結(jié)構(gòu)構(gòu)成的程序是[4】程序。(5)數(shù)據(jù)庫(kù)設(shè)計(jì)的四個(gè)階段是:需求分析,概念設(shè)計(jì),邏輯設(shè)計(jì)【5】。(6)以卜程序運(yùn)行后的輸出結(jié)果是[6】。include<stdio.h>main(){inta=200,b=010:

printf("%d%d\n”,a,b):

}(7)有以下程序include<stdio.h>main(){intx,Y;scanf("%2d%kT,&x,&y);printf("%d\n",x+y);

}程序運(yùn)行時(shí)輸入:1234567程序的運(yùn)行結(jié)果是【7】0(8)在C語(yǔ)言中,當(dāng)表達(dá)式值為0時(shí)表示邏輯值“假”,當(dāng)表達(dá)式值為【8】時(shí)表示邏輯值“真'(9)有以下程序includeVstdio.h>main(){inti.n[]={0,0,0,0,0};for(i=l:iv=4;i++){n[i]=n[i-l]*3+1;printf(M%d\n[i]);}程序運(yùn)行后的輸出結(jié)果是[9】。(10)以下fun函數(shù)的功能是:找出具有N個(gè)元素的一維數(shù)組中的星小值,并作為函數(shù)值返回。請(qǐng)?zhí)羁铡?設(shè)N已定義)intfun(intx[N]){inti,k=0;for(i=0:i<N;I++)

if(x[i]

returnx[k];)(11)有以下程序

#include<stdio.h>

int*f(int*p,int*q):

main(){intm=l,n=2,*r=&m:

r=f(r,&n);printf("%d\n",*r);

}int*f(int*p,int*q){return(*p>*q)?p:q;}

程序運(yùn)行后的輸出結(jié)果是[11](12)以下fun函數(shù)的功能是在N行M列的整形二維數(shù)組中,選出一個(gè)最大值作為函數(shù)值返回,請(qǐng)?zhí)羁铡?設(shè)M,.N已定義)intfun(inta[N][M))

{inti>j,row=0,co1=0;for(i=0:i<N;I++)

for(j=0;j

if(a[i][j]>a[row][col]){row=i;col=j:)

return([12]):

}(13)有以下程序

#include<stdio.h>

main(){intn[2bi,j;

for(i=0;i<2;i++)n[i]=0;

for(i=0;i<2:i++)

for(j=0:j<2;j++)n[j]=n[ij+1:

printf n[l]):程序運(yùn)行后的輸出結(jié)果是(13](14)以下程序的功能是:借助指針變量找出數(shù)組元素中最大值所在的位置并輸出該最大值。請(qǐng)?jiān)谳?/p>

出語(yǔ)句中填寫代表最大值的輸出項(xiàng)。include<stdio.h>main(){inia(10],*p,*s;for(p=a;p-a<10;p++)scanf("%d",p);for(p=a,s=a:p-a<10;p++)if(*p>*s)S=P:

printf("max=%d\n",[14]);)(15)以卜.程序打開新文件f.txt,并調(diào)用字符輸出函數(shù)將a數(shù)組中的字符寫入其中,請(qǐng)?zhí)羁?。includeVstdio.h>main(){[15]*fp;chara[5]= ,2', ,4',,5'},i:fp=fopen("

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論