程序員語言面試題學(xué)習(xí)教案_第1頁
程序員語言面試題學(xué)習(xí)教案_第2頁
程序員語言面試題學(xué)習(xí)教案_第3頁
程序員語言面試題學(xué)習(xí)教案_第4頁
程序員語言面試題學(xué)習(xí)教案_第5頁
已閱讀5頁,還剩106頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、會計學(xué)1程序員語言程序員語言(yyn)面試題面試題第一頁,共111頁。型企業(yè)公司出題模板;n3、由于本人的能力有限加上時間倉促,本課件肯定存在(cnzi)不足之處,懇請各位同學(xué)批評指正。第1頁/共110頁第二頁,共111頁。第2頁/共110頁第三頁,共111頁。第3頁/共110頁第四頁,共111頁。第4頁/共110頁第五頁,共111頁。第5頁/共110頁第六頁,共111頁。第6頁/共110頁第七頁,共111頁。第7頁/共110頁第八頁,共111頁。第8頁/共110頁第九頁,共111頁。第9頁/共110頁第十頁,共111頁。;n【標(biāo)準(zhǔn)答案】e)int * a10; f)int (*a)10 g)

2、int (*a)(int); h) int (*a10)(int)第10頁/共110頁第十一頁,共111頁。依次為int4 + DATE20 + double8 = 32.所以結(jié)果是 20 + 32 = 52.當(dāng)然.在某些16位編輯器下, int可能是2字節(jié),那么結(jié)果是 int2 + DATE10 + double8 = 20第11頁/共110頁第十二頁,共111頁。變量指針?biāo)傅刂?。雖然可以正確輸出結(jié)果,但因為越界進行內(nèi)在讀寫而導(dǎo)致(dozh)程序崩潰。第12頁/共110頁第十三頁,共111頁。操作(cozu)是不合法的。第13頁/共110頁第十四頁,共111頁。第14頁/共110頁第十五頁

3、,共111頁。第15頁/共110頁第十六頁,共111頁。會出現(xiàn)什么(shn me)問題?n【標(biāo)準(zhǔn)答案】程序崩潰,getmemory中的malloc 不能返回動態(tài)內(nèi)存, free()對str操作很危險。第16頁/共110頁第十七頁,共111頁。第17頁/共110頁第十八頁,共111頁。第18頁/共110頁第十九頁,共111頁。第19頁/共110頁第二十頁,共111頁。第20頁/共110頁第二十一頁,共111頁。第21頁/共110頁第二十二頁,共111頁。第22頁/共110頁第二十三頁,共111頁。第23頁/共110頁第二十四頁,共111頁。第24頁/共110頁第二十五頁,共111頁。第25頁/共

4、110頁第二十六頁,共111頁。第26頁/共110頁第二十七頁,共111頁。第27頁/共110頁第二十八頁,共111頁。第28頁/共110頁第二十九頁,共111頁。第29頁/共110頁第三十頁,共111頁。第30頁/共110頁第三十一頁,共111頁。第31頁/共110頁第三十二頁,共111頁。存器)2). 一個中斷服務(wù)子程序中會訪問到的非自動變量(Non-automatic variables)3). 多線程應(yīng)用中被幾個任務(wù)共享的變量第32頁/共110頁第三十三頁,共111頁。int *ptr;ptr = (int *)0 x67a9;*ptr = 0 xaa55;第33頁/共110頁第三十四

5、頁,共111頁。第34頁/共110頁第三十五頁,共111頁。第35頁/共110頁第三十六頁,共111頁。第36頁/共110頁第三十七頁,共111頁。第37頁/共110頁第三十八頁,共111頁。第38頁/共110頁第三十九頁,共111頁。第39頁/共110頁第四十頁,共111頁。第40頁/共110頁第四十一頁,共111頁。第41頁/共110頁第四十二頁,共111頁。第42頁/共110頁第四十三頁,共111頁。第43頁/共110頁第四十四頁,共111頁。第44頁/共110頁第四十五頁,共111頁。帶參宏帶參函數(shù)處理時間處理時間編譯時編譯時運行時運行時參數(shù)類型參數(shù)類型無無需定義需定義程序長度程序長度

6、變長變長不變不變占用存儲空間占用存儲空間否否是是運行時間運行時間不占運行時間不占運行時間調(diào)用和返回時占調(diào)用和返回時占第45頁/共110頁第四十六頁,共111頁。第46頁/共110頁第四十七頁,共111頁。第47頁/共110頁第四十八頁,共111頁。第48頁/共110頁第四十九頁,共111頁。第49頁/共110頁第五十頁,共111頁。第50頁/共110頁第五十一頁,共111頁。第51頁/共110頁第五十二頁,共111頁。第52頁/共110頁第五十三頁,共111頁。源文件內(nèi)有效, 在同一源程序的其它源文件中不能使用它。由于靜態(tài)全局變量的作用域局限于一個源文件內(nèi),只能為該源文件內(nèi)的函數(shù)公用,因此可以

7、避免在其它源文件中引起錯誤。從以上分析可以看出, 把局部變量改變?yōu)殪o態(tài)變量后是改變了它的存儲方式即改變了它的生存期。把全局變量改變?yōu)殪o態(tài)變量后是改變了它的作用域, 限制了它的使用范圍。static函數(shù)與普通函數(shù)作用域不同。僅在本文件。只在當(dāng)前源文件中使用的函數(shù)應(yīng)該說明為內(nèi)部函數(shù)(static),內(nèi)部函數(shù)應(yīng)該在當(dāng)前源文件中說明和定義。對于可在當(dāng)前源文件以外使用的函數(shù),應(yīng)該在一個頭文件中說明,要使用這些函數(shù)的源文件要包含這個頭文件。第53頁/共110頁第五十四頁,共111頁。第54頁/共110頁第五十五頁,共111頁。第55頁/共110頁第五十六頁,共111頁。第56頁/共110頁第五十七頁,共1

8、11頁。第57頁/共110頁第五十八頁,共111頁。第58頁/共110頁第五十九頁,共111頁。下面(xi mian)的例子:dPS p1,p2;tPS p3,p4;第一個擴展為struct s * p1, p2;上面的代碼定義p1為一個指向結(jié)構(gòu)的指,p2為一個實際的結(jié)構(gòu),這也許不是你想要的。第二個例子正確地定義了p3 和p4 兩個指針。第59頁/共110頁第六十頁,共111頁。第60頁/共110頁第六十一頁,共111頁。第61頁/共110頁第六十二頁,共111頁。第62頁/共110頁第六十三頁,共111頁。第63頁/共110頁第六十四頁,共111頁。第64頁/共110頁第六十五頁,共111頁

9、。return 0;n【標(biāo)準(zhǔn)答案】10,12,120第65頁/共110頁第六十六頁,共111頁。第66頁/共110頁第六十七頁,共111頁。第67頁/共110頁第六十八頁,共111頁。第68頁/共110頁第六十九頁,共111頁。也有可能是36。第69頁/共110頁第七十頁,共111頁。n【標(biāo)準(zhǔn)答案】死循環(huán)unsigned char /無符號字符(z f)型 表示范圍0255char /有符號字符(z f)型 表示范圍-128127第70頁/共110頁第七十一頁,共111頁。第71頁/共110頁第七十二頁,共111頁。n【標(biāo)準(zhǔn)答案】8,10,12,14,16第72頁/共110頁第七十三頁,共11

10、1頁?!緲?biāo)準(zhǔn)答案】16第73頁/共110頁第七十四頁,共111頁。n【 標(biāo)準(zhǔn)答案】12、13、13第74頁/共110頁第七十五頁,共111頁。第75頁/共110頁第七十六頁,共111頁。return 0;n【標(biāo)準(zhǔn)答案】10,12,120第76頁/共110頁第七十七頁,共111頁。第77頁/共110頁第七十八頁,共111頁。第78頁/共110頁第七十九頁,共111頁。 return area;n【參考答案】這個函數(shù)有太多的錯誤了,以至讓人不知從何說起了:1). ISR 不能返回一個值。如果你不懂這個,那么你不會被雇用的。2). ISR 不能傳遞參數(shù)。如果你沒有看到這一點,你被雇用的機會等同第一項

11、。3). 在許多的處理器/編譯器中,浮點一般都是不可重入的。有些處理器/編譯器需要讓額處的寄存器入棧,有些處理器/編譯器就是不允許在ISR中做浮點運算。此外,ISR應(yīng)該是短而有效率的,在ISR中做浮點運算是不明智的。4). 與第三點一脈相承,printf()經(jīng)常有重入和性能上的問題。如果你丟掉了第三和第四點,我不會太為難你的。不用說,如果你能得到后兩點,那么你的被雇用前景越來越光明了。第79頁/共110頁第八十頁,共111頁。原因是當(dāng)表達式中存在有符號類型和無符號類型時所有的數(shù)都自動轉(zhuǎn)換為無符號類型。因此-20變成了一個非常大的正整數(shù),所以該表達式計算出的結(jié)果大于6。這一點對于應(yīng)當(dāng)頻繁用到無符

12、號數(shù)據(jù)類型的嵌入式系統(tǒng)來說是豐常重要(zhngyo)的。如果你答錯了這個問題,你也就到了得不到這份工作的邊緣。第80頁/共110頁第八十一頁,共111頁。的細節(jié)和它的局限,然而PC機程序往往把硬件作為一個無法避免的煩惱。到了這個階段,應(yīng)試者或者完全垂頭喪氣了或者信心滿滿志在必得。如果顯然應(yīng)試者不是很好,那么這個測試就在這里結(jié)束了。但如果顯然應(yīng)試者做得不錯,那么我就扔出下面的追加問題,這些問題是比較難的,我想僅僅非常優(yōu)秀的應(yīng)試者能做得不錯。提出這些問題,我希望更多看到應(yīng)試者應(yīng)付問題的方法,而不是答案。不管如何,你就當(dāng)是這個娛樂吧第81頁/共110頁第八十二頁,共111頁。第82頁/共110頁第八

13、十三頁,共111頁。第83頁/共110頁第八十四頁,共111頁。第84頁/共110頁第八十五頁,共111頁。int binary_search(int* arr, int key, int n) int low = 0; int high = n - 1; int mid; while (low k) high = mid - 1; else if (arrmid k) low = mid + 1; else return mid; return -1;第85頁/共110頁第八十六頁,共111頁。unsigned int TestAsOne0(char log) int i; unsigned

14、 int num=0, val; for(i=0; i i; /移位(y wi) val &= 0 x01; /與1相與 if(val) num+; return num; 第86頁/共110頁第八十七頁,共111頁。int Invert(char *str) int num=0; while(*str!=0) int digital=*str-48; num=num*10+digital; str=str+1; return num; 第87頁/共110頁第八十八頁,共111頁。void IntToCharChange(int num, char* pval) char strval

15、100; int i, j; int val0 = 0; int val1 = 0; val0 = num; for(i=0; i100; i+) val1 = val0 % 10; /取余 val0 = val0 / 10; /取整 strvali = val1 + 48; /數(shù)字(shz)字符 if(val0 10) i+; strvali = val0 + 48; break; for(j=0; j 0) ret = 1; else if (ret 99) return; sourcej = 0; for(i=0; ij; i+) childi = sourcej-i-1; /反序 ch

16、ildi = 0; 第90頁/共110頁第九十一頁,共111頁。int search(char *cpSource, int n, char ch) /起始(q sh)地址,搜索長度,目標(biāo)字符int i;for(i=0; in & *(cpSource+i) != ch; +i);return i;第91頁/共110頁第九十二頁,共111頁。int ChildString(char*p) /自己(zj)寫 char *q=p;int stringlen=0, i=0,j=1,len=0,maxlen=1; while(*q!=0) /不能用strlen,求得長度stringlen St

17、ringlen+;q+; while( i Stringlen ) if(*(p+i)=*(p+j)&jmaxlen) /統(tǒng)計最大子串長度 maxlen=len+1; len=0; else len=0; i+;j+; return maxlen; 第92頁/共110頁第九十三頁,共111頁。t1 = t1-next;if (NULL = (t2 = t2-next-next)return 0; /無環(huán)if (t1 = t2)return 1;return 0;n第93頁/共110頁第九十四頁,共111頁。void BubbleSort(double arr, int n) int i

18、,j; int exchange = 1; /交換標(biāo)志 for(i=1;i=i;j-) /對當(dāng)前無序區(qū)Ri.n自下向上掃描 if(arrj+1 arrj)/交換記錄 arr0=arrj+1; /R0不是哨兵(shobng),僅做暫存單元 arrj+1=arrj; arrj=arr0; exchange=1; /發(fā)生了交換,故將交換標(biāo)志置為真 if(!exchange) /本趟排序未發(fā)生交換,提前終止算法 return; /endfor(外循環(huán)) 第94頁/共110頁第九十五頁,共111頁。/刪除(shnch)操作Status ListDelete_DuL(DuLinkList &L,i

19、nt i,ElemType &e) if(!(p=GetElemP_DuL(L,i) return ERROR; e=p-data; p-prior-next=p-next; p-next-prior=p-pror; free(p); return OK;/插入操作Status ListInsert_DuL(DuLinkList &L,int i,ElemType &e) if(!(p=GetElemP_DuL(L,i) return ERROR; if(!(s=(DuLinkList)malloc(sizeof(DuLNode) return ERROR; s-dat

20、a=e; s-prior=p; p- next - prior =s; p-next=s; s-next=p-next-next; return OK;第95頁/共110頁第九十六頁,共111頁。void reverse(test* head)test* pe = head;test* ps = head-next;while(ps) pe-next = ps-next;ps-next = head;head = ps;ps = pe-next;第96頁/共110頁第九十七頁,共111頁。#include main() int a23=1,2,3,4,5,6; int b32,i,j; pri

21、ntf(array a:n); for(i=0;i=1;i+) for(j=0;j=2;j+) printf(%5d,aij); bji=aij;printf(n); printf(array b:n); for(i=0;i=2;i+) for(j=0;j=1;j+) printf(%5d,bij); printf(n); 第97頁/共110頁第九十八頁,共111頁。#include main() char string81; int i,num=0,word=0; char c; gets(string); for(i=0;(c=stringi)!=0;i+) if(c= ) word=0;

22、 else if(word=0) word=1; num+; printf(There are %d words in the linen,num);第98頁/共110頁第九十九頁,共111頁。void* memcpy(void* pvTo, const void* pvFrom, size_t size) assert(pvTo != NULL) & (pvFrom != NULL); byte* pbTo = pvTo; byte* pbFrom = pbFrom; while (size- 0) *pbTo+ = *pbFrom+; return pvTo; 第99頁/共110頁

23、第一百頁,共111頁。#include stdio.h#include conio.hmain() int i,j,k; printf(n); for(i=1;i5;i+) /*以下為三重循環(huán)(xnhun)*/ for(j=1;j5;j+) for (k=1;k4;c=(04);d=b&c;printf(%on%on,a,d);第101頁/共110頁第一百零二頁,共111頁。main() int i,j; int a1010; printf(n); for(i=0;i10;i+) ai0=1; aii=1; for(i=2;i10;i+) for(j=1;ji;j+) aij=ai-1j-1+ai-1j; for(i=0;i10;i+) for(j=0;j=i;j+) printf(%5d,aij); printf(n); getch(); 第102頁/共110頁第一百零三頁,共111頁。第103頁/共110頁第一百零四頁,共111頁。main() int len; char *str20; printf(please input a string:n); scanf(%s,str); len=length(str); printf(the string has %d characters.,len); getch();length(

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論