2007-2011國家計算機二級c語言歷年真題及答案_第1頁
2007-2011國家計算機二級c語言歷年真題及答案_第2頁
2007-2011國家計算機二級c語言歷年真題及答案_第3頁
2007-2011國家計算機二級c語言歷年真題及答案_第4頁
已閱讀5頁,還剩116頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2011年3月計算機等級考試二級C語言筆試ー、選擇題(1)下列關于棧敘述正確的是A)棧頂元素最先能被刪除B)棧頂元素最后才能被刪除C)棧底元素永遠不能被刪除D)以上三種說法都不對(2)下列敘述中正確的是A)有一個以上根結點的數據結構不一定是非線性結構B)只有一個根結點的數據結構不一定是線性結構C)循環(huán)鏈表是非線性結構D)雙向鏈表是非線性結構(3)某ニ叉樹共有7個結點,其中葉子結點只有1個,則該ニ叉樹的深度為(假設根結點在第1層)A)3 B)4 C)6 D)7(4)在軟件開發(fā)中,需求分析階段產生的主要文檔是A)軟件集成測試計劃B)軟件詳細設計說明書C)用戶手冊D)軟件需求規(guī)格說明書(5)結構化程序所要求的基本結構不包括A)順序結構 B)GOTO跳轉0選擇(分支)結構 D)重復(循環(huán))結構(6)下面描述中錯誤的是A)系統(tǒng)總體結構圖支持軟件系統(tǒng)的詳細設計B)軟件設計是將軟件需求轉換為軟件表示的過程0數據結構與數據庫設計是軟件設計的任務之一D)PAD圖是軟件詳細設計的表示工具(7)負責數據庫中查詢操作的數據庫語言是A)數據定義語言B)數據管理語言C)數據操縱語言D)數據控制語言(8)一個教師可講授多門課程,ー門課程可由多個教師講授。則實體教師和課程間的聯(lián)系是A)l:l聯(lián)系B)l:m聯(lián)系C)m:l聯(lián)系D)m:n聯(lián)系⑼有三個關系R、S和T如下:則由關系R和S得到關系T的操作是A)自然連接B)交C)除D)并(10)定義無符號整數類為UInt,下面可以作為類UInt實例化值的是A)-369B)369C)0.369D)整數集合{1,2,3,4,5}(11)計算機髙級語言程序的運行方法有編譯執(zhí)行和解釋執(zhí)行兩種,以下敘述中正確的是A)C語言程序僅可以編譯執(zhí)行B)C語言程序僅可以解釋執(zhí)行C)C語言程序既可以編譯執(zhí)行又可以解釋執(zhí)行D)以上說法都不對(12)以下敘述中錯誤的是A)C語言的可執(zhí)行程序是由一系列機器指令構成的B)用C語言編寫的源程序不能直接在計算機上運行0通過編譯得到的二進制目標程序需要連接オ可以運行D)在沒有安裝C語言集成開發(fā)環(huán)境的機器上不能運行C源程序生成的.exe文件(13)以下選項中不能用作C程序合法常量的是A)1,234B)'123’0123D)"\x7G”(14)以下選項中可用作C程序合法實數的是A).leO B)3.0e0.2OE9 D)9.12E(15)若有定義語句:inta=3,b=2,c=l;,以下選項中錯誤的賦值表達式是A)a=(b=4)=3; B)a=b=c+l;C)a=(b=4)+c; D)a=l+(b=c=4);(16)有以下程序段charname[20];intnum;scanf("name=%snum=%d”,name;&num);當執(zhí)行上述程序段,并從鍵盤輸入:name=Lilinum=1001く回車》后,name的值為A)Lili B)name=LiliOLilinum= D)name=Lilinum=1001(17)if語句的基本形式是:if(表達式)語句,以下關于“表達式”值的敘述中正確的是A)必須是邏輯值B)必須是整數值C)必須是正數D)可以是任意合法的數值(18)有以下程序^includemain(){intx=011;printf(*%d\n*,++x);程序運行后的輸出結果是A)12B)U010D)9(19)有以下程序^includemain(){ints;scanf("%d",&s);while(s>0){switch(s){casel:printfs+5);case2:printfs+4);break;case3:printfs+3);default:printfs+1);break;}scanf&s);})運行時,若輸入123450く回車),則輸出結果是A)6566456B)666560666660)6666656(20)有以下程序段inti,n;for(i=0;i<8;i++){n=rand()%5;switch(n){case1:case3:printf("%d\n",n);break;case2:case4:printf("%d\n,n);continue;caseO:exit(0);)printf("%d'n",n);)以下關于程序段執(zhí)行情況的敘述,正確的是for循環(huán)語句固定執(zhí)行8次B)當產生的隨機數n為4時結束循環(huán)操作0當產生的隨機數n為1和2時不做任何操作D)當產生的隨機數n為〇時結束程序運行(21)有以下程序^includemain(){chars口=”012xy\08s34f4w2”;inti,n=0;for(i=O;s[i]!=0;i++)if(s[i]>='O'&&s[i]くニ’9')n++;printf("%d\n",n);)程序運行后的輸出結果是A)0B)307D)8(22)若i和k都是int類型變量,有以下for語句for(i=0,k=-l;k=l;k++)printf("*****\n");下面關于語句執(zhí)行情況的敘述中正確的是A)循環(huán)體執(zhí)行兩次B)循環(huán)體執(zhí)行一次C)循環(huán)體ー次也不執(zhí)行D)構成無限循環(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);}printf("\n");)程序運行后的輸出結果是A)ABCDEFB)AbCdEfOaBcDeFD)abcdef(24)設有定義:doublex[10],*p=x;,以下能給數組x下標為6的元素讀入數據的正確語句是A)scanf("%f",&x[6]);B)scanf("%lf”,*(x+6));C)scanf("%lf",p+6);D)scanf("%lf",p[6]);(25)有以下程序(說明:字母A的ASCH碼值是65)#includevoidfun(char*s){while(*s){if(*s%2)printf("%c",*s);s++;))main(){chara[]=*BYTE";fun(a);printfi'\n");)程序運行后的輸出結果是A)BYB)BTC)YTD)YE(26)有以下程序段#includemain()while(getchar()!='\n');以下敘述中正確的是A)此while語句將無限循環(huán)getcharO不可以出現在while語句的條件表達式中C)當執(zhí)行此while語句時,只有按回車鍵程序才能繼續(xù)執(zhí)行D)當執(zhí)行此while語句時,按任意鍵程序就能繼續(xù)執(zhí)行(27)有以下程序#includemain(){intx=l,y=0;if(!x)y++;elseif(x==0)if(x)y+=2;elsey+=3;printf(*%d\n*,y);)程序運行后的輸出結果是A)3B)2C)1D)0(28)若有定義語句:chars[3][10],(*k)[3],*p;?則以下賦值語句正確的是A)p=s;B)p=k;C)p=s[0];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):)當執(zhí)行程序時從鍵盤上輸入HelloBeijingく回車》,則程序的輸出結果是A)hellobeijingB)HelloBeijing0HELLOBEIJINGD)hELLOBeijing(30)以下函數的功能是:通過鍵盤輸入數據,為數組中的所有元素賦值。#include#defineN10voidfun(intx[N]){inti=0;while(i)在程序中下劃線處應填入的是A)x+iB)&x[i+1]Ox+(i++)D)&x[++i](31)有以下程序ttincludemain(){chara[30],b[30];scanf("%s,a);gets(b);printf("%s\n%s\n”,a,b);)程序運行時若輸入:howareyou?Iamfineく回車)則輸出結果是A)howareyou?B)howIamfineareyou?IamfineC)howareyou?IamfineD)rowareyou?(32)設有如下函數定義intfun(intk){if(k<l)return0;elseif(k==l)return1;elsereturnfun(k-l)+l;)若執(zhí)行調用語句:n=fun(3);,則函數fun總共被調用的次數是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;printf("%d\n”,fun(2*a,fun(b,c)));)程序運行后的輸出結果是A)3B)6C)8D)12(34)有以下程序^includeintfun(){staticintx=l;x*=2;returnx;)mainO{inti,s=l;for(i=l;i<=3;i++)s*=fun();printf("%d\n”,s);)程序運行后的輸出結果是A)0B)10C)30D)64(35)有以下程序ttincludettdefineS(x)4*(x)*x+lmain(){intk=5,j=2;printf("%d\n”,S(k+j));}程序運行后的輸出結果是A)197B)143033D)28(36)設有定義:struct{charmark[12];intnuml;doublenum2;}tl,t2;,若變量均已正確賦初值,則以下語句中錯誤的是A)tl=t2;B)t2.numl=tl.numl;012.mark=tl.mark;D)t2.num2=tl.num2;(37)有以下程序#includestructord{intx,y;}dt[2]={l,2,3,4);main(){structord*p=dt;printf("%d,”,++(p->x));printf("%d\n",++(p->y));)程序運行后的輸出結果是A)l,2B)4,103,4D)2,3(38)有以下程序#includestructS{inta,b;}data[2]={10,100,20,200};mainO{structSp=data[l];printf("%d\n",++(p.a));)程序運行后的輸出結果是A)10B)ll020D)21(39)有以下程序#includemainO{unsignedchara=8,c;c=a?3;printf("%d\n",c);}程序運行后的輸出結果是A)32B)16C)1D)0(40)設fp已定義,執(zhí)行語句fp=fopen("file",ヽ");后,以下針對文本文件file操作敘述的選項中正確的是A)寫操作結束后可以從頭開始讀B)只能寫不能讀C)可以在原有內容后追加寫D)可以隨意讀和寫—>填空題レ)有序線性表能進行二分查找的前提是該線性表必須是【い存儲的。一棵ニ叉樹的中序遍歷結果為DBEAFC,前序遍歷結果為ABDECF,則后序遍歷結果為【2】〇(3)對軟件設計的最小單位(模塊或程序單元)進行的測試通常稱為【3】測(4)實體完整性約束要求關系數據庫中元組的14】屬性值不能為空。(5)在關系A(S,SN,D)和關系B(D,CN,NM)中,A的主關鍵字是S,B的主關鍵字是D,則稱【5】是關系A的外碼。(6)以下程序運行后的輸出結果是【6】〇^includemain(){inta;a=(int)((double)(3/2)+0.5+(int)1.99*2);printf("%d\n",a);)(7)有以下程序^includemain(){intx;scanf("知",&x);if(x>15)printf("%d",x-5);if(x>10)printf("%d",x);if(x>5)printf("%d\n",x+5);)若程序運行時從鍵盤輸入12く回車),則輸出結果為【7】〇(8)有以下程序(說明:字符〇的ASCII碼值為48)^includemain(){charcl,c2;scanf("%d",&cl);c2=cl+9;printf("%c%c\n",cl,c2);}若程序運行時從鍵盤輸入48〈回車〉,則輸出結果為【8】〇(9)有以下函數voidprt(charch,intn){inti;for(i=l;i<=n;i++)printf(i%6!二〇?"%c":"%c'n",ch);執(zhí)行調用語句prt('*',24);后,函數共輸出了【9】行?號。(10)以下程序運行后的輸出結果是[10I〇ttincludemain(){intx=10,y=20,t=0;if(x==y)t=x;x=y;y=t;printf("%d%d\n",x,y);}(11)己知a所指的數組中有N個元素。函數fun的功能是,將下標k(k〉O)開始的后續(xù)元素全部向前移動ー個位置。請?zhí)羁?。voidfun(inta[N],intk){inti;for(i=k;i)(12)有以下程序,請在[12I處填寫正確語句,使程序可正常編譯運行。#include[12];main(){doublex,y,(*p)();scanf("%lf%lf”,&x,&y);P=avg;printf("%f\n",(*p)(x,y));)doubleavg(doublea,doubleb){return((a+b)/2);}(13)以下程序運行后的輸出結果是[13I〇#includemain(){inti,n[5]={0};for(i=l;i<=4;i++){n[i]==n[i-l]*2+l;printf("%d",n[i]);}printf[An");)(14)以下程序運行后的輸出結果是[14]〇#includemain(){char*p;inti;p=(char*)malloc(sizeof(char)*20);strcpy(p,"welcome");for(i=6;i>=0;i--)putchar(*(p+i));printf("\n-");free(p)}(15)以下程序運行后的輸出結果是[15]〇#includemain(){FILE*fp;intx[6]={l,2,3,4,5,6},i;fp二fopen("test?dat,wb");fwrite(x,sizeof(int),3,fp);rewind(fp);fread(x,sizeof(int),3,fp);for(i=0;i<6;i++)printf("%d",x[i]);printf('\n");fclose(fp);2011年3月全國計算機等級考試二級C等級考試答案公共基礎知識部分一、選擇題:4.D10.B5.B6.Al.A 2.B7.C 8.D3.D9.C二、埴空題.順序 2.DEBFCA二級C語言部分ー、選擇題:.A 12.D13.A3.單元測試14.A15.A4.主腱 5.D16.A17.D18.C 19.A20.D 21.B22.D23.B24.C25.D26.C27.D 28.C29.C 30.C31.B32.B33.634.D35.B36.C 37.D38.D 39.C 40.B二、填空題6.3 7.121711.i-113.137158.09 9.4 10.20012.doubleavg(doublea,doubleb)14.emoclew 15.1234562009年9月全國計算機等級考試二級筆試試卷

C語言程序設計(考試時間90分鐘,滿分100分)ー、選擇題((1)一(10)、(21)—(40)每題2分,(11)—(20)每題1分,共70分)(1)下列數據結構中,屬于非線性結構的是A)循環(huán)隊列B)帶鏈隊列C)ニ叉樹D)帶鏈棧(2)下列數據結果中,能夠按照“先進后出”原則存取數據的是A)循環(huán)隊列B)棧C)隊列D)ニ叉樹(3)對于循環(huán)隊列,下列敘述中正確的是A)隊頭指針是固定不變的B)隊頭指針一定大于隊尾指針〇隊頭指針ー定小于隊尾指針D)隊頭指針可以大于隊尾指針,也可以小于隊尾指針(4)算法的空間復雜度是指A)算法在執(zhí)行過程中所需要的計算機存儲空間B)算法所處理的數據量〇算法程序中的語句或指令條數D)算法在執(zhí)行過程中所需要的臨時工作單元數(5)軟件設計中劃分模塊的一個準則是A)低內聚低耦合B)高內聚低耦合0低內聚高耦合D)髙內聚髙耦合(6)下列選項中不屬于結構化程序設計原則的是A)可封裝D)自頂向下0模塊化D)逐步求精(7)軟件詳細設計產生的圖如下:N-S圖PAD圖0程序流程圖D)E-R圖(8)數據庫管理系統(tǒng)是A)操作系統(tǒng)的一部分B)在操作系統(tǒng)支持下的系統(tǒng)軟件一種編譯系統(tǒng)ー種操作系統(tǒng)(9)在E-R圖中,用來表示實體聯(lián)系的圖形是A)橢圓圖B)矩形0菱形D)三角形A)選擇B)投影C)交D)并(11)以下敘述中正確的是A)程序設計的任務就是編寫程序代碼并上機調試B)程序設計的任務就是確定所用數據結構C)程序設計的任務就是確定所用算法D)以上三種說法都不完整(12)以下選項中,能用作用戶標識符的是void8_8_0_unsigned(13)閱讀以下程序^includemain(){intcase;floatprintF;printf(“請輸入2個數:");scanf("%d%f",&case,&pjrintF);printf("%d%f\n",case,printF);)該程序編譯時產生錯誤,其出錯原因是A)定義語句出錯,case是關鍵字,不能用作用戶自定義標識符B)定義語句出錯,printF不能用作用戶自定義標識符〇定義語句無錯,scanf不能作為輸入函數使用D)定義語句無錯,printf不能輸出case的值(14)表達式:(int)((double)9/2)-(9)%2的值是0345(15)若有定義語句:intx=10;,則表達式x-=x+x的值為-20-10〇0D)10(16)有以下程序^includemain(){inta=l,b=0;printf("%d,",b=a+b);printf(“%d\n”,a=2*b);)1,03,21,217)設有定義:inta=l,b=2,c=3;,以下語句中執(zhí)行效果與其它三個不同的是if(a>b)c=a,a=b,b=c;if(a>b){c=a,a=b,b=c;}if(a>b)c=a;a=b;b=c;if(a>b){c=a;a=b;b=c;}(18)有以下程序^includemain(){intc=0,k;for(k=l;k<3;k++)switch(k){default:c+=kcase2:c++;break;case4:c+=2;break;)printf("%d\n",c);}程序運行后的輸出結果是3507D)9(19)以下程序段中,與語句:k=a>b?(b>c?l:0):0;功能相同的是if((a>b)&&(b>c))k=l;elsek=0;if((a>b)II(b>c)k=l;elsek=0;if(a<=b)k=0;elseif(b<=c)k=l;if(a>b)k=l;elseif(b>c)k=l;elsek=0;20)有以下程序#includemain(){chars[]={"〇12xy"};inti,n=O;for(i=0;s[i]!=O;i++)if(s[i]>=,a'&&s[i]<=,z')n++;printf(<<%d\nw,n);)程序運行后的輸出結果是02〇3D)5(21)有以下程序^includemain(){intn=2,k=0;while(k++&&n++>2);printf(“%d%d\n”,k,n);)程序運行后的輸出結果是0213057D)12(22)有以下定義語句,編譯時會出現編譯錯誤的是chara='a';chara=,\n';chara='aa';chara=,\x2d,;(23)有以下程序#includemain(){charcl,c2;cl='A'+'8'-'4';c2='A'+'8,-,5';printf("%c,%d\n”,cl,c2);)已知字母A的ASCH碼為65,程序運行后的輸出結果是E,68D,69E,DD)輸出無定值(24)有以下程序^includevoidfun(intp)intd=2;p=d++;printf("%d",p);}main()inta=l;fun(a);printf(w%d\nw,a);}程序運行后的輸出結果是32122122(25)以下函數findmax擬實現在數組中査找最大值并作為函數值返回,但程序中有錯導致不能實現預定功能^defineMIN-2147483647intfindmax(intx[],intn){inti,max;for(i=0;i<N;1++)<p=""/>{max=MIN;if(maxreturnmax;)造成錯誤的原因是A)定義語句inti,max;中max未賦初值B)賦值語句max=MIN;中,不應給max賦MIN值C)語句if(maxD)賦值語句max=MIN;放錯了位置(26)有以下程序^includemain(){intm=l,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%d\n”,m,n,*p,*q);程序運行后的輸出結果是1,2,1,21,2,2,1〇2,1,2,1D)2,1,1,2(27)若有定義語句:int2[4][10],紙?口[4];且0W立4,則錯誤的賦值是p=aq[i]=a[i]p=a[i]p=&a[2][1](28)有以下程序4include#includemain(){charstr[][20]={"One*World","One*Dream!”},*p=str[l];printf(“%d,”,strlen(p));printf(K%s\nw,p);)程序運行后的輸出結果是9,One*World9,One*Dream10,0ne*Dream10,One*World(29)有以下程序-includemain(){inta[]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){case0:switch(a[i]%2){case0:a[i]++;break;case1:a[i]一;}break;case1:a[i[=0;)for(i=0;i<4;i++)printf("%d",a[i]);printf("\n");3344205003040D)0304(30)有以下程序^includeWincludemain(){chara[10]="abed";printf(K%d,%d\n",strlen(a),sizeof(a));)程序運行后的輸出結果是7,44,1008,8D)10,10(31)下面是有關C語言字符數組的描述,其中錯誤的是A)不可以用賦值語句給字符數組名賦字符串B)可以用輸入語句把字符串整體輸入給字符數組〇字符數組中的內容不一定是字符串D)字符數組只能存放字符串(32)下列函數的功能是fun(char*a,char*b){while((*b=*a)!=‘、〇’){a++,b++;}}A)將a所指字符串賦給b所指空間B)使指針b指向a所指字符串〇將a所指字符串和b所指字符串進行比較D)檢査a和b所指字符串中是否有‘、〇,(33)設有以下函數voidfun(intn,char*s){ }則下面對函數指針的定義和賦值均是正確的是void(*pf)();pf=fun;viod*pf();pf=fun;void*pf();*pf=fun;void(*pf)(int,char);pf=&fun;(34)有以下程序#includeintf(intn);main()inta=3,s;s=f(a);s=s+f(a);printf("%d\n",s);}intf(intn)staticinta=l;n+=a++;returnn;)程序運行以后的輸出結果是78910(35)有以下程序#include#definef(x)x*x*xmain(){inta=3,s,t;s=f(a+1);t=f((a+1));printf("%d,%d\n',s,t);)程序運行后的輸出結果是10,6410,1064,1064,64(36)下面結構體的定義語句中,錯誤的是struct ord {int x;int y;int z;};structorda;struct ord {int x;int y;int z;} structorda;struct ord {int x;int y;int z;} a;struct {int x;inty;intz;} a;(37)設有定義:char*c;,以下選項中能夠使字符型指針c正確指向ー個字符串的是charstr[]="string”;c=str;scanf(w%s",c);c=getchar();*c="string";(38)有以下程序^includettincludestructA{inta;charb[10];doublec;};structAf(structAt);main(){structAa={1001,"ZhangDa”,1098.0};a=f(a);jprintf("%d,%s,%6.lf\nw,a.a,a.b,a.c);)structAf(structAt)(t.a=1002;strcpy(t.b,nChangRongw);t.c=1202.0;returnt;)程序運行后的輸出結果是1001,ZhangDa,1098.01001,ZhangDa,1202.01001,ChangRong,1098.01001,ChangRong,1202.0(39)若有以下程序段intr=8;printf(K%d\nw,r?l);輸出結果是16842(40)下列關于C語言文件的敘述中正確的是A)文件由一系列數據依次排列組成,只能構成二進制文件B)文件由結構序列組成,可以構成二進制文件或文本文件〇文件由數據序列組成,可以構成二進制文件或文本文件D)文件由字符序列組成,其類型只能是文本文件二、填空題(每空2分,共30分)(1)某ニ叉樹有5個度為2的結點以及3個度為1的結點,則該ニ叉樹中共有11】個結點。(2)程序流程圖中的菱形框表示的是【2】。(3)軟件開發(fā)過程主要分為需求分析、設計、編碼與測試四個階段,其中【3】階段產生“軟件需求規(guī)格說明書。(4)在數據庫技術中,實體集之間的聯(lián)系可以是ー對ー或ー對多或多對多的,那么“學生”和“可選課程”的聯(lián)系為【4】〇(5)人員基本信息一般包括:身份證號,姓名,性別,年齡等。其中可以作為主關鍵字的是【5】〇(6)若有定義語句:inta=5;,則表達式:a++的值是【6】〇(7)若有語句doublex=17;inty;,當執(zhí)行y=(int)(x/5)%2;之后y的值為⑺?(8)以下程序運行后的輸出結果是【8】〇4includemain(){intx=20;printf(“猊”,0くXく20);くp=""/>printf(“加、n”,(KX&&Xくア"/>(9)以下程序運行后的輸出結果是【9】〇4includemain(){inta-1,b=7;do{b=b/2;a+=b;}while(b>l);printf("%d\n",a);}(10)有以下程序^includemain(){intf,fl,f2,i;fl=0;f2=l;printf(K%d%dw,fl,f2);for(i=3;i<=5;i++){f=fl+f2;printf("%d”,f);fl=f2;f2=f;)printf("\n");}程序運行后的輸出結果是[10I〇(11)有以下程序Sincludeinta=5;voidfun(intb){inta=10;a+=b;printf("%d",a);}mainO{intc=20;fun(c);a+二c;printf(0%d\n",a);)程序運行后的輸出結果是[11]〇(12)設有定義:structperson{intID;charname[12];}p;請將scanf(“%d",[12]);語句補充完整,使其能夠為結構體變量p的成員ID正確讀入數據。(13)有以下程序4includemain(){chara[20]="Howareyou?”,b[20];scanf("%s",b);printf("%s%s\n",a,b);)程序運行時從鍵盤輸入:Howareyou?く回車)則輸出結果為[13]〇(14)有以下程序ttincludetypedefstruct{intnum;doubles}REC;voidfunl(RECx){x.num=23;x.s=88.5;}main(){RECa={16,90.0};funl(a);printf("%d\n”,a.num);}程序運行后的輸出結果是[14]〇(15)有以下程序^includefun(intx){if(x/2>0)run(x/2);printf("%d",x);main(){fun(6)jprintf("\n");}程序運行后的輸出結果是[15]〇2009年9月全國計算機等級考試二級C語言筆試參考答案ー、選擇題(1)C(2)BC3)D(4)A(5)B(6)A(7)CC8)B(9)C(10)D(11)D(12)CC13)A(14)B(15)B(16)D(17)C(18)A(19)A(20)B(21)D(22)C(23)A(24)C(25)D(26)B(27)A(28)C(29)C(30)B(31)D(32)A(33)A(34)c(35)A(36)B(37)A(38)D(39)c(40)C?答案僅供參考(10)01123(9)5(8)10(7)1(6)5(5)身份證號(4)多對多(3)需求分析(2)邏輯條件(1)14二、填空題2009年3月二級C語言筆試真題及答案((1)—(10)每小題2分,(11)—(50)每題1分,共60分)下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應位置上,答在試卷上不得分。(1)下列敘述中正確的是A)棧是“先進先出”的線性表B)隊列是“先進先出”的線性表〇循環(huán)隊列是非線性結構D)有序性表既可以采用順序存儲結構,也可以采用鏈式存儲結構(2)支持子程序調用的數據結構是A)棧B)樹〇隊列D)ニ叉樹(3)某ニ叉樹有5個度為2的結點,則該ニ叉樹中的葉子結點數是A)10B)8〇6D)4(4)下列排序方法中,最壞情況下比較次數最少的是A)冒泡排序B)簡單選擇排序〇直接插入排序D)堆排序(5)軟件按功能可以分為:應用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應用軟件的是A)編譯軟件B)操作系統(tǒng)〇教務管理系統(tǒng)D)匯編程序(6)下面敘述中錯誤的是A)軟件測試的目的是發(fā)現錯誤并改正錯誤B)對被調試的程序進行“錯誤定位”是程序調試的必要步驟〇程序調試通常也稱為DebugD)軟件測試應嚴格執(zhí)行測試計劃,排除測試的隨意性(7)耦合性和內聚性是對模塊獨立性度量的兩個標準。下列敘述中正確的是A)提高耦合性降低內聚性有利于提高模塊的獨立性B)降低耦合性提高內聚性有利于提高模塊的獨立性〇耦合性是指ー個模塊內部各個元素間彼此結合的緊密程度D)內聚性是指模塊間互相連接的緊密程度(8)數據庫應用系統(tǒng)中的核心問題是A)數據庫設計B)數據庫系統(tǒng)設計〇數據庫維護D)數據庫管理員培訓(9)有兩個關系R,S如下:由關系R通過運算得到關系S,則所使用的運算為A)選擇B)投影C)插入D)連接(10)將E-R圖轉換為關系模式時,實體和聯(lián)系都可以表示為A)屬性B)鍵C)關系D)域(11)以下選項中合法的標識符是A)1-1B)1—10-11D)1—(12)若函數中有定義語句:intk;,則A)系統(tǒng)將自動給k賦初值〇B)這時k中值無定義〇系統(tǒng)將自動給k賦初值-1D)這時k中無任何值(13)以下選項中,能用作數據常量的是A)0115B)0118C)1.5el.5D)115L(14)設有定義:intx=2;,以下表達式中,值不為6的是x*=x+lx++,2*xx*=(1+x)2*x,x+=2(15)程序段:intx=12;doubley=3.141593;printf("%d%8.6f”,x,y);的輸出結果是123.141593123.141593C)12,3.141593D)123.141593(16)若有定義語句:doublex,y,*px,*py,執(zhí)行了px=&x,py=&y;之后,正確的輸入語句是scanf( ,x,y);scanf(“%f%f”,&x,&y);scanf(w%lf%lew,px,py);scanf(“斷f%lf”,x,y);(17)以下是if語句的基本形式:if(表達式)語句其中“表達式”A)必須是邏輯表達式B)必須是關系表達式〇必須是邏輯表達式或關系表達式D)可以是任意合法的表達式(18)有以下程序#include<stdio.h>main(){intx;scanf("%d",&x);if(x<=3);elseif(x!=10)printf("%d\n",x);)程序運行時,輸入的值在哪個范圍才會有輸出結果A)不等于10的整數B)大于3且不等于10的整數〇大于3或等于10的整數D)小于3的整數(19)有以下程序#includeくstdio.h>Main〇(inta=l,b=2,c=3,d=0;if(a==1&&b++==2)if(b!=2IIc—!=3)printf("%d,%d,%d\n”,a,b,c);elseprintf("%d,%d,%d\n”,a,b,c);elseprintf(a%d,%d,%d\nw,a,b,c);程序運行后的輸出結果是A)1,2,3B)1,3,2C)1,3,3D)3,2,1(20)以下程序中的變量已正確定義for(i=0;i<4;i++,i++for(k=l;kく3;k++)jprintf(*”);程序段的輸出結果是************0?*D)*(21)有以下程序#include<stdio.h>main(){char*s=("ABC);do{printf("%d",*s%10);s++;}while(*s);)注意,字母A的ASCII碼值為65。程序運行后的輸出結果是56706566670567D)ABC(22)設變量已正確定義,以下不能統(tǒng)計出ー行中輸入字符個數(不包含回車符)的程序段是n=0;while((ch=getchar())!='\n')n++;n=0;while(getchar()!='\n')n++;for(n=0;getchar()!='\n';n++);n=0;for(ch=getchar();ch!='\n';n++);(23)有以下程序#include<stdio.h>main(){intal,a2;charcl,c2;scanf("%d%c%d%cw,&al,&cl,&a2,&c2);printf("%d,%c,%d,%cM,&1,cl,a2,c2);)若想通過鍵盤輸入,使得al的值為12,a2的是為34,cl的值為字符a,c2的值為字符b,程序輸出結果是:12,a,34,b,則正確的輸入格式是(以下代表空格,くCR>代表回車)A)12a34b<CR>12a34b<CR>12,a,34,b<CR>12a34b<CR>(24)有以下程序#include<stdio.h>intf(intx,inty){return()y-x)*x);}main(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf("%d\n",d);)程序運行后的輸出結果是109〇8D)7(25)有以下程序#includeくstdio.h>voidfun(char*s){while(*s){if(*s%2==0)printf("%c",*s);s++;))main(){chara[]={"good"};fun(a);printf("\n");)注意:字母a的ASCH碼值為97,程序運行后的輸出結果是dgogodgood(26)有以下程序^include<stdio.h>voidfun(int*a,int*b){int*c;c=a;a=b:b=c;)main(){intx=3,y-5,*P=&x,*q=&y;fun(p,q)jprintf("%d,%d,",*p,*q);fun(&x,&y)jprintf("%d,%d\n”,*p,*q);)程序運行后的輸出結果是3,5,5,33,5,3,5〇5,3,3,5D)5,3,5,3(27)有以下程序^include<stdio.h>viodf(int*p,int*q);main(){intm=l,n=2,*r=&m;f(r,&n)jprintf("%d,%d”,m,n);)voidf(int*p,int*q){p=p+l;*q=*q+l;}程序運行后輸出的結果是1,32,3〇!,4D)1,2(28)以下函數按每行8個輸出數組中的數據voidfun(int*w,intn){inti;for(i=0;i<n;i++)printf("%d",w);printf("\n");)下劃線處應填入的語句是if(i/8==0)print("\n");if(i/8==0)continue:if(i%8==0)print(“\n”);if(i%8==0)continue:(29)若有以下定義intx[10],*pt=x;則對x數組元素的正確應用是*&x[10]*(x+3)*(pt+10)pt+3(30)設有定義:chars[81];inti=10:,以下不能將一行(不超過80個字符)帶有空格的字符串真確讀入的語句或語句組是Agets(s)while((s[i++]=getchar())!="\n":s="、〇":scanf("%

溫馨提示

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

評論

0/150

提交評論