《2003年到2012年國家計算機二級c語言歷年真題及答案大全》_第1頁
《2003年到2012年國家計算機二級c語言歷年真題及答案大全》_第2頁
《2003年到2012年國家計算機二級c語言歷年真題及答案大全》_第3頁
《2003年到2012年國家計算機二級c語言歷年真題及答案大全》_第4頁
免費預覽已結束,剩余280頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2012年3月全國計算機等級考試二級C語言真題(考試時間90分鐘,滿分100分)ー、選擇題1、下列敘述中正確的是:A、循環隊列是隊列的ー種順序存儲結構B、循環隊列是隊列的ー種鏈式存儲結構C、循環隊列是非線性結構D、循環隊列是一直邏輯結構2、下列敘述中正確的是A、棧是ー種先進先出的線性表B、隊列是ー種后進先出的線性表C、棧和隊列都是非線性結構D、以上三種說法都不對3、一棵ニ叉樹共有25個節點,其中5個時子節點,那么度為1的節點數為A、4 B、6 C、10 D、164、在下列模式中,能夠給出數據庫物理存儲結構與物理存取方法的是A、內模式B、外模式C、概念模式D、邏輯模式5、在滿足實體完整性約束的條件下A、ー個關系中可以沒有候選關鍵詞B、ー個關系中只能有一個候選關鍵詞C、ー個關系中必須有多個候選關鍵詞D、ー個關系中應該有一個或者多個候選關鍵詞6、有三個關系R、S和T如下:RABCTOC\o"1-5"\h\za1 2b2 1c3 1則由關系R和S得到關系T的操作是A,自然連接 B、并C、差D、交7、軟件生命周期中的活動不包括A、軟件維護B、市場調研 C、軟件測試D、需求分析8、下面不屬于需求分析階段任務的是A、確定軟件系統的功能需求 B、確定軟件系統的系統的系能需求B、制定軟件集成測試計劃 D、需求規格說明書審評9、在黑盒測試方式中,設計測試用例的主要根據是A、程序外部功能 B、程序內部邏輯C、程序數據結構 D、程序流程圖10、 在軟件設計中不使用的工具是A、系統結構圖B、程序流程圖C,PAD圖 D、數據流圖(DFD圖)11、針對簡單程序設計,以下敘述的實施步驟正確的是A、確定算法和數據結構、編碼、調試、整理文檔B,編碼、確定算法和數據結構、調試、整理文檔C、整理文檔、確定算法和數據結構、編碼、調試D、確定算法和數據結構、調試、編碼、整理文檔12、關于C語言中數的表示,以下敘述正確的是A、只有整型數在允許范圍內能精確無誤的表示,實型數會有誤差B、只要在在允許范圍內整型和實型都能精確表示C、只有實型數在允許范圍內能精確無誤的表示,整型數會有誤差D、只有八進制表示的數在不會有誤差13、以下關于算法敘述錯誤的是A、算法可以用偽代碼、流程圖等多種形式來描述B、ー個正確的算法必須有輸入C、ー個正確的算法必須有輸出D、用流程圖可以描述的算法可以用任何ー種計算機高級語言編寫成程序代碼14、以下敘述錯誤的是A、ー個C程序可以包含多個不同名的函數B、ー個C程序只能有一個主函數C、C程序在書寫時,有嚴格的縮進要求,否則不能編譯通過D、C程序的主函數必須用main作為函數名15、設有以下語句Charchl,ch2,scanf(,,%c%c,,,&chl,&ch2);若要為變量chi和ch2分別輸入字符A和B,正確的輸入形式應該是A、A和B之間用逗號間隔 B、A和B之間不能有任何間隔符C、A和B之間可以用回車間隔 D、A和B之間用空格間隔16、以下選項中非法的字符常量是A、,\102,B、’\65'C、D、’\019'17、有以下程序#include<sthio.h>Main(){IntA=O,B=O,C=O;C=(A-=A-5);(A=B,B+=4);Printfド%ム%d,%d\n”,A,B,C))程序運行后輸出的結果是A0,4,5B4,4,5 C4,4,4D0,0,018、設變量均已正確定義并且賦值,以下與其他三組輸出結構不同的ー組語句是A、x++;printf((u%d\nM,x); B、n=++x;printf(("%d\n”,n);C、++x;printf((u%d\nM,x); D、n=x++;printf((u%d\n,,,n);19、以下選項中,能表示邏輯值“假”的是Al B0.000001 C0 D100.020、有以下程序#include<sthio.h>Main(){inta;Scanf(“%d”,&a);If(a++<9)printf((“%如!”,a);Elseprintf((u%d\nM,a—);)程序運行時鍵盤輸入9〈回車〉,則輸出的結構是A、10B11C9D821、有以下程序#include<sthio.h>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((u%d\nM,s);))程序運行后的結果是A1,2,4B1,3,6C3,10,14D3,6,1022、若k是int類型變量,且有以下for語句For(k二?l;k<0;k++)printf(****\n^);下面關于語句執行情況的敘述中正確的是A、循環體執行一次 B、循環體執行兩次C、循環體ー次也不執行 D、構成無限循環23、有以下程序#include<sthio.h>Main(){charA,B,C;B=T;CゴA'For(A=0;A<6;A++){if(A%2)putchar(B+A);Elseputchar(C+A);}}程序運行后輸出的結果是A1B3D5FBABCDFECA2C4E6D12345624、設有如下定義語句Intm[]={2,4,6,8},*k=m;以下選項中,表達式的值為6的是A*(k+2)Bk+2 C*k+2 D*k+=225、fun函數的功能是:通過鍵盤輸入給x所指的整型數組所有元素賦值。在下列劃線處應該填寫的是#include<sthio.h>#deHneN5Viodfun(intx[NJ){intm;For(m=N-l;m>0;m-)scanf("%d\n",);)A&x[++m]B&x[m+l]Cx+(m++)Dx+m26、若有函數Viodfun(doublea[],int*n){ }以下敘述中正確的是A、調用fun函數時只有數組執行按值傳送,其他實參和形參之間執行按地址傳送B、形參a和n都是指針變量C、形參a是ー個數組名,n是指針變量D、調用fun函數時將把double型實參數組元素ーー對應地傳送給形參a數組27、有以下程序#include<sthio.h>Main。{inta,b,k,m,*pl,*p2;k=l,m=8;pl=&k,p2=∋a=/*pl-m;b=*pl+*p2+6;print*“%d”3);printf("%d\n",b);)編譯時編譯器提示錯誤信息,你認為出錯的語句是A、a=/*pl-m B、b=*pl+*p2+6C>k=l,m=8; D、pl=&k,p2=&m;28、以下選項中有語法錯誤的是Achar*str[]={"guest"}; B、charstr[10]={"guest"};C>char*str[3]*str[l]={"guest"}; D^charstr[3][10];str[1]={"guest"};29、avg函數的功能是求整型數組中的前若干個元素的平均值,設數組元素個數最多不超過10.則下列函數說明語句錯誤的是A^intavg(int*a,intn);B、intavg(inta[10],intn);C>intavg(inta,intn);D、intavg(inta[]9intn);30、有以下函數#include<sthio.h>#include<string.h>main(){printf("%d\n",strren"ATS\nO12\l"));}程序運行后的輸出結果是A3B831、有以下函數#include<sthio.h>main(){chara[20],b[20],c[20];scanf("%s%s”,a,b);get(c);printf(M%s%s\n”,a,b,c);)程序運行時從第一行開始輸入thisisacat!〈回車〉,則輸出結果是Athisisacat!BthisisaCthisisacat!Dthisisacat!32、有以下函數#include<sthio.h>viodfun(charc){if(0,x')fun(c-l);printf(“%c”,c);)main(){fun"が;}程序運行輸出結果是AxyzBwxyzCzyxwDzyx33、有以下函數#include<sthio.h>viodfunc(intn){inti;for(i=0;i<=n;i++)printf(“*”);printfd#'');main(){func(3);printK“????”);func(4);printf(“\n”);}程序運行輸出結果是A****#9999***# B***#9999******C**#????*****# D****#9999******34、有以下函數#include<sthio.h>viodfun(int*s){staicintj=0;do{s[j]=s[j]+s[j+l];}wihle(++j<2);}main(){intk,a[10]={14,3,4,5};for(K+l;k<3;k++)fun(a);for(K+l;k<5;k++)printf("%(T,a[k]);printf(u\nM);)程序運行輸出結果是A12345B23445C34756D3574535、有以下函數#include<sthio.h>#defineS(x)(x)*x*2main(){intk=5,j=2;printf(M%d,M,S[k+j]);printf(w%d\nM,S(k-j)));)程序運行輸出結果是A98,18B39,11 C39,18D98,ll36、有以下函數#include<sthio.h>Viodexch(intt[]){t[0]=t[5];}{intx[10]={1,2,3,45,6,7,8,9,10},i=0;Whlle(i<=4){exch(&x[i]),i++;}for(i=0;i<5;i++)printf(u%d",x[i]);printfぐへn”);}程序運行輸出結果是A246810B13579 C12345 D67891037、設有以下程序段StructMP3{charname[20];Charcolor;Floatprice;}std,*ptr;ptr=&std;若要引用結構體變量std中的color成員,寫法錯誤的是Astd.colorBptr->color Cstd->colorD(*ptr).color38、有以下函數#include<sthio.h>structstu{intmun;charname[10];intage;};viodfun(structstu*p){printf("%s\n"p>name);}mian(){structstux[3]={{01,,,zhang,,,20},{02,,,wang,,,19},{03,,,zhao,,,18)};fun(x+2);)程序運行輸出結果是AzhangBzhaoCwangD1939、有以下函數#inciude<sthio.h>mian(){inta=12,c;c=(a?2)?l;print*"%d\nM,c):}程序運行輸出結果是A3B50C2D9640、以下函數不能用于向文件寫入數據的是Aftell Bfwrite Cfputc Dfprintf二、填空題1、將長度為n的順序存儲在線性表中刪除ー個元素,最壞情況下需要移動表中的元素個數為(2、設循環隊列的存儲空間為Q(l:3),初始狀態為front=rear=30。現經過一系列入隊與退隊運算后,front=16,rear=15,則循環隊列中有( )個元素。3、數據庫管理系統提供的數據語言中,負責數據的增、刪、改和查詢的是( )?4、在將ER圖轉換到關系模式時,實體和聯系都可以表示成()。5、常見的軟件工程方法有結構化方法和面向對象方法,類、繼承以及多態性等概念屬于()〇6、設變量a和b已定義為int類型,若要通過scanf("a=%d1b=%<T,&a,&b);語句分別給a和b輸入1和2,則正確的數據輸入內容是( )?7、以下程序的輸出結果是()?#include<sthio.h>mian(){inta=37;a+=a%=9;printfじ%d\n”,a);}8、設a、b、c都是整型變量,如果a的值為1,b的值為2,則執行c=a++llg+;語句后,變量b的值是().9、有以下程序段s=1.0;for(k=l,k<=n;k++) s=s+1.0(k*(k+l));printf("%f\n,,,s);請填空,使以下程序段的功能與上面的程序段完全相同。s=l.O;k=l;whiie(){s=s+1.0(k*(k+l));k=k+l;}printf("%f\nM,s);10、以下程序段的輸出結果是( )#include<sthio.h>mian(){chara,b;for(a=0;a<20;a+=7){b=a%10;putchar(b+,0,);}}H、以下程序段的輸出結果是( )#include<sthio.h>mian(){char*ch[4]={"red”,"green”,“blue”};Inti=0;While(ch[i]);{putchar(ch[i][O];i++;})有以下程序#include<sthio.h>mian(){intarrロ={1,3,5,7,2,4,6用,i,start;Scanf(^%(r\&start);For(i=0,i<3,i++)printf(u%d,,,arr[(start+i)%8]);)若在程序運行時輸入整數10v回車),則輸出結果為( )。以下程序的功能是輸出a數組中的所有字符串,請填空#include<sthio.h>mian(){char*aロ={“ABC”,“DEFGIT',“IJ”,KLMNOP'};Inti=0;For(;i<4;i++)printf("%s\n", );}14、以下程序的輸出結果是( )〇#include<sthio.h>#inciude<sthio.h>#include<string.h>mian(){char*p,*q,*r;p=q=r=(char*)malloc(sizeof(char)*20);strcpy(p,"attaboy,welcome!”);printf("%c%c%c\nM,p[ll],q[3],r[4]);free(p);)15、設文件test.txt中原已寫入字符串Begin,執行以下程序后,文件中的內容為()〇#include<string.h>mian(){file*fp;fp=fopen(utest.txt,V,w+M);fputs(utesf\fp);fclose(fp);}2012年3月全國計算機等級考試二級C語言真題標準答案ー、選擇題1-5,ADDAD6-10,CBCAD11-15,ABBCB16-20,DADCA21-25,CACAD26-30、CADCB31-35,CADDC36-40、DCBDA二、填空題1、n-1 2、29 3、數據操縱語言4,關系5、面向對象方法 6、a=l,b=2 7,2 8、29、k《=n10、074 11、rgb12、572 13、a[i] 14、cab15、test2011年9月全國計算機等級考試二級筆試試卷C語言程序設計(考試時間90分鐘,滿分100分)ー、選擇題((1)-(10)、(21)-(40)每題2分,(11)-(2。)每題1分,共70分)下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項填涂在答題卡相應位置上答在試卷上不得分。(1)下列敘述中正確的是()=A)算法就是程序 B)設計算法時只需要考慮數據結構的設計C)設計算法時只需要考慮結果的可靠性 D)以上三種說法都不對(2)下列關于線性鏈表的敘述中,正確的是( )。A)各數據結點的存儲空間可以不連續,但它們的存儲順序與邏輯順序必須一致B)各數據結點的存儲順序與邏輯順序可以不一致,但它們的存儲空間必須連續C)進行插入與刪除時,不需要移動表中的元素D)以上三種說法都不對(3)下列關于ニ叉樹的敘述中,正確的是( )。A)葉子結點總是比度為2的結點少ー個B )葉子結點總是比度為2的結點多一個c)葉子結點數是度為2的結點數的兩倍D)度為2的結點數是度為1的結點數的兩倍(4)軟件按功能可以分為應用軟件、系統軟件和支撐軟件(或工具軟件)。下面屬于應用軟件的是()。A)學生成績管理系統B)C語言編譯程序C)UNIX操作系統D)數據庫管理系統(5)某系統總體結構圖如下圖所示:A)7 B)6 C)3 D)2(6)程序調試的任務是()〇A)設計測試用例 B)驗證程序的正確性C)發現程序中的錯誤 D)診斷和改正程序中的錯誤(7)下列關于數據庫設計的敘述中,正確的是()。A)在需求分析階段建立數據字典 B)在概念設計階段建立數據字典C)在邏輯設計階段建立數據字典 D)在物理設計階段建立數據字典(8)數據庫系統的三級模式不包括().則由關系R和s得到關系T的操作是()?A)自然連接 B)差C)交 D)并(10)下列選項中屬于面向對象設計方法主要特征的是( )〇A)繼承 B)自頂向下C)模塊化 D)逐步求精(11)以下敘述中錯誤的是()。A)C語言編寫的函數源程序,其文件名后綴可以是.CB)C語言編寫的函數都可以作為ー個獨立的源程序文件C)C語言編寫的每個函數都可以進行獨立的編譯并執行D)ー個C語言程序只能有一個主函數(12)以下選項中關于程序模塊化的敘述錯誤的是( )。A)把程序分成若干相對獨立的模塊,可便于編碼和調試B)把程序分成若干相對獨立、功能單一的模塊,可便于重復使用這些模塊c)可采用自底向上、逐步細化的設計方法把若干獨立模塊組裝成所要求的程序D)可采用自項向下、逐步細化的設計方法把若干獨立模塊組裝成所要求的程序(13)以下選項中關于c語言常量的敘述錯誤的是( )?A)所謂常量,是指在程序運行過程中,其值不能被改變的量B)常量分為整型常量、實型常量、字符常量和字符串常量c)常量可分為數值型常量和非數值型常量D)經常被使用的變量可以定義成常量(14)若有定義語句:inta=10;doubleb=3.14;,則表達式A+a+b值的類型是( )?A)charB)intC)doubleD)float(15)若有定義語句:intx=12,3=8,z;,在其后執行語句z=0.9+x/y;,則Z的值為()?A)l.9 B)1 C)2 D)2.4(16)若有定義:inta,b;,通過語句scanf("%d;%d",&a,&b);,能把整數3賦給變量a,5賦給變量b的輸入數據是()。A)35 B)3,5 C)3;5 D)35(17)若有定義語句:intkl=10,k2=20;.執行表達式(kl=kl>k2)&&(k2=k2>kl)后,kl和k2的值分別為()。A)〇和1 B)〇和20 C)10和1 D)10和20(18)有以下程序#include<stdio.h>main(){inta=1,b=0;if(-a)b++;elseif(a=0)b+=2:elseb+=3:printf("%d\n",b);)程序運行后的輸出結果是()。A)0 B)1 C)2 D)3(19)下列條件語句中,輸出結果與其他語句不同的是()〇A)if(a)printf("%d'?n",x); elseprinlf("%d\n",y);B)if(a—O)printf(M%d\nn,y); elseprintf(n%d\n",x);C)if(a!=O)p由tf(”%d\n”,x);elseprintf(',%d\n,',y);D)if(a=O)printf(n%d\nn,x);elseprintf("%d\n",y);(20)有以下程序#include<stdio.h>main(){inta=7;while(a-); printf("%d\n",a);)程序運行后的輸出結果是( )。A)-lB)0 C)1 D)7(21)以下不能輸出字符A的語句是(注:字符A的ASCII碼值為65,字符a的ASCII碼值為97)A)printf(n%c\nM,,a,-32);B)printf(,,%d\nH,'A');c)printf("%c\n",65);D)print-f("%c\n",B?l);(22)有以下程序(注:字符a的ASCII碼值為97)#include<stdio.h>main(){char*s={Haben);do{printf(w%d”,+s%10);++s;)while(+s);)程序運行后的輸出結果是()。A)abcB)789 C)7890 D)979899(23)若有定義語句:doublea,+p=&a:以下敘述中錯誤的是( )。A)定義語句中的?號是一個間址運算符B)定義語句中的?號只是ー個說明符C)定義語句中的P只能存放double類型變量的地址D)定義語句中,*p=&a把變量a的地址作為初值賦給指針變量P(24)有以下程序#include<stdio.h>doublef(doublex);main(){doublea_0;inti;for(i=0;i<30;i+=10)a+—f((double)i);printf("%5.Of\n”,a);)doublef(doublex)(returnX+x+l;)程序運行后的輸出結果是( )。A)503 B)401 C)500 D)1404(25)若有定義語句:intyear=2009,*p=&year;?以下不能使變量year中的值增至2010的語句是()。A)*p+=1; B)(*p)++; O++(*p); D)*p++;(26)以下定義數組的語句中錯誤的是()〇A)intnum[]={l,2,3,4,5,6};B)intnum[][3]={{1,2},3,4,5,6);Qintnum[2][4]=({l,2,,{3,4},{5,6});D)intnum[][4]={l,2,3,4,5,6);(27)有以下程序#include<stdK).h>voidfun(int+p){printf(v%d\n",p[5]);}main();{inta[10]={l,2,3,4,5,6,7,8,9,10};fun(&a[3]);)程序運行后的輸出結果是( )〇A)5 B)6Q8D)9(28)有以下程序#include<stdio.h>#defineN4voidfun(inta[][N],imb[]){inti;for(i=0;i<N;i++)b[i]=a[i][i]-a[i][N-l-i];)voidmain(){intx[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;fun(x,y);for(i=0;kN;i++)printf(w%d,",y[i]);printf('\n,');)程序運行后的輸出結果是()〇A)-12,-3,0,0, B)?3,?l,1,3, C)0,l,2,3, D)-3,-3,-3,-3(29)有以下函數intfun(char*x,char*y){intn=0;while((*x=*y)&&*x!=\0'){x++;y++;n++;}returnn:)函數的功能是()?A)查找x和y所指字符串中是否有へO'B)統計x和y所指字符串中最前面連續相同的字符個數c)將y所指字符串賦給X所指存儲空間D)統計x和y所指字符串中相同的字符個數(30)若有定義語句:char*slゴOK",*s2="ok";,以下選項中,能夠輸出“0K"的語句是( )。A)if(strcmp(sl,s2)=0)puts(sl);B)if(strcmp(sl,s2)!=0)puts(s2);C)if(strcmp(sl,s2)=l)puts(sl,);D)if(strcmp(sl,s2)!=0)puts(sl);(31)以下程序的主函數中調用了在其前面定義的fun函數#include<stdio.h>{main(){doublea[15],k;k=fun(a);}則以下選項中錯誤的fun函數首部是()。A)doublefun(doublea[15]) B)doublefun(double*a)C)doublefun(doublea[]) D)doublefun(doublea)(32)有以下程序#include<stdio.h>#include<string.h>main(){chara[5][10]={"china","bejjing","you","tiananmen","welcome");inti,j;chart[10];for(i=0;i<4;i++)for(j=i+1;j<5;j++)if(strcmp(a[i],a[j])>0){strcpy(t,a[i]);strcpy(a[i],a[j]);strcpy(a[j],t);}puts(a[3]);)程序運行后的輸出結果是()〇A)BeijingB)chinaC)welcomeD)tiananmen(33)有以下程序#include<stdio.h>intf(intm){staticintn=0;n+=m:returnn;)main(){intn=0;printf("%d”,f(++n));printf(n%d\n",f(n++));)程序運行后的輸出結果是()。A)l,2B)l,1 C)2,3 D)3,3(34)有以下程序#include<stdio.h>main(){charch[3][5]={nAAAAn,nBBB","CC**);printf("%s\n",ch[l]);)程序運行后的輸出結果是()?A)AAAAB)CCC)BBBCCD)BBB(35)有以下程序#include<stdio.h>#include<string.h>voidfun(char*w,intm){chars,*pl,*p2;pl=w;p2=w+m-l;while(pl<p2){s=*pl;*pl=p2;*p2=s;pl++;p2—;))main(){charaロメ123456”;fun(a,strlen(a));puts(a);1程序運行后的輸出結果是()A)654321 B)116611 Q161616D)123456(36)有以下程序#include<stdio.h>#include<string.h>typedefstruct{charname[9];charsex;intscore[2];}STU;STUf(STUa){STUb={,'Zhaon;m',85,90);inti:strcpy(,);a.sex=b.sex;for(i=0;i<2;i++)a.score[i]=b.scorefi];returna;}main()fSTUc={',Qian,,;f,95,92},d;d=f(c);printf('*%s,%c,%d,%d,”,d.nalne,d.sex,d.score[0]>d.score[1]);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,90QQian,f,95,92,Qian,f,95,92 D)Qian,f,95,92,Zhao,m,85,90(37)有以下程序#include<stdio.h>main(){structnode{intn;stmctnode+next;}*p;structnodex[31={(2,x+1},{4,x+2),{6,NULL}};p=x;printff"%d,",p->n);printf("%dkn",p->next->n);}程序運行后的輸出結果是()〇A)2,3 B)2,4 C)3,4 D)4,6(38)有以下程序#include<stdio.h>main(){inta=2,b;b=a?2:printr("%d\n",b);)程序運行后的輸出結果是().A)2 B)4 C)6 D)8(39)以下選項中敘述錯誤的是( )。A)C程序函數中定義的賦有初值的靜態變量,每調用一次函數,賦ー次初值B)在C程序的同一函數中,各復合語句內可以定義變量,其作用域僅限本復合語句內C)C程序函數中定義的自動變量,系統不自動賦確定的初值D)C程序函數的形參不可以說明為static型變量(40)有以下程序#include<stdio.h>main(){FILE*fp,intk,n,j,a[6]=<l,2,3,4,5,6);fp=fopen("d2.dat","w");for(i=0;i<6;i++)fprintf(fp,"%d\n",a[i]);fclose(fp);fp=fopen(Md2.datM,Y*);for(i=0:k3:i++)fscanf(fp,n%d%d”,&k,&n);fclose(fp):printf(”%d,%d\n”,k,n);)程序運行后的輸出結果是( )。A)l,2 B)3,4 C)5,6 D)123.456二、填空題(每空2分,共30分)請將每空的正確答案寫在答題卡【1】至【15】序號的橫線上,答在試卷上不得分。(1)數據結構分為線性結構與非線性結構,帶鏈的棧屬于〇(2)在長度為n的順序存儲的線性表中插入一個元素,最壞情況下需要移動表中【2】個元素。(3)常見的軟件開發方法有結構化方法和面向對象方法。對某應用系統經過需求分析建立數據流圖(DFD),則應采用【3】方法。(4)數據庫系統的核心是【4】。(5)在進行關系數據庫的邏輯設計時,E-R圖中的屬性常被轉換為關系中的屬性,聯系通常被轉換為[5]〇(6)若程序中已給整型變量a和b賦值10和20,請寫出按以下格式輸出a、b值的語句[6]〇****a=10.b=20****(7)以下程序運行后的輸出結果是[7]〇#include<stdio.h>main()<inta=37;a%=9;printf("%d\n",a);)(8)以下程序運行后的輸出結果是 [8I〇#include<stdio.h>main(){inti,j;for(i=6:i>3;i一)j=i;printf(99%d%d\n",i,j);}(9)以下程序運行后的輸出結果是 [9]〇#include<stdio.h>main(){inti,n[]={0,0,0,0,0);for(i=l;i<=2;i++){n[i]=n[i-l]*3+l;printf("%d",n[i]);)printf(AnH);(10)以下程序運行后的輸出結果是 [10I 0#include<stdio.h>main(){chara:for(a=0:a<15;a+=5){putchar(a+'A');)printfC^n'1);)(11)以下程序運行后的輸出結果是 [111〇#include<stdio.h>voidfun(intx){if(x/5>o)fun(x/5);prinff(”%dビ,x);)main(){fun(ll):printfCn");}(12)有以下程序#include<stdio.h>main(){intc[3]={0},k,i:while((k=getchar())!='\nr)c[k-'A']++;for(i=0;i<3;i++)printf(w%d”,c[i]);printf(,r\nu);若程序運行時從鍵盤輸入ABcAcCv回車〉,則輸出結果為【12】0(13)以下程序運行后的輸出結果是 【13】。#include<stdio.h>main(){intn[2],i,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[i]+l;printf("%d\n",n[l]);)(14)以下程序調用fun函數把x中的值插入到a數組下標為k的數組元素中0主函數中,n存放a數組中數據的個數。請填空。#include<stdio.h>voidfun(intsロ,int*n,intk,intx){inti;for(i=*n-hi>=k;i—)s[[14]1=s[i1;s[k]=x;*n=*n+ 【15】 ;main(){inta[20]={L2*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:i++)prinlf("%4d",a[i]);printf(AnM);二、填空題(1)線性結構【解析】一般將數據結構分為線性結構與非線性結構兩大類.如果ー個非空的數據結構滿足以下兩個條件:①有且只有一"t?根結點;②每ー個結點最多有一個前件,也最多有一個后件.則稱該數據結構為線性結構,所以帶解棧為線性結構.(2)n【解析】在順序存儲的線性表中插入一個元素時,ー殷是從最后的元素向后移動…位,移動到插入的位置后,插入元素.在最壞情況下,需要移動n個元素.(3)結構化【解析】采用結構化方法開發軟件時,需求分析階段建立數據流圖.(4)數據庫管理系統(或DBMs)【解析】一般認為,數據庫系統包括四個部分:數據庫、數據庫管理系統、數據庫應用程序、數據庫管理員.其中DBMS是為數據庫的建立、使用和維護而配置的軟件,是數據庫系統的核心.(5)關系【解析】在實體.關系圖中的聯系通常被轉換為關系.(6)pfintf(*****a=%d,b=%d*****,a>b);【解析】要按照題目所要求的格式****a=10,b=20***確出,所以要在輸出函數的格式中定義****a=%d.b=%d***3*1這個字符串.(7)1【解析】37對9求余數其值等于1.(8)34【解析】在fo工循環中,當變量1的值等于4時,把4賦給變量j,同時變量工的值誠1等于3,所以程序輸出結果為34.(9)14【解析】在fo工循環第一次執行結束后,n[l]的值等于1,輸出1;循環第二次執行結束后,n[2]的值等于4,輸出4,所以輸出結果為14.(1O)AFK【解析】在程序中,for循環共執行三次,第一次輸出字符A,第二次輸出字符F,第三次輸出字符K.(11)211【解析】這個題目主要考査函數的遞歸調用,當把實參11傳遞給形參曲,因為11除以5得2,所以要調用f(2),輸出2,再執行f(11)中的輸出語句,輸出11.所以結果為211.(12)213【解析】這個題目考查的是從鍵盤輸入的大寫字母的個數,數組元素c[0]存放的是大寫字母A的個數,H1]存放的是大寫字母8的個數,c[2]存放的是大寫字母C的個數,所以當從鍵盤輸出ABCACC時,輸出結果為213.(13)3【解析】在兩層for循環中當外層的循環變量1的值等于。時,執行內層的f;Dr循環,其結果是n[0]=l,n[l]=2;,當外層的循環變量[的值等于1時,執行內層的for循環,其結果是n[0]=3,n[l]=3i?所以結果為3.(14)i+1【解析】在函數fun中,使用for循環語句,把數組s口中下標大于k的元素向后移動一位,所以應該填入:i+l.(15)1【解析】因為變量n的值表示數組元素的個數,插入一個元素后,其值加1,所以埴入1.2011年下半年計算機二級C語言上機試題全真試卷

溫馨提示

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

評論

0/150

提交評論