二級C語言筆試.doc_第1頁
二級C語言筆試.doc_第2頁
二級C語言筆試.doc_第3頁
二級C語言筆試.doc_第4頁
二級C語言筆試.doc_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

二級C語言筆試-139(總分:100.00,做題時間:90分鐘)一、選擇題(總題數(shù):50,分?jǐn)?shù):60.00)1.main()float x=123.456;printf(%-5.2f/n,x);以上程序輸出的結(jié)果是_。(分?jǐn)?shù):2.00)A.123.4B.123.5C.123.45D.123.46解析:評析 f格式符,用來輸出實(shí)數(shù),以小數(shù)形式式輸出。“%-m.nf”的含義是:輸出數(shù)據(jù)共占m列,其中n位小數(shù),如果輸出位數(shù)小于m,則右端補(bǔ)空恪。如果總長度大于列數(shù),則按實(shí)際情況四舍五入輸出。2.已知字母A的ASCII碼值是65,字母a的ASCII碼值是97,以下程序_。maini()char a=A;int b=20;printh(%d,%o,(a=a+a,a+b,b),a+a-A,b);(分?jǐn)?shù):2.00)A.表達(dá)式非法,輸出零或不確定值B.因輸出項(xiàng)過多,無輸出或輸出不確定值C.輸出結(jié)果為20,141D.輸出結(jié)果為20,141,20解析:評析 本題中首先輸出逗號表達(dá)式“a=a+a,a+b,b”的值,即20。然后以八進(jìn)制的形式輸出a+a-A的值為97對應(yīng)的八進(jìn)制數(shù)141,由于最后一個表達(dá)式b沒有對應(yīng)輸出格式的輸出項(xiàng)表列就不會輸出。3.在軟件開發(fā)過程中,軟件結(jié)構(gòu)設(shè)計是描述_。(分?jǐn)?shù):2.00)A.數(shù)據(jù)存儲結(jié)構(gòu)B.軟件體系結(jié)構(gòu)C.軟件結(jié)構(gòu)測試D.軟件控制過程解析:評析 從工程管理角度來看,軟件設(shè)計分兩步完成:概要設(shè)計和詳細(xì)設(shè)計。概要設(shè)計(又稱結(jié)構(gòu)設(shè)計)將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)、確定系統(tǒng)級接口、全局?jǐn)?shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫模式。4.關(guān)系代數(shù)運(yùn)算是以_為基礎(chǔ)的運(yùn)算。(分?jǐn)?shù):2.00)A.關(guān)系運(yùn)算B.謂詞運(yùn)算C.集合運(yùn)算D.代數(shù)運(yùn)算解析:評析 關(guān)系代數(shù)運(yùn)算是以關(guān)系代數(shù)作為運(yùn)算對象的組高級運(yùn)算的集合。它的基本操作是并、交、差、笛卡爾積,另外還包括垂直分割(投影)、水平分割(選擇)、關(guān)系的結(jié)合(連接)等。5.已知形成鏈表的存儲結(jié)構(gòu)如下圖所示,則下述類型描述中的空白處應(yīng)填_。struct linkchar data;_,node;datanext(分?jǐn)?shù):2.00)A.struct link nextB.link *nextC.stuct next linkD.struct link *next解析:評析 在單向鏈表中,由于每個結(jié)點(diǎn)需要存儲下一個結(jié)點(diǎn)的地址,且下個結(jié)點(diǎn)的數(shù)據(jù)類型與前個結(jié)點(diǎn)的數(shù)據(jù)類型完全相同,故應(yīng)為struct link *next。6.以下程序段的輸出結(jié)果是_。main()char s110,s210,s310;scanf(%s,s1);gets(s2);gets(s3);puts(s1);puts(s2);puts(s3);輸入數(shù)據(jù)如下:(此處CR代表回車符)aaaCRbbbCR(分?jǐn)?shù):2.00)A.aaabbbB.aaabbbC.aaa/0bbb/0D.aaabbb解析:評析 scanf是標(biāo)準(zhǔn)輸入函數(shù),在輸入字符串a(chǎn)aa時,實(shí)際的內(nèi)容為“aaa/0”,“/0”是由系統(tǒng)自動加入的;gets的功能是從終端讀入行字符,即一直讀到換行符為止,并由系統(tǒng)自動以“/0”代替換行符。7.數(shù)據(jù)存儲和數(shù)據(jù)流都是_,僅僅是所處的狀態(tài)不同。(分?jǐn)?shù):2.00)A.分析結(jié)果B.事件C.動作D.數(shù)據(jù)解析:評析 數(shù)據(jù)流圖有4種成分:源點(diǎn)或終點(diǎn)、處理、數(shù)據(jù)存儲和數(shù)據(jù)流。數(shù)據(jù)存儲是處于靜止?fàn)顟B(tài)的數(shù)據(jù),數(shù)據(jù)流是處于運(yùn)動中的數(shù)據(jù)。8.能將高級語言程序轉(zhuǎn)換成目標(biāo)語言程序的是_。(分?jǐn)?shù):2.00)A.調(diào)試程序B.解釋程序C.編譯程序D.編輯程序解析:評析 用高級語言編寫的程序稱為“源程序”,而計算機(jī)只能識別和執(zhí)行由0和1組成的二進(jìn)制指令,所以高級語言必須先用種稱為“編譯程序”的軟件,把源程序翻譯成二進(jìn)制形式的“目標(biāo)程序”。9.C語言庫函數(shù)fgets(str,n,fp)的功能是_。(分?jǐn)?shù):2.00)A.從fp指向的文件中讀取長度n的字符串存入str指向的內(nèi)存B.從fp指向的文件中讀取長度不超過n-1的字符串存入str指向的內(nèi)存C.從fp指向的文件中讀取n個字符串存入str指向的內(nèi)存D.從str讀取至多n個字符到文件fp解析:評析 fgets函數(shù)的作用是從指定的文件讀入一個字符串。fgets(str,n,fp);中的n為要求得到的字符的個數(shù),但只從fp指向的文件輸入n-1個字符,然后在最后加個/0字符,因此得到的字符串共有n個字符。10._是構(gòu)成C語言程序的基本單位。(分?jǐn)?shù):2.00)A.函數(shù)B.過程C.子程序D.子例程解析:評析 C程序是由函數(shù)構(gòu)成的。個C源程序至少包含個main函數(shù),也可以包含個main函數(shù)和若干個其他函數(shù),因此,函數(shù)是C程序的基本單位。11.若有以下類型說明語句:char w;int x;flooat y,z;則表達(dá)式w*x+z-y的結(jié)果為_類型。(分?jǐn)?shù):1.00)A.floatB.charC.intD.double解析:評析 在進(jìn)行運(yùn)算時,不同類型的數(shù)據(jù)參加運(yùn)算,需要先將其轉(zhuǎn)換成同類型的數(shù)據(jù),然后再進(jìn)行運(yùn)算。轉(zhuǎn)換的順序由低到高為:char,shortintunsignedlongdoublefloat,故結(jié)果為float型。12.數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性、有效性和_。(分?jǐn)?shù):1.00)A.可維護(hù)性B.獨(dú)立性C.安全性D.相容性解析:評析 數(shù)據(jù)模型的完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)及其狀態(tài)的變化,以保證數(shù)據(jù)的正確性、有效性和相容性。13.以下程序的輸出結(jié)果是_。#includestdio.h#define SQR(x)x*xmain()int a,k=3;a=+SQR(k+1);printf(%d/n,(分?jǐn)?shù):1.00)A.;&nb解析:評析 本題宏替換中遇到形參x以實(shí)參k+1代替,其他字符不變。SQR(k+1)展開后應(yīng)為字符串k+1*k+1。14.下列程序的輸出結(jié)果是_。#define A 100main()int i=0,sun=0;do if(i=(i/2)*2)continue;sum+i;while(+i(分?jǐn)?shù):1.00)A.;printf(%d/n,sun);A) 2500B.2050C.4D.0解析:評析 本題程序的功能是求1到99之間(包括1和99)所有奇數(shù)之和。程序中的while循環(huán)的終止條件為+i=100,在 while循環(huán)體內(nèi),如果i是偶數(shù),則執(zhí)行continue,跳過這一次循環(huán),執(zhí)行下次循環(huán),否則求和。最后輸出的值是1到 99之間(包括1和99)所有奇數(shù)之和(1+99)*50/2=2500。15.排序方法中,將整個無序序列分割成若干小的子序列并分別進(jìn)行插入排序的方法,稱為_。(分?jǐn)?shù):1.00)A.希爾排序B.冒泡排序C.插入排序D.選擇排序解析:評析 希爾排序法的基本思想是:將整個無序序列分割成若干小的子序列分別進(jìn)行插入排序。16.下列程序的輸出結(jié)果是_。main()int i;for(i=1;i+1;i+)if(i4)printf(%d,i+);break;printf(%d,i+);(分?jǐn)?shù):1.00)A.55B.56C.程序錯誤,沒有輸出D.循環(huán)條件永遠(yuǎn)為真,死循環(huán)解析:評析 本程序中有個for循環(huán),但注意到for循環(huán)的條件是“i+1”,也就是只要i+1的值為真(非零值均為真),就執(zhí)行循環(huán)。當(dāng)i=1的時候,i+1的值為真,判斷if條件不成立,執(zhí)行i+,輸出i的值為5。17.下列程序執(zhí)行后輸出的結(jié)果是_。int d=1;fun(int p)int d=5;d+=p+;printh(%d,d);main()int a=3;fuin((分?jǐn)?shù):1.00)A.;&nbs解析:評析 本題執(zhí)行過程如下:首先調(diào)用fun函數(shù),使得實(shí)參a的值3傳遞給形參p,得到局部變量d=8,打印出局部變量d的值8;返回主函數(shù)執(zhí)行“d+=a+”,此處的d為全局變量,所以d=1+3=4(由于本題是值傳遞,所以在函數(shù)fun中對p值的改變并不能引起a的改變),故本題的輸出是8,4。18.已知小寫字母a的ASCII碼為97,大寫字母A的ASCII碼為65,以下程序的結(jié)果是_。main()unsigned int a=32,b=66;printf(%c/n,a|b);(分?jǐn)?shù):1.00)A.66B.98C.bD.B解析:評析 位運(yùn)算符“|”的作用是按位或,即兩個二進(jìn)制數(shù)的相應(yīng)位中只要有一個為1,該位的結(jié)果值為1。最后以字符型輸出,98對應(yīng)的字符“b”。19.設(shè)已定義i和k為int類型變量,則以下for循環(huán)語句_。for(i=0;k=-1,k=1,i+,k+)printf(*/n);(分?jǐn)?shù):1.00)A.判斷循環(huán)結(jié)束的條件不合法B.是無限循環(huán)C.循環(huán)次也不執(zhí)行D.循環(huán)只執(zhí)行一次解析:評析 本題定義了一個for循環(huán),循環(huán)變量是i,但由于本題并沒有設(shè)置循環(huán)條件,所以循環(huán)的條件永遠(yuǎn)默認(rèn)為真,即無限次執(zhí)行循環(huán)。20.以下程序(程序左邊的數(shù)字為附加的行號)_。1 #includestr.h2 #includestdio.h3 main()4 char s=string;5 puts(s);6 strcpy(s,hello);7 printf(%3s/n,s);(分?jǐn)?shù):1.00)A.沒有錯B.第1行有錯C.第6行有錯D.第7行有錯解析:評析 字符串復(fù)制函數(shù)strcpy包含在頭文件string.h中,因此,程序中的第1行文件包含命令是錯誤的。21.下列程序的執(zhí)行結(jié)果是_。#includestdio.hunionint i;char c2;void main()union un x;x.c0=10;x.c1=1;printf(/n%d,x.i);(分?jǐn)?shù):1.00)A.266B.11C.265D.138解析:評析 由于本題定義的是共用體,所以成員表列中的整型變量x與字符數(shù)組c共占用同個存儲單元,且此存儲單元為2個字節(jié),通常c0位于低字節(jié),c1位于高字節(jié),所以兄i的值為266。22.以下程序的輸出結(jié)果是_。main()char str12=s,t,r,i,n,g;printf(%d/n,strlen(str);(分?jǐn)?shù):1.00)A.6B.7C.11D.12解析:評析 在C語言中,字符串的長度是其首字符到NULL(不含)字符的總字符個數(shù)。本題定義字符數(shù)組str的同時,對第7個元素,由系統(tǒng)自動添加上“/0”,故字符串的長度為6。23.若進(jìn)棧序列為1,2,3,4,進(jìn)棧過程中可以出棧,則下列不可能的個出棧序列是_。(分?jǐn)?shù):1.00)A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4,2,1解析:評析 棧是種后進(jìn)先出表,選項(xiàng)C中,先出棧的是3,說明此時棧內(nèi)必然有1,2,由于1先于2進(jìn)棧,所以1不可能在2之前出棧,故選項(xiàng)C這種出棧序列是不可能的。24.模塊本身的內(nèi)聚是模塊獨(dú)立性的重要性度量因素之。在7類內(nèi)聚中,具有最強(qiáng)內(nèi)聚的類是 _。(分?jǐn)?shù):1.00)A.順序性內(nèi)聚B.過程性內(nèi)聚C.邏輯性內(nèi)聚D.功能性內(nèi)聚解析:評析 內(nèi)聚性是個模塊內(nèi)部各元素間彼此結(jié)合的緊密程度的度量。內(nèi)聚共有7類,它們之間的內(nèi)聚性由弱到強(qiáng)排列順序?yàn)椋号既粌?nèi)聚、邏輯內(nèi)聚、時間內(nèi)聚、過程內(nèi)聚、通信內(nèi)聚、順序內(nèi)聚和功能內(nèi)聚。25.以下程序輸出的結(jié)果為_。main()char *alpha6=ABCD,EFGH,IJKL,MNOP,QRST,UVWX);char *p;int i;p=alpha;for(i=0;i4;i+)printf(%s,pi);(分?jǐn)?shù):1.00)A.ABCDEFGHIJKLB.ABCDC.ABCDEFGHIJKLMNOPD.AEIM解析:評析 alpha0指向“ABCD”的首地址;alpha1指向“EFGH”的首地址;alpha2指向“IJKL”的首地址,依此類推。當(dāng)執(zhí)行p=alpha后,p指向指針數(shù)組alpha的首地址。for循環(huán)中輸出了4個字符串。26.請讀程序:#includestdio.h#includestring.hmain()char *s1=AbCdEf,*s2=aB;s1+;s2+;printf(%d/n,strcmp(s1,s2);上面程序的輸出結(jié)果是_。(分?jǐn)?shù):1.00)A.正數(shù)B.負(fù)數(shù)C.零D.不確定的值解析:評析 函數(shù)strcmp的功能是比較字符串s1和s2,如果s1s2,則返回個正數(shù);如果s1s2,則返回負(fù)數(shù),否則返回零。由于本題中小寫字母b的ASCII碼值大于大寫字母B,故s1s2,所以函數(shù)的值為正數(shù)。27.設(shè)有以下語句:char str 1=string,str28,*str3,*str4=string;則_不是對庫函數(shù)的正確調(diào)用。(分?jǐn)?shù):1.00)A.strcpy(str 1,HELLO1);B.strcpy(str2,HELLO2);C.strcpy(str3,HELLO3);D.strcpy(str4,HELLO4);解析:評析 C語言中:strcpy(st1,st2);,其兩個參數(shù)均為字符指針或字符數(shù)組,選項(xiàng)C中的目的串指針str3沒有指向具體有效的存儲單元,故是錯誤的調(diào)用。28.下列程序的輸出結(jié)果,是_。main()int a=0,b=0,c=0;if(+a0|+b0)+c;printf(/na=%d,b=%d,c=%d,a,b,c);(分?jǐn)?shù):1.00)A.a=0,b=0,c=0B.a=1,b=1,c=1C.a=1,b=0,c=1D.a=0,b=1,c=1解析:評析 “|”是或運(yùn)算,它有個“短路”的特點(diǎn)需特別注意,當(dāng)“|”運(yùn)算符左邊的表達(dá)式的值為真時,則程序就不再對“|”右邊的表達(dá)式的值進(jìn)行運(yùn)算,而是使得整個表達(dá)式的值直接為真。29.下面程序的輸出結(jié)果是_。unsigned fun(unsigned num)unsigned k=1;dok*=num%10;num/=10;while(num);return(k);main()unsigned n=26;printf(%d/n,fun(n);(分?jǐn)?shù):1.00)A.0B.4C.12D.無限次循環(huán)解析:評析 本題定義了個fun函數(shù),用于num求和,具體執(zhí)行過程如下:num=26:k=k*(num%10)=1*(26%10),所以k=6,num=num/10=2;num=2:k=k*(num%10)=6*(2%10),所以k=12,num=num/10=0;num=0:while條件不成立,所以返回k的值12。30.C語言函數(shù)返回值的類型是由_決定的。(分?jǐn)?shù):1.00)A.return語句中的表達(dá)式類型B.調(diào)用函數(shù)的主調(diào)函數(shù)類型C.調(diào)用函數(shù)時臨時D.定義函數(shù)時所指定的函數(shù)類型解析:評析 函數(shù)值的類型應(yīng)當(dāng)是在定義函數(shù)時指定的。在定義函數(shù)時對函數(shù)值說明的類型一般應(yīng)該和return語句中的表達(dá)式類型致,如果不致,則以函數(shù)類型為準(zhǔn),即函數(shù)類型決定返回值的類型。31.若有如下說明,則_的敘述是正確的。struct stint a;int b2;a;(分?jǐn)?shù):1.00)A.結(jié)構(gòu)體變量a與結(jié)構(gòu)體成員a同名,定義是非法的B.程序只在執(zhí)行到該定義時才為結(jié)構(gòu)體st分配存儲單元C.程序運(yùn)行時為結(jié)構(gòu)體st分配6個字節(jié)存儲單元D.類型名struct st可以通過extern關(guān)鍵字提前引用(即引用在前,說明在后)解析:評析 結(jié)構(gòu)體變量a與結(jié)構(gòu)體成員a同名是合法的定義,引用成員a的方法是a.a,變量a處于不同的“層次”上,系統(tǒng)完全能夠分情。st是個結(jié)構(gòu)體名,不會為結(jié)構(gòu)體名分配存儲空間,應(yīng)該是在運(yùn)行時為結(jié)構(gòu)體變量a分配6個字節(jié)的存儲單元,故選項(xiàng)B和選項(xiàng)C錯誤。32.若一個外部變量的定義形式為static int x;,那么,其中static的作用應(yīng)該是_。(分?jǐn)?shù):1.00)A.將變量存儲在靜態(tài)存儲區(qū)B.使變量x可以由系統(tǒng)自動初始化C.使x只能在文本文件內(nèi)引用D.使x的值可以永久保留解析:評析 事實(shí)上,無論有無static修飾,外部變量都具有A、B和C三種特性。作為種修飾,static僅是限制此類型外部變量的引用范圍:只能在定義它的文件范圍內(nèi)使用。33.已知下面的程序段,正確的判斷是_。#define A 3#define B((分?jǐn)?shù):1.00)A.(A+1)*a)int a=3;.X=3*(A+B(7);A) 程序錯誤,不允許嵌套定義B.X=93C.X=81D.程序錯誤,宏定義不允許有參數(shù)解析:評析 本題的宏定義是合法的,宏定義展開為3*(3+(A+1)*a)=3*(3+(7+1)*3)=81。34.若有定義:int a410;,則以下選項(xiàng)中對數(shù)組元素aij引用錯誤的是_。 (0=i4,0=j10)(分?jǐn)?shù):1.00)A.*(&a00+10*i+j)B.*(a+i)+jC.*(*(a+i)+j)D.*(ai+解析:評析 本題中選項(xiàng)B是錯誤的引用,*(a+i)+j只代表了aij的地址。35.對于n個結(jié)點(diǎn)的單向鏈表(無表頭結(jié)點(diǎn)),需要指針單元的個數(shù)至少為_。(分?jǐn)?shù):1.00)A.n-1B.nC.n+1D.2n解析:評析 在n個結(jié)點(diǎn)的單向鏈表(無表頭結(jié)點(diǎn))中,每個結(jié)點(diǎn)都有個指針單元(即指針域),加上頭指針,至少需要n+1個指針單元。36.可以在C語言中用做用戶標(biāo)識符的是_。(分?jǐn)?shù):1.00)A.voiddefineWORDB.as_b3_123IfC.for-abccasD.2cDoSIG解析:評析 C語言規(guī)定,標(biāo)識符只能由字母、數(shù)字和下劃線三種符號組成,而且第個字符必須是字母或下劃線。另外還需要注意的是關(guān)鍵字不能作標(biāo)識符。選項(xiàng)A中void,C中for都為關(guān)鍵字,D中2c以字母開頭。37.下面語句的輸出結(jié)果,是_。printh(%d/n,strlen(/t/065/xff/n);(分?jǐn)?shù):1.00)A.14B.8C.5D.輸出項(xiàng)不合法,無正常輸出解析:評析 在C語言中,以“/”開頭的字符均為轉(zhuǎn)義字符,其中“/”后可跟13位八進(jìn)制熟或在“/”后跟字母x及12位十六進(jìn)制數(shù),以此來代表個特定的字符。38.下述程序向文件輸出的結(jié)果是_。#includestdio.hvoid main()FILE *fp=fopen(TESY,wb);fprintf(fp,%d%5.0f%c%d,58,76273.0,-,2278);fclose(fp);(分?jǐn)?shù):1.00)A.58 76273-2278B.5876273.000000-2278C.5876273-2278D.因文件為二進(jìn)制文件而不可讀解析:評析 fprintf函數(shù)工作時,多個數(shù)據(jù)間不會自珈口分隔符,選項(xiàng)A錯誤;浮點(diǎn)數(shù)的輸出格式是“%5.0f”表明其小數(shù)部分輸出0位,即沒有輸出,所以選項(xiàng)B也是錯誤的。39.下列程序的輸出結(jié)果是_。main()int i=3;switch(i)case 1:case 2:printf(%d,i);case 3:case 4:break;default:printh(OK;(分?jǐn)?shù):1.00)A.0B.3C.OKD.沒有任何輸出解析:評析 在題中,i的值為3,由于“case 3:”后面沒有break語句,所以繼續(xù)向下執(zhí)行“case 4:”后面的語句,由于“case 4:”后面的語句為break強(qiáng)行退出switch語句,所以,本題沒有任何輸出。40.下述函數(shù)功能是_。int fun(char *x)char *y=x;while(*y+);retum y-x-1;(分?jǐn)?shù):1.00)A.求字符串的長度B.求字符串存放的位置C.比較兩個字符串的大小D.將字符串x連接到字符串y后面解析:評析 在函數(shù)體內(nèi)定義一字符型指針并指向形參,然后遍歷其中各字符直到NULL,最后返回字符串首尾地址的差值,即字符串的長度。41.下列程序執(zhí)行后的輸出結(jié)果是_。main()int m3=1,4,7,2,5,8,3,6,9;int i,k=2;for(i=0;i3;i+)printf(%d,mki);(分?jǐn)?shù):1.00)A.456B.258C.369D.789解析:評析 根據(jù)二維數(shù)組的定義得出:m00=1,m01=4,m02=7,m10=2,m11=5,m12=8,m20=3,m21=6, m22=9,所以本題的輸出是第3行的值m20,m21,m22,即369。42.下面程序的輸出是_。char s=ABCD;main()char *p;for(p=s;ps+4;p+)printf(%s/n,p);(分?jǐn)?shù):1.00)A.ABCDBCDCDDB.ABCDC.DCBAD.ABCDABCABA解析:評析 在第次執(zhí)行for循環(huán)時,字符數(shù)組的首地址賦給了指針變量p,使得指針變量p指向了s的首地址,輸出p所指向的字符串;第二次執(zhí)行for循環(huán)時,p值增加1,p指向了s的第二個元素輸出BCD:第三次輸出CD:第四次輸出 D;直到p指向字符串的結(jié)束字符“/0”,for循環(huán)終止執(zhí)行。43.下面是對宏定義的描述,不正確的是_。(分?jǐn)?shù):1.00)A.宏不存在類型問題,宏名無類型,它的參數(shù)也無類型B.宏替換不占用運(yùn)行時間C.宏替換時先求出實(shí)參表達(dá)式的值,然后代入形參運(yùn)算求值D.宏替換只不過是字符替代而已解析:評析 宏替換實(shí)質(zhì)上就是字符替代,它不可能進(jìn)行計算,故C錯誤。帶參數(shù)的宏與函數(shù)相比,宏在程序編譯之前已經(jīng)將代碼替換到程序內(nèi),執(zhí)行時不會產(chǎn)生類似于函數(shù)調(diào)用的問題,可以說不占用運(yùn)行時間。44.在順序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找關(guān)鍵碼值11,所需的關(guān)鍵碼比較次數(shù)為_。(分?jǐn)?shù):1.00)A.2B.3C.4D.5解析:評析 二分法查找是用關(guān)鍵碼與線性表的中間元素比較,然后根據(jù)比較結(jié)果來判斷是結(jié)束查找,還是在左邊或者右邊子表按相同的方法繼續(xù)查找。本題中,與11比較的關(guān)鍵碼分別為15,8,10,12四個。45.在數(shù)據(jù)結(jié)構(gòu)中,從邏輯上可以把數(shù)據(jù)結(jié)構(gòu)分為_。(分?jǐn)?shù):1.00)A.動態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu)B.緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)C.線性結(jié)構(gòu)和非線性結(jié)構(gòu)D.內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)解析:評析 邏輯結(jié)構(gòu)反映數(shù)據(jù)元素之間的邏輯關(guān)系,線性結(jié)構(gòu)表示數(shù)據(jù)元素之間對的關(guān)系,非線性結(jié)構(gòu)表示數(shù)據(jù)元素之間對多或多對的關(guān)系。46.請讀程序段:char str=ABCD,*p=str;printf(%d/n,*(p+4);程序段的輸出結(jié)果是_。(分?jǐn)?shù):1.00)A.68B.0C.字符D的地址D.不確定的值解析:評析 在對字符數(shù)組賦字符串值時,系統(tǒng)會自動在字符串的末尾加上一個字符串結(jié)束標(biāo)志“/0”,故指向字符數(shù)組的指針p的*(p+4)的值為“/0”。由于“/0”的編碼值就是0,所以本題輸出為0。47.以下程序的輸出結(jié)果是_。#includestdio.hvoid prt(int *x,int *y,int *z)printf(%d,%d,%d/n,+*x,+y,*(z+);int a=10,b=40,c=20;main()prt(&a,&b&c);prt(&a,&b,&c);(分?jǐn)?shù):1.00)A.11,42,3112,22,41B.11,41,2012,42,20C.11,21,4011,21,41D.11,41,2112,42,22解析:評析 由于實(shí)參傳送的是變量的地址,所以對形參指針?biāo)赶虻膯卧獌?nèi)容的改變,即對實(shí)參內(nèi)容的改變。48.下面程序的輸出結(jié)果是_。#includestdio.hmain()char *p=BOOL,OPK,H,SP;int i;for(i=3;i=0;i-,i-)printf(%c,*pi);printf(/n);(分?jǐn)?shù):1.00)A.SOB.SPC.SPOPKD.SHOB解析:評析 p0存放的是“BOOL/0”的首地址;p1存放的是“OPK/0”的首址等。在printf語句中輸出的*pi表示pi字符串的第個字符。在for循環(huán)中,i的初值為3,那么輸出的第個字符為“S”,接著兩次i-,則輸出的值為*p1,即字符“O”,所以本題的輸出為SO。49.定義int* swap()指的是_。(分?jǐn)?shù):1.00)A.個返回整型值的函數(shù)swap()B.個返回指向整型值指針的函數(shù)swap()C.個指向函數(shù)swap()的指針,函數(shù)返回一個整型值D.以上說法均錯解析:評析 個函數(shù)可以帶回個整型值、字符值、實(shí)型值等,但也可以帶回指針型數(shù)據(jù),即地址。本題的定義中,包括括號和*號,由于()優(yōu)先級高于*。故它是個返回整型指針的函數(shù)。50.若有以下結(jié)構(gòu)體定義,則_是正確的引用或定義。struct exampleint x;int y;v1;(分?jǐn)?shù):1.00)A.example.x=10B.example v2.x=10C.struct v2;v2.x=10D.struct example v2=10;解析:評析 在定義結(jié)構(gòu)體變量時,不能只用結(jié)構(gòu)體名example或關(guān)鍵字struct進(jìn)行定義,必需要用結(jié)構(gòu)缽類型名struct example定義,在引用結(jié)構(gòu)體成員變量時,需要用結(jié)構(gòu)體變量名進(jìn)行引用,所以選D。二、填空題(總題數(shù):17,分?jǐn)?shù):40.00)51.對于長度為n的順序存儲的線性表,當(dāng)隨機(jī)插入和刪除個元素時,需平均移動元素的個數(shù)為 【1】 。(分?jǐn)?shù):2.00)填空項(xiàng)1:_(正確答案:n/2)解析:評析 刪除個元素,平均移動的元素個數(shù)為(n-1+n-2+0)/n=(n-1)/2;插入一個元素,平均移動元素個數(shù)為(n+n-1+n-2+ +1)/n=(n+1)/2:所以總體平均移動元素個數(shù)為n/2。52.注釋說明了程序的功能,它分為 【2】 注釋和功能性注釋。(分?jǐn)?shù):2.00)填空項(xiàng)1:_(正確答案:序言性)解析:評析 注釋一般分為序言性注釋和功能性注釋。53.軟件測試中路徑覆蓋測試是整個測試的基礎(chǔ),它是對軟件 【3】 進(jìn)行測試。(分?jǐn)?shù):2.00)填空項(xiàng)1:_(正確答案:結(jié)構(gòu))解析:評析 路徑測試是白盒測試方法中的種,它要求對程序中的每條路徑最少檢查一次,目的是對軟件的結(jié)構(gòu)進(jìn)行測試。54.數(shù)據(jù)庫技術(shù)的主要特點(diǎn)為數(shù)據(jù)的集成性、數(shù)據(jù)的高 【4】 和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理與控制。(分?jǐn)?shù):2.00)填空項(xiàng)1:_(正確答案:共享性)解析:評析 數(shù)據(jù)庫技術(shù)的主要特點(diǎn)有以下幾個方面:數(shù)據(jù)的集成性,數(shù)據(jù)的高共享性與低冗余性,數(shù)據(jù)的獨(dú)立性,數(shù)據(jù)統(tǒng)一管理與控制。55.數(shù)據(jù)元素之間 【5】 的整體稱為邏輯結(jié)構(gòu)。(分?jǐn)?shù):2.00)填空項(xiàng)1:_(正確答案:邏輯關(guān)系)解析:評析 數(shù)據(jù)元素之間邏輯關(guān)系的整體稱為邏輯結(jié)構(gòu)。數(shù)據(jù)的邏輯結(jié)構(gòu)就是數(shù)據(jù)的組織形式。56.若有定義int m=5,y=2,則執(zhí)行表達(dá)式y(tǒng)+=y-=m*=y后,y的值為 【6】 。(分?jǐn)?shù):2.00)填空項(xiàng)1:_(正確答案:-16)解析:評析 將賦值運(yùn)算符右側(cè)的“表達(dá)式”的值賦給左側(cè)的變量,并且賦值運(yùn)算符按照“自右而左”的結(jié)合順序,本題表達(dá)式應(yīng)先算m的值為10,再運(yùn)算y的值為8,最后計算y=y+(-8)=-8+(-8)=-16。57.若x和y都是buble型變量,且x的初值為3.0,y的初值為2.0,則表達(dá)式pow(y,fabs(x)的值為 【7】 。(分?jǐn)?shù):2.00)填空項(xiàng)1:_(正確答案:8.000000)解析:評析 fabs函數(shù)功能是求x的絕對值,計算結(jié)果為double型。pow功能是計算x的y次方的值,計算結(jié)果同樣為double型。所以本題表達(dá)式相當(dāng)于2.0的3.0次方,結(jié)果為8.000000。58.沒有char a,b;,若要通過a&b運(yùn)算屏蔽掉a中的其他位,只保留第2位和笫8位(右起為第1位),則b的二進(jìn)制是 【8】 。(分?jǐn)?shù):2.00)填空項(xiàng)1:_(正確答案:10000010)解析:評析 運(yùn)算“&”的規(guī)則是只有當(dāng)兩個相應(yīng)的二進(jìn)制位都為1時,該位的結(jié)果才為1。要保留第2、8位,只要將其與二進(jìn)制數(shù)10000010相與。59.下列程序執(zhí)行后輸出的結(jié)果是 【9】 。f(int a)static c=0;c=a+c+;return(c);main()int a=2,i,k;for(i=0;i2;i+)k=f(a+);prinf(%d/n,k);(分?jǐn)?shù):2.00)填空項(xiàng)1:_(正確答案:7)解析:評析 在程序執(zhí)行時,static變量僅初始化一次,下次使用時將使用上次保存的值。60.下面程序執(zhí)行后輸出的結(jié)果是 【10】 。int m=13;int fun(int x,int y)int m=3;return(x*y-m);main()int a=7,b=5;printf(%d/n,fun(a,b)/m);(分?jǐn)?shù):2.00)填空項(xiàng)1:_(正確答案:2)解析:評析 本題變量m既是外部變量(值是13),又是fun函數(shù)的局部變量(值為3)。函數(shù)fun(x*y-m)的值為7*5-3=32,在main函數(shù)中,fun(a,b)/m中的m應(yīng)取外部變量的值13,因此輸出2。61.下列程序執(zhí)行后輸出的結(jié)果是 【11】 。main()int arr10,i,k=0;for(i=0;i10;i+)arri=i;for(i=1;i4;i+) k+=arri+i;printf(%d/n,k);(分?jǐn)?shù):2.00)填空項(xiàng)1:_(正確答案:12)解析:評析 本題的第個for循環(huán)用于紿數(shù)組arr賦初值,第二個for循環(huán)用于求和運(yùn)算。由于第二個for循環(huán)初始值為1,而循環(huán)條件為i4,所以求的是arr1到arr3及i的和,所以輸出結(jié)果為12。62.下列程序執(zhí)行后輸出的結(jié)果是 【12】 。struct sint x,y;data2=10,100,20,200;main()struct s *p=data;printf(%d/n,+(p-x);(分?jǐn)?shù):2.00)填空項(xiàng)1:_(正確答案:11)解析:評析 程序中結(jié)構(gòu)體數(shù)組data首地址(即&data0)賦值給結(jié)構(gòu)體指針變量p,+(P-x)表示先將p所指向的結(jié)構(gòu)體變量的成員x值加1,然后將此x(即data0.x)輸出。63.下面程序有

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論