



版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2006年4月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言筆試試卷-、選擇題((1)—(10)每題2分,(11)--(50)每題1分,共60分)下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫(xiě)在答題卡相應(yīng)位置上,答在試卷上不得分。(1)下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的是A)自頂向下B)逐步求精C)模塊化D)可復(fù)用(2)兩個(gè)或兩個(gè)以上模塊之間關(guān)聯(lián)的緊密程度稱(chēng)為A)耦合度B)內(nèi)聚度C)復(fù)雜度D)數(shù)據(jù)傳輸特性(3)下列敘述中正確的是A)軟件測(cè)試應(yīng)該由程序開(kāi)發(fā)者來(lái)完成B)程序經(jīng)調(diào)試后一般不需要再測(cè)試0軟件維護(hù)只包括對(duì)程序代碼的維護(hù)D)以上三種說(shuō)法都不對(duì)(4)按照“后進(jìn)先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是A)隊(duì)列B)棧C)雙向鏈表D)二叉樹(shù)(5)下列敘述中正確的是A)線(xiàn)性鏈表是線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)B)棧與隊(duì)列是非線(xiàn)性結(jié)構(gòu)C)雙向鏈表是非線(xiàn)性結(jié)構(gòu)D)只有根結(jié)點(diǎn)的二義樹(shù)是線(xiàn)性結(jié)構(gòu)(6)對(duì)如下二叉樹(shù)ABDECF進(jìn)行后序遍歷的結(jié)果為A)ABCDEFB)DBEAFCC)ABDECFD)DEBFCA(7)在深度為7的滿(mǎn)二叉樹(shù)中,葉子結(jié)點(diǎn)的個(gè)數(shù)為A)32B)31O64D)63(8)“商品”與“顧客”兩個(gè)實(shí)體集之間的聯(lián)系一般是A)一對(duì)一B)一對(duì)多C)多對(duì)一D)多對(duì)多(9)在E-R圖中,用來(lái)表示實(shí)體的圖形是A)矩形B)橢圓形C)菱形D)三角形(10)數(shù)據(jù)庫(kù)(10)數(shù)據(jù)庫(kù)DB、數(shù)據(jù)庫(kù)系統(tǒng)DBS、數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS之間的關(guān)系是A)DB包含DBS和DBMSA)DB包含DBS和DBMSB)DBMS包含DB和DBSC)DBS包含DB和DBMSD)沒(méi)有任何關(guān)系(11)以下不合法的用戶(hù)標(biāo)識(shí)符是A)j2_KEYB)DoubleC)4dD).8A)j2_KEYB)DoubleC)4dD).8(12)(12)以卜.不合法的數(shù)值常量是A)011B)lelC)8.0E0.5A)011B)lelC)8.0E0.5D)Oxabcd(13)(13)以下不合法的字符常量是A)'\018,A)'\018, B)'\O'\\D)'\xcc(14)(14)表達(dá)式3.6-5/2+1.2+5%2的值是A)4.3B)4.8A)4.3B)4.803.3D)3.8(15)(15)以卜能正確定義字符串的語(yǔ)句是A)charstr口={,\A)charstr口={,\064z};B)charstr="kx43";C)charstr=";D)charstr[]="\0(16)以下數(shù)組定義中錯(cuò)誤的是A)intx[][3]={0};B)intx[2][3]={{1,2},{3,4},{516});Ointx[][3]={{1,2,(16)以下數(shù)組定義中錯(cuò)誤的是A)intx[][3]={0};B)intx[2][3]={{1,2},{3,4},{516});Ointx[][3]={{1,2,3},{4,5,6));D)intx[2][3]={1,2,3,4,5,6);(17)若要求從鍵盤(pán)讀入含有空格字符的字符串,應(yīng)使用函數(shù)A)getcO B)gets()(18)以下四個(gè)程序中,完全正確的是A)#include<stdio.h>main();{/?programming*/printf("programming!\n");}O#include<stdio.h>main(){/*/*programming*/*/printf("programming!\n");}(19)若有定義:floatx-1.5;inta-1,C)getcharO D)scanf()B)#include<stdio.h>main(){/*/programming/*/printf("programming!\n");D)include<stdio.h>main(){/*programming*/printf(^programming!\n")b=3,c=2;則正確的switch語(yǔ)句是A)switch(x)A)switch(x){case1.0:printf("*\n");case2.0:printf('**\n");}C)switch(a+b){case1:printf('*\n");case2+1:printf("**\n");}(20)若各選項(xiàng)中所用變量已正確定義,選項(xiàng)中錯(cuò)誤的程序是A)main(){ x=fun(2,10); }floatfun(inta,intb){ }C)floatfun(int,int);main(){ x=fun(2,10); }floatfun(inta,intb){ }B)switch((int)x);{case1:printf("*\n");case2:printf("**\n");}D)switch(a+b){case1:printf("*\n"):casec:printf('**\n");}函數(shù)fun中通過(guò)return語(yǔ)句返回一個(gè)函數(shù)值,以下TOC\o"1-5"\h\zB)floatfun(inta,intb){ }main(){ x=fun(i,j); }D)main(){floatfun(inti,intj); x=fun(i,j); }floatfun(inta,intb){ }(21)在以下給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是A)(!E==0) B)(E>0IIE<0) C)(E==0)(22)要求通過(guò)while循環(huán)不斷讀入字符,當(dāng)讀入字母N時(shí)結(jié)束循環(huán)。若變量已正確定義,以下正確的程序段是A)while((ch=getchar0)!=rN')printf('%c”,ch);B)while(ch=getchar0!=/N')printf ch);C)while(ch=getchar()=rN')printf ch);D)while((ch=getchar0)==,N')printfch);(23)已定義以下函數(shù)intfun(int*p){return*p;)fun函數(shù)返回值是A)不確定的值B)一個(gè)整數(shù)C)形參P中存放的值 D)形參P的地址值(24)若有說(shuō)明語(yǔ)句:double*p,a;則能通過(guò)scanf語(yǔ)句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是A)*p=&a; scanf(*%If*,p); B)*p=&a;scanf('%f",p);0Pzz&a; scanf("%If",*p); D)p=&a; scanf("%If",p);(25)現(xiàn)有以下結(jié)構(gòu)體說(shuō)明和變量定義,如圖所示,指針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ù),以下不能完成此操作的語(yǔ)句是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;(26)有以下程序段structst{intx;int*y;)*pt;inta[]={1,2},b[]={3,4};structstc[2]={10,a,20,b};pt=c;以下選項(xiàng)中表達(dá)式的值為11的是A)*pt->y B)pt->x C)++pt->x D)(pt++)->x(27)設(shè)fp為指向某二進(jìn)制文件的指針,且已讀到此文件末尾,則函數(shù)feof(fp)的返回值為A)E0F B)非0值 C)0 D)NULL(28)設(shè)有以下語(yǔ)句inta=Lb=2,c;c=a八(b?2);執(zhí)行后,C的值為A)6 B)7 C)8 D)9(29)有以下程序#include<stdio.h>mainO{charcl,c2,c3?c4,c5,c6;scanf("%c%c%c%c”,&cl,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(cl);putchar(c2);printf("%c%c\n”,c5,c6);}程序運(yùn)行后,若從鍵盤(pán)輸入(從第1列開(kāi)始)123<回車(chē))45678<回車(chē))則輸出結(jié)果是A)1267 B)1256(30)有以下程序main(){inty=10;while(y-);printf("y=%d\n",y);)程序執(zhí)行后的輸出結(jié)果是A)y=O B)y=-1C)y=l(31)有以下程序main(){inta=0,b=0,c-0,d=0;if(a=l)b-1;c=2;elsed=3;printf("%d,%d,%d,%d\n”,a,b,c,)程序輸出A)0,1,2,0 B)0,0,0,3(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);J程序執(zhí)行后的輸出結(jié)果是A)x=4 B)x=8 C)x=6(33)有以下程序intfunl(doublea){returna*=a;}intfun2(doublex,doubley)C)1278 D)1245d);D)while構(gòu)成無(wú)限循環(huán)01,1,2,0 D)編譯有錯(cuò)D)x=12{doublea=0,b=0;a=funl(x);b=funl(y);return(int)(a+b);}main(){doublew;w=fun2(l.1,2.0); }程序執(zhí)行后變量w中的值是A)5.21 B)5 C)5.0 D)0.0(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)753 B)357 C)369 D)751(35)有以下程序fun(charp[][10]){intn=0,i;for(i=0;i<7;i++)if(p[i][0]=='『)n++;returnn;)main(){charstr[][10]={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"};printf("%d\n”,fun(str));)程序執(zhí)行后的輸出結(jié)果是A)1 B)2 C)3 D)0(36)有以下程序main(){inti,s=0,t[]={1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf("%d'n",s);程序執(zhí)行后的輸出結(jié)果是A)45 B)20程序執(zhí)行后的輸出結(jié)果是A)45 B)20025D)36(37)有以下程序voidfunl(char*p){char*q;q二P;while(*q!=,\0'){(*q)++; q++; )}main(){chara[]二{"Program"),*p;p=&a[3];funl(p);printf("%s\n",a);}程序執(zhí)行后的輸出結(jié)果是A)ProhsbnB)PrphsbnC)ProgsbnD)Program(38)有以下程序voidswap(char*x,char*y)(chart;t=*x; *x=*y; *y=t;}main(){char*sl="abc”,*s2="123";swap(si,s2);printfC%sf%s\n”,si,s2);}程序執(zhí)行后的輸出結(jié)果是D)321,cbaA)123,abc B)abc,123 C)lbc,a23D)321,cba(39)有以下程序intfun(intn){if(n==l)return1;elsereturn(n+fun(n-l));main(){intx;scanf&x);x=fun(x);printf("%d\n",x);執(zhí)行程序時(shí),給變量X輸入10,程序的輸出結(jié)果是A)55 B)54 C)65 D)45(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)45 B)50 C)60 D)55(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,43 B)43,21 C)43,00 D)21,00(42)有以下程序main(){char*p口二{"3697","2584"};inti,j;longnum=0;for(i=0;i<2;i++){j=0;while(p[i][j]!='\0z){if((p[i][j]O')%2)num=10*num+p[i][j]O';j+=2;printf("%d\n",num);程序執(zhí)行后的輸出結(jié)果是A)35 B)37 C)39 D)3975(43)執(zhí)行以下程序后,test,txt文件的內(nèi)容是(若文件能正常打開(kāi))^include<stdio.h>main(){FILE*fp;char*sl="Fortran",*s2=*Basic*;if((fp=fopen(*test.txt","wb"))—NULL){printf("Can'topentest,txtfile\n*);exit(1);}fwrite(sl,7,1,fp);/*把從地址si開(kāi)始的7個(gè)字符寫(xiě)到fp所指文件中*/fseek(fp,OL,SEEK_SET);/*文件位置指針移到文件開(kāi)頭*/fwrite(s2,5,1,fp);fclose(fp);JA)Basican B)BasicFortran C)Basic D)FortranBasic(44)以下敘述中錯(cuò)誤的是A)C語(yǔ)言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序B)C程序經(jīng)過(guò)編譯、連接步驟之后才能形成一個(gè)真正可執(zhí)行的二進(jìn)制機(jī)器指令文件C)用C語(yǔ)言編寫(xiě)的程序稱(chēng)為源程序,它以ASCII代碼形式存放在一個(gè)文本文件中D)C語(yǔ)言中的每條可執(zhí)行語(yǔ)句和非執(zhí)行語(yǔ)句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令(45)以下敘述中錯(cuò)誤的是A)算法正確的程序最終一定會(huì)結(jié)束B(niǎo))算法正確的程序可以有零個(gè)輸出C)算法正確的程序可以有零個(gè)輸入D)算法正確的程序?qū)τ谙嗤妮斎胍欢ㄓ邢嗤慕Y(jié)果(46)以下敘述中錯(cuò)誤的是A)C程序必須由一個(gè)或一個(gè)以上的函數(shù)組成B)函數(shù)調(diào)用可以作為一個(gè)獨(dú)立的語(yǔ)句存在C)若函數(shù)有返回值,必須通過(guò)retum語(yǔ)句返回D)函數(shù)形參的值也可以傳回給對(duì)應(yīng)的實(shí)參(47)設(shè)有以下定義和語(yǔ)句charstr[20]iProgram",*p;p二str;則以下敘述中正確的是A)*p與str[0]的值相等B)str與p的類(lèi)型完全相同C)str數(shù)組長(zhǎng)度和p所指向的字符串長(zhǎng)度相等D)數(shù)組str中存放的內(nèi)容和指針變量p中存放的內(nèi)容相同(48)以下敘述中錯(cuò)誤的是A)C程序中的#include和#define行均不是C語(yǔ)句B)除逗號(hào)運(yùn)算符外,賦值運(yùn)算符的優(yōu)先級(jí)最低C)C程序中,j++;是賦值語(yǔ)句D)C程序中,+、-、*、/、%號(hào)是算術(shù)運(yùn)算符,可用于整型和實(shí)型數(shù)的運(yùn)算(49)以下敘述中正確的是A)預(yù)處理命令行必須位于C源程序的起始位置B)在C語(yǔ)言中,預(yù)處理命令行都以"#"開(kāi)頭C)每個(gè)C程序必須在開(kāi)頭包含預(yù)處理命令行:#include<stdio.h>D)C語(yǔ)言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能(50)以下敘述中錯(cuò)誤的是A)可以通過(guò)typedef增加新的類(lèi)型B)可以用typedef將已存在的類(lèi)型用一個(gè)新的名字來(lái)代表C)用typedef定義新的類(lèi)型名后,原有類(lèi)型名仍有效D)用typedef可以為各種類(lèi)型起別名,但不能為變量起別名二、填空題(每空2分,共40分)請(qǐng)將每一個(gè)空的正確答案寫(xiě)在答題卡【1】至[20]序號(hào)的橫線(xiàn)上,答在試卷上不得分。(1)對(duì)長(zhǎng)度為10的線(xiàn)性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為(11.(2)在面向?qū)ο蠓椒ㄖ?,?】描述的是具有相似屬性與操作的一組對(duì)象。(3)在關(guān)系模型中,把數(shù)據(jù)看成是二維表,每一個(gè)二維表稱(chēng)為一個(gè)[3].(4)程序測(cè)試分為靜態(tài)分析和動(dòng)態(tài)測(cè)試。其中【4】是指不執(zhí)行程序,而只是對(duì)程序文本進(jìn)行檢音,通過(guò)閱讀和討論,分析和發(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)用程序不必修改,稱(chēng)為[5],(6)若變量a,b已定義為int類(lèi)型并賦值21和55,要求用printf函數(shù)以a=21,b=55的形式輸出,請(qǐng)寫(xiě)出完整的的輸出語(yǔ)句[6].(7)以下程序用于判斷a、b、c能否構(gòu)成三角形,若能,輸出YES,否則輸出NO。當(dāng)給a、b、c輸入三角形三條邊長(zhǎng)時(shí),確定a、b、c能構(gòu)成三角形的條件是需同時(shí)滿(mǎn)足三個(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(*N0\n*);/*a>b、c不能構(gòu)成三角形*/}⑻以下程序的輸出結(jié)果是[8】omain(){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-http://www.lOO/i-1];printf("%d'n",s);}⑼當(dāng)運(yùn)行以下程序時(shí),輸入abed,程序的輸出結(jié)果是:[9]0insert(charstr口){inti;i=strlen(str);while(i>0){str[2*i]=str[i];str[2*i-l]='*';i—;}printf("%s\n",str);}main(){charstr[40];scanf('%s”,str);insert(str);)(10)下面程序的運(yùn)行結(jié)果是:【10】。fun(intt口,intn){inti,m;if(n==l)returnt[0];elseif(n>=2){m=fun(t,n-l);returnm;}}main(){inta[]={11,4,6,3,8,2,3,5,9,2};printf fun(a,10));(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)編譯連接通過(guò)后,運(yùn)行程序T18時(shí),輸入Thank!則輸出結(jié)果是:【11】。(12)以下函數(shù)fun的功能是返回str所指字符串中以形參c中字符開(kāi)頭的后續(xù)字符串的首地址,例如:str所指字符串為:Hello!,c中的字符為e,則函數(shù)返回字符串:ello!的首地址。若str所指字符串為空串或不包含c中的字符,則函數(shù)返回NULL請(qǐng)?zhí)羁?。char*fun(char*str,charc){intn=0;char*p=str;if(p!=NULL)while(p[n]!=c&&p[n]!='\0f)n++;if(p[n]==f\0f)returnNULL;return([12]);}(13)以下程序的功能是:輸出100以?xún)?nèi)(不含100)能被3整除且個(gè)位數(shù)為6的所有整數(shù),請(qǐng)?zhí)羁?。main()(inti,j;for(i=0;[13];i++){j=i*10+6;if((14])continue;printf("%d”,j);(14)以下isprime函數(shù)的功能是判斷形參a是否為素?cái)?shù),是素?cái)?shù),函數(shù)返回1,否則返回0。請(qǐng)?zhí)羁読ntisprime(inta){inti;for(i=2;i<=a/2;i++)if(a%i=0)[15);[16];}(15)以下程序的功能是輸入任意整數(shù)給n后,輸出n行由大寫(xiě)字母A開(kāi)始構(gòu)成的三角形字符陣列圖形。例如,輸入整數(shù)5時(shí)(注意:n不得大于10),程序運(yùn)行結(jié)果如下:ABCDEFGHIJKLMN0請(qǐng)?zhí)羁胀瓿稍摮绦?。main(){inti,j,n;charch='A';scanf("%d",&n);if(n<ll){for(i=l;i<=n;i++){for(j=l;j<=n-i+l;j++){printf("%2c”,ch);[17];i.[18];)}elseprintfCnistoolarge!\nzz)printfC\n*);)(16)以下程序中函數(shù)fun的功能是:構(gòu)成一個(gè)如圖所示的帶頭結(jié)點(diǎn)的單向鏈表,在結(jié)點(diǎn)的數(shù)據(jù)域中放入了具有兩個(gè)字符的字符串。函數(shù)disp的功能是顯示輸出該單鏈表中所有結(jié)點(diǎn)中的字符串。請(qǐng)?zhí)羁胀瓿珊瘮?shù)disp。#include<stdio.h>typedefstructnode/*鏈表結(jié)點(diǎn)結(jié)構(gòu)*/{charsub[3];structnode*next;}Node;Nodefun(chars)/*建立鏈表*/voiddisp(Node*h){Node*p;p=h->next;while([19]){printf("%s\n”,P->sub);p=[20];}main(){Node*hd;hd=fun();disp(hd);printf("\n");2006年9月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言筆試試卷一、選擇題((1)?(10)每題2分,(11)?(50)每題1分,共60分)下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確的選項(xiàng)涂寫(xiě)在答題卡相應(yīng)位置上,答在試卷上不得分。(1)下列選項(xiàng)中不符合良好程序設(shè)計(jì)風(fēng)格的是。A)源程序要文檔化B)數(shù)據(jù)說(shuō)明的次序要規(guī)范化C)避免濫用goto語(yǔ)句D)模塊設(shè)計(jì)要保證高耦合、高內(nèi)聚(2)從工程管理角度,軟件設(shè)計(jì)一般分為兩步完成,它們是。A)概要設(shè)計(jì)與詳細(xì)設(shè)計(jì)B)數(shù)據(jù)設(shè)計(jì)與接口設(shè)計(jì)C)軟件結(jié)構(gòu)設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì)D)過(guò)程設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì)(3)下列選項(xiàng)中不屬于軟件生命周期開(kāi)發(fā)階段任務(wù)的是.A)軟件測(cè)試B)概要設(shè)計(jì)C)軟件維護(hù)D)詳細(xì)設(shè)計(jì)(4)在數(shù)據(jù)庫(kù)系統(tǒng)中,用戶(hù)所見(jiàn)的數(shù)據(jù)模式為oA)概念模式B)外模式C)內(nèi)模式D)物理模式
(5)數(shù)據(jù)庫(kù)設(shè)計(jì)的四個(gè)階段是:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和—A)編碼設(shè)計(jì)B)測(cè)試階段C)運(yùn)行階段D)物理設(shè)計(jì)ABcm13n13BC13BC13B)T=R3D)T=R/Sn下列操作中正確的是。A)T=RnSC)T=RXS(7)下列敘述中正確的是。一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小D)上述三種說(shuō)法都不對(duì)(8)在長(zhǎng)度為64的有序線(xiàn)性表中進(jìn)行順序查找,最環(huán)境情況下需要比較的次數(shù)為—A)63B)64C)6D)7(9)數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的oA)存儲(chǔ)問(wèn)題B)共享問(wèn)題C)安全問(wèn)題D)保護(hù)問(wèn)題(10)對(duì)下列二叉樹(shù)進(jìn)行中序遍歷的結(jié)果是一A)ACBDFEGB)ACBDFGEC)ABDCGEFD)FCADBEG(11)下列敘述中錯(cuò)誤的是o一個(gè)C語(yǔ)言程序只能實(shí)現(xiàn)一種算法C程序可以由多個(gè)程序文件組成C程序可以由一個(gè)或多個(gè)函數(shù)組成??個(gè)C函數(shù)可以單獨(dú)作為一個(gè)C程序文件存在(12)下列敘述中正確的是.A)每個(gè)C程序文件中都必須有一個(gè)main。函數(shù)B)在C程序中main。函數(shù)的位置是固定的C)C程序可以由一個(gè)或多個(gè)函數(shù)組成D)在C程序的函數(shù)中不能定義另一個(gè)函數(shù)(13)下列定義變量的語(yǔ)句中錯(cuò)誤的是。A)int_int;B)doubleint_;C)charFor;D)floatUSS(14)若變量x、y已正確定義并賦值,以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是。A)++x,y=x— B)x+l=yC)x=x+10=x+yD)double(x)/10(15)以下關(guān)于邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的敘述中正確的是。A)只能是整數(shù)0或1B)只能是整數(shù)?;蚍?的整數(shù)C)可以是結(jié)構(gòu)體類(lèi)型的數(shù)據(jù)D)可是任意合法的表達(dá)式(16)若有定義intx,y;并已正確給變量賦值,則以下選項(xiàng)中與表達(dá)式(x-y)?(x++):(y++)中的條件表達(dá)式(x-y)等價(jià)的是。A)(x-y>0)B)(x-y<0)C)(x-y<|x-y>0)D)(x-y==0)(17)有以下程序main(){intx,y,z;x=y=l;z=x++,y++,++y;printfC,%d,%d,%d\n”,x,y,z);}程序運(yùn)行后的輸出結(jié)果是。A)2,3,3B)2,3,2 C)2,3,1 D)2,2,1(18)設(shè)有定義:inta;floatb;執(zhí)行scanf &a,&b);語(yǔ)句時(shí),若從鍵盤(pán)輸入8760<回車(chē)>,a和b的值分別是.A)876和543.000000 B)87和6.000000C)87和543.000000 D)76和543.000000(19)有以下程序main。{inta=0,b=0;a=10;/*給a賦值b=20;給b賦值*/printf("a+b=%d\n",a+b);/*輸出計(jì)算結(jié)果*/}程序運(yùn)行后輸出結(jié)果是。A)a+b=0 B)a+b=30 C)30 D)出錯(cuò)(20)在嵌套使用if語(yǔ)句時(shí),C語(yǔ)言規(guī)定else總是_。A)和之前與其具有相同縮進(jìn)位置的if配對(duì)B)和之前與其最近的if配對(duì)C)和之前與其最近的且不帶else的if配對(duì)D)和之前的第一個(gè)if配對(duì)(21)下列敘述中正確的是。A)break語(yǔ)句只能用于switch語(yǔ)句B)在switch語(yǔ)句中必須使用defaultC)break語(yǔ)句必須與switch語(yǔ)句中的case配對(duì)使用D)在switch語(yǔ)句中,不一定使用break語(yǔ)句(22)有以下程序main(){intk=5;while(-k)printfk-=3);
執(zhí)行后的輸出結(jié)果是.A)1 B)2 C)4 D)死循環(huán)(23)有以下程序main(){inti;for(i=l;i<=40;i++){if(i++%5=0)if(++i%8=0)printfi))printf('\n"))執(zhí)行后的輸出結(jié)果是。A)5 B)24 C)32 D)40(24)以下選項(xiàng)中,值為1的表達(dá)式.A)10" B)1,\0"(25)有以下程序fun(intx,inty){return(x+y);}mainO{inta=l,b=2,c=3,sum;sum=fun((a++,b++b,a+b),c++);printf("%d\n",sum);)執(zhí)行后的輸出結(jié)果是。A)6 B)7 O8(26)有以下程序main(){chars[]="abcde”;s+=2;printf("%d'n",s[0]);}執(zhí)行后的結(jié)果是。A)輸出字符a的ASCII碼C)輸出字符cC)"1"-0 D)"\0"-"0"D)9B)輸出字符c的ASCH碼D)程序出錯(cuò)(27)有以下程序fun(intx,inty){staticintm=0,i=2;i+=m+l;m=i+x+y;returnm;Imain(){intj=l,m=I,k;k=fun(j,m);printf(*%d*,k);k=fun(j,m);printf("%d\n",k)}執(zhí)行后的輸出結(jié)果是。A)5,5 B)5,11(28)有以下程序fun(intx){intp;if(x==O|x==1)return(3);p=x-fun(x=2);returnp;}main(){prinf(*%d\n*,fun(7));}執(zhí)行后的輸出結(jié)果是oA)7 B)3(29)在16位編譯系統(tǒng)h,右有定義inta說(shuō)法錯(cuò)誤的是oA)p向高地址移了一個(gè)字節(jié)C)p向高地址移了兩個(gè)字節(jié)(30)有以下程序main(){inta=l,b=3,c=5;int*pl=&a,*p2=&b,*p=&c;*p=*pl*(*p2);printf(*%d\n^,c);i執(zhí)行后的輸出結(jié)果是A)1 B)2C)11,11 D)11,53 D)0[]={10,20,30},*p=&a;,當(dāng)執(zhí)行p++;后,下列B)p抽高地址移了一個(gè)存儲(chǔ)單元p與a+1等價(jià)C)3 D)4(31)若有定義:intw[3][5];,則以下不能正確表示該數(shù)組元素的表達(dá)式是oA)*(*w+3)B)*(w+l)[4]C)*(*(w+l))D)*(&w[0][0]+D(32)若有以下函數(shù)首部intfun(doublex[10],int*n)則下面針對(duì)此函數(shù)聲母語(yǔ)句中正確的是0A)intfun(doublex,int*n); B)intfun(double,int);C)intfun(double*x,intn); D)intfun(double*,int*);(33)若有定義語(yǔ)句:intk[2][3],*pk[3];,則以下語(yǔ)句中正確的是。A)pk=k;B)pk[0]=&k[l][2];C)pk=k[0]; D)pk[l]=k;(34)有以下程序voidchange(intk[]){k[0]=k[5];}main(){intx[10]={l,2,3,4,5,6,7,8,9,10},n=0while(n<=4){change(&x[n]);n++;}for(n=0;n<5;n++)printfx[n]);printf("\n〃);}程序運(yùn)行后輸出的結(jié)果是OA)678910 B)13579 C)12345 D)62345(35)若要求定義具有10個(gè)int型元素的一維數(shù)組a,則以下定義語(yǔ)句中錯(cuò)誤的是A)^defineN10Inta[N] B)#definen5Inta[2*n]C)inta[5+5] D)intn=10,a[n](36)有以下程序main(){intx[3][2]={0},I;for(1=0;I<3;I++)scanfx[i]);printf(*%3d%3d%3d\n*,x[0][0],x[0][1],x[l][0]);}若運(yùn)行時(shí)輸入:246〈回車(chē)),則輸出結(jié)果為oA)200 B)204 0240 D)246(37)有以下程序main(){chars[]={"aeiou"},*ps;ps=s;printf(“枇\n",*ps+4);
程序運(yùn)行后的輸出結(jié)果是Oa B)e C)u D)元素s[4]的地址(38)以下語(yǔ)句中存在語(yǔ)法錯(cuò)誤的是oA)charss[6][20];ss[l]="right? B)charss[][20]={*right?"};C)char*ss[6];ss[l]="right? D)char*ss□={"right?”};(39)若有定義:char*x="abcdefghi”;,以下選項(xiàng)中正確運(yùn)用了strepy函數(shù)的是chary[10];chary[10];strcpy(y,x[4]);chary[10];strcpy(++y,&x[l]);C)charyC)chary[10],*s;strcpy(s=y+5,x);D)chary[10],*s;strcpy(s=y+l,x+1);(40)有以下程序intadd(inta,intb){return+b};}main(){intk,(*f)(),a=5,b=10;f=add;則以下函數(shù)調(diào)用語(yǔ)句錯(cuò)誤的是—A)k=(*f)(a,b);k=add(a,b);C)k=*f(a,b); D)k=f(a,b);A)k=(*f)(a,b);(41)有以下程序#include<string.h>main(intargc,char*argv[]){inti=l,n=0;while(i<arge){n=n+strlen(argv[i]);i++;}printf("%d\n",n);}該程序生成的可執(zhí)行文件名為:proc.exeo若運(yùn)行時(shí)輸入命令行:proc1234567則程序的輸出結(jié)果是oD)11A)3 B)5 C)7(42)有以下程序voidfun2(chara,charb){printi(a%b%cw,a,b);}chara='A',b='B';D)11voidfunl(){a=C1b=D;}main(){funl()printf("枇%c",a,b);fun2(,F(xiàn));printf("枇%c",a,b);fun2(,F(xiàn));)程序的運(yùn)行結(jié)果是。A)CDEF B)ABEF(43)有以下程序^include<stdio.h>^defineN5ttdefineMN+l^definef(x)(x*M)main(){intil,i2;il=f(2);i2=f(l+l);printf(w%d%d\nw,11,i2);)程序的運(yùn)行結(jié)果是o1212 B)117(44)設(shè)有以下語(yǔ)句typedefstructTT{charc;inta[4];}CIN;則下面敘述中正確的是—A)可以用TT定義結(jié)構(gòu)體變量C)可以用CIN定義結(jié)構(gòu)體變量C)ABCD D)CDABC)1111 D)127TT是struct類(lèi)型的變量D)CIN是structTT類(lèi)型的變量(45)有以卜結(jié)構(gòu)體說(shuō)明、變量定義和賦值語(yǔ)句structSTD{charname[10];intage;charsex;}s[5],*ps;ps=&s[0];則以下scanf函數(shù)調(diào)用語(yǔ)句中錯(cuò)誤引用結(jié)構(gòu)體變量成員的是oA)scanf( ,s[0].name); B)scanf(a%dff,&s[0].age);scanf(u%cn,&(ps>sex)); D)scanf(a%dw,ps>age);(46)若有以下定義和語(yǔ)句uniondata{inti;charc;floatf;}x;inty;則以下語(yǔ)句正確的是oA)x=10.5; B)x.c=101;C)y=x;D)printf("%d\n",x);(47)程序中已構(gòu)成如下圖所示的不帶頭結(jié)點(diǎn)的單向鏈表結(jié)構(gòu),指針變量s、p、q均已正確定義,并用于指向鏈表結(jié)點(diǎn),指針變量s總是作為頭指針指向鏈表的第一個(gè)結(jié)點(diǎn)。datanextabcNULL若有以下程序段q=s;s=s>next;p=s;while(p->next)p=p->next;p->next=q;q->next=NULL;該程序段實(shí)現(xiàn)的功能是.A)首結(jié)點(diǎn)成為尾結(jié)點(diǎn) B)尾結(jié)點(diǎn)成為首結(jié)點(diǎn)C)刪除首結(jié)點(diǎn) D)刪除尾結(jié)點(diǎn)(48)若變量已正確定義,則以下語(yǔ)句的輸出結(jié)果是os=32;s=32;printf(w%d",s);A)-1 B)0 C)1 D)32(49)以下敘述中正確的是.A)C語(yǔ)言中的文件是流式文件,因此只能順序存取數(shù)據(jù)B)打開(kāi)一個(gè)已存在的文件并進(jìn)行了寫(xiě)操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋C)在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫(xiě)操作后,必須先關(guān)閉該文件然后再打開(kāi),才能讀到第1個(gè)數(shù)據(jù)D)當(dāng)對(duì)文件的讀(寫(xiě))操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失(50)有以下程序Sinclude<stdio.h>main(){FILE*fp;inti;charch[]="abed”,t;fp=fopen("abc.dat","wb+”);for(i=0;i<4;i++)fwriter&ch[],1,Ifp;fseek(fp,-2L,SEEK_END);fread(&t,1,1,fp);fclose(fp);printf(**%c\nw,t);i程序執(zhí)行后的輸出結(jié)果是.A)d B)c C)b D)a二、填空題(每空2分,共40分)請(qǐng)將每一個(gè)空的正確答案寫(xiě)在答題卡【1】?[20]序號(hào)的橫線(xiàn)上,答在試卷上不得分。(1)下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為【1】.[2]的任務(wù)是診斷和改正程序中的錯(cuò)誤。一個(gè)關(guān)系表的行稱(chēng)為【3】.(4)按''先進(jìn)后出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是【4】o(5)數(shù)據(jù)結(jié)構(gòu)分為線(xiàn)性結(jié)構(gòu)和非線(xiàn)性結(jié)構(gòu),帶鏈的隊(duì)列屬于【5】。(6)設(shè)有定義:floatx=123.4567;,則執(zhí)行以下語(yǔ)句后的輸出結(jié)果是【6】.printf(*%f\n*,(int)(x*100+0.5)/100.0);(7)以下程序運(yùn)行后的輸出結(jié)果是[7】。main()(intm=011,n=ll;printf("%d%d\n”,++m,n++);}(8)以下程序運(yùn)行后的輸出結(jié)果是【8】.main(){intx,a=l,b=2,c=3,d=4;x=(a<b)?a:b; x=(x〈c)?x:c;x=(d>x)?x:d;printf(*%d\n*,x);(9)有以下程序,若運(yùn)行時(shí)從鍵盤(pán)輸入:18,11〈回車(chē)》,則程序輸出結(jié)果是[9】。main(){inta,b;printf("Entera,b:;scanf("%d,%d,,&a,&b);while(a!=b){while(a>b)a-=b;while(b>a)b-=a;}printf("%3d%3d\n",a,b);[云南考試網(wǎng)])(10)以下程序的功能是:將輸入的正整數(shù)按逆序輸出。例如,若輸入135,則輸出531。請(qǐng)?zhí)羁铡include<stdio.h>main()(intn,s;printf("Enteranumber:*);scanf("%d",&n);printf("Output:");do{s=n%10;printf(*%d*,s); [10];}while(n!=0);printf("\n");}(11)以下程序中,函數(shù)fun的功能是計(jì)算x2-2x+6,主函數(shù)中將調(diào)用fun函數(shù)計(jì)算:yl=(x+8)2-2(x+8)+6y2=sin2(x)-2sin(x)+6請(qǐng)?zhí)羁铡?include"math,h”doublefun(doublex){return(x*x-2*x+6);}main()(doublex,yl,y2;printf(*Enterx:");scanf&x);yl=fun([11]);y2=fun([12]);printf("yl=%lf,y2=%lf\n”,yl,y2);(12)下面程序的功能是:將N行N列二維數(shù)組中每一行的元素進(jìn)行排列,第。行從小到大排序,第1行從大到小排序,第2行從小到大排序,第3行從大到小排序。例如:^defineN4Voidsort(inta[][N]){inti,j,k,t;for(i=0;i<N:i++)for(j=0;j<N-l;j++)for(k=[13];k<N;k++)/*判斷下標(biāo)是否為偶數(shù)來(lái)確定按升序或降序來(lái)排列*/if([14]?a[j]<a[j][k]:a[j]>a[k]){t=a[j]a[j]=a[k];a[k]=t;)}voidoutarr(inta[N][N])main(){intaa[N][N]={{2,3,4,1}{8,6,5,7}{11,12,10,9}{15,14,16,13}};outarr(aa);/*以矩陣的形式輸出二維數(shù)組*/sort(aa);outarr(aa);)(13)下列程序中的函數(shù)strcpy2()實(shí)現(xiàn)字符串兩次復(fù)制,即將t所指字符串復(fù)制兩次到s所指內(nèi)存空間中,合并形成一個(gè)新的字符串。例如,若t所指字符串為efgh,調(diào)用strcpy2后,s所指字符串為efghefgh。請(qǐng)?zhí)羁铡?include<stdio.h>ftinclude<string.h>voidstrcpy2(char*s,char*t){char*p=t;while(*s++=*t++);s=[15];while([16]=*p++);)main(){charstrl[100]=*abcd*,str2[]=*efgh*;strcpy2(strl,str2);printf("%s\n",strl);)(14)下面程序的運(yùn)行結(jié)果是[17]o#include<stdio.h>intf(inta[],intn){if(n>l)returna[0]+f(a+1,n-1);elsereturna[0];}main(){intaa[10]={l,2,3,4,5,6,7,8,9,10},s;s=f(aa+2,4);printf("%d\n”,s);)(15)下面程序由兩個(gè)源文件t4.h和t4.c組成,程序編譯運(yùn)行的結(jié)果是[18]ot4.h的源程序?yàn)椋?defineN10#definef2(x)(x*N)t4.c的源程序?yàn)椋?include<stdio.h>ttdefineM8#definef(x)((x)*M)^include"t4?h”main(){inti,j;i=f(1+1); j=f2(l+l);printf("%d%d\n”,i,j);(16)下面程序的功能是建立一個(gè)有3個(gè)節(jié)點(diǎn)的單向循環(huán)鏈表,然后求各個(gè)節(jié)點(diǎn)數(shù)值域data中數(shù)據(jù)的和請(qǐng)?zhí)羁铡?include<stdio.h>#include<stdlib.h>structNODE{intdata;structNODE*next;};main(){structNODE*p,*q,*r;intsum=0;p=(structNODE*)malloc(sizeof(structNODE));q=(structNODE*)malloc(sizeof(structNODE));r=(structNODE*)mal1oc(sizeof(structNODE));p->data=100;q->data=200; r->data=200;p->data=q; q->data=r; r->data=p;sum=p->data+p->next->data+r->next->data[19];printf("%d\n",sum);}(17)有以下程序,其功能是:以二進(jìn)制“寫(xiě)”方式打開(kāi)文件dl.dat,寫(xiě)入1?100這100個(gè)整數(shù)后關(guān)閉文件。再以二進(jìn)制“讀”方式打開(kāi)文件dl.dat,將這100個(gè)整數(shù)讀入另一個(gè)數(shù)組b中,并打印輸出,請(qǐng)?zhí)羁铡?include<stdio.h>main(){FILE*fp;inti,a[100],b[100];fp=fopen(^dl.dat","wb");for(i=0;i<100;i++)a=i+l;fwrite(a,sizeof(int),100,fp);fclose(fp);fp=fopen(*dl.dat*,[20]):fread(b,sizeof(int),100,fp);fclose(fp);for(i=0:i<100;i++)printfC%d\n*,b);2007年4月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試試卷一、選擇題((1)—(10)每小題2分,(11)—(50)每題1分,共60分)下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫(xiě)在答題卡相應(yīng)位置上,答在試卷上不得分.(1)下列敘述中正確的是(B)A)算法的效率只與問(wèn)題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)B)算法的時(shí)間更雜度是指執(zhí)行算法所需要的計(jì)算工作量0數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)是一一對(duì)應(yīng)的D)算法的時(shí)間復(fù)雜度與空間復(fù)雜度定相關(guān)(2)在結(jié)構(gòu)化程序設(shè)計(jì)中,模塊劃分的原則是(D)A)各模塊應(yīng)包括盡量多的功能B)各模塊的規(guī)模應(yīng)盡量大0各模塊之間的聯(lián)系應(yīng)盡量緊密D)模塊內(nèi)具有高內(nèi)聚度、模塊間具有低耦合度(3)下列敘述中正確的是(A)A)軟件測(cè)試的主要目的是發(fā)現(xiàn)程序中的錯(cuò)誤B)軟件測(cè)試的主要H的是確定程序中錯(cuò)誤的位置0為了提高軟件測(cè)試的效率,最好由程序編制者自己來(lái)完成軟件測(cè)試的工作D)軟件測(cè)試是證明軟件沒(méi)有錯(cuò)誤(4)下面選項(xiàng)中不屬于面向?qū)ο蟪绦蛟O(shè)計(jì)特征的是(C)A)繼承性???????B)多態(tài)性??????C)類(lèi)比性?????D)封裝性(5)下列對(duì)隊(duì)列的敘述正確的是(D)A)隊(duì)列屬于非線(xiàn)性表B)隊(duì)列按“先進(jìn)后出”原則組織數(shù)據(jù)C)隊(duì)列在隊(duì)尾刪除數(shù)據(jù)D)隊(duì)列按“先進(jìn)先出”原則組織數(shù)據(jù)(6)對(duì)下列二叉樹(shù)
EEY Z進(jìn)行前序遍歷的結(jié)果為(C)A)?DYBEAFCZX??????????B)?YDEBFZXCAC)?ABDYECFXZ??????????D)?ABCDEFXYZ(7)?某二叉樹(shù)中有n個(gè)度為2的結(jié)點(diǎn),則該二叉樹(shù)中的葉子結(jié)點(diǎn)數(shù)為(A)A)?n+l??????????B)?n-l??????????C)?2n??????????D)?n/2(8)?在下列關(guān)系運(yùn)算中,不改變關(guān)系表中的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)的是(B)?并???????????8)交?????????C)投影???????D)笛卡兒乘積(9)?在E-R圖中,用來(lái)表示實(shí)體之間聯(lián)系的圖形是(C)A)?矩形?????????B)橢圓形?????C)菱形????????D)平行四邊形(10)下列敘述中錯(cuò)誤的是(A)A)?在數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致B)數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問(wèn)題C)數(shù)據(jù)庫(kù)設(shè)計(jì)是指在已有數(shù)據(jù)庫(kù)管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫(kù)D)數(shù)據(jù)庫(kù)系統(tǒng)需要操作系統(tǒng)的支持(11)算法中,對(duì)需要執(zhí)行的每一步操作,必須給出清楚、嚴(yán)格的規(guī)定,這屬于算法的()A)正當(dāng)性B)可行性C)確定性D)有窮性(12)下列敘述中錯(cuò)誤的是()A)計(jì)算機(jī)不能直接執(zhí)行用C語(yǔ)言編寫(xiě)的源程序C程序經(jīng)C編譯程序編譯后,生成后綴為.obj的文件是一個(gè)二進(jìn)制文件C)后綴為.obj的文件,經(jīng)連接程序生成后綴為.exe的文件是一個(gè)二進(jìn)制文件D)后綴為.obj和.exe的二進(jìn)制文件都可以直接運(yùn)行(13)按照C語(yǔ)言規(guī)定的用戶(hù)標(biāo)識(shí)符命名規(guī)則,不能出現(xiàn)在標(biāo)識(shí)符中的是()A)大寫(xiě)字母B)連接符C)數(shù)字字符D)下劃線(xiàn)(14)以下敘述中錯(cuò)誤的是()A)C語(yǔ)言是?種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言B)結(jié)構(gòu)化程序有順序、分支、循環(huán)三種基本結(jié)構(gòu)組成C)使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡(jiǎn)單問(wèn)題D)結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法(15)對(duì)于一個(gè)正常運(yùn)行的C程序,以下敘述中正確的是()
A)程序的執(zhí)行總是從main函數(shù)開(kāi)始,在main函數(shù)結(jié)束B(niǎo))程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開(kāi)始,在main函數(shù)結(jié)束C)程序的執(zhí)行總是從main函數(shù)開(kāi)始,在程序的最后一個(gè)函數(shù)中結(jié)束D)程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開(kāi)始,在程序的最后一個(gè)函數(shù)中結(jié)束(16)設(shè)變量均已正確定義,若要通過(guò)scanf("猊%c%d%c",&al,&cl,&a2,&c2);語(yǔ)句為變量al和a2賦數(shù)值10和20,為變量cl和c2賦字符X和丫。以下所示的輸入形式中正確的是(注:□代表空格字符)()B)10DX20DY〈回車(chē)〉D)B)10DX20DY〈回車(chē)〉D)10X〈回車(chē)〉20Y〈回車(chē)〉10DX〈回車(chē)〉20DY〈回車(chē)〉(17)若有代數(shù)式(其中e僅代表自然對(duì)數(shù)的底數(shù),不是變量),則以下能夠正確表示該代數(shù)式的C語(yǔ)言表達(dá)式是()A)sqrt(abs(n"x+e-x)) B)sqrt(fabs(pow(n,x)+pow(x,e)))C)sqrt(fabs(pow(n,x)+exp(x))) D)sqrt(fabs(pow(x,n)+exp(x)))(18)設(shè)有定義:intk=0;,以下選項(xiàng)的四個(gè)表達(dá)式中與其他三個(gè)表達(dá)式的值不相同的是()A)k++ B)k+=1 C)++k D)k+1(19)有以下程序,其中如表示按無(wú)符號(hào)整數(shù)輸出()main(){unsignedintx=0xFFFF;/*x的初值為十六進(jìn)制數(shù)*/printf(w%u\nw,x);}■程序運(yùn)行后的輸出結(jié)果是A)-1B)65535C)32767 D)OxFFFF(20)設(shè)變量x和y均已正確定義并賦值,以下if語(yǔ)句中,在編譯時(shí)將產(chǎn)生錯(cuò)誤信息的是()A)if(x++); B)if(x>y&&y!=0);C)if(x>y)x D)if(y<0){;}elsey++; elsex++;(21)以下選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),值為0的表達(dá)式()A)x%2==lB)x/2 C)x%2!=0 D)x%2==0(22)以下敘述中正確的是()break語(yǔ)句只能用于switch語(yǔ)句體中B)continue語(yǔ)句的作用是:使程序的執(zhí)行流程跳出包含它的所有循環(huán)C)break語(yǔ)句只能用在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)D)在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同(23)有以下程序()main(){intk=5,n=O;do{switch(k){easel: case3:n+=l;break;default;n=0;k-;case2:case4:n+=2;k-;break;Iprintf( ,n);}while(k>0&&n<5);}程序運(yùn)行后的輸出結(jié)果是A)235B)0235C)02356D)2356(24)有以下程序mian(){inti,j;for(i=l;i<4;i++){for(j=i;j<4;j++)printf(w%d*%d=%d”,i,j,i*j);printf("\n");I程序運(yùn)行后的輸出結(jié)果是()A)???1*1=11*2=21*3=3B)1*1=11*2=21*3=32*1=22*2=42*2=4:2*3=63*1=33*3=9C)1*1=1D)1*1=11*2=22*2=42*1=22*2=41*3=32*3=63*3=93*1=33*2=63*3=9(25)以下合法的字符常量是()A)”\xl3" B)"\018" C)“65" D)“\n"(26)在C語(yǔ)言中,函數(shù)返回值的類(lèi)型最終取決于()A)函數(shù)定義時(shí)在函數(shù)首部所說(shuō)明的函數(shù)類(lèi)型return語(yǔ)句中表達(dá)式值的類(lèi)型0調(diào)用函數(shù)時(shí)主函數(shù)所傳遞的實(shí)參類(lèi)型D)函數(shù)定義時(shí)形參的類(lèi)型(27)已知大寫(xiě)字母A的ASCII碼是65,小寫(xiě)字母aASCH碼是97,以下不能將變量c中大寫(xiě)字母轉(zhuǎn)換為對(duì)應(yīng)小寫(xiě)字母的語(yǔ)句是()A)c=(c-A)%26+,a' B)c=c+32C)c=c-'A'+'a' D)c=('A'+c)%26-'a'(28)有以下函數(shù)intfun(char*s){char*t=s;while(*t++);return(t-s);}該函數(shù)的功能是()A)比較兩個(gè)字符的大小 B)計(jì)算s所指字符串占用內(nèi)存字節(jié)的個(gè)數(shù)C)計(jì)算s所指字符串的長(zhǎng)度 D)將s所指字符串復(fù)制到字符串t中(29)設(shè)已有定義:floatx;則以下對(duì)指針變量p進(jìn)行定義且賦初值的語(yǔ)句中正確的是()A)float*p=1024; B)int*p=(floatx);C)floatp=&x; D)float*P=&x;(30)有以下程序#include<stdio.h>main(){intn,*p=NULL;*p=&n;printf(4<Inputn:w);scanfftp); printfC,outputn:w);printf("%d\n",p);}該程序試圖通過(guò)指針p為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯(cuò)誤,以下語(yǔ)句正確的是()A)intn,*p=NULL;B)*p=&n;C)scanf("%d",&p)D)printf(u%d\nw,p);(31)以下程序中函數(shù)f的功能是:當(dāng)flag為1時(shí),進(jìn)行有由小到大排序;當(dāng)flag為。時(shí),進(jìn)行由大到小排序。voidf(intb[],intn,intflag){inti,j,t;for(i=0;i<n-l;i++)for(j=i+l;j<n;j++)if(flag?b[i]>b[j]:b[i]<b[j]){t=b[i];b[i]=b[j];b[j]=t;}main(){inta[10]={5,4,3,2,1,6,7,8,9,10},i;f(Aa[2],5,0);f(a,5,1);for(i=0:i<10;i++)printf(“%d,”a[i]);}程序運(yùn)行后的輸出結(jié)果是()A)1,2,3,4,5,6,7,8,9,10, B)3,4,5,6,7,2,1,8,9,10,5,4,3,2,1,6,7,8,9,10, D)10,9,8,7,6,5,4,3,2,1,(32)有以下程序voidf(intb[]){inti;for(i=2;i<6;i++)b[i]*-2;}main(){inta[10]={l,2,3,4,5,6,7,8,9,10),i;f(a);for(i=0:i<10;i++)printf(“%d,”,a[i]);}程序運(yùn)行后的輸出結(jié)果是()A)1,2,3,4,5,6,7,8,9,10, B)1,2,6,8,10,12,7,8,9,10C)1,2,3,4,10,12,14,16,9,10,D)1,2,6,8,10,12,14,16,9,10,(33)有以下程序typedefstruct{intb,p;}A;voidf(Ac) /*注意:c是結(jié)構(gòu)變量名*/{intj;c.b+=l;c.p+=2;)main(){inti;Aa={l,2};f(a);printf(w%d,%d\n>>,a.b,a.p);}程序運(yùn)行后的輸出結(jié)果是()A)2,3B)2,4C)1,4D)1,2(34)有以下程序main(){inta[4][4]={{1,4,3,2,},{8,6,5,7,},{3,7,2,5,},{4,8,6,1,}},i,j,k,t;for(i=0;i〈4;i++)for(j=0;j<3;j++)for(k=j+l;k<4;k++)if(a[j][i]>a[k][i]){t=a[j][i];a[j][i]=a[k][i];a[k][i]=t;}/*按列排序*/for(i-0;i<4;i++)printf(M%d,n,a[i][j]);)程序運(yùn)行后的輸出結(jié)果是()A)1,6,5,7, B)8,7,3,1, C)4,7,5,2, D)l,6,2,1,(35)有以下程序main(){inta[4][4]={{1,4,3,2,},{8,6,5,7,},{3,7,2,5,},{4,8,6,1,}},i,k,t;for(i=0;i<3;i++)for(k=i+i;k<4;k++)if(a[i][i]<a[k][k]){t=a[i][i];a[i][i]=a[k][k];a[k][k]=t;}for(i=0;i<4;i++)printf("%d,",a[0][i]);}程序運(yùn)行后的輸出結(jié)果是()A)6,2,1,1, B)6,4,3,2,C)1,1,2,6, D)2,3,4,6,(36)有以下程序voidf(int*q){inti=0;for(;i〈5;i++)(*q)++;}main(){inta[5]={l,2,3,4,5},i;f(a);for(i=0;i<5;i++)printf("%d,",a[i]);)程序運(yùn)行后的輸出結(jié)果是()A)2,2,3,4,5, B)6,2,3,4,5, 01,2,3,4,5,D)2,3,4,5,6,(37)有以下程序#include<string.h>main(){charp[20]={,a','b','c','d'},q[]="abc",r[]="abcde";
strcpy(p+strlen(q),r);strcat(p,q);printf(<<%d%d\n,*,sizeof(p),strlen(p));}程序運(yùn)行后的輸出結(jié)果是()A)209 B)99 C)2011D)ll11(38)有以下程序#include<string.h>main(){charp[20]={ 'b','c','d'},q口二“abc",r[]=wabcdewstrcat(p,r);Strcpy(p+strlen(q),q);Printf(u%d\n”,sizeof(p));}程序運(yùn)行后的輸出結(jié)果是()A)9 B)6OilD)7(39)有以下程序#include<string.h>main()voidf(charp[][10],intn)/*字符串從小到大排序*/{chart[10];inti,j;for(i=0;i<n-l;i++)for(j=i+l;j<n;j++)if(strcmp(p[i],p[j])>0){strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[i],t);})main(){charp[5][10]={“abc”,"aabdfg","abbd","dcdbe","cd”);f(p,5);printf(<<%d\nw,strlen(p[0]));]程序運(yùn)行后的輸出結(jié)果是()A)2 B)4 C)6 D)3(40)有以下程序voidf(intn,int*r){intrl=0;if(n%3==0)rl=n/3;elseif(n%5==0) rl=n/5;elsef(一n,&rl);*r=rl;)main(){intm=7,r;f(m,&r);printf(a%d\n,r");}程序運(yùn)行后的輸出結(jié)果是()A)2 B)1 C)3 D)0(41)有以下程序main(intargc,char*argv[]){intn=0,i;for(i=l;i<argc;i++)n=n*10+*argv[i]-,0';printf("%d\n",n);}編譯連接后生成可執(zhí)行文件tt.exe,若運(yùn)行時(shí)輸入以下命令行tt12345678程序運(yùn)行后的輸出結(jié)果是()A)12 B)12345 012345678 D)136(42)有以下程序inta=4;intf(intn){intt=0;staticinta=5;if(n%2){inta=6;t+=a++;)else{inta=7;t+=a++;}returnt+a++;}main(){ints=a,i=0;for(;i<2;i++) s+=f(i);printf(<<%d\n>>,s);程序運(yùn)行后的輸出結(jié)果是()032D)36A)24 B)28032D)36(43)有一個(gè)名為init.txt的文件,內(nèi)容如下:#defineHDY(A,B)A/B#definePRINT(Y)Printf(uy=%d\n.,Y)有以下程序#include"init.txt”main(){inta=l,b=2,c=3,d=4,k;K=HDY(a+c,b+d);PRINT(K);)下面針對(duì)該程序的敘述正確的是()A)編譯有錯(cuò) B)運(yùn)行出錯(cuò)C)運(yùn)行結(jié)果為y=0 D)運(yùn)行結(jié)果為y=6(44)有以下程序main(){charch[]="uvwxyz",*pc;Pc=ch;printf("%c\n”,*(pc+5));}程序運(yùn)行后的輸出結(jié)果是()A)z B)0 C)元素ch[5]的地址D)字符y的地址(45)有以下程序structS{intn;inta[20];};voidf(structS*P){inti,j,t;for(i=0;i<p->n-l;i++)for(j=i+l;j<p->n;j++)if(p->a[i]>p->a[j]) {t=p->a[i];p->a[i]=p->a[j];p->a[j]=t;}}main(){inti;structSs={10,{2,3,1,6,8,7,5,4,10,9}};f(&s);for(i=0;i<s.n;i++)printf(a%dw,s.a[i]);)程序運(yùn)行后的輸出結(jié)果是()A)1,2,3,4,5,6,7,8,9,10, B)10,9,8,7,6,5,4,3,2,1,C)2,3,1,6,8,7,5,4,10,9, D)10,9,8,7,6,1,2,3,4,5,(46)有以下程序structS{intn;inta[20];};voidf(int*a,intn){inti;for(i=0;i<n-l;i++)a[i]+=i;}main(){inti;structSs={10,{2,3,1,6,8,7,5,4,10,9}};f(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- TCSI 0045-2025 居家物理環(huán)境適老化改造規(guī)范
- 平?jīng)鏊原h(huán)氧地坪施工方案
- 初中記敘文的結(jié)尾寫(xiě)法
- 建筑工程勞務(wù)施工合同范本
- 食用油罐外壁防腐施工方案
- 裝配式商超貨架施工方案
- 濱州期末數(shù)學(xué)試卷
- 沖擊鉆機(jī)施工方案
- 智研咨詢(xún)發(fā)布:中國(guó)干細(xì)胞治療行業(yè)發(fā)展現(xiàn)狀、產(chǎn)業(yè)全景概覽及投資方向分析報(bào)告
- 科技創(chuàng)新在高質(zhì)量共建一帶一路中的作用
- 生產(chǎn)工藝的標(biāo)準(zhǔn)化與規(guī)范化
- 中醫(yī)養(yǎng)生與身心健康課件
- 1、現(xiàn)代生物技術(shù)的概念、涵蓋的領(lǐng)域
- 河道清淤培訓(xùn)課件
- 機(jī)械基礎(chǔ)全冊(cè)教案第四版
- 30題紀(jì)檢監(jiān)察位崗位常見(jiàn)面試問(wèn)題含HR問(wèn)題考察點(diǎn)及參考回答
- 重癥肺炎護(hù)理查房課件文件
- 《瘋狂動(dòng)物城》全本臺(tái)詞中英文對(duì)照
- 大班語(yǔ)言猴子過(guò)河教案反思
- 施耐德變頻器說(shuō)明書(shū)大全
- 同位語(yǔ)從句和定語(yǔ)從句
評(píng)論
0/150
提交評(píng)論