《國(guó)家計(jì)算機(jī)等級(jí)考試二級(jí)c語言真題、答案》2007-2009_第1頁
《國(guó)家計(jì)算機(jī)等級(jí)考試二級(jí)c語言真題、答案》2007-2009_第2頁
《國(guó)家計(jì)算機(jī)等級(jí)考試二級(jí)c語言真題、答案》2007-2009_第3頁
《國(guó)家計(jì)算機(jī)等級(jí)考試二級(jí)c語言真題、答案》2007-2009_第4頁
已閱讀5頁,還剩143頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2007-2009年匯總2009年9月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆C語言程序設(shè)計(jì)(考試時(shí)間90分鐘,滿分100分)ー、選擇題((D—(10)、(21)—(40)每題2分,(11)—(20)每題1分,共70分)(1)下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是A)循環(huán)隊(duì)列B)帶鏈隊(duì)列0ニ叉樹D)帶鏈棧(2)下列數(shù)據(jù)結(jié)果中,能夠按照“先進(jìn)后出”原則存取數(shù)據(jù)的是A)循環(huán)隊(duì)列B)棧0隊(duì)列D)ニ叉樹(3)對(duì)于循環(huán)隊(duì)列,下列敘述中正確的是A)隊(duì)頭指針是固定不變的B)隊(duì)頭指針一定大于隊(duì)尾指針〇隊(duì)頭指針ー定小于隊(duì)尾指針D)隊(duì)頭指針可以大于隊(duì)尾指針,也可以小于隊(duì)尾指針(4)算法的空間復(fù)雜度是指A)算法在執(zhí)行過程中所需要的計(jì)算機(jī)存儲(chǔ)空間B)算法所處理的數(shù)據(jù)量〇算法程序中的語句或指令條數(shù)D)算法在執(zhí)行過程中所需要的臨時(shí)工作單元數(shù)(5)軟件設(shè)計(jì)中劃分模塊的一個(gè)準(zhǔn)則是A)低內(nèi)聚低耦合B)高內(nèi)聚低耦合0低內(nèi)聚高耦合D)高內(nèi)聚高耦合(6)下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)原則的是A)可封裝D)自頂向下0模塊化D)逐步求精(7)軟件詳細(xì)設(shè)計(jì)產(chǎn)生的圖如下:該圖是N-S圖PAD圖0程序流程圖D)E-R圖(8)數(shù)據(jù)庫管理系統(tǒng)是A)操作系統(tǒng)的一部分B)在操作系統(tǒng)支持下的系統(tǒng)軟件0ー種編譯系統(tǒng)D)ー種操作系統(tǒng)(9)在E-R圖中,用來表示實(shí)體聯(lián)系的圖形是A)橢圓圖B)矩形0菱形D)三角形(10)有三個(gè)關(guān)系R,S和T如下:其中關(guān)系T由關(guān)系R和S通過某種操作得到,該操作為A)選擇B)投影C)交D)并(11)以下敘述中正確的是A)程序設(shè)計(jì)的任務(wù)就是編寫程序代碼并上機(jī)調(diào)試B)程序設(shè)計(jì)的任務(wù)就是確定所用數(shù)據(jù)結(jié)構(gòu)〇程序設(shè)計(jì)的任務(wù)就是確定所用算法D)以上三種說法都不完整(12)以下選項(xiàng)中,能用作用戶標(biāo)識(shí)符的是void8_80_0_D)unsigned(13)閱讀以下程序#includemain(){intcase;floatprintF;printf(“請(qǐng)輸入2個(gè)數(shù):");scanf(K%d%f",&case,&pjrintF);printf(w%d%f\n",case,printF);)該程序編譯時(shí)產(chǎn)生錯(cuò)誤,其出錯(cuò)原因是A)定義語句出錯(cuò),case是關(guān)鍵字,不能用作用戶自定義標(biāo)識(shí)符B)定義語句出錯(cuò),printF不能用作用戶自定義標(biāo)識(shí)符〇定義語句無錯(cuò),scanf不能作為輸入函數(shù)使用D)定義語句無錯(cuò),printf不能輸出case的值(14)表達(dá)式:(int)((double)9/2)-(9)%2的值是0345(15)若有定義語句:intx=10;,則表達(dá)式x-=x+x的值為-20-10010(16)有以下程序#includemain(){inta=l,b=0;printf(a%d,w,b=a+b);printf("%d\n",a=2*b);)程序運(yùn)行后的輸出結(jié)果是0,01,0〇3,2D)1,217)設(shè)有定義:inta=l,b=2,c=3;,以下語句中執(zhí)行效果與其它三個(gè)不同的是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)有以下程序4includemain(){intc=0,k;for(k=l;k<3;k++)switch(k){default:c+=kcase2:c++;break;case4:c+=2;break;printf("%d\n",c);)程序運(yùn)行后的輸出結(jié)果是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[]={"012xy"};inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>=,a,&&s[i]<=,z')n++;printf("%d\n",n);)程序運(yùn)行后的輸出結(jié)果是0203D)5(21)有以下程序#includemain(){intn=2,k=O;while(k++&&n++>2);printf(w%d%d\n”,k,n);)程序運(yùn)行后的輸出結(jié)果是0213057D)12(22)有以下定義語句,編譯時(shí)會(huì)出現(xiàn)編譯錯(cuò)誤的是chara='a';chara=,\n';chara=,aa';chara='\x2d';(23)有以下程序#includemain(){charcl,c2;cl='A,+'8'-'4';c2='A'+'8'-'5';printf("%c,%d\nw,cl,c2);}已知字母A的ASCII碼為65,程序運(yùn)行后的輸出結(jié)果是E,68D,69E,DD)輸出無定值(24)有以下程序#includevoidfun(intp)intd=2;p=d++;printf("%d",p);}main()inta=l;fun(a);printf("%d\n",a);}程序運(yùn)行后的輸出結(jié)果是32122122(25)以下函數(shù)findmax擬實(shí)現(xiàn)在數(shù)組中査找最大值并作為函數(shù)值返回,但程序中有錯(cuò)導(dǎo)致不能實(shí)現(xiàn)預(yù)定功能^defineMIN-2147483647intfindmax(intx[],intn){inti,max;for(i=O;i<N;1++)<p=**/>{max=MIN;if(maxreturnmax;)造成錯(cuò)誤的原因是A)定義語句inti,max;中max未賦初值B)賦值語句max=MIN;中,不應(yīng)給max賦MIN值C)語句if(maxD)賦值語句max=MIN;放錯(cuò)了位置(26)有以下程序#includemain(){intm=l,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf("%d,%d,%d,%d\nM,m,n,*p,*q);)程序運(yùn)行后的輸出結(jié)果是1,2,1,21,2,2,1〇2,1,2,1D)2,1,1,2(27)若有定義語句:inta[4][10],*p,*q⑷;且OWiく4,則錯(cuò)誤的賦值是p=aq[i]=a[i]p=a[i]p=&a[2][1](28)有以下程序#include^includemain(){charstr[][20]={w0ne*Worldw,w0ne*Dream!n},*p=str[l];printf("%d,”,strlen(p))jprintf(rt%s\nM,p);)程序運(yùn)行后的輸出結(jié)果是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){caseO:a[i]++;break;casel:a[i]一;}break;case1:a[i[=0;)for(i=0;i<4;i++)printf( ,a[i]);printf("\n");33442050030400304(30)有以下程序#include^includemain(){chara[10]="abed";printf(K%d,%d\n",strlen(a),sizeof(a));)程序運(yùn)行后的輸出結(jié)果是7,44,1008,8D)10,10(31)下面是有關(guān)C語言字符數(shù)組的描述,其中錯(cuò)誤的是A)不可以用賦值語句給字符數(shù)組名賦字符串B)可以用輸入語句把字符串整體輸入給字符數(shù)組〇字符數(shù)組中的內(nèi)容不一定是字符串D)字符數(shù)組只能存放字符串(32)下列函數(shù)的功能是fun(char*a,char*b){while((*b=*a)!=,、〇'){a++,b++;}}A)將a所指字符串賦給b所指空間B)使指針b指向a所指字符串〇將a所指字符串和b所指字符串進(jìn)行比較D)檢査a和b所指字符串中是否有‘'0,(33)設(shè)有以下函數(shù)voidfun(intn,char*s){ }則下面對(duì)函數(shù)指針的定義和賦值均是正確的是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;}程序運(yùn)行以后的輸出結(jié)果是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);}程序運(yùn)行后的輸出結(jié)果是10,6410,1064,1064,64(36)下面結(jié)構(gòu)體的定義語句中,錯(cuò)誤的是TOC\o"1-5"\h\zstruct ord {int x;int y;int z;};struct ord a;struct ord {int x;int y;int z;} struct ord a;struct ord {int x;int y;int z;} a;struct {intx;inty;intz;} a;(37)設(shè)有定義:char*c;,以下選項(xiàng)中能夠使字符型指針c正確指向ー個(gè)字符串的是charstr[卜“string";c=str;scanf("%s",c);c=getchar();*c="string";(38)有以下程序ttinclude^includestructA{inta;charb[10];doublec;};structAf(structAt);main(){structAa={1001,"ZhangDa",1098.0};a=f(a);jprintf("%d,%s,%6.lf\n",a.a,a.b,a.c);structAf(structAt)(t.a=1002;strcpy(t.b,wChangRongw);t.c=1202.0;returnt;)程序運(yùn)行后的輸出結(jié)果是1001,ZhangDa,1098.01001,ZhangDa,1202.01001,ChangRong,1098.01001,ChangRong,1202.0(39)若有以下程序段intr=8;printf(K%d\nw,r?l);輸出結(jié)果是16842(40)下列關(guān)于C語言文件的敘述中正確的是A)文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進(jìn)制文件B)文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件〇文件由數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件D)文件由字符序列組成,其類型只能是文本文件二、填空題(每空2分,共30分)(1)某ニ叉樹有5個(gè)度為2的結(jié)點(diǎn)以及3個(gè)度為1的結(jié)點(diǎn),則該ニ叉樹中共有11】個(gè)結(jié)點(diǎn)。(2)程序流程圖中的菱形框表示的是【2】〇(3)軟件開發(fā)過程主要分為需求分析、設(shè)計(jì)、編碼與測(cè)試四個(gè)階段,其中【3】階段產(chǎn)生“軟件需求規(guī)格說明書。(4)在數(shù)據(jù)庫技術(shù)中,實(shí)體集之間的聯(lián)系可以是ー對(duì)ー或ー對(duì)多或多對(duì)多的,那么“學(xué)生”和“可選課程”的聯(lián)系為【4】〇(5)人員基本信息一般包括:身份證號(hào),姓名,性別,年齡等。其中可以作為主關(guān)鍵字的是【5】。(6)若有定義語句:inta=5;,則表達(dá)式:a++的值是【6】。(7)若有語句doublex=17;inty;,當(dāng)執(zhí)行y=(int)(x/5)%2;之后y的值為【7】〇(8)以下程序運(yùn)行后的輸出結(jié)果是【8】〇4includemain(){intx=20;printf("猊”,〇くXく20);くp="/>printf(“猊ゝn”,〇くX&&X<=""/>(9)以下程序運(yùn)行后的輸出結(jié)果是19】。#includemain(){inta=l,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(u%dn,f);fl=f2;f2=f;)printf("\n");)程序運(yùn)行后的輸出結(jié)果是[10]。(11)有以下程序^includeinta=5;voidfun(intb){inta=10;a+二b;printf(“%d”,a);}main(){intc=20;fun(c);a+=c;printf(tt%d\n99,a);}程序運(yùn)行后的輸出結(jié)果是L11I〇(12)設(shè)有定義:structperson{intID;charname[12];}p;請(qǐng)將scanf(“%d”,[12]);語句補(bǔ)充完整,使其能夠?yàn)榻Y(jié)構(gòu)體變量p的成員ID正確讀入數(shù)據(jù)。(13)有以下程序??includemain(){chara[20]="Howareyou?",b[20];scanf("%s",b);printf("%s%s\n”,a,b);J程序運(yùn)行時(shí)從鍵盤輸入:Howareyou?く回車》則輸出結(jié)果為[13]〇(14)有以下程序??includetypedefstruct{intnum;doubles}REC;voidfunl(RECx){x.num=23;x.s=88.5;}main(){RECa={16,90.0};funl(a);printf(a%d\nw,a.num);程序運(yùn)行后的輸出結(jié)果是[14I〇(15)有以下程序#includefun(intx){if(x/2>0)run(x/2);printf(K%d",x);}main(){fun(6)jprintf("\n");}程序運(yùn)行后的輸出結(jié)果是[15]〇2009年9月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語言筆試參考答案ー、選擇題(1)C(2)B(3)D(4)A(5)B(6)A(7)C(8)B(9)C(10)D(11)D(12)C(13)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)身份證號(hào)(4)多對(duì)多(3)需求分析(2)邏輯條件(1)14二、填空題2009年3月二級(jí)C語言筆試真題及答案((1)—(10)每小題2分,(11)—(50)每題1分,共60分)下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。(1)下列敘述中正確的是A)棧是“先進(jìn)先出”的線性表B)隊(duì)列是“先進(jìn)先出”的線性表C)循環(huán)隊(duì)列是非線性結(jié)構(gòu)D)有序性表既可以采用順序存儲(chǔ)結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)(2)支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是A)棧B)樹〇隊(duì)列D)ニ叉樹(3)某ニ叉樹有5個(gè)度為2的結(jié)點(diǎn),則該ニ叉樹中的葉子結(jié)點(diǎn)數(shù)是A)10B)8〇6D)4(4)下列排序方法中,最壞情況下比較次數(shù)最少的是A)冒泡排序B)簡(jiǎn)單選擇排序C)直接插入排序D)堆排序(5)軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是A)編譯軟件B)操作系統(tǒng)〇教務(wù)管理系統(tǒng)D)匯編程序(6)下面敘述中錯(cuò)誤的是A)軟件測(cè)試的目的是發(fā)現(xiàn)錯(cuò)誤并改正錯(cuò)誤B)對(duì)被調(diào)試的程序進(jìn)行“錯(cuò)誤定位”是程序調(diào)試的必要步驟C)程序調(diào)試通常也稱為DebugD)軟件測(cè)試應(yīng)嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性(7)耦合性和內(nèi)聚性是對(duì)模塊獨(dú)立性度量的兩個(gè)標(biāo)準(zhǔn)。下列敘述中正確的是A)提高耦合性降低內(nèi)聚性有利于提高模塊的獨(dú)立性B)降低耦合性提高內(nèi)聚性有利于提高模塊的獨(dú)立性C)耦合性是指ー個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度D)內(nèi)聚性是指模塊間互相連接的緊密程度(8)數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是A)數(shù)據(jù)庫設(shè)計(jì)B)數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)〇數(shù)據(jù)庫維護(hù)D)數(shù)據(jù)庫管理員培訓(xùn)(9)有兩個(gè)關(guān)系R,S如下:R0回E2□ここ□0EZ□S〇0a000〇コ由關(guān)系R通過運(yùn)算得到關(guān)系S,則所使用的運(yùn)算為A)選擇B)投影C)插入D)連接(10)將E-R圖轉(zhuǎn)換為關(guān)系模式時(shí),實(shí)體和聯(lián)系都可以表示為A)屬性B)鍵C)關(guān)系D)域(11)以下選項(xiàng)中合法的標(biāo)識(shí)符是A)1-1B)1-1C)-11D)1—(12)若函數(shù)中有定義語句:intk;,則A)系統(tǒng)將自動(dòng)給k賦初值。B)這時(shí)k中值無定義〇系統(tǒng)將自動(dòng)給k賦初值ー1D)這時(shí)k中無任何值(13)以下選項(xiàng)中,能用作數(shù)據(jù)常量的是A)0115B)0118C)1.5el.5D)U5L(14)設(shè)有定義:intx=2;,以下表達(dá)式中,值不為6的是x*=x+lx++,2*xx*=(l+x)2*x,x+=2(15)程序段:intx=12;doubley=3.141593;printf(“如?8.6f“,x,y);的輸出結(jié)果是123.141593123.14159312,3.141593123.141593(16)若有定義語句:doublex,y,*px,*py,執(zhí)行了px=&x,py=&y;之后,正確的輸入語句是scanf("%f%f”,x,y);scanf( ,&x,&y);scanf(a%lf%lew,px,py);scanf(“斷f%lf”,x,y);(17)以下是if語句的基本形式:if(表達(dá)式)語句其中“表達(dá)式”A)必須是邏輯表達(dá)式B)必須是關(guān)系表達(dá)式〇必須是邏輯表達(dá)式或關(guān)系表達(dá)式D)可以是任意合法的表達(dá)式(18)有以下程序力include<stdio.h>main(){intx;scanf("%d",&x);if(x<=3);elseif(x!=10)printf(w%d\nw,x);)程序運(yùn)行時(shí),輸入的值在哪個(gè)范圍オ會(huì)有輸出結(jié)果A)不等于10的整數(shù)B)大于3且不等于10的整數(shù)C)大于3或等于10的整數(shù)D)小于3的整數(shù)(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("%d,%d,%d\n”,a,b,c);)程序運(yùn)行后的輸出結(jié)果是1,2,31,3,21,3,33,2,1(20)以下程序中的變量已正確定義for(i=0;i<4;i++,i++for(k=l;k<3;k++);printf(*");程序段的輸出結(jié)果是***************(21)有以下程序#include<stdio.h>main(){char*s=("ABC);do{printf("%dM,*s%10);s++;}while(*s);)注意,字母A的ASCII碼值為65。程序運(yùn)行后的輸出結(jié)果是56706566670567D)ABC(22)設(shè)變量已正確定義,以下不能統(tǒng)計(jì)出ー行中輸入字符個(gè)數(shù)(不包含回車符)的程序段是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,程序輸出結(jié)果是:12,a,34,b,則正確的輸入格式是(以下代表空格,くCR>代表回車)12a34b<CR>12a34b<CR>12,a,34,b<CR>12a34b<CR>(24)有以下程序ttinclude<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);)程序運(yùn)行后的輸出結(jié)果是A)10B)9C)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("\nw);)注意:字母a的ASCII碼值為97,程序運(yùn)行后的輸出結(jié)果是dgogodgood(26)有以下程序tfinclude<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);printf("%d,%d,n,*p,*q);fun(&x,&y);printf("%d,%d\nM,*p,*q);程序運(yùn)行后的輸出結(jié)果是3,5,5,33,5,3,55,3,3,55,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;}程序運(yùn)行后輸出的結(jié)果是1,32,3〇!,4D)1,2(28)以下函數(shù)按每行8個(gè)輸出數(shù)組中的數(shù)據(jù)voidfun(int*w,intn){inti;for(i=0;i<n;i++)printf("%d",w);printf(“\n”);下劃線處應(yīng)填入的語句是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;則對(duì)x數(shù)組元素的正確應(yīng)用是*&x[10]*(x+3)*(pt+10)pt+3(30)設(shè)有定義:chars[81];inti=10;,以下不能將一行(不超過80個(gè)字符)帶有空格的字符串真確讀入的語句或語句組是Agets(s)while((s[i++]=getchar())!="\n";s="、〇”;scanf("%s",s);do{scanf(w%cM,&s);}while(s[i++]!=w\n");s="、?!?(31)有以下程序^include<stdio.h>main(){char*a[]={"abed”,"ef”,"gh”,"ijk"};intI;for(i=0;i<4;i++)printf("%cw,*a);程序運(yùn)行后輸出的結(jié)果是aegidfhkabedabedefghijk(32)以下選項(xiàng)中正確的語句組是chars[];s=MBOOK!M;char*s;s={"BOOK!”};chars[10];s=wBOOK!”;char*s;s="BOOK!”;(33)有以下程序^include<stdio.h>intfun{intx,inty}{if(x=y)return(x);elsereturen((x+y)/2))main(){inta=4,b=5,c=6;printf("%d\n”,fun(2*a,fun(b,c))))程序運(yùn)行后的輸出結(jié)果是3608D)12(34)設(shè)函數(shù)中有整型變量n,為保證其在未賦值的情況下初值為〇,應(yīng)選擇的存儲(chǔ)類別是autoregisterstaticauto或register(35)有以下程序#include<stdio.h>intb=2;intfun(int*k){b=*k+b;return(b);}main(){inta[10]={l,2,3,4,5,6,7,8},I;for(i=2;iく4;i++){b=fun(&a)+b;printf("%d",b);}printf("\n");)程序運(yùn)行后輸出的結(jié)果是101281010281016(36)有以下程序#include<stdio.h>■definePT3.5;■defineS(x)PT*x*x;mian(){inta=l,b=2;printf(“%4.lf\n”,S(a+b));}程序運(yùn)行后輸出的結(jié)果是14.031.57.5D)程序有錯(cuò)無輸出結(jié)果(37)有以下程序#include<stdio.h>structord{intx,y;}dt[2]={1,2,3,4):main(){structord*p=dt;printf("%d,”,++p->x);printf("%d\n",++p->y);)程序的運(yùn)行結(jié)果是1,22,33,44,1(38)設(shè)有宏定義:^includeIsDIV(k,n)((k%n==l)?1:0且變量m已正確定義并賦值,則宏調(diào)用:IsDIV(m,5)&&IsDIV(m,7)為真時(shí)所要表達(dá)的是A)判斷m是否能被5或者7整除B)判斷m是否能被5和7整除〇判斷m被5或者7整除是否余1D)判斷m被5和7整除是否余1(39)有以下程序升include<stdio.h>main(){inta=5,b=l,t;t=(a?2|b);printf(*%d\nM,t)程序運(yùn)行后的輸出結(jié)果是211161(40)有以下程序^include<stdio.h>main(){EILE*f;f=fopen("filea,txt"w");fprintf(f,"abc");fclose(f);)若文本文件filea.txt中原有內(nèi)容為:hello,則運(yùn)行以上程序后,文件filea.txt中的內(nèi)容為helloabcabcloabcabchello二、填空題(每空2分,共30分)請(qǐng)將每一個(gè)空的正確答案寫在答題卡【1】至【15】序號(hào)的橫線上,答在試卷上不得分。(1)假設(shè)ー個(gè)長(zhǎng)度為50的數(shù)組(數(shù)組元素的下標(biāo)從0到49)作為棧的存儲(chǔ)空間,棧底指針bottom指向棧底元素,棧頂指針top指向棧頂元素,如果bottom=49,top=30(數(shù)組下標(biāo)),則棧中具有【1】個(gè)元素。(2)軟件測(cè)試可分為白盒測(cè)試和黑盒測(cè)試。基本路徑測(cè)試屬于【2】測(cè)試。(3)符合結(jié)構(gòu)化原則的三種基本控制結(jié)構(gòu)是:選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和[3I。(4)數(shù)據(jù)庫系統(tǒng)的核心是14】(5)在E-R圖中,圖形包括矩形框、菱形框、橢圓框。其中表示實(shí)體聯(lián)系的是[5]框。(6)表達(dá)式(int)((double)(5/2)+2.5)的值是[6](7)若變量x、y已定義為int類型且x的值為99,y的值為9,請(qǐng)將輸出語句printf([7],x/y);補(bǔ)充完整,使其輸出的計(jì)算結(jié)果形式為:x/y=ll(8)有以下程序^include<stdio.h>main(){charcl,c2;scanf("&c",&cl);while(cl<65||cl>90)scanf("&c",&cl);c2=cl+32;printf(rt&c,&c\n”,cl,c2);)程序運(yùn)行輸入65回車后,能否輸出結(jié)果、結(jié)束運(yùn)行(請(qǐng)回答能或不能)【8】(9)以下程序運(yùn)行后的輸出結(jié)果是[9】#include<stdio.h>main(){intk=l,s=0;do{if{((k&2)!=0)continue;s+=k;k++;}while(k)10);printf("s=&d/n”,s);)(10)下列程序運(yùn)行時(shí),若輸入labcedl2dfく回車>輸出結(jié)果為[10]^include<stdio.h>main(){chara=0,ch;while((ch=getchar())!=,\n,){if(a&2!=0&&(ch>,a,&&chくニ’z'))ch=ch-匕‘+'A';a++;putchar(ch);)printf(“\n");}(ID有以下程序,程序執(zhí)行后,輸出結(jié)果是【11】^include<stdio.h>voidfun(int*a){a[0=a[l];]}main(){inta[10]={10,9,8,7,6,5,4,3,2,l},i;for(i=2;i>=0;i-)fun{&a};for(i=0;i<10;i++)printf("&d”,a);printf(w\n");(12)請(qǐng)將以下程序中的函數(shù)聲明語句補(bǔ)充完整^include<stdio.h>int[12]?main(){intx,y,(*p)();p=max;printf("&d\n",&x,&y);)Intmax(inta,intb){return(a>b/a:b);}(13)以下程序用來判斷指定文件是否能正常打開,請(qǐng)?zhí)羁?include<stdio.h>main(){FILE*fp;if(((fp=fopen(“test,txt","r"))=[13]))printf(“未能打開文件!'n”);elseprintf("文件打開成功!\n”);(14)下列程序的運(yùn)行結(jié)果為[14]#include<stdio.h>^include<string.h>structA{inta;charb[10];doublec;};voidf(structA*t);mainO{structAa=(1001,nZhangDa”,1098,0);f(&a);printf(“&d,&s,&6,if\n”,a.a,a.b,a.c);voidf(structA*t){strcpy(t->b,nChangRong");)(15)以下程序把三個(gè)NODETYPE型的變量鏈接成一個(gè)簡(jiǎn)單的鏈表,并在while循環(huán)中輸出鏈表結(jié)點(diǎn)數(shù)據(jù)域中的數(shù)據(jù),請(qǐng)?zhí)羁誸tinclude<stdio.h>structnode{intdata;structnode*next;};typedefstructnodeNODETYPE;main(){NODETYPEa,b,c,*h,*p;data=10;b.data=20;c.data=30;h=&a;next=&b;b.next=&c;c.next='、〇';P=h;while(p){printf(w&d",p->data);[15];})答案:選擇題:1~10:DACDCABABC1T20:CBDDACDBCB21~30:CDABABACBC31~40:ADBCCCBDAC填空題:(1)19(2)白盒(3)順序結(jié)構(gòu)(4)數(shù)據(jù)庫管理系統(tǒng)(DBMS)(5)菱形(6)4(7)"x/y=%d"(8)能(9)s=0(10)lAbCeDf2dF(11)7777654321(12)max(inta,intb)(13)NULL(14)1001,ChangRong,1098.0(15)p=p—>next2008年9月二級(jí)C語言筆試真題及答案(考試時(shí)間:120分鐘,滿分100分)ー、選擇題((1)?(10)^(21)?(40)每題2分,(11)?(20)每題1分,70分)下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)填涂在答題卡相應(yīng)位置上,答在試卷上不得分。(1)一個(gè)棧的初始狀態(tài)為空?,F(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棧的順序是()。A)12345ABCDEB)EDCBA54321C)ABCDE12345D)54321EDCBA(2)下列敘述中正確的是()。A)循環(huán)隊(duì)列有隊(duì)頭和隊(duì)尾兩個(gè)指針,因此,循環(huán)隊(duì)列是非線性結(jié)構(gòu)B)在循環(huán)隊(duì)列中,只需要隊(duì)頭指針就能反映隊(duì)列中元素的動(dòng)態(tài)變化情況〇在循環(huán)隊(duì)列中,只需要隊(duì)尾指針就能反映隊(duì)列中元素的動(dòng)態(tài)變化情況D)循環(huán)隊(duì)列中元素的個(gè)數(shù)是由隊(duì)頭指針和隊(duì)尾指針共同決定(3)在長(zhǎng)度為お的有序線性表中進(jìn)行二分查找,最壞情況下需要比較的次數(shù)是(A)0(a)B)0(/72)00(log2/7)D)0(/?log2/7)(4)下列敘述中正確的是()。A)順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的B)順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)C)順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表D)鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間(5)數(shù)據(jù)流圖中帶有箭頭的線段表示的是()〇A)控制流B)事件驅(qū)動(dòng)〇模塊調(diào)用D)數(shù)據(jù)流(6)在軟件開發(fā)中,需求分析階段可以使用的工具是()〇A)N-S圖B)DFD圖C)PAD圖D)程序流程圖(7)在面向?qū)ο蠓椒ㄖ校粚儆凇皩?duì)象”基本特點(diǎn)的是()〇A)一致性B)分類性〇多態(tài)性D)標(biāo)識(shí)唯一性一間宿舍可住多個(gè)學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是()oA)一對(duì)ーB)ー對(duì)多〇多對(duì)ーD)多對(duì)多(9)在數(shù)據(jù)管理技術(shù)發(fā)展的三個(gè)階段中,數(shù)據(jù)共享最好的是()0A)人工管理階段B)文件系統(tǒng)階段C)數(shù)據(jù)庫系統(tǒng)階段D)三個(gè)階段相同(10)有三個(gè)關(guān)系R、S和T如下:RSTABBCABCm113m13n235由關(guān)系R和S通過運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。A)笛卡爾積B)交C)并D)自然連接(11)以下敘述中正確的是()〇A)C程序的基本組成單位是語句B)C程序中的每一行只能寫一條語句二級(jí)C語言程序設(shè)計(jì)試卷第2頁(共9頁)〇簡(jiǎn)單C語句必須以分號(hào)結(jié)束D)C語句必須在一行內(nèi)寫完(12)計(jì)算機(jī)能直接執(zhí)行的程序是()〇A)源程序B)目標(biāo)程序〇匯編程序D)可執(zhí)行程序(13)以下選項(xiàng)中不能作為C語言合法常量的是()〇A)'cd'B)0.le+6C)”\a"D)'\0U'(14)以下選項(xiàng)中正確的定義語句是()〇A)doublea;b;B)doublea=b=7;C)doublea=7,b=7;D)double,a,b;(15)以下不能正確表示代數(shù)式2めcd的C語言表達(dá)式是()〇A)2*a*b/c/dB)a*b/c/d*2C)a/c/d*b*2D)2*a*b/c*dC源程序中不能表示的數(shù)制是()。A)二進(jìn)制B)ハ進(jìn)制C)十進(jìn)制D)十六進(jìn)制(17)若有表達(dá)式(w)?(—x):(++y),則其中與w等價(jià)的表達(dá)式是()〇A)w==lB)w==0C)w!=lD)w!=0(18)執(zhí)行以下程序段后,w的值為()〇intw='A',x=14,y=15;w=((xIIy)&&(wぐa'));A)-1B)NULLC)1D)0(19)若變量已正確定義為int型,要通過語句scanf("刎,%d,%d",&a,&b,&c);給a賦值1、給b賦值2、給c賦值3,以下輸入形式中錯(cuò)誤的是(〇代表一個(gè)空格符)()=A)ddd1,2,3く回車〉B)1d2d3く回車〉C)l,ddd2,ddd3く回車)D)1,2,3く回車)(20)有以下程序段inta,b,c;a=10;b=50;c=30;if(a>b)a=b,b=c;c=a;printf("a=%db=%dc=%d\n”,a,b,c);程序的輸出結(jié)果是()。A)a=10b=50c=10B)a=10b=50c=30C)a=10b=30c=10D)a=50b=30c=50(21)若有定義語句:intmロ={5,4,3,2,1},i=4;,則下面對(duì)m數(shù)組元素的引用中錯(cuò)誤的是()〇A)m[―i]B)m[2*2]C)m[m[0]]D)m[m[i]](22)下面的函數(shù)調(diào)用語句中func函數(shù)的實(shí)參個(gè)數(shù)是()〇func(f2(vl,v2),(v3,v4,v5),(v6,max(v7,v8)));A)3B)4C)5D)8(23)若有定義語句:doublex[5]={l.0,2.0,3,0,4.0,5.0},*p=x;則錯(cuò)誤引用X數(shù)組元素的是()〇A)*pB)x[5]C)*(p+l)D)*x(24)若有定義語句:chars[10]="1234567\0、〇”;,則strlen(s)的值是()〇A)7B)8C)9D)10(25)以下敘述中錯(cuò)誤的是()〇A)用戶定義的函數(shù)中可以沒有return語句B)用戶定義的函數(shù)中可以有多個(gè)return語句,以便可以調(diào)用一次返回多個(gè)函數(shù)值〇用戶定義的函數(shù)中若沒有return語句,則應(yīng)當(dāng)定義函數(shù)為void類型二級(jí)C語言程序設(shè)計(jì)試卷第3頁(共9頁)D)函數(shù)的return語句中可以沒有表達(dá)式(26)以下關(guān)于宏的敘述中正確的是()〇A)宏名必須用大寫字母表示B)宏定義必須位于源程序中所有語句之前〇宏替換沒有數(shù)據(jù)類型限制D)宏調(diào)用比函數(shù)調(diào)用耗費(fèi)時(shí)間(27)有以下程序#include<

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論