2006計(jì)算機(jī)等級(jí)考試二級(jí)C筆試_第1頁
2006計(jì)算機(jī)等級(jí)考試二級(jí)C筆試_第2頁
2006計(jì)算機(jī)等級(jí)考試二級(jí)C筆試_第3頁
2006計(jì)算機(jī)等級(jí)考試二級(jí)C筆試_第4頁
2006計(jì)算機(jī)等級(jí)考試二級(jí)C筆試_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

全國計(jì)算機(jī)等級(jí)考試教程

C語言程序設(shè)計(jì)(二級(jí))煙臺(tái)大學(xué)1一、選擇題((1)一(10)每題2分,(11)一(50)每題1分,共60分)下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。(1)下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的是A)自頂向下B)逐步求精C)模塊化D)可復(fù)用2(2)兩個(gè)或兩個(gè)以上模塊之間關(guān)聯(lián)的緊密程度稱為A)耦合度B)內(nèi)聚度C)復(fù)雜度D)數(shù)據(jù)傳輸特性(3)下列敘述中正確的是A)軟件測(cè)試應(yīng)該由程序開發(fā)者來完成B)程序經(jīng)調(diào)試后一般不需要再測(cè)試C)軟件維護(hù)只包括對(duì)程序代碼的維護(hù)D)以上三種說法都不對(duì)(4)按照“后進(jìn)先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是A)隊(duì)列B)棧C)雙向鏈表D)二叉樹3(5)下列敘述中正確的是A)線性鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)B)棧與隊(duì)列是非線性結(jié)構(gòu)C)雙向鏈表是非線性結(jié)構(gòu)D)只有根結(jié)點(diǎn)的二叉樹是線性結(jié)構(gòu)(6)對(duì)如下二叉樹,進(jìn)行后序遍歷的結(jié)果為A)ABCDEFB)DBEAFCC)ABDECFD)DEBFCAABCDEF4(7)在深度為7的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為A)32B)31C)64D)63(8)“商品”與“顧客”兩個(gè)實(shí)體集之間的聯(lián)系一般是A)一對(duì)一B)一對(duì)多C)多對(duì)一D)多對(duì)多(9)在E-R圖中,用來表示實(shí)體的圖形是A)矩形B)橢圓形C)菱形D)三角形5(10)數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是A)DB包含DBS和DBMSB)DBMS包含DB和DBSC)DBS包含DB和DBMSD)沒有任何關(guān)系(11)以下不合法的用戶標(biāo)識(shí)符是A)j2_KEYB)DoubleC)4dD)_8_(12)以下不合法的數(shù)值常量是A)011B)1e1C)8.0E0.5D)0xabcd6(13)以下不合法的字符常量是A)'\018'B)'\"'C)'\\'D)'\xcc‘(14)表達(dá)式3.6-5/2+1.2+5%2的值是A)4.3B)4.8C)3.3D)3.8(15)以下能正確定義字符串的語句是A)charstr[]={'\064'};B)charstr="\x43";C)charstr='';D)charstr[]="\0";7(16)以下數(shù)組定義中錯(cuò)誤的是A)intx[][3]={0};B)intx[2][3]={{l,2},{3,4},{5,6}};C)intx[][3]={{l,2,3},{4,5,6}};D)intx[2][3]={l,2,3,4,5,6};(17)若要求從鍵盤讀入含有空格字符的字符串,應(yīng)使用函數(shù)A)getc()B)gets()C)getchar()D)scanf()8(18)以下四個(gè)程序中,完全正確的是A)#include<stdio.h>main();{/*programming*/printf("programming!\n");}B)#include<stdio.h>main(){/*/programming/*/printf("programming!\n");}C)#include<stdio.h>main(){/*/*programming*/*/printf("programming!\n");}D)#include<stdio.h>main(){/*programming*/printf("programming!\n");}9(19)若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語句是A)switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}B)switch((int)x){case1:printf("*\n");case2:printf("**\n");}C)switch(a+b){case1:printf("*\n");case2+1:printf("**\n");}D)switch(a+b){case1:printf("*\n");casec:printf("**\n");}10(20)若各選項(xiàng)中所用變量已正確定義,函數(shù)fun中通過return語句返回一個(gè)函數(shù)值,以下選項(xiàng)中錯(cuò)誤的程序是A)main(){......x=fun(2,10);......}floatfun(inta,intb){......}B)floatfun(inta,intb){......}main(){......x=fun(i,j);......}C)floatfun(int,int);main(){......x=fun(2,10);......}floatfun(inta,intb){......}D)main(){floatfun(int,int);......x=fun(2,10);......}floatfun(inta,intb){......}11(21)在以下給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是A)(!E==0)B)(E>0||E<0)C)(E==0)D)(E!=0)(22)要求通過while循環(huán)不斷讀入字符,當(dāng)讀入字母N時(shí)結(jié)束循環(huán)。若變量已正確定義,以下正確的程序段是A)while((ch=getchar())!='N')printf("%c",ch);B)while(ch=getchar()!='N')printf("%c",ch);C)while(ch=getchar()=='N')printf("%c",ch);D)while((ch=getchar())=='N')printf("%c",ch);12(23)已定義以下函數(shù)intfun(int*p){return*p;}fun函數(shù)返回值是A)不確定的值B)一個(gè)整數(shù)C)形參P中存放的值D)形參P的地址值(24)若有說明語句:double*p,a;則能通過scanf語句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是A)*p=&a;scanf("%1f",p);B)*p=&a;scanf("%f",p);C)p=&a;scanf("%1f",*p);D)p=&a;scanf("%1f",p);13(25)現(xiàn)有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針p、q、r分別指向一個(gè)鏈表中連續(xù)的三個(gè)結(jié)點(diǎn)。structnode{chardata;structnode*next;}*p,*q,*r;現(xiàn)要將q和r所指結(jié)點(diǎn)交換前后位置,同時(shí)要保持鏈表的連續(xù),以下不能完成此操作的語句是A)q->next=r->next;p->next=r;r->next=q;B)p->next=r;q->next=r->next;r->next=q;C)q->next=r->next;r->next=q;p->next=r;D)r->next=q;p->next=r;q->next=r->next;ABCpqr14(26)有以下程序段structst{intx;int*y;}*pt;inta[]={l,2},b[]={3,4};structstc[2]={10,a,20,b};pt=c;以下選項(xiàng)中表達(dá)式的值為11的是A)*pt->yB)pt->xC)++pt->xD)(pt++)->x(27)設(shè)fp為指向某二進(jìn)制文件的指針,且已讀到此文件末尾,則函數(shù)feof(fp)的返回值為A)EOFB)非0值C)0D)NULL(28)設(shè)有以下語句inta=1,b=2,c;c=a^(b<<2);執(zhí)行后,c的值為A)6B)7C)8D)915(29)有以下程序#include<stdio.h>main(){charc1,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);putchar(c2);printf("%c%c\n",c5,c6);}程序運(yùn)行后,若從鍵盤輸入(從第1列開始)123<回車>45678<回車>則輸出結(jié)果是A)1267B)1256C)1278D)124516(30)有以下程序main(){inty=10;while(y--);printf("y=%d\n",y);}程序執(zhí)行后的輸出結(jié)果是A)y=0B)y=-1C)y=1D)while構(gòu)成無限循環(huán)17(31)有以下程序main(){inta=0,b=0,c=0,d=0;if(a=1)b=1;c=2;elsed=3;printf("%d,%d,%d,%d\n",a,b,c,d);}程序輸出A)0,1,2,0B)0,0,0,3C)1,1,2,0D)編譯有錯(cuò)18(32)有以下程序main(){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}printf("x=%d\n",x);}程序執(zhí)行后的輸出結(jié)果是A)x=4B)x=8C)x=6D)x=1219(33)有以下程序intfun1(doublea){returna*=a;}intfun2(doublex,doubley){doublea=0,b=0;a=fun1(x);b=fun1(y);return(int)(a+b);}main(){doublew;w=fun2(1.1,2.0);}程序執(zhí)行后變量w中的值是A)5.21B)5C)5.0D)0.020(34)有以下程序main(){inti,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++)printf("%d",t[2-i][i]);}程序執(zhí)行后的輸出結(jié)果是A)753B)357C)369D)75121(35)有以下程序fun(charp[][10]){intn=0,i;for(i=0;i<7;i++)if(p[i][0]=='T')n++;returnn;}main(){charstr[][10]={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"};printf("%d\n",fun(str));}程序執(zhí)行后的輸出結(jié)果是A)1B)2C)3D)022(36)有以下程序main(){inti,s=0,t[]={l,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf("%\n",s);}程序執(zhí)行后的輸出結(jié)果是A)45B)20C)25D)3623(37)有以下程序voidfun1(char*p){char*q;q=p;while(*q!='\0'){(*q)++;q++;}}main(){chara[]={"Program"),*p;p=&a[3];fun1(p);printf("%s\n",a);}程序執(zhí)行后的輸出結(jié)果是A)ProhsbnB)PrphsbnC)ProgsbnD)Program24(38)有以下程序voids*x,char*y){chart;t=*x;*x=*y;*y=t;}main(){char*s1="abc",*s2="123";s,s2);printf("%s,%s\n",s1,s2);}程序執(zhí)行后的輸出結(jié)果是A)123,abcB)abc,123C)1bc,a23D)321,cba25(39)有以下程序intfun(intn){if(n==1)return1;elsereturn(n+fun(n-1));}main(){intx;scanf("%d",&x);x=fun(x);printf("%d\n",x);}執(zhí)行程序時(shí),給變量X輸入10,程序的輸出結(jié)果是A)55B)54C)65D)4526(40)有以下程序intfun(intx[],intn){staticintsum=0,i;for(i=0;i<n;i++)sum+=x[i];returnsum;}main(){inta[]={1,2,3,4,5},b[]={6,7,8,9},s=0;s=fun(a,5)+fun(b,4);printf("%d\n",s);}程序執(zhí)行后的輸出結(jié)果是A)45B)50C)60D)5527(41)有以下程序main(){union{charch[2];intd;}s;s.d=0x4321;printf("%x,%x\n",s.ch[0],s.ch[1]);}在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結(jié)果是A)21,43B)43,21C)43,00D)21,0028(42)有以下程序main(){char*p[]={"3697","2584"};inti,j;longnum=0;for(i=0;i<2;i++){j=0;while(p[i][j]!='\0'){if((p[i][j]-'0')%2)num=10*num+p[i][j]-'0';j+=2;}}printf("%d\n",num);}程序執(zhí)行后的輸出結(jié)果是A)35B)37C)39D)397529(43)執(zhí)行以下程序后,test.txt文件的內(nèi)容是(若文件能正常打開)#include<stdio.h>main(){;char*s1="Fortran",*s2="Basic";if((fp=fopen("test.txt","wb"))==NULL){printf("Can'topentest.txtfile\n");exit(1);}fwrite(s1,7,1,fp);/*把從地址s1開始的7個(gè)字符寫到fp所指文件中*/fseek(fp,0L,SEEK_SET);/*文件位置指針移到文件開頭*/fwrite(s2,5,1,fp);fclose(fp);}A)BasicanB)BasicFortranC)BasicD)FortranBasic30(44)以下敘述中錯(cuò)誤的是A)C語言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序B)C程序經(jīng)過編譯、連接步驟之后才能形成一個(gè)真正可執(zhí)行的二進(jìn)制機(jī)器指令文件C)用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個(gè)文本文件中D)C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令(45)以下敘述中錯(cuò)誤的是A)算法正確的程序最終一定會(huì)結(jié)束B)算法正確的程序可以有零個(gè)輸出C)算法正確的程序可以有零個(gè)輸入D)算法正確的程序?qū)τ谙嗤妮斎胍欢ㄓ邢嗤慕Y(jié)果31(46)以下敘述中錯(cuò)誤的是A)C程序必須由一個(gè)或一個(gè)以上的函數(shù)組成B)函數(shù)調(diào)用可以作為一個(gè)獨(dú)立的語句存在C)若函數(shù)有返回值,必須通過return語句返回D)函數(shù)形參的值也可以傳回給對(duì)應(yīng)的實(shí)參(47)設(shè)有以下定義和語句charstr[20]="Program",*p;p=str;則以下敘述中正確的是A)*p與str[0]的值相等B)str與p的類型完全相同C)str數(shù)組長(zhǎng)度和p所指向的字符串長(zhǎng)度相等D)數(shù)組str中存放的內(nèi)容和指針變量p中存放的內(nèi)容相同32(48)以下敘述中錯(cuò)誤的是A)C程序中的#include和#define行均不是C語句B)除逗號(hào)運(yùn)算符外,賦值運(yùn)算符的優(yōu)先級(jí)最低C)C程序中j++;是賦值語句D)C程序中,+、-、*、/、%號(hào)是算術(shù)運(yùn)算符,可用于整型和實(shí)型數(shù)的運(yùn)算(49)以下敘述中正確的是A)預(yù)處理命令行必須位于C源程序的起始位置B)在C語言中,預(yù)處理命令行都以"#"開頭C)每個(gè)C程序必須在開頭包含預(yù)處理命令行:#include<stdio.h>D)C語言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能(50)以下敘述中錯(cuò)誤的是A)可以通過typedef增加新的類型B)可以用typedef將已存在的類型用一個(gè)新的名字來代表C)用typedef定義新的類型名后,原有類型名仍有效D)用typedef可以為各種類型起別名,但不能為變量起別名33二、填空題(每空2分,共40分)請(qǐng)將每一個(gè)空的正確答案寫在答題卡【1】至【20】序號(hào)的橫線上,答在試卷上不得分。(1)對(duì)長(zhǎng)度為10的線性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為【1】。(2)在面向?qū)ο蠓椒ㄖ?,?】描述的是具有相似屬性與操作的一組對(duì)象。(3)在關(guān)系模型中,把數(shù)據(jù)看成是二維表,每一個(gè)二維表稱為一個(gè)【3】。(4)程序測(cè)試分為靜態(tài)分析和動(dòng)態(tài)測(cè)試。其中【4】是指不執(zhí)行程序,而只是對(duì)程序文本進(jìn)行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯(cuò)誤。(5)數(shù)據(jù)獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱為【5】。(6)若變量a,b已定義為int類型并賦值21和55,要求用printf函數(shù)以a=21,b=55的形式輸出,請(qǐng)寫出完整的的輸出語句【6】。34(7)以下程序用于判斷a、b、c能否構(gòu)成三角形,若能,輸出YES,否則輸出NO。當(dāng)給a、b、c輸入三角形三條邊長(zhǎng)時(shí),確定a、b、c能構(gòu)成三角形的條件是需同時(shí)滿足三個(gè)條件:a+b>c,a+c>b,b+c>a。請(qǐng)?zhí)羁?。main(){floata,b,c;scanf("%f%f%f",&a,&b,&c);if(【7】)printf("YES\n");/*a、b、c能構(gòu)成三角形*/elseprintf("NO\n");/*a、b、c不能構(gòu)成三角形*/}35(8)以下程序的輸出結(jié)果是【8】。main(){inta[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0;for(i=0;i<3;i++)s+=a[i][i]+a[i][3-i-1];printf("%d\n",s);}36(9)當(dāng)運(yùn)行以下程序時(shí),輸入abcd,程序的輸出結(jié)果是:【9】insert(charstr[]){inti;i=strlen(str);while(i>0){str[2*i]=str[i];str[2*i-1]='*';i--;}printf("%s\n",str);}main(){charstr[40];scanf("%s",str);insert(str);}37(10)下面程序的運(yùn)行結(jié)果是:【10】fun(intt[],intn){inti,m;if(n==1)returnt[0];elseif(n>=2){m=fun(t,n-1);returnm;}}main(){inta[]={11,4,6,3,8,2,3,5,9,2};printf("%d\n",fun(a,10));}38(11)現(xiàn)有兩個(gè)C程序文件T18.c和myfun.c同在TC系統(tǒng)目錄(文件夾)下,其中T18.c文件如下:#include<stdio.h>#include"myfun.c"main(){fun();printf("\n");}myfun.c文件如下:voidfun(){chars[80],c;intn=0;while((c=getchar())!='\n')s[n++]=c;n--;while(n>=0)printf("%c",s[n--]);}當(dāng)編譯連接通過后,運(yùn)行程序T18時(shí),輸入Thank!則輸出結(jié)果是:【11】。39(12)以下函數(shù)fun的功能是返回str所指字符串中以形參c中字符開頭的后續(xù)字符串的首地址,例如:str所指字符串為:Hello!,c中的字符為e,則函數(shù)返回字符串:ello!的首地址。若str所指字符串為空串或不包含c中的字符,則函數(shù)返回NULL。請(qǐng)?zhí)羁铡har*fun(char*str,charc){intn=0;char*p=str;if(p!=NULL)while(p[n]!=c&&p[n]!='\0')n++;if(p[n]=='\0')ret

溫馨提示

  • 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)論