版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、局部變量能否和全局變量重名?答:能,局部會屏蔽全局。要用全局變量,需要使用”::”局部變量可以與全局變量同名,在函數內引用這個變量時,會用到同名的局部變量,而不會用到全局變量。對于有些編譯器而言,在同一個函數內可以定義多個同名的局部變量,比如在兩個循環(huán)體內都定義一個同名的局部變量,而那個局部變量的作用域就在那個循環(huán)體內。2、 如何引用一個已經定義過的全局變量?答:extern可以用引用頭文件的方式,也可以用extern關鍵字,如果用引用頭文件方式來引用某個在頭文件中聲明的全局變理,假定你將那個變寫錯了,那么在編譯期間會報錯,如果你用extern方式引用時,假定你犯了同樣的錯誤,那么在編譯期間不會報錯,而在連接期間報錯。3、 全局變量可不可以定義在可被多個.C文件包含的頭文件中?為什么?答:可以,在不同的C文件中以static形式來聲明同名全局變量??梢栽诓煌腃文件中聲明同名的全局變量,前提是其中只能有一個C文件中對此變量賦初值,此時連接不會出錯4、 語句for(;1;)有什么問題?它是什么意思?答:和while(1)相同。5、 do while和while do有什么區(qū)別?答:前一個循環(huán)一遍再判斷,后一個判斷以后再循環(huán)6、 請寫出下列代碼的輸出內容以下是引用片段:#includemain(){inta,b,c,d;a=10;b=a++;c=++a;d=10*a++;printf("b,c,d:%d,%d,%d",b,c,d);return0;}答:10,12,120
7>static全局變量與普通的全局變量有什么區(qū)別?static局部變量和普通局部變量有什么區(qū)別?static函數與普通函數有什么區(qū)別?全局變量(外部變量)的說明之前再冠以static就構成了靜態(tài)的全局變量。全局變量本身就是靜態(tài)存儲方式,靜態(tài)全局變量當然也是靜態(tài)存儲方式。這兩者在存儲方式上并無不同。這兩者的區(qū)別雖在于非靜態(tài)全局變量的作用域是整個源程序,當一個源程序由多個源文件組成時,非靜態(tài)的全局變量在各個源文件中都是有效的。而靜態(tài)全局變量則限制了其作用域,即只在定義該變量的源文件內有效,在同一源程序的其它源文件中不能使用它。由于靜態(tài)全局變量的作用域局限于一個源文件內,只能為該源文件內的函數公用,因此可以避免在其它源文件中引起錯誤。從以上分析可以看出,把局部變量改變?yōu)殪o態(tài)變量后是改變了它的存儲方式即改變了它的生存期。把全局變量改變?yōu)殪o態(tài)變量后是改變了它的作用域,限制了它的使用范圍。static函數與普通函數作用域不同。僅在本文件。只在當前源文件中使用的函數應該說明為內部函數(static),內部函數應該在當前源文件中說明和定義。對于可在當前源文件以外使用的函數,應該在一個頭文件中說明,要使用這些函數的源文件要包含這個頭文件static全局變量與普通的全局變量有什么區(qū)別:static全局變量只初使化一次,防止在其他文件單元中被引用;static局部變量和普通局部變量有什么區(qū)別:static局部變量只被初始化一次,下一次依據上一次結果值;static函數與普通函數有什么區(qū)別:static函數在內存中只有一份,普通函數在每個被調用中維持一份拷貝8、 程序的局部變量存在于(堆棧)中,全局變量存在于(靜態(tài)區(qū))中,動態(tài)申請數據存在于(堆)中。9、 設有以下說明和定義:typedefunion{longi;intk[5];charc;}DATE;structdata{intcat;DATEcow;doubledog;}too;DATEmax;則語句printf("%d",sizeof(structdate)+sizeof(max));的執(zhí)行結果是:52答:DATE是一個union,變量公用空間.里面最大的變量類型是int[5],占用20個字節(jié).所以它的大小是20data是一個struct,每個變量分開占用空間.依次為int4+DATE20+double8=32.所以結果是20+32=52.
當然...在某些16位編輯器下,int可能是2字節(jié),那么結果是int2+DATE10+double8=2010、隊列和棧有什么區(qū)別?隊列先進先出,棧后進先出11、寫出下列代碼的輸出內容以下是引用片段:#includeintinc(inta){return(++a);}intmulti(int*a,int*b,int*c){return(*c=*a**b);}typedefint(FUNC1)(intin);typedefint(FUNC2)(int*,int*,int*);voidshow(FUNC2fun,intarg1,int*arg2){INCp=&inc;inttemp=p(arg1);fun(&temp,&arg1,arg2);printf("%d\n",*arg2);}main(){inta;show(multi,10,&a);return0;}答:11012、請找出下面代碼中的所以錯誤說明:以下代碼是把一個字符串倒序,如“abcd”倒序后變?yōu)椤癲cba”以下是引用片段:1、 #include"string.h"2、 main()3、 {4、 char*src="hello,world";5、 char*dest=NULL;6、 intlen=strlen(src);7、 dest=(char*)malloc(len);
8、 char*d=dest;9、 char*s=src[len];10、 while(len--!=0)11、 d++=s--;12、 printf("%s",dest);13、 return0;14、 }答:方法1:以下是引用片段:intmain(){char*src="hello,world";intlen=strlen(src);char*dest=(char*)malloc(len+1);//要為\0分配一個空間char*d=dest;char*s=&src[len-1];//指向最后一個字符while(len--!=0)*d++=*s--;*d=0;//尾部要加\0printf("%s\n",dest);free(dest);//使用完,應當釋放空間,以免造成內存匯泄露return0;}方法2:以下是引用片段:#include#includemain(){charstr[]="hello,world";intlen=strlen(str);chart;for(int『0;i{t=str[i];str[i]=str[len-i-1];str[len-i-1]=t;}printf("%s",str);return0;}1.-1,2,7,28,,126請問28和126中間那個數是什么?為什么?
第一題的答案應該是4八3-1=63規(guī)律是時3-1(當n為偶數0,2,4)時3+1(當n為奇數1,3,5)答案:632.用兩個棧實現一個隊列的功能?要求給出算法和思路!設2個棧為A,B,一開始均為空.入隊:將新元素push入棧A;出隊:判斷棧B是否為空;如果不為空,則將棧A中所有元素依次pop出并push到棧B;將棧B的棧頂元素pop出;這樣實現的隊列入隊和出隊的平攤復雜度都還是O(1),比上面的幾種方法要好。3.在c語言庫函數中將一個字符轉換成整型的函數是atool()嗎,這個函數的原型是什么?函數名:atol功能:把字符串轉換成長整型數用法:longatol(constchar*nptr);程序例:以下是引用片段:#include#includeintmain(void){longl;char*str="98765432";l=atol(lstr);printf("string=%sinteger=%ld\n",str,l);return(0);}對于一個頻繁使用的短小函數,在C語言中應用什么實現,在C++中應用什么實現?c用宏定義,c++用inline
直接鏈接兩個信令點的一組鏈路稱作什么?PPP點到點連接接入網用的是什么接口?voip都用了那些協(xié)議?軟件測試都有那些種類?黑盒:針對系統(tǒng)功能的測試白合:測試函數功能,各函數接口確定模塊的功能和模塊的接口是在軟件設計的那個隊段完成的?概要設計階段19.enumstring{x1,x2,x3=10,x4,x5,}x;問x=0x801005,0x8010f4;20.unsignedchar*p1;unsignedlong*p2;p1=(unsignedchar*)0x801000;p2=(unsignedlong*)0x810000;請問p1+5=;p2+5=;共4頁。選擇題:Ethternet鏈接到Internet用到以下那個協(xié)議?A.HDLC;B.ARP;C.UDP;D.TCP;E.ID22.屬于網絡層協(xié)議的是:A.TCP;B.IP;C.ICMP;D.X.25Windows消息調度機制是:A.指令隊列;B.指令堆棧;C.消息隊列;D.消息堆棧;24.unsignedshorthash(unsignedshortkey){return(key>>)%256}請問hash(16),hash(256)的值分別是:A.1.16;B.8.32;C.4.16;D.1.32找錯題:請問下面程序有什么錯誤?inta[60][250][1000],i,j,k;for(k=0;k<=1000;k++)for(j=0;j<250;j++)for(i=0;i<60;i++)a[i][j][k]=0;把循環(huán)語句內外換一下26.以下是引用片段:#defineMax_CB500voidLmiQueryCSmd(StructMSgCB*pmsg){unsignedcharucCmdNum;for(ucCmdNum=0;ucCmdNum{......;}死循環(huán)
以下是求一個數的平方的程序,請找出錯誤:#defineSQUARE(a)((a)*(a))inta=5;intb;b=SQUARE(a++);28.以下是引用片段:typedefunsignedcharBYTEintexamply_fun(BYTEgt_len;BYTE*gt_code)TOC\o"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年汽車銷售合同擔保服務模板附車輛改裝服務3篇
- 2024年短期公租房租賃合同
- 崗位職責表課程設計
- 2024幼兒園發(fā)展規(guī)劃(35篇)
- 基于機器學習的古代繪畫修復與復原技術研究
- 2024年營銷工作計劃(59篇)
- 沼氣池儲氣罐課程設計
- 線描西蘭花課程設計
- 英漢互譯系統(tǒng)的課程設計
- 物流行業(yè)運輸司機工作總結
- 托育機構食品安全培訓
- 2024年區(qū)域牛羊肉獨家代理銷售協(xié)議
- 2024旅行社承包經營合同
- 地下車庫地面改造施工方案
- 成人有創(chuàng)機械通氣氣道內吸引技術操作標準解讀
- 《護患溝通》課件
- 洗浴用品購銷合同模板
- 電能質量-公用電網諧波
- 電火灶-編制說明
- 幼兒園幼小銜接方案模板
- 批評與自我批評表
評論
0/150
提交評論