二級C語言(2006年-2012年3月)真題匯總及答案_第1頁
二級C語言(2006年-2012年3月)真題匯總及答案_第2頁
二級C語言(2006年-2012年3月)真題匯總及答案_第3頁
二級C語言(2006年-2012年3月)真題匯總及答案_第4頁
已閱讀5頁,還剩148頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2006年4月全國計(jì)算機(jī)等級考試二級筆試試卷C語言程序設(shè)計(jì)一、選擇題((1)-(10)每小題2分,(11)-(50)每小題1分,共60分)(1)下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的是()。A)自頂向下B)逐步求精C)模塊化D)可復(fù)用(2)兩個(gè)或兩個(gè)以上模塊之間關(guān)聯(lián)的緊密程度稱為()。A)耦合度B)內(nèi)聚度C)復(fù)雜度D)數(shù)據(jù)傳輸特性(3)下列敘述中正確的是()。A)軟件測試應(yīng)該由程序開發(fā)者來完成B)程序經(jīng)調(diào)試后?般不需要再測試C)軟件維護(hù)只包括對程序代碼的維護(hù)D)以上三種說法都不對(4)按照“后進(jìn)先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。A)隊(duì)列B)棧C)雙向鏈表D)二叉樹(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)對如下二叉樹進(jìn)行后序遍歷的結(jié)果為()。A)ABCDEFB)DBEAFCC)ABDECFD)DEBFCA(7)在深度為7的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為()。A)32B)31C)64D)63“商品”與“顧客”兩個(gè)實(shí)體集之間的聯(lián)系一般是()。A)一對一B)一對多C)多對一D)多對多(9)在E-R圖中,用來表示實(shí)體的圖形是()。A)矩形B)橢圓形C)菱形D)三角形(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)系二級C語言程序設(shè)計(jì)試卷第2頁(共12頁)(11)下列不合法的用戶標(biāo)識符是()oA)j2_KEYB)DoubleC)4dD)_8_(12)下列不合法的數(shù)值常量是()。A)OilB)leiC)8.0E0.5D)Oxabcd(13)下列不合法的字符常量是()。A)'\018'B)V'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="kx43";C)charstr=";D)charstr[]="\0";(16)下列數(shù)組定義中錯(cuò)誤的是()。A)intx[][3]={0}, B)intx⑵[3]={{l,2},{3,4},{5,6}};C)intx[][3]={{l,2,3},{4,5,6}},D)intx[2][3]={1,2,3,4,5,6};(17)若要求從鍵盤讀入含有空格字符的字符串,應(yīng)使用函數(shù)()。getc()B)gets()C)getchar()D)scanf()(18)下列4個(gè)程序中,完全正確的是()。A)#include<stdio.h>B)#include<stdio.h>main();main(){/*programming*/{/*/programming/*/printf("programming!\n");}printf("programming!\n");}C)#include<stdio.h>D)include<stdio.h>main()main(){/*/programming*/*/{/*programming*/printf("programming!\n");}printf("programming!\n");}(19)若有定義:floatx=1.5:inta=l,b=3,c=2:則正確的switch語句是()。A)switch(x)B)switch((int)x);{case1.0:printf("*\n");{casel:printf("*\n");case2.0:printf(n**\n");}case2:printf("**\nn);}C)switch(a+b)D)switch(a+b){casel:printf("*\n");{casel:printf("*\n");case2+l:printf("**\n");}casec:printf("**\n");!(20)若各選項(xiàng)中所用變量已正確定義,fun()函數(shù)中通過return語句返回一個(gè)函數(shù)值,下列選項(xiàng)中錯(cuò)誤的程序是()。A)main()TOC\o"1-5"\h\zfloatfun(intajntb){ }{ x=fun(2r10); }main()floatfun(inta,intb){ }{ x=fun(ij); }floatfun(intjnt);main()main(){floatfun(intIJntj);{ x=fun(2,10); } x=fun(ij); }floatfun(intajntb){ }floatfun(inta,intb){ }(21)在下列給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是().(!E==0)B)(E>0IIE<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);while(ch=getchar()!='N')printf("%c",ch);while(ch=getchar()=='N')printf("%c",ch);while((ch=getchar())=='N')printf("%c",ch);(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("%lf",p);B)*p=&a;scanf("%f",p);C)p=&a;scanf('%lfn,*p);D)p=&a;scanf("%lf",p);(25)現(xiàn)有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針p、q、r分別指向一個(gè)鏈表中連續(xù)的3個(gè)結(jié)點(diǎn)。structnode{hardata;tructnode*next;}*p,*q,*r;現(xiàn)要將q和r所指結(jié)點(diǎn)交換前后位置,同時(shí)要保持鏈表的連續(xù),下列不能完成此操作的語句是()。q->next=r->next;p->next=r;r->next=q;p->next=r;q->next=r->next;r->next=q;q->next=r->next;r->next=q;p->next=r;r->next=q;p->next=r;q->next=r->next;(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)的返回值為()OA)EOFB)非0值C)0D)NULL(28)設(shè)有以下語句inta=l,b=2,c;c=a八(b<<2);執(zhí)行后,C的值為()。A)6B)7C)8D)9(29)有下列程序:#include<stdio.h>main(){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)行后,若從鍵盤輸入(從第1列開始)123<CR>45678<CR>則輸出結(jié)果是()。A)1267B)1256C)1278D)1245(30)有下列程序:main(){inty=10;while(y-);printf(ny=%d\n",y);)程序執(zhí)行后的輸出結(jié)果是()。A)y=0B)y=-lC)y=lD)while構(gòu)成無限循環(huán)(31)有下列程序:main(){inta=0,b=0,c=0,d=0;if(a=l)b=l;c=2;

elsed=3;printf("%d,%d,%d,%d\n",a,b,c,d);)D)編譯有錯(cuò)二級C語言程序設(shè)計(jì)試卷第5頁(共12D)編譯有錯(cuò)A)0,1,2,0B)0,0,0,3C)1,1,2,0(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=12(33)有下列程序:intfunl(doublea){returna*=a;}intfun2(doublex,doubley){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.21B)5C)5.0D)0.0(34)有下列程序:main(){inti,t[][3]={9,8,7,6,5,4,3,2,l};for(i=0;i<3;i++)printf("%d",t[2-i][i]);}程序執(zhí)行后的輸出結(jié)果是()。A)753B)35703690751(35)有下列程序:fun(charp[][10]){intn=0,i;for(i=0;i<7;i++)if(p[i][O]==T)n++;returnn;二級C語言程序設(shè)計(jì)試卷第6頁(共12頁)}main(){charstr[][10]={'Monn,"Tue","Wed","Thu","Fri","Sat","Sun");printf("%d\n",fun(str));)程序執(zhí)行后的輸出結(jié)果是()oA)1B)2C)3D)0(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("%d\n',s);)程序執(zhí)行后的輸出結(jié)果是()。A)45B)20C)25D)36(37)有下列程序:voidfunl(char*p){char*q;q=p;while(*q!='\0'){(*q)++;q++;}}main(){chara[]={nProgram"}/*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(sl,s2);printf('%s,%s\n",sl,s2);)程序執(zhí)行后的輸出結(jié)果是().A)123,abcB)abc,123C)lbc,a23D)321,cba(39)有下列程序:二級C語言程序設(shè)計(jì)試卷第7頁(共12頁)intfun(intn){if(n==l)return1;elsereturn(n+fun(n-l));)main(){intx;scanf("%d",&x);x=fun(x);printf("%d\n",x);)執(zhí)行程序時(shí),給變量X輸入10,程序的輸出結(jié)果是()。A)55B)54C)65D)45(40)有下列程序:intfun(intx[],intn){staticintsum=0,i;for(i=0;i<n;i++)sum+=x[i];returnsum;}main(){inta[]={l,2,3,4,5},b[]={6,7,8,9},s=0;s=fun(a,5)+fun(b,4);printf("%d\nn,s);}程序執(zhí)行后的輸出結(jié)果是()。A)45B)50C)60D)55(41)有下列程序:main(){union{charch⑵;intd;)s;s.d=0x4321;printf("%x,%x\n",s.ch[O],s.ch[l]);)在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結(jié)果是().A)21,43B)43,21C)43,00D)21,00(42)有下列程序:main(){char*p[]={"3697","2584'};inti,j;longnum=0;for(i=0;i<2;i++){j=0;while(p[i][j]!='\0')二級C語言程序設(shè)計(jì)試卷第8頁(共12頁){if((p[i][j]-,0,)%2)num=10*num+p[i][j]-'O';j+=2;))printf("%d\n",num);)程序執(zhí)行后的輸出結(jié)果是()。A)35B)37C)39D)3975(43)執(zhí)行下列程序后,testtxt文件的內(nè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(l);)fwrite(sl,7,l,fp);/*把從地址si開始的7個(gè)字符寫到fp所指文件中*/fseek(fp,OL,SEEK_SET);/*文件位置指針移至政件開頭*/fwrite(s2,5,l,fp);fclose(fp);}A)BasicanB)BasicFortranC)BasicD)FortranBasic(44)下列敘述中錯(cuò)誤的是()。C語言源程序經(jīng)編譯后生成后綴為.??傻哪繕?biāo)程序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é)果(46)下列敘述中錯(cuò)誤的是()。A)C程序必須由一個(gè)或一個(gè)以上的函數(shù)組成B)函數(shù)調(diào)用可以作為一個(gè)獨(dú)立的語句存在C)若函數(shù)有返回值,必須通過return語句返回D)函數(shù)形參的值也可以傳回給對應(yīng)的實(shí)參(47)設(shè)有下列定義和語句charstr[20]="Program",*p;p=str;則下列敘述中正確的是()。*p與str[O]的值相等str與p的類型完全相同str數(shù)組長度和p所指向的字符串長度相等D)數(shù)組str中存放的內(nèi)容和指針變量p中存放的內(nèi)容相同(48)下列敘述中錯(cuò)誤的是()。A)C程序中的#include和#define行均不是C語句B)除逗號運(yùn)算符外,賦值運(yùn)算符的優(yōu)先級最低C程序中,j++:是賦值語句C程序中,+、-、*、/、%號是算術(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可以為各種類型起別名,但不能為變量起別名二、填空題(每空2分,共40分)(1)對長度為10的線性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為【1】。(2)在面向?qū)ο蠓椒ㄖ校?】描述的是具有相似屬性與操作的一組對象。(3)在關(guān)系模型中,把數(shù)據(jù)看成是二維表,每一個(gè)二維表稱為一個(gè)【3】?(4)程序測試分為靜態(tài)分析和動(dòng)態(tài)測試。其中【4】是指不執(zhí)行程序,而只是對程序文本進(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】o(6)若變量a,b已定義為int類型并賦值21和55,要求用printf函數(shù)以a=2Lb=55的形式輸出,請寫出完整的的輸出語句【6】.(7)下列程序用于判斷a、b、c能否構(gòu)成三角形,若能,輸出YES,否則輸出NO。當(dāng)給a、b、c輸入三角形三條邊長時(shí),確定a、b、c能構(gòu)成三角形的條件是需同時(shí)滿足三個(gè)條件:a+b>c,a+c>b,b+c>a。請?zhí)羁铡ain(){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)成三角形*/}(8)下列程序的輸出結(jié)果是[8】omain(){inta[3][3]={{l,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-l];printf("%d\n',s);)(9)當(dāng)運(yùn)行下列程序時(shí),輸入abed,程序的輸出結(jié)果是:【9】。二級C語言程序設(shè)計(jì)試卷第10頁(共12頁)insert(charstr[]){inti;i=strlen(str);while(i>0){str[2*i]=str[i];str[2*i-l]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[]={ll,416,3,8,2,3,5,9,2};printf("%d\n",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(B\nB);}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】。(12)下列函數(shù)fun的功能是返回str所指字符串中以形參c中字符開頭的后續(xù)字符串的首地址,例如:str所指字符串為:Hello!,c中的字符為e,則函數(shù)返回字符串:ello!的首地址。若str所指字符串為空串或不包含c中的字符,則函數(shù)返回NULL。請?zhí)羁?。char*fun(char*str#charc){intn=0;char*p=str;if(p!=NULL)while(p[n]!=c&&p[n]!='\0')n++;二級C語言程序設(shè)計(jì)試卷第11頁(共12頁)if(p[n]=='\0')returnNULL;return([12]);)(13)下列程序的功能是:輸出100以內(nèi)(不含100)能被3整除且個(gè)位數(shù)為6的所有整數(shù),請?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。請?zhí)羁読ntisprime(inta){inti;for(i=2;i<=a/2;i++)[16];(15)下列程序的功能是輸入任意整數(shù)給n后,輸出n行由大寫字母A開始構(gòu)成的三角形字符陣列圖形。例如,輸入整數(shù)5時(shí)(注意:n不得大于10),程序運(yùn)行結(jié)果如下:ABCDEFGHIJKLMNO請?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];)[18];))elseprintf("nistoolarge!\n")二級C語言程序設(shè)計(jì)試卷第12頁(共12頁)(16)下列程序中fun()函數(shù)的功能是:構(gòu)成一個(gè)如圖所示的帶頭結(jié)點(diǎn)的單向鏈表,在結(jié)點(diǎn)的數(shù)據(jù)域中放入了具有兩個(gè)字符的字符串。Disp()函數(shù)的功能是顯示輸出該單鏈表中所有結(jié)點(diǎn)中的字符串。請?zhí)羁胀瓿蒬isp()函數(shù)。#indude<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("\nn);2006年4月筆試試卷參考答案一、選擇題(1)D)(2)A)(3)D)(4)B)(5)A)(6)D)(7)C)(8)D)A) (10)C) (11)C) (12)C) (13)A) (14)D) (15)D) (16)B)B) (18)B) (19)C) (20)A) (21)B) (22)A) (23)B) (24)D)D)(26)C)(27)B)(28)D)(29)D)(30)B)(31)D)(32)B)C)(34)B)(35)B)(36)C)(37)A)(38)C)(39)A)(40)C)A)(42)D)(43)A)(44)D)(45)B)(46)D)(47)A)(48)D)B)(50)A)二、填空題(1)[1]45(2)[2]類(3)[3]關(guān)系(4)[4]靜態(tài)測試(5)[5]物理獨(dú)立性(6)[6]printf("a=%d,b=%d",a,b);(7)[7](a+b>c)&&(a+c>b)&&(b+c>a)(8)[8]30(9)[9]a*b*c*d*(10)[10]Il(11)[11]!knahT(12)[12]p+n(13)[13]i<10[14]j%3!=0(14)[15]return0[16]return1(15)[17]ch++[18]printf("\n");(16)[19]p!=NULL[20]p->next機(jī)密★啟用前2006年9月全國計(jì)算機(jī)等級考試二級筆試試卷C語言程序設(shè)計(jì)一、選擇題((1)-(10)每小題2分,(11)-(50)每小題1分,共60分)(1)下列選項(xiàng)中不符合良好程序設(shè)計(jì)風(fēng)格的是()。A)源程序要文檔化B)數(shù)據(jù)說明的次序要規(guī)范化C)避免濫用goto語句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)過程設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì)(3)下列選項(xiàng)中不屬于軟件生命周期開發(fā)階段任務(wù)的是()。A)軟件測試B)概要設(shè)計(jì)C)軟件維護(hù)D)詳細(xì)設(shè)計(jì)(4)在數(shù)據(jù)庫系統(tǒng)中,用戶所見的數(shù)據(jù)模式為()。A)概念模式B)外模式C)內(nèi)模式D)物理模式(5)數(shù)據(jù)庫設(shè)計(jì)的4個(gè)階段是:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和().A)編碼設(shè)計(jì)B)測試階段C)運(yùn)行階段D)物理設(shè)計(jì)(6)設(shè)有如下3個(gè)關(guān)系表RSTABCABCm13m13nn13下列操作中正確的是()。A)T=RnSB)T=RUSC)T=RXSD)T=R/S(7)下列敘述中正確的是()。一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小D)上述三種說法都不對(8)在長度為64的有序線性表中進(jìn)行順序查找,最壞情況下需要比較的次數(shù)為()oA)63B)6406D)7(9)數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的()。A)存儲(chǔ)問題B)共享問題C)安全問題D)保護(hù)問題(10)對下列二叉樹二級C語言程序設(shè)計(jì)試卷第2頁(共12頁)進(jìn)行中序遍歷的結(jié)果是()。A)ACBDFEGB)ACBDFGEC)ABDCGEFD)FCADBEG(11)下列敘述中錯(cuò)誤的是()。一個(gè)C語言程序只能實(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程序中所有函數(shù)之間都可以相互調(diào)用,與函數(shù)所處位置無關(guān)D)在C程序的函數(shù)中不能定義另一個(gè)函數(shù)(13)下列定義變量的語句中錯(cuò)誤的是()。A)int_int;B)doubleint_;C)charFor;D)floatUSS;(14)若變量x、y已正確定義并賦值,下列符合C語言語法的表達(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)算對象的敘述中正確的是()。A)只能是整數(shù)0或1B)只能是整數(shù)0或非0整數(shù)C)可以是結(jié)構(gòu)體類型的數(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<0IIx-y>0)D)(x-y==0)(17)有下列程序:main(){intx,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);)程序運(yùn)行后的輸出結(jié)果是()。A)2,3,3B)2,3,2C)2,3,1D)2,2,1(18)設(shè)有定義:inta;floatb;執(zhí)行scanf("%2d%F,,&a,&b);語句時(shí),若從鍵盤輸入876543.0<CR>,a和b的值分別是()。A)876和543.000000B)87和6.000000C)87和543.000000D)76和543.000000(19)有下列程序:main(){inta=0,b=0;a=10;/*給a賦值二級C語言程序設(shè)計(jì)試卷第3頁(共12頁)b=20;給b賦值*/printf("a+b=%d\n",a+b);/*輸出計(jì)算結(jié)果*/}程序運(yùn)行后的輸出結(jié)果是().A)a+b=10B)a+b=30C)30D)出錯(cuò)(20)在嵌套使用if語句時(shí),C語言規(guī)定else總是()。A)和之前與其具有相同縮進(jìn)位置的if配對B)和之前與其最近的if配對C)和之前與其最近的且不帶eke的if配對D)和之前的第一個(gè)if配對(21)下列敘述中正確的是()。A)break語句只能用于switch語句B)在switch語句中必須使用defaultC)break語句必須與switch語句中的case配對使用D)在switch語句中,不一定使用break語句(22)有下列程序:main(){intk=5;while(-k)printf(n%d';k-=3);printf(H\nH);)執(zhí)行后的輸出結(jié)果是()。A)1B)2C)4D)死循環(huán)(23)有下列程序:main(){inti;for(i=l;i<=40;i++){if(i++%5==0)if(++i%8==0)printf(H%d\i);)printf("\nH);)執(zhí)行后的輸出結(jié)果是()。A)5B)24C)32D)40(24)下列選項(xiàng)中,值為1的表達(dá)式是()。A)l-VB)l-AO1C)T-0D)'\0;。(25)有下列程序:fun(intx,inty){return(x+y);}main(){inta=l,b=2,c=3,sum;sum=fun((a++,b++,a+b),c++);printf("%d\n”,sum);二級C語言程序設(shè)計(jì)試卷第4頁(共12頁)}執(zhí)行后的輸出結(jié)果是()。A)6B)7C)8D)9(26)有下列程序:main(){chars[]=,,abcde,";s+=2;printf(M%d\n';s[O]);)執(zhí)行后的結(jié)果是()。A)輸出字符a的ASCII碼B)輸出字符c的ASCII碼C)輸出字符cD)程序出錯(cuò)(27)有下列程序:fun(intx,inty){staticintm=0,i=2;i+=m+l;m=i+x+y;returnm;}main(){intj=l,m=l,k;k=fun(j,m);printf(n%d,",k);k=fun(j,m);printf("%d\n",k);)執(zhí)行后的輸出結(jié)果是()。A)5,5B)5,11C)lb11D)IL5(28)有下列程序:fun(intx){intp;if(x==0IIx==1)return(3);p=x-fun(x-2);returnp;)main(){printf(M%d\n'\fun(7));}執(zhí)行后的輸出結(jié)果是()。A)7B)3C)2D)0(29)在16位編譯系統(tǒng)上,若有定義血2[]={10,20,30)為=&明,當(dāng)執(zhí)行片+;后,下列說法錯(cuò)誤的是()。A)p向高地址移了一個(gè)字節(jié)B)p向高地址移了一個(gè)存儲(chǔ)單元C)p向高地址移了兩個(gè)字節(jié)D)p與a+1等價(jià)(30)有下列程序:main()二級C語言程序設(shè)計(jì)試卷第5頁(共12頁){inta=l,b=3,c=5,*p;int*p1=&a,*p2=&b,*p3=&c;*p=*pl*(*p2);printf(M%d\nM,*p);執(zhí)行后的輸出結(jié)果是()。A)1B)2C)3D)4(31)若有定義:intwBH5];,則下列不能正確表示該數(shù)組元素的表達(dá)式是()。A)*(*w+3)B)*(*w+l)[4]C)*(*(*w+l))D)*(&w[O][O]+l)(32)若有以下函數(shù)首部intfun(doublex[10],int*n)則下列針對此函數(shù)的函數(shù)聲明語句中正確的是()。A)intfun(doublex,int*n);B)intfun(double,int);C)intfun(double*x,intn);D)intfun(double*、int*);(33)若有定義語句:intk⑵[3],*pk[3];,則下列語句中正確的是()。A)pk=k;B)pk[0]=&k[l][2];C)pk=k[OJ;D)pk[lj=k;(34)有下列程序:voidchange(intk[]){k[O]=k[5];}main(){intx[10]={1,2,3,456,7,8,9,10},n=0;while(n<=4){change(&x[n]);n++;}for(n=0;n<5;n++)printf("%d",x(n]);printf(M\nM);)程序運(yùn)行后輸出的結(jié)果是()。A)678910B)13579C)12345D)62345(35)若要求定義具有10個(gè)int型元素的一維數(shù)組。,則下列定義語句中錯(cuò)誤的是()。A)#defineN10B)#definen5inta[N];inta[2*n];C)inta[5+5];D)intn=10,a[n];(36)有下列程序:main(){intx[3][2]={0},i;for(i=0;i<3;i++)scanf(M%dn,x[i]);printf(,,%3d%3d%3d\n\x[0][0],x[0][l],x[l][0]);)若運(yùn)行時(shí)輸入:246<CR>,則輸出結(jié)果為()。A)200B)204C)240D)246(37)有下列程序:二級C語言程序設(shè)計(jì)試卷第6頁(共12頁)main(){chars[]={"aeiouu),*ps;ps=s;printf(H%c\nH,*ps+4);程序運(yùn)行后的輸出結(jié)果是()。A)aB)eC)uD)元素s[4]的地址(38)下列語句中存在語法錯(cuò)誤的是()。A)charss[6][20];ss[l]="right?”;B)charss[][20]={"right?”};C)char*ss[6];ss[l]=Mright?H;D)charss[]={Mright?**);(39)若有定義:char*x=nabcdefghin;,下列選項(xiàng)中正確運(yùn)用了strcpy函數(shù)的是()。A)chary[10];strcpy(y,x[4J);B)chary[10J;strcpy(++y,&x[lJ);C)chary[10],*s;strcpy(s=y+5,x);D)chary[10],*s;strcpy(s=y+1,x+1);(40)有下列程序:intadd(intajntb){return(a+b);}main(){intk,(*f)(),a=5,b=10;f=add;}則下列函數(shù)調(diào)用語句錯(cuò)誤的是()。A)k=(*f)(a,b);B)k=add(a,b);C)k=*f(a,b);D)k=f(a,b);(41)有下列程序:#include<string.h>main(intargc,char*argv[]){int』"=0;while(i<argc){n=n+strlen(argv[i]);i++;}prinlf("%d\n”,n);}該程序生成的可執(zhí)行文件為:proc.exeo若運(yùn)行時(shí)輸入命令行:proc1234567則程序的輸出結(jié)果是()。A)3B)5C)7D)11(42)有下列程序:voidfun2(chara,charb){printf(H%c%cM,a,b);}chara='A,,b=,B,;voidfun1(){a=C';b='D,;}main(){fun1();printf(n%c%c",a,b);fun2CEVF);)二級C語言程序設(shè)計(jì)試卷第7頁(共12頁)程序的運(yùn)行結(jié)果是()。A)CDEFB)ABEFC)ABCDD)CDAB(43)有下列程序:#include<stdio.h>#defineN5#defineMN+l#definef(x)(x*M)main(){intil,i2;il=f(2);i2=f(l+l);printf(M%d%d\nM,il,i2);)程序的運(yùn)行結(jié)果是()。A)1212B)117C)IIHD)127(44)設(shè)有以下語句:typedefstructTT{charc;inta[4];}CIN;則下列敘述中正確的是()。A)可以用TT定義結(jié)構(gòu)體變量B)TT是struct類型的變量C)可以用CIN定義結(jié)構(gòu)體變量D)CIN是structTT類型的變量(45)有下列結(jié)構(gòu)體說明、變量定義和賦值語句:structSTD{charname[10];intage;charsex;}s[5],*ps;ps=&s[0];則下列scanf函數(shù)調(diào)用語句中錯(cuò)誤引用結(jié)構(gòu)體變量成員的是()。A)scanf("%s",s[0].name);B)scanf("%d",&s[0].age);C)scanf("%c",&(ps->sex));D)scanf("%d",ps->age);(46)若有下列定義和語句:uniondata{inti;charc;floatf;}x;inty;則下列語句正確的是().A)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)。二級C語言程序設(shè)計(jì)試卷第8頁(共12頁)若有下列程序段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)若變量已正確定義,則下列語句的輸出結(jié)果是()。s=32;sA=32;printf(n%dn,s);A)-1B)0C)1D)32(49)下列敘述中正確的是()。A)C語言中的文件是流式文件,因此只能順序存取數(shù)據(jù)B)打開一個(gè)已存在的文件并進(jìn)行了寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋C)在一個(gè)程序中當(dāng)對文件進(jìn)行了寫操作后,必須先關(guān)閉該文件然后再打開,才能讀到第1個(gè)數(shù)據(jù)D)當(dāng)對文件的讀(寫)操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失(50)有下列程序:#include<stdio.h>main(){FILE*fp;inti;charch[]=nabcd'\t;fp=fopen(,'abc.dat,',uwb+n);for(i=0;i<4;i++)fwrite(&ch[i],1,1,fp);fseek(fp,-2L,SEEK_END);fread(&t,l,l,fp);fclose(fp);printf("%c'n",t);)程序執(zhí)行后的輸出結(jié)果是()。A)dB)cC)bD)a二、填空題(每空2分,共40分)注意:以命令關(guān)鍵字填空的必須拼寫完整。(1)下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為【1】。[2]的任務(wù)是診斷和改正程序中的錯(cuò)誤。一個(gè)關(guān)系表的行稱為【3】o(4)按“先進(jìn)后出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是【4】。(5)數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),帶鏈的隊(duì)列屬于【5】。二級C語言程序設(shè)計(jì)試卷第9頁(共12頁)(6)設(shè)有定義:floatx=123.4567;,則執(zhí)行下列語句后的輸出結(jié)果是[6].printf("%f\n",(int)(x*1004-0.5)/100.0);(7)下列程序運(yùn)行后的輸出結(jié)果是[7],,main(){intm=01l,n=l1;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í)從鍵盤輸入:18, 則程序的輸出結(jié)果是[9】omain(){inta,b;printf(MEntera,b:");scanf(n%d,%dH,&a,&b);while(a!=b){while(a>b)a-=b;while(b>a)b-=a;}printf(,,%3d%3d\n';a,b);}(10)下列程序的功能是:將輸入的正整數(shù)按逆序輸出。例如:若輸入135則輸出531。請?zhí)羁铡?include<stdio.h>main(){intn,s;printf(''Enteranumber:");scanf(M%d'\&n);printf(nOutput:”);do{s=n%10;primfC%d”,s);[10];}while(n!=0);printf(H\nn);}(11)下列程序中,fun。函數(shù)的功能是計(jì)算x2?2x+6,主函數(shù)中將調(diào)用fun()函數(shù)計(jì)算:yl=(x+8)2-2(x+8)+6y2=sin2(x)-2sin(x)+6請?zhí)羁铡?include"math.h"doublefun(doublex){return(x*x-2*x+6);}main(){doublex,yl,y2;printf(MEnterx:");scanf(n%lf\&x);二級C語言程序設(shè)計(jì)試卷第10頁(共12頁)yl=fun([11]);y2=fun([12]);printf(My1=%lf,y2=%lf\nM,y1,y2);)(12)下列程序的功能是將N行N列二維數(shù)組中每一行的元素進(jìn)行排序,第0行從小到大排序,第1行從大到小排序,第2行從小到大排序,第3行從大到小排序,例如:請?zhí)羁铡?defineN4voidsort(inta[UN]){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ù)來確定按升序或降序來排序*/if([14]?a[i][j]<a[i][k]:a[i][j]>a[i][k]){t=a[i][j];a[i][j]=a[i][k];a[i][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所指字符串為:efghefgho請?zhí)羁铡?include<stdio.h>#include<string.h>voidstrcpy2(char*s,char*t){char*p=t;while(*s++=*t++);s=[15];while([16]=*p++);2341865711121091514161323418657111210915141613當(dāng)人=則排序后人=二級C語言程序設(shè)計(jì)試卷第11頁(共12頁)main(){charstrl[100]="abed”,str2[]="efgh”;strcpy2(strl,str2);printf(M%s\nn,strl);(14)下列程序的運(yùn)行結(jié)果是:【17】o#include<stdio.h>intf(inta[],intn){if(n>l)returna[O]+f(a+l,n-l);elsereturna[0];)main(){intaa[10]={1,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>#defineM8#definef(x)((x)*M)include”4.h”main(){inti,j;i=f(l+l);j=f2(l+l);printf(1,%d%d\n',,i,j);)(16)下列程序的功能是建立一個(gè)有3個(gè)結(jié)點(diǎn)的單循環(huán)鏈表,然后求各個(gè)結(jié)點(diǎn)數(shù)值域data中數(shù)據(jù)的和。請?zhí)羁铡?include<stdio.h>#include<stdlib.h>structNODE{intdata;structNODE*next;);main(){structNODE*p,*q,*r;二級C語言程序設(shè)計(jì)試卷第12頁(共12頁)intsum=0;p=(structNODE*)malloc(sizeof(structNODE));q=(structNODE*)malloc(sizeof(structNODE));r=(structNODE*)mailoc(sizeof(structNODE));p-><iata=100;q->data=200;r->data=300;p->next=q;q->next=r:r->next=p;sum=p->data+p->next->data+r->next->next[19];printf("%d\n”,sum);

(17)有下列程序,其功能是:以二進(jìn)制"寫“方式打開文件dl.dat,寫入1?100這100個(gè)整數(shù)后關(guān)閉文件。再以二進(jìn)制”讀”方式打開文件dl.dat,將這100個(gè)整數(shù)讀入到另一個(gè)數(shù)組b中,并打印輸出。請?zhí)羁铡?include<stdio.h>main(){FILE*fp;inti,a[100],b[100];fp=fopen("dl.dat,',Hwb");for(i=0;i<100;i++),a[i]=i+l;fwrite(a,sizeof(int),100,fp);fclose(fp);fp=fopen(,,dl.datM,[20]);fread(b,sizeof(int),100,fp);fclose(fp);for(i=0;i<100;i++)printf("%d\n”,b[i]);2006年9月筆試試卷參考答案(1)D)(2)A)(3)C)(4)B)(5)D)(6)C)(7)D)(8)B)(9)B)(10)A)(11)A)(12)D)(13)D)(14)A)(15)D)(16)D)(17)C)(18)B)(19)A)(20)C)(21)D)(22)A)(23)C)(24)B)(25)C)(26)D)(27)B)(28)C)(29)B)(30)C)(31)C)(32)C)(33)B)(34)A)(35)D)(36)B)(37)B)(38)A)(39)D)(40)C)(41)C)(42)A)(43)B)(44)C)(45)D)(46)B)(47)A)(48)B)一、選擇題(49)(50)B)D)二、填空題(1)(1)(3)(5)(7)(1)(1)(3)(5)(7)(9)(11)(13)(15)(17)[1]3(2)[2]程序調(diào)試[3]元組(4)[4]棧[5]線性結(jié)構(gòu)(6)[6]123,460000[7]1011(8)[8]1[9]11(10)[10]n/=10或n=n/10x+8[12]x+8[12]sin(x)(12)[13]j+1[14]i%2==ls-1[16]*s++(14)[17]181611(16)[19]->next->data“rb”[15][18][20]2007年4月全國計(jì)算機(jī)等級考試二級筆試試卷C語言程序設(shè)計(jì)一、選擇題((1)-(10)每小題2分,(11)-(50)每小題1分,共60分)(1)下列敘述中正確的是()。A)算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無關(guān)B)算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量C)數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)是一一對應(yīng)的D)算法的時(shí)間復(fù)雜度與空間復(fù)雜度一定相關(guān)(2)在結(jié)構(gòu)化程序設(shè)計(jì)中,模塊劃分的原則是()。A)各模塊應(yīng)包括盡量多的功能B)各模塊的規(guī)模應(yīng)盡量大C)各模塊之間的聯(lián)系應(yīng)盡量緊密D)模塊內(nèi)具有高內(nèi)聚度、模塊間具有低耦合度(3)下列敘述中正確的是()。A)軟件測試的主要目的是發(fā)現(xiàn)程序中的錯(cuò)誤B)軟件測試的主要目的是確定程序中錯(cuò)誤的位置C)為了提高軟件測試的效率,最好由程序編制者自己來完成軟件測試的工作D)軟件測試是證明軟件沒有錯(cuò)誤(4)下列選項(xiàng)中不屬于面向?qū)ο蟪绦蛟O(shè)計(jì)特征的是()。A)繼承性B)多態(tài)性C)類比性D)封裝性(5)下列對隊(duì)列的敘述正確的是()。A)隊(duì)列屬于非線性表B)隊(duì)列按“先進(jìn)后出”原則組織數(shù)據(jù)C)隊(duì)列在隊(duì)尾刪除數(shù)據(jù)D)隊(duì)列按“先進(jìn)先出”原則組織數(shù)據(jù)(6)下列二叉樹進(jìn)行前序遍歷的結(jié)果為()。A)DYBEAFCZXB)YDEBFZXCAC)ABDYECFXZD)ABCDEFXYZ(7)某二叉樹中有n個(gè)度為2的結(jié)點(diǎn),則該二叉樹中的葉子結(jié)點(diǎn)數(shù)為()。A)n+1B)n-1C)2nD)n/2(8)在下列關(guān)系運(yùn)算中,不改變關(guān)系表中的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)的是()。A)并B)交C)投影D)笛卡兒乘積二級C語言程序設(shè)計(jì)試卷第2頁(共12頁)(9)在E-R圖中,用來表示實(shí)體之間聯(lián)系的圖形是()。A)矩形B)橢圓形C)菱形D)平行四邊形(10)下列敘述中錯(cuò)誤的是()。A)在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致B)數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題C)數(shù)據(jù)庫設(shè)計(jì)是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫D)數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持(11)在算法中,對需要執(zhí)行的每一步操作,必須給出清楚、嚴(yán)格的規(guī)定。這屬于算法的()OA)正當(dāng)性B)可行性C)確定性D)有窮性(12)下列敘述中錯(cuò)誤的是()。A)計(jì)算機(jī)不能直接執(zhí)行用C語言編寫的源程序B)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語言規(guī)定的用戶標(biāo)識符命名規(guī)則,不能出現(xiàn)在標(biāo)識符中的是()。A)大寫字母B)連接符C)數(shù)字字符D)下劃線(14)下列敘述中錯(cuò)誤的是()。C語言是一種結(jié)構(gòu)化程序設(shè)計(jì)語言B)結(jié)構(gòu)化程序由順序、分支、循環(huán)3種基本結(jié)構(gòu)組成C)使用3種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題D)結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法(15)對于一個(gè)正常運(yùn)行的C程序,下列敘述中正確的是()。A)程序的執(zhí)行總是從main函數(shù)開始,在main函數(shù)結(jié)束B)程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開始,在main函數(shù)結(jié)束C)程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束D)程序的執(zhí)行總是從程序中的第一個(gè)函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束(16)設(shè)變量均已正確定義,若要通過scanf("%d%c%d%c",&al,&cl,&a2,&c2);語句為變量al和a2賦數(shù)值10和20,為變量cl和c2賦字符X和丫。下列所示的輸入形式中正確的是(注:口代表空格字符)()。A)10nxn20DY<CR>10nX20DY<CR>10DX<CR>20Y<CR>10X<CR>20DY<CR>(17)若有代數(shù)式〃,+ex,(其中e僅代表自然對數(shù)的底數(shù),不是變量),則下列能夠正確表示該代數(shù)式的C語言表達(dá)式是()。A)sqrt(abs(nAx+eAx))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)))二級C語言程序設(shè)計(jì)試卷第3頁(共12頁)(18)設(shè)有定義:intk=0;,下列選項(xiàng)的4個(gè)表達(dá)式中與其他3個(gè)表達(dá)式的值不相同的是()。A)k++B)k+=lC)++kD)k+1(19)有下列程序,其中%u表示按無符號整數(shù)輸出。main(){unsignedintx=0xFFFF;/*x的初值為十六進(jìn)制數(shù)*/printf("%u\n",x);程序運(yùn)行后的輸出結(jié)果是()。A)-1B)65535C)32767D)OxFFFF(20)設(shè)變量x和y均已正確定義并賦值。下列if語句中,在編譯時(shí)將產(chǎn)生錯(cuò)誤信息的是(),A)if(x++);B)if(x>y&&y!=0);C)if(x>O)x-D)if(y<0){;}elsey++;elsex++;(21)下列選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),值為0的表達(dá)式是()。x%2==lB)x/2C)x%2!=0D)x%2==0(22)下列敘述中正確的是()。A)break語句只能用于switch語句體中continue語句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)break語句只能用在循環(huán)體內(nèi)和switch語句體內(nèi)D)在循環(huán)體內(nèi)使用break語句和continue語句的作用相同(23)有下列程序:main(){intk=5,n=0;do{switch(k){case1:case3:n+=l;k—;break;default:n=O;k—;case2:case4;n+=2;k—;break;)printf(,,%d0,n);}while(k>0&&n<5);}程序運(yùn)行后的輸出結(jié)果是()。A)235B)0235C)02356D)2356(24)有下列程序:main(){inti,j;for(i=1;i<4;i++)二級C語言程序設(shè)計(jì)試卷第4頁(共12頁){for(j=i;j<4;j++)printf(n%d*%d=%dM,i,j,i*j);printf(M\nH);程序運(yùn)行后的輸出結(jié)果是()。A)1*1=11*2=21*3=3B)1*1=11*2=21*3=32*1=22*2=42*2=42*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)下列合法的字符型常量是()。Axl3'B)'081'C)'65'D)"\n"(26)在C語言中,函數(shù)返回值的類型最終取決于()。A)函數(shù)定義時(shí)在函數(shù)首部所說明的函數(shù)類型return語句中表達(dá)式值的類型C)調(diào)用函數(shù)時(shí)主調(diào)函數(shù)所傳遞的實(shí)參類型D)函數(shù)定義時(shí)形參的類型(27)已知大寫字母A的ASCII碼是65,小寫字母a的ASCII碼是97。下列不能將變量c中的大寫字母轉(zhuǎn)換為對應(yīng)小寫字母的語句是()。A)c=(c-'A')%26+'a'B)c=c+32c=c-'A'+'a'D)c=('A'+C)%26-'a'(28)有下列函數(shù):intfun(char*s){char*t=s;while(*t++);retum(t-s);)該函數(shù)的功能是()。A)比較兩個(gè)字符串的大小B)計(jì)算s所指字符串占用內(nèi)存字節(jié)的個(gè)數(shù)C)計(jì)算s所指字符串的長度D)將s所指字符串復(fù)制到字符串t中(29)設(shè)已有定義:floatx;,則下列對指針變量p進(jìn)行定義且賦初值的語句中正確的是()。A)float*p=1024;B)int*p=(float)x;C)floatp=&x;D)float*p=&x;(30)有下列程序:#include<stdio.h>main(){intn,*p=NULL;*p=&n;printf("Inputn:");scanf("%d",&p);printf("outputn:");printf("%d\n",p);)二級C語言程序設(shè)計(jì)試卷第5頁(共12頁)該程序試圖通過指針p為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯(cuò)誤,下列語句正確的是()。A)intn,*p=NULL;B)*p=&n;C)scanf("%d",&p)D)printf("%d\n",p);(31)下列程序中函數(shù)f的功能是:當(dāng)flag為1時(shí),進(jìn)行由小到大排序;當(dāng)flag為0時(shí),進(jìn)行由大到小排序。voidf(intb[],intn,intflag){inti,j,t;for(i=0;i<n-l;i++)for(j=i+l;j<n;j++)?f(flag?b[i]>bU]:b[i]<b[j]){t=b[i];b[i]=b[j];bU]=t;}Imain(){inta[10]={5,4,3,2,1,6,7,8,9,10},i;f(&a[2],5,0);f(a,5,l);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,C)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]={1,2,3,4,5,6,7,8,9,10)3;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,10,C)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)變量名*/(>ntj;c.b+=l.c.p+=2.)main(){>nti;Aa={1,2};f(a);printf("%d,%d\n",a.b,a.p);二級C語言程序設(shè)計(jì)試卷第6頁(共12頁))程序運(yùn)行后的輸出結(jié)果是()。A)2,3B)2,4C)1,4D)1,2(34)有下列程序:main(){inta[4][4]={{l,4,3,2),(8,6,5,7},{3,725},{4,8,61}}fdr(i=0;i<4;i++)for(j=0;jv3;j++)for(k=j+l;k<4;k++)if(aLj][i]>a[k][i])[t=a皿i];a[jni]=a[k][i];a[kHi]=t;}/*按列排序*/for(i=0;i<4;i++)printf("%d,",a[i][i]);)程序運(yùn)行后的輸出結(jié)果是()。A)1,6,5,7,B)8,7,3,1,C)4,7,5,2,D)1,6,2,1,(35)有下列程序:main(){inta[4][4]={{1,4,3,2},{8,6,5J},{3,7,2,5},{4,8,6,1}}g;for(i=0;i<3;i++)for(k=i+l;k<4;k++)if(a[i][i]va[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[O][i]);)程序運(yùn)行后的輸出結(jié)果是()。A)621,1,B)6,4,32C)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,C)123,4,5,D)2,3,4,5,6,(37)有下列程序:#include<string.h>main(){charp[20]={'a,,V,'c\^),q[]=MabcH,r[]=MabcdeM;strcpy(p+strlen(q),r);strcat(p,q);二級C語言程序設(shè)計(jì)試卷第7頁(共12頁)printf(M%d%d\n",sizeof(p),strlen(p));)程序運(yùn)行后的輸出結(jié)果是()。A)209B)99C)2011D)1111(38)有下列程序:#include<string.h>main(){charp[20]={,a,;b,;c,;d'},q[]=Habc",r[]=nabcden;strcat(p,r);strcpy(p+strlen(q),q);printf(M%d\nM,strlen(p));)程序運(yùn)行后的輸出結(jié)果是()。A)9B)6C)11D)7(39)有下列程序:#include<string.h>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]);sircpy(p|j],t);})main(){charp[5][10]={"abc","aabclfg',,nabbdn,MdcdbeM,"cd1');f(p,5);printf(,,%d\n",strlen(p[0]));)程序運(yùn)行后的輸出結(jié)果是()。A)2B)406D)3(40)有下列程序:voidf(intn,int*r){intrl=0;if(n%3==0)rl=n/3;elseif(n%5==0)rl=n/5;elseif(-n,&rl);*r=rl;}main(){intm=7,r;f(m,&r);printf("%d",r);}程序運(yùn)行后的輸出結(jié)果是()。2B)1C)3D)0二級C語言程序設(shè)計(jì)試卷第8頁(共12頁)(41)有下列程序:main(intargc,char*argv[]){intn=0,i;for(i=l;i<argc;i++)n=n*10+*argv[i]-'O';printf("%d\n",n);)編譯連接后生成可執(zhí)行文件tt.exe。若運(yùn)行時(shí)輸入以下命令行tt12345678程序運(yùn)行后的輸出結(jié)果是()。A)12B)12345012345678D)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=O;for(;i<2;i++)s+=f(i);printf(H%d\n",s);)程序運(yùn)行后的輸出結(jié)果是()。A)24B)28032D)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論