




已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
筆試題一、填空題(每個(gè)空4分,共28分)1)struct tagABC char name10; char sex; long sno; float score4; *pAbc;(四字節(jié)對齊)pAbc=NULL;那么,執(zhí)行pAbc+=2;之后pAbc的值為( 64 )2)如下代碼,最終value的值是( 8 )int *p1,*p2;int value;p1=(int*)0400;p2=(int*)0408;value = p2-p1;3)如下代碼,printf的結(jié)果為( 2 )#includestdio.h#includestring.hvoid main(void) char acNew20= “00”; printf(“%dn”,strlen(acNew);4) 有如下程序段,運(yùn)行該程序的輸出結(jié)果是( 33 )main ()int y=3,x=3,z=1;printf(“%d%dn”,(+x,y+),z+2);5)設(shè)有:int a=1,b=2,c=3,d=4,m=2,n=2;執(zhí)行(m=ab)&(n=cd)后,n的值為( 2 )6)struct tagAAA Unsigned char ucId:1;Unsigned char ucPara0:2;Unsigned char ucState:6;Unsigned char ucTail:4;Unsigned char ucAvail;Unsigned char unTail2:4;Unsigned long ulData; AAA_S問:AAA_S在字節(jié)對齊分別為1,4情況下,占用的空間大小分別是多少?( 9 )( 12 )二、選擇題(每題2分,共34分)1) 若有說明int(*p)3;以下敘述正確的是( D )A:p是指針數(shù)組 B:(*p)3和*p3等價(jià)C:p是指向一維數(shù)組中任何一個(gè)元素的指針D:p是指向含有3個(gè)整型元素的一維數(shù)組的指針2) 以下關(guān)于單元測試的描述,哪些是對的?( D ) A:黑盒測試針對軟件的功能,不考慮功能的實(shí)現(xiàn)細(xì)節(jié); B:白盒測試針對源代碼的測試,從程序功能的具體實(shí)現(xiàn)上找錯(cuò); C:路徑覆蓋是黑盒測試的一種方法,編寫測試用例使程序的每條語句都能走到; D:條件覆蓋是百盒測試的一種方法, 編寫測試用例使程序的每個(gè)判斷的各種情況都能到3) 以下可以用于任務(wù)間通信的有( ABCD ) A:共享內(nèi)存 B:信號(hào)量 C:消息隊(duì)列和管道 D:socket調(diào)用4) 有關(guān)結(jié)構(gòu),以下哪些描述是對的?( BC )A:為了測試方便,盡量把一個(gè)結(jié)構(gòu)的功能設(shè)計(jì)得多一些B:不同結(jié)構(gòu)間的關(guān)系不要過于復(fù)雜C:結(jié)構(gòu)中的各元素應(yīng)代表同一事務(wù)的不同側(cè)面,而不應(yīng)把描述沒有關(guān)系或關(guān)系很弱的不同事務(wù)的元素放到同一結(jié)構(gòu)中D:結(jié)構(gòu)中元素的布局與排列順序可以隨意設(shè)計(jì)5) 關(guān)于強(qiáng)制類型轉(zhuǎn)化,下面說法正確的是(ABCD) A:當(dāng)目的結(jié)構(gòu)的空間大于源結(jié)構(gòu)的空間時(shí),要重點(diǎn)關(guān)注內(nèi)存訪問超過源結(jié)構(gòu)范圍的情形,可能越界; B:當(dāng)目的結(jié)構(gòu)的空間小于源結(jié)構(gòu)的空間時(shí),要重點(diǎn)關(guān)注對目的結(jié)構(gòu)賦值不能完全覆蓋源結(jié)構(gòu)范圍的情形,可能遺漏; C:結(jié)構(gòu)體之間的強(qiáng)制類型轉(zhuǎn)換時(shí),其成員字段的數(shù)據(jù)類型的差異也是要格外小心的; D:與結(jié)構(gòu)體之間的強(qiáng)制類型轉(zhuǎn)換相比,基本數(shù)據(jù)結(jié)構(gòu)的強(qiáng)制類型轉(zhuǎn)換更容易出現(xiàn)上面描述的情況,使用的時(shí)候,一定要慎之又慎;6) 正確的使用assert,軟件系統(tǒng)不會(huì)對人為原因造成的錯(cuò)誤進(jìn)行處理。它有利于( A BCD ) A:缺陷及早暴露,加快定位進(jìn)程; B:明確表示函數(shù)接口或算法邏輯的校驗(yàn)關(guān)系,增強(qiáng)軟件代碼的可讀性; C:去除不必要的容錯(cuò)處理,簡化代碼處理流程,降低軟件處理復(fù)雜度; D:強(qiáng)化編程接口之間的契約,增強(qiáng)軟件的可維護(hù)性;7) 對于循環(huán)體的執(zhí)行效率,下述說法正確的是( ABCD ) A:循環(huán)體內(nèi)工作量最小化 B:在多重循環(huán)中,應(yīng)將最忙的循環(huán)放在最內(nèi)層 C:盡量減少循環(huán)的嵌套層次 D:避免在循環(huán)體內(nèi)做無謂的判斷語句,將循環(huán)語句置于判讀語句的代碼塊之中8) 設(shè)數(shù)組a5=10,20,30,40,50;已知指針p指向a1;則表達(dá)式*+p的值是( A ) A20 B21 C30 D31 9) 有以下程序段, 執(zhí)行后,mul的值為( B ) int a =1,3,5,7,9; int mul, *data, x; mul=1; data=&a1; for(x=0; x3; x+) mul *= *(data+x); A15 B105 C315 D945 10) 有以下程序段,執(zhí)行后的結(jié)果為(D) int list =6,7,8,9,10; int * p;p=list; *(p+2)=10; printf(”%d, %dn”,*p,*(p+2); A8, 10 B6, 8 C7, 9 D6, 10 11) 以下語句不能正確賦值的是(A) Achar s110; s1=”China”; Bchar s2 = C,h,i,n,a; Cchar s320=”China”; Dchar *s=”China”; 12) C語言中,定義PI為一個(gè)符號(hào)常量,正確的是(A) A#define PI 3.14 Bdefine PI 3.14 C#include PI 3.14 Dinclude PI 3.14 13) 有以下程序,該程序輸出的結(jié)果為(B) #define N 3 #define M N+2 #define NUM 2*M+1 main() int i; i=NUM; printf(”%dn”,i); A11 、 B9 C7 D5 14) 有以下程序,程序運(yùn)行后的輸出結(jié)果是( D ) #include #include main() char *p=“abcde0fghjik0”; printf(“%dn” , strlen(p); A12 B15 C6 D5 15) 為了比較兩個(gè)字符串s1和s2是否相等,應(yīng)當(dāng)使用( C ) Aif(s1=s2) Bif(s1=s2) Cif(strcmp(s1, s2)=0) Dif(strcmp(&s1, &s2)=0)16) 設(shè)有如下結(jié)構(gòu)定義: struct student int num; char name20; char sex; int age; char addr30; stud; 若用printf(“%sn”,)訪問該結(jié)構(gòu)中name值的正確方法是( D ) Astud-name B& Cstud.&name D 17) 想對一個(gè)文本文件的尾部追加寫入,應(yīng)當(dāng)在fopen語句中使用的文件操作方式指示符號(hào)為( D ) Aw Br Cwb Da三、指出下列程序的錯(cuò)誤(每題4分,共20分)1).如下程序用于輸出WelcomeHome。請指出其中的錯(cuò)誤:(4分)voidTest(void)charpcArray12;strcpy(pcArray,WelcomeHome);printf(%s!,pcArray);return;答案:數(shù)組越界。2).如下程序用于把blue字符串返回,請指出其中的錯(cuò)誤:(4分)char*GetBLUE(void)char*pcColor;char*pcNewColor;pcColor=blue;pcNewColor=(char*)malloc(strlen(pColor);if(NULL=pcNewColor)returnNULL;strcpy(pcNewColor,pcColor);returnpcNewColor;答案:申請內(nèi)存空間不足,字符串結(jié)尾還有0。3).下面程序期望輸出str=helloworld,請指出其中的錯(cuò)誤:(4分)char*GetStr(char*p)p=helloworld;returnp;voidmain()char*str=NULL;if(NULL!=GetStr(str)printf(rnstr=%s,str);return;答案:無法返回字符串,參數(shù)使用錯(cuò)誤。4).請指出下面程序錯(cuò)誤的地方:(4分)#defineBUFFER_SIZE256voidTest(void)char*str=NULL;str=(char*)malloc(BUFFER_SIZE);if(NULL=str)return;strcpy(str,hello);free(str);if(NULL!=str)strcpy(str,world);printf(str);return;答案:引用了已經(jīng)釋放的內(nèi)存。5).請指出下面程序的錯(cuò)誤:(4分)voidGetMemory(char*ppcChar,intiLength)if(NULL=ppcChar)return;*ppcChar=(char*)malloc(iLength);return;voidTest(void)char*szStr=NULL;GetMemory(&szStr,100);if(NULL!=szStr)strcpy(szStr,hello);printf(szStr);return;答案:沒有釋放內(nèi)存。四、簡答題(每題4分,共8分) 1)寫宏定義MAX,求出兩個(gè)數(shù)中的較大者。(4分) 答案: #defined MAX(A,B) ((A)=(B)?(A):(B) )2) 畫出同下面多叉樹等價(jià)的二叉樹,并作說明。(4分) AB CDEF答案如下:(采用樹的孩子兄弟法將樹轉(zhuǎn)換成二叉樹)ACBDEF五、編程題(共10分)1) 給一個(gè)單鏈表,刪除某一節(jié)點(diǎn)(要求:先找到是否有這個(gè)節(jié)點(diǎn),然后再刪除,要能保證程序運(yùn)行正確)(10分)參考解法如下:include #include #include #include typedefstruct linkqueue1 intdata; structlinkqueue1*next; linkqueue1,linklist; linklist*creat(void)/建立鏈表 linklist*head; intn=1,len; linklist*p1,*p2; coutinputnumberofrecords:len; head=p1=p2=(linklist*)malloc(sizeof(linklist); coutinputrecords:p1-data; head-next=NULL; while(n+p1-data; p2-next=p1; p2=p1; p2-next=NULL; return(head); voidoutlink(linklist*head) linklist*p; p=head; while(p) coutdatanext; int bianli(linklist*head, intNumber) /遍歷鏈表,返回1說明有要?jiǎng)h除的元素,反之。 linklist*p; p=head; while(p-next!=NULL) if( p-data= Number)return 1; return0; linklist*deletenode(linklist*head,intdeleteNumber) linklist*Pointer,*Back; Back =head; Pointer = Backnext; while(Pointer-data!= deleteNumber) Pointer+; Back= Back-next;if(Pointer-data=deleteNumber) printf(刪除首節(jié)點(diǎn)!n); head=Pointer -next; free(Pointer); break; elseBack-next=Pointer-next;
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 旅游行業(yè)資源共享合作框架合同
- 彩票刮刮卡活動(dòng)方案
- 影院創(chuàng)新活動(dòng)方案
- 形成閉環(huán)營銷活動(dòng)方案
- 開業(yè)洗臉卡活動(dòng)方案
- 快餐店慶活動(dòng)方案
- 開業(yè)酒會(huì)互動(dòng)活動(dòng)方案
- 志愿者競選活動(dòng)方案
- 網(wǎng)站域名注冊和管理服務(wù)合同
- 開業(yè)送卡活動(dòng)方案
- 團(tuán)險(xiǎn)及團(tuán)險(xiǎn)產(chǎn)品
- 山東醫(yī)藥技師學(xué)院招聘考試真題2022
- 國際金融課后習(xí)題答案(吳志明第五版)第1-9章
- 外貿(mào)英文函電(張靜 張曉云)課件T3.2建立貿(mào)易關(guān)系信函及回復(fù)
- 中建項(xiàng)目標(biāo)價(jià)分離書
- 勞動(dòng)經(jīng)濟(jì)學(xué)(第三版) 胡學(xué)勤課件本科勞動(dòng)經(jīng)濟(jì)學(xué)課程試卷庫及答案
- WS/T 494-2017臨床定性免疫檢驗(yàn)重要常規(guī)項(xiàng)目分析質(zhì)量要求
- GB/T 10125-2021人造氣氛腐蝕試驗(yàn)鹽霧試驗(yàn)
- 造型設(shè)計(jì)基礎(chǔ)形態(tài)PPT
- The Old Man and The Sea 老人與海 中英文對照版
- 居委會(huì)開具的自建房證明
評論
0/150
提交評論