4月全國計(jì)算機(jī)等級考試二級C語言筆試試卷及標(biāo)準(zhǔn)解析_第1頁
4月全國計(jì)算機(jī)等級考試二級C語言筆試試卷及標(biāo)準(zhǔn)解析_第2頁
4月全國計(jì)算機(jī)等級考試二級C語言筆試試卷及標(biāo)準(zhǔn)解析_第3頁
4月全國計(jì)算機(jī)等級考試二級C語言筆試試卷及標(biāo)準(zhǔn)解析_第4頁
4月全國計(jì)算機(jī)等級考試二級C語言筆試試卷及標(biāo)準(zhǔn)解析_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2006年4月全國計(jì)算機(jī)等級考試二級C語言筆試試卷及標(biāo)準(zhǔn)解析日期:2006-12-18來源: 作者:admin字體:大 中 小 2006年4月全國計(jì)算機(jī)等級考試二級C語言筆試試卷及標(biāo)準(zhǔn)解析一、選擇題(1)一(10)每題2分,(11)一(50)每題1分,共60分)下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。(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)軟件測試

2、應(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)對如下二叉樹ABDECF進(jìn)行后序遍歷的結(jié)果為A)ABCDEFB)DBEAFCC)ABDECFD)DEBFCA(7)在深度為7的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為A)32B)31 C)64D)63(8)“商品”與“顧客”兩個(gè)實(shí)體集之間的聯(lián)系一般是A)一對一B)一對多C)多

3、對一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)系(11)以下不合法的用戶標(biāo)識(shí)符是A)j2_KEYB)DoubleC)4dD)_8_(12)以下不合法的數(shù)值常量是A)011B)1e1C)8.0E0.5D)0xabcd(13)以下不合法的字符常量是A)018B) C)D)xcc(14)表達(dá)式3.6-52+1.2+52的值是A)4.3B)4.8C)3.3 D)3.8 (15)以下能正確定義

4、字符串的語句是A)char str=064;B)char str=kx43;C)char str=; D)char str=0; (16)以下數(shù)組定義中錯(cuò)誤的是A)int x3=0;B)int x23=l,2,3,4,5,6;C)int x3=l,2,3,4,5,6;D)int x23=l,2,3,4,5,6; (17)若要求從鍵盤讀入含有空格字符的字符串,應(yīng)使用函數(shù)A)getc()B)gets()C)getchar()D)scanf() (18)以下四個(gè)程序中,完全正確的是A)#include B)#include main();main()/*programming*/*/ program

5、ming /*/printf(programming!n); printf(programming!n);C) #include D) include main()main()/*/*programming*/*/*programming*/printf(programming! n); printf(programming!n); (19)若有定義:floatx=1.5;int a=1,b=3,c=2;則正確的switch語句是A)switch(x)B)switch(int)x);case 1.0:printf(*n); case 1:printf(*n);case 2.0:printf(*

6、n); case 2:printf(*n);C)switch(a+b) D)switch(a+b)case 1:printf(*n);case 1:printf(*n); case 2+1:printf(*n);case c:printf(*n);(20)若各選項(xiàng)中所用變量已正確定義,函數(shù)fun中通過return語句返回一個(gè)函數(shù)值,以下選項(xiàng)中錯(cuò)誤的程序是A)main() B)float fun(int a,int b)x=fun(2,10); main()float fun(int a,int b) x=fun(i,j);C)float fun(int,int); D)main() main(

7、) float fun(int i,int j);x=fun(2,10); x=fun(i,j); float fun(int a,int b) float fun(int a,int b)(21)在以下給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是A)(!E=0)B)(E0Enext=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)有以下程序段struct stint

8、 x;int *y;)*pt;int a=l,2,b=3,4;struct st c2=10,a,20,b;pt=c;以下選項(xiàng)中表達(dá)式的值為11的是A)*pt-yB)pt-x C)+pt-x D)(pt+)-x(27)設(shè)fp為指向某二進(jìn)制文件的指針,且已讀到此文件末尾,則函數(shù)feof(fp)的返回值為A)EOFB)非0值C)0 D)NULL(28)設(shè)有以下語句int a=1,b=2,c;c=a(b2);執(zhí)行后,C的值為A)6B)7C)8D)9(29)有以下程序#include main()char c1,c2,c3,c4,c5,c6;scanf(cccc,&c1,&c2,&c3,&c4);c5

9、=getchar(); c6=getchar();putchar(c1);putchar(c2);printf(ccn,c5,c6);程序運(yùn)行后,若從鍵盤輸入(從第1列開始)12345678則輸出結(jié)果是A)1267B)1256C)1278D)1245(30)有以下程序main() int y=10;while(y-);printf(y=dn,y);程序執(zhí)行后的輸出結(jié)果是A)y=0B)y=-1C)y=1D)while構(gòu)成無限循環(huán)(31)有以下程序main()int a=0,b=0,c=0,d=0;if(a=1) b=1;c=2;else d=3;printf(d,d,d,dn,a,b,c,d);

10、程序輸出A)0,1,2,0B)0,0,0,3C)1,1,2,0D)編譯有錯(cuò)(32)有以下程序main()int i,j,x=0;for(i=0;i2;i+)x+;for(j=0;j=3;j+)if(j2)continue;x+;x+;printf(x=dn,x); 程序執(zhí)行后的輸出結(jié)果是A)x=4B)x=8C)x=6D)x=12(33)有以下程序int fun1(double a)return a*=a;int fun2(double x,double y)double a=0,b=0;a=fun1(x);b=fun1(y);return(int)(a+b);main()double w;w=

11、fun2(1.1,2.0);程序執(zhí)行后變量w中的值是A)5.21B)5C)5.0D)0.0(34)有以下程序 main() int i,t3=9,8,7,6,5,4,3,2,1;for(i=0;i3;i+) printf(d,t2-ii);程序執(zhí)行后的輸出結(jié)果是A)7 5 3B)3 5 7C)3 6 9D)7 5 1(35)有以下程序 fun(char p10) int n=0,i;for(i=0;i7;i+)if(pi0=T)n+;return n;main()char str10=Mon,Tue,Wed,Thu,F(xiàn)ri,Sat,Sun; printf(dn,fun(str);程序執(zhí)行后的輸

12、出結(jié)果是A)1B)2C)3D)0(36)有以下程序main()int i,s=0,t=l,2,3,4,5,6,7,8,9;for(i=0;i9;i+=2)s+=*(t+i);printf(dn,s);程序執(zhí)行后的輸出結(jié)果是A)45B)20 C)25 D)36(37)有以下程序 void fun1(char *p) char *q;q=p;while(*q!=0) (*q)+; q+; )main()char a=Program), *p;p=&a3;fun1(p);printf(sn,a);程序執(zhí)行后的輸出結(jié)果是A)ProhsbnB)PrphsbnC)ProgsbnD)Program(38)有

13、以下程序 void swap(char *x,char *y) char t;t=*x; *x=*y; *y=t;main()char *s1=abc,*s2=123;swap(s1,s2);printf(s,sn,s1,s2);程序執(zhí)行后的輸出結(jié)果是A)123,abcB)abc,123 C)1bc,a23D)321,cba(39)有以下程序 int fun(int n) if(n=1)return 1;elsereturn(n+fun(n-1);main()int x;scanf(d,&x); x=fun(x);printf(dn,x);執(zhí)行程序時(shí),給變量X輸入10,程序的輸出結(jié)果是A)55

14、B)54C)65D)45(40)有以下程序int fun(int x,int n)static int sum=0,i;for(i=0;in;i+) sum+=xi; return sum;main()int a=1,2,3,4,5,b=6,7,8,9,s=0;s=fun(a,5)+fun(b,4);printf(dn,s);程序執(zhí)行后的輸出結(jié)果是A)45B)50C)60D)55(41)有以下程序main()unionchar ch2;int d;s;s.d=0x4321;printf(x,xn,s.ch0,s.ch1); 在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結(jié)果是A)21,43B)43,21

15、C)43,00D)21,00 (42)有以下程序main()char *p=3697,2584;int i,j;long num=0;for(i=0;i2;i+)j=0;while(pij!=0)if(pij-0)2)num=10*num+pij-0;j+=2;printf(dn,num);程序執(zhí)行后的輸出結(jié)果是A)35B)37C)39D)3975(43)執(zhí)行以下程序后,test.txt文件的內(nèi)容是(若文件能正常打開)#include main()FILE *fp;char *s1=Fortran,*s2=Basic;if(fp=fopen(test.txt,wb”)=NULL)printf(

16、Cant open test.txt filen);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)Basic D)FortranBasic(44)以下敘述中錯(cuò)誤的是A)C語言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序B)C程序經(jīng)過編譯、連接步驟之后才能形成一個(gè)真正可執(zhí)行的二進(jìn)制機(jī)器指令文件C)用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個(gè)文本

17、文件中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è)有以下定義和語句char str20=Program,*p;p=str;則以下敘述中正確的是A)*p與str0的值相等B)str與p的類型完全相同

18、C)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)C程序中,j+;是賦值語句D)C程序中,+、-、*、號是算術(shù)運(yùn)算符,可用于整型和實(shí)型數(shù)的運(yùn)算(49)以下敘述中正確的是A)預(yù)處理命令行必須位于C源程序的起始位置B)在C語言中,預(yù)處理命令行都以#開頭C)每個(gè)C程序必須在開頭包含預(yù)處理命令行:#includeD)C語言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能(50)以下敘述中錯(cuò)誤的是A)可以通過typedef增加新的類型B

19、)可以用typedef將已存在的類型用一個(gè)新的名字來代表C)用typedef定義新的類型名后,原有類型名仍有效D)用typedef可以為各種類型起別名,但不能為變量起別名二、填空題(每空2分,共40分)請將每一個(gè)空的正確答案寫在答題卡【1】至【20】序號的橫線上,答在試卷上不得分。(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)行檢查,通過閱讀和討論,分

20、析和發(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的形式輸出,請寫出完整的的輸出語句【6】。 (7)以下程序用于判斷a、b、c能否構(gòu)成三角形,若能,輸出YES,否則輸出NO。當(dāng)給a、b、c輸入三角形三條邊長時(shí),確定a、b、c能構(gòu)成三角形的條件是需同時(shí)滿足三個(gè)條件:a+bc,a+cb,b+ca。請?zhí)羁铡ain()float a,b,c;scanf(fff,&a,&b,&c);if(【7】)

21、printf(YESn);*a、b、c能構(gòu)成三角形*else printf(NOn);*a、b、c不能構(gòu)成三角形*(8)以下程序的輸出結(jié)果是【8】 。main()int a33=1,2,9,3,4,8,5,6,7,i,s=0;for(i=0;i0)str2*i=stri;str2*i-1=*;i-;printf(sn,str);main()char str40;scanf(s,str);insert(str);(10)下面程序的運(yùn)行結(jié)果是:【10】。 fun(int t,int n) int i,m;if(n=1)return t0;elseif(n=2)m=fun(t,n-1); retur

22、n m; main()int a=11,4,6,3,8,2,3,5,9,2;printf(dn,fun(a,10);(11)現(xiàn)有兩個(gè)C程序文件T18.c和myfun.c同在TC系統(tǒng)目錄(文件夾)下,其中T18.c文件如下: #include #include myfun.c main() fun();printf(n);myfun.c文件如下: void fun() char s80,c; int n=0;while(c=getchar()!=n) sn+=c;n-;while(n=0) printf(c,sn-);當(dāng)編譯連接通過后,運(yùn)行程序T18時(shí),輸入Thank!則輸出結(jié)果是:【11】。(

23、12)以下函數(shù)fun的功能是返回str所指字符串中以形參c中字符開頭的后續(xù)字符串的首地址,例如:str所指字符串為:Hello!,c中的字符為e,則函數(shù)返回字符串:ello!的首地址。若str所指字符串為空串或不包含c中的字符,則函數(shù)返回NULL。請?zhí)羁?。char *fun(char *str,char c) int n=0; char *p=str;if(p!=NULL)while(pn!=c&pn!=0)n+;if(pn=0) return NULL;return(【12】);(13)以下程序的功能是:輸出100以內(nèi)(不含100)能被3整除且個(gè)位數(shù)為6的所有整數(shù),請?zhí)羁?。main()(in

24、t i,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í)羁読nt isprime(int a)int i;for(i=2;i=a/2;i+)if(ai=0)【15】; 【16】; (15)以下程序的功能是輸入任意整數(shù)給n后,輸出n行由大寫字母A開始構(gòu)成的三角形字符陣列圖形。例如,輸入整數(shù)5時(shí)(注意:n不得大于10),程序運(yùn)行結(jié)果如下:A B C D EF G H IJ K LM NO 請?zhí)羁胀瓿稍摮绦?。main()int i,j,n;

25、char ch=A;scanf(d,&n);if(n11)for(i=1;i=n;i+)for(j=1; j=n-i+1;j+)printf(2c,ch);【17】;【18】;else printf(n is too large!n)printf(n); (16)以下程序中函數(shù)fun的功能是:構(gòu)成一個(gè)如圖所示的帶頭結(jié)點(diǎn)的單向鏈表,在結(jié)點(diǎn)的數(shù)據(jù)域中放入了具有兩個(gè)字符的字符串。函數(shù)disp的功能是顯示輸出該單鏈表中所有結(jié)點(diǎn)中的字符串。請?zhí)羁胀瓿珊瘮?shù)disp。#include typedef struct node/*鏈表結(jié)點(diǎn)結(jié)構(gòu)*char sub3;struct node *next;Node;N

26、ode fun(char s) *建立鏈表* void disp(Node *h)Node *p;p=h-next;while(【19】)printf(sn,P-sub); p=【20】; main()Node *hd;hd=fun();disp(hd);printf(n); 2006年4月筆試試卷一、選擇題(1)D)解析:結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則是:自頂向下,逐步求精,模塊化,限制使用goto語句??蓮?fù)用性是指軟件元素不加修改和稍加修改可在不同的軟件開發(fā)過程中重復(fù)使用的性質(zhì)。軟件可復(fù)用性是軟件工程追求的目標(biāo)之一,是提高軟件生產(chǎn)效率的最主要方法。面向?qū)ο蟮某绦蛟O(shè)計(jì)具有可復(fù)用性的優(yōu)點(diǎn)。(2)

27、A)解析:模塊的獨(dú)立程度可以由兩個(gè)定性標(biāo)準(zhǔn)度量:內(nèi)聚性和耦合性。耦合衡量不同模塊彼此間互相依賴(連接)的緊密程度;內(nèi)聚衡量一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度。一般來說,要求模塊之間的耦合盡可能地弱,而要求模塊的內(nèi)聚程度盡可能的高。(3)D)解析:因?yàn)闇y試的目的在于發(fā)現(xiàn)錯(cuò)誤,從心理學(xué)角度講,由程序的編寫者自己進(jìn)行測試是不合適的,為了達(dá)到最好的測試效果,應(yīng)該由獨(dú)立的第三方進(jìn)行測試工作,所以選項(xiàng)A)錯(cuò)誤;程序調(diào)試,修改一個(gè)錯(cuò)誤的同時(shí)可能引入了新的錯(cuò)誤,解決的辦法是在修改了錯(cuò)誤之后,必須進(jìn)行回歸測試,所以選項(xiàng)B)錯(cuò)誤;所謂軟件維護(hù),就是在軟件已經(jīng)交付使用之后,為了改正錯(cuò)誤或滿足新的需要而修改軟件的

28、過程,可見選項(xiàng)C)也是錯(cuò)誤的。(4)B)解析:棧的特點(diǎn)是棧頂元素總是最后被插入的元素,也是最早被刪除的元素;棧底元素總是最早被插入的元素,也是最晚才能被刪除的元素。即棧的修改原則是“后進(jìn)先出”(Last In First Out,簡稱LIFO) 或“先進(jìn)后出”(First In Last Out,簡稱FILO),因此,棧也稱為“后進(jìn)先出”表或“先進(jìn)后出”表。(5)A)解析:所謂線性鏈表,就是指線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),簡稱鏈表。線性表鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的基本單位稱為存儲(chǔ)結(jié)點(diǎn),每個(gè)存儲(chǔ)結(jié)點(diǎn)包括數(shù)據(jù)域和指針域兩個(gè)組成部分。棧、隊(duì)列和雙向鏈表是線性結(jié)構(gòu),二叉樹是非線性結(jié)構(gòu)。線性結(jié)構(gòu)和非線性結(jié)構(gòu)是從數(shù)據(jù)的邏輯結(jié)

29、構(gòu)角度來講的,與該數(shù)據(jù)結(jié)構(gòu)中有多少個(gè)元素沒有關(guān)系,即使是空的二叉樹也是非線性結(jié)構(gòu)。(6)D)解析:后序遍歷可以描述為:若二叉樹為空,則空操作;否則:后序遍歷左子樹;后序遍歷右子樹;訪問根結(jié)點(diǎn)。對于后序遍歷,第一個(gè)訪問的結(jié)點(diǎn)一定是最左下的結(jié)點(diǎn),最后一個(gè)訪問的結(jié)點(diǎn)一定是根結(jié)點(diǎn),如果知道這個(gè)小技巧,可以迅速確定本題的答案為選項(xiàng)D)。(7)C)解析:滿二叉樹是指除最后一層外,每一層上的所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn)的二叉樹。滿二叉樹在其第i層上有2i-1個(gè)結(jié)點(diǎn),即每一層上的結(jié)點(diǎn)數(shù)都是最大結(jié)點(diǎn)數(shù)。對于深度為7的滿二叉樹,葉子結(jié)點(diǎn)所在的是第7層,一共有27-164個(gè)葉子結(jié)點(diǎn)。(8)D)解析:兩個(gè)實(shí)體集之間的聯(lián)系實(shí)

30、際上是實(shí)體集間的函數(shù)關(guān)系,主要有3種:一對一的聯(lián)系,一對多的聯(lián)系,多對多的聯(lián)系?!吧唐贰迸c“顧客”兩個(gè)實(shí)體集之間的聯(lián)系一般是多對多,因?yàn)椋环N “商品”可以被多個(gè)“顧客”購買,而一個(gè)“顧客”也可以購買多個(gè)“商品”。(9)A)解析:在ER圖中,用矩形表示實(shí)體集,用橢圓形表示屬性,用菱形(內(nèi)部寫上聯(lián)系名)表示聯(lián)系。(10)C)解析:DB即數(shù)據(jù)庫(Database),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合;DBMS即數(shù)據(jù)庫管理系統(tǒng)(Database Management System),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問DB的方法;DBS即數(shù)據(jù)庫系統(tǒng)(Database Syst

31、em)由如下5部分組成,數(shù)據(jù)庫(數(shù)據(jù))、數(shù)據(jù)庫管理系統(tǒng)(軟件)、數(shù)據(jù)庫管理員(人員)、系統(tǒng)平臺(tái)之一硬件平臺(tái)(硬件)、系統(tǒng)平臺(tái)之二軟件平臺(tái)(軟件)。(11)C)解析:C語言規(guī)定,標(biāo)志符由字母、數(shù)字或下劃線組成,它的第一個(gè)字符必須是字母或下劃線。(12)C)解析:數(shù)值常量包括整型常量和字符常量。在用字母e(或E)表示指數(shù)形式的實(shí)型常量時(shí),字母e(或E)之前必須有數(shù)字且字母e(或E)后面的指數(shù)必須為整數(shù)。(13)A)解析:字符常量是括在一對單引號內(nèi)的字符。選項(xiàng)A)018是八進(jìn)制字符串格式,所以里面的數(shù)不能大于8。選項(xiàng)B)、C)、D)都是轉(zhuǎn)義字符。(14)D)解析:這道題要注意2/5的結(jié)果是2,因?yàn)檫\(yùn)

32、算符兩邊的數(shù)值類型均為整型,故運(yùn)算結(jié)果的數(shù)值類型也被認(rèn)定為整型。(15)D)解析:字符串常量是用一對雙引號括起來的字符序列,用字符數(shù)組來存放,不用大括號。(16)B)解析:二維數(shù)組的初始化有以下幾種形式:分行進(jìn)行初始化。不分行的初始化。部分?jǐn)?shù)組元素初始化。省略第一維的定義,不省略第二維的定義。選項(xiàng)B)等號右邊分了3行,大于等號左邊數(shù)組的行數(shù)2。(17)B)解析:canf()語句用“空格”區(qū)別不同的字符串;getc()與getchar()語句不能用于字符串的讀入。(18)B)解析:選項(xiàng)A)main();的分號是錯(cuò)誤的,不能有分號;選項(xiàng)C)的注釋語句多了兩個(gè)*號;選項(xiàng)D)include前面沒有#。

33、(19)C)解析:C語言中,switch語句專用于實(shí)現(xiàn)多分支結(jié)構(gòu)程序,其特點(diǎn)是各分支清晰而直觀。switch后面括號中可以是任何表達(dá)式,取其整數(shù)部分與各常量表達(dá)式進(jìn)行比較。常量表達(dá)式中不能出現(xiàn)變量,且類型必須是整型、字符型或枚舉型,各常量表達(dá)式各不相同。(20)A)解析:在調(diào)用子函數(shù)時(shí),應(yīng)對其進(jìn)行說明。選項(xiàng)A)中,調(diào)用時(shí),沒有對子函數(shù)進(jìn)行說明。選項(xiàng)B)、C)中被調(diào)用函數(shù)在主調(diào)函數(shù)之前定義,不用說明;選項(xiàng)D)中在主調(diào)函數(shù)中對被調(diào)用函數(shù)的返回值類型進(jìn)行了說明。(21)C)解析:E代表不是0的整數(shù)。在選項(xiàng)A)、B)、D)中的switch后面的表達(dá)式都是E不等于0為真。(22)A)解析:while語句

34、的功能是:計(jì)算表達(dá)式的值,如為真,則執(zhí)行循環(huán)體語句,執(zhí)行完畢后,再計(jì)算表達(dá)式的值,若仍為真,則重復(fù)執(zhí)行循環(huán)體語句。直到表達(dá)式的值為假時(shí),結(jié)束循環(huán)。ch=getchar()應(yīng)加一個(gè)括號,表示輸入字符的函數(shù)。(23)B)解析:返回值為指針變量指向的數(shù)據(jù),該數(shù)據(jù)已被定義為整型。(24)D)解析:p=&a表示將變量a的地址送給指針p; scanf(“%lf”,p)表示用鍵盤輸入的數(shù)給變量p地址中。(25)D)解析:r-next=q,這時(shí)r指向的節(jié)點(diǎn)為q; p-next=r, 這時(shí)p指向的節(jié)點(diǎn)為r; q-next=r-next,因?yàn)閞節(jié)點(diǎn)已經(jīng)指向q,所以執(zhí)行這個(gè)語句后q又指向q,所以不對。(26)C)解

35、析:-的運(yùn)算優(yōu)先級比+高,此時(shí),pt-=10,執(zhí)行自加運(yùn)算后為11。(27)B)解析:函數(shù)feof的功能是:測試fp所指的文件的位置是否已達(dá)到文件尾,如果達(dá)到文件尾,則函數(shù)返回非0值,否則返回0,表示文件尚未結(jié)束。(28)D)解析:為按位異或運(yùn)算符;為左移運(yùn)算符。b2二進(jìn)制左移兩位,后得8,與a進(jìn)行或運(yùn)算后,得9。(29)D)解析:putchar(c1)輸出1,putchar(c2)輸出2,printf(“%c%cn”,c5,c6)輸出45。(30)B)解析:while(y-)執(zhí)行后,y若大于1,則循環(huán),等y=0時(shí),循環(huán)結(jié)束,并執(zhí)行自減運(yùn)算,得-1。(31)D)解析:else子句不能作為語句單

36、獨(dú)使用,在題中if 與else 語句被 “c=2;”語句分隔開了。(32)B)解析:此程序考察了for循環(huán)和x+。對于大循環(huán),有兩個(gè)x+,其中循環(huán)3次,對于小循環(huán),循環(huán)三次,但是運(yùn)行了兩次x+,所以最后結(jié)果是6+2=8。(33)C)解析:題中變量w的定義為double型,函數(shù)fun2()的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算,整型數(shù)據(jù)被轉(zhuǎn)換為實(shí)型數(shù)據(jù)。(34)B)解析:本題考查多維數(shù)組的初始化。使用一個(gè)大括號初始化多維數(shù)組時(shí),初始化原則為先列后行,即初始化完第一行的所有列后再初始化下一行的元素。程序輸出t20、t11、t02,它們的值分別為3、5、7。(35)B)解析:此程序是統(tǒng)計(jì)一

37、周七天中英文名稱首字母為“T”的個(gè)數(shù)。Pi0是字符串的首字符,一共有兩個(gè)“T”,所以n=2。(36)C)解析:統(tǒng)計(jì)19九個(gè)數(shù)中的奇數(shù)和,此題考察指向數(shù)組的指針。C語言規(guī)定數(shù)組名代表數(shù)組的首地址,也就是第一個(gè)元素的地址。因此*(t+i)代表數(shù)組的第i+1個(gè)元素。程序運(yùn)行的結(jié)果是1+2+3+4+5+6+7+8+9=25。(37)A)解析:(*q)+是q所指的字符加1,q+就是指針移到下一個(gè)字符。(38)C)解析:這是一個(gè)轉(zhuǎn)換程序:低字節(jié)相互轉(zhuǎn)換,高字節(jié)不變?!癮bc”的ab和“123”的12相互轉(zhuǎn)化。(39)A)解析:本程序考察的是函數(shù)的遞歸調(diào)用,在調(diào)用一個(gè)函數(shù)的過程中又出現(xiàn)直接或間接地調(diào)用該函數(shù)

38、本身,稱為函數(shù)的遞歸調(diào)用,執(zhí)行結(jié)果為1+2+3+4+5+6+7+8+9+10=55。(40)C)解析:內(nèi)部靜態(tài)變量是始終存在的,當(dāng)函數(shù)被調(diào)用退出后,內(nèi)部靜態(tài)變量會(huì)保存數(shù)據(jù),再次調(diào)用該函數(shù)時(shí),以前調(diào)用時(shí)的數(shù)值仍然保留著。Fun(a,5)的值是15,再次調(diào)用后sum=15,所以Fun(b,4)=45,s=45+15=60。(41)A)解析:因?yàn)槁?lián)合的兩個(gè)變量共用一段內(nèi)存,ch0占用低字節(jié),ch1占用高字節(jié),所以在讀它們的時(shí)候還是原來的數(shù)據(jù),沒發(fā)生改變。(42)C)解析:while(pij!=0)表示pij不等于0時(shí),繼續(xù)執(zhí)行while中的語句。if語句表示(pij-0)除2的余數(shù)不為0時(shí),執(zhí)行后面

39、的語句。最后執(zhí)行的結(jié)果是39。(43)A)解析:第一次fwrite操作把Fortran寫到文件fp中,第二次操作,把Basic寫入文件fp中,此時(shí)把Fortr字符覆蓋了,所以最后輸出的是Basican。(44)D)解析:并不是源程序中的所有行都參加編譯。在條件編譯形式下,相關(guān)內(nèi)容只在滿足一定條件時(shí)才進(jìn)行編譯。選項(xiàng)D)中的非執(zhí)行語句不在其范圍內(nèi)。(45)B)解析:算法應(yīng)該具有下列五個(gè)特性:有窮性:一個(gè)算法必須在執(zhí)行有窮步之后結(jié)束。確定性:算法中的每一步,必須有確切的含義,在他人理解時(shí)不會(huì)產(chǎn)生二義性。動(dòng)態(tài)性:算法中描述的每一步操作都可以通過已有的基本操作執(zhí)行有限次實(shí)現(xiàn)。輸入:一個(gè)算法應(yīng)該有零個(gè)或多個(gè)輸入。輸出:一個(gè)算法應(yīng)該有一個(gè)或多個(gè)輸出。這里所說的輸出是指與輸入有某種特定關(guān)系的量。(46)D)解析:形參是函數(shù)定義時(shí)由用戶定義的形式上的變量,實(shí)參是函數(shù)調(diào)用時(shí),主調(diào)函數(shù)為被調(diào)函數(shù)提供的原始數(shù)據(jù)。在C語言中,實(shí)參向形參傳送數(shù)據(jù)的方式是“值傳遞”。(47)A)解析:str0、*p都指向字符串的首地址。選項(xiàng)B)不能說str和p完全相同,p是指針,

溫馨提示

  • 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

提交評論