版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
C、筆試題,面試題
筆試,面試,職業(yè)規(guī)劃,考研筆試,面試,職業(yè)規(guī)劃,考研《隱藏
窗體頂端
窗體底端2023C、筆試題大全,被問的概率幾乎100%。、筆試題大全,
筆試題大全。很少有真正精通了C語言編程的學(xué)員,一般都有或多或少
概念不是完全清楚的問題,特殊是一些須要豐富的實戰(zhàn)閱歷才能體會和
明白的問題,如字符串,指針,類型轉(zhuǎn)換,定義指向函數(shù)的指針類型,
這也是導(dǎo)致學(xué)習(xí)C困難的一個緣由。下面有幾個簡潔測試將能發(fā)覺你對
C語言的駕馭狀況。
1)35;[10];問:0和()的值分別是多少?答:()值不確定,
依據(jù)''0'確定字符串是否結(jié)束。()=10一個數(shù)組為數(shù)組長度
(,〃315〃/*共13個字母*/);問:此時x和()的值分別是多少?
答:x為35(*,*)依據(jù)來復(fù)制,依照的''0'確定復(fù)制的長度,
必需要供應(yīng)足夠的長度,這而里會引起溢出,返回13,但是數(shù)組外部
的數(shù)據(jù)已經(jīng)被破壞的值為13,在環(huán)境下的值是要變更的(其他編譯器
下沒試,).雖然表面上看來,在程序中并沒有修改x的值,但是實際運(yùn)行
的結(jié)果是上面的x的值發(fā)生了修改,這是因為以后,把多余的數(shù)據(jù)拷貝
進(jìn)了的鄰居(類型的x)中,所以x的數(shù)據(jù)也就變了.這是一個曾讓我
刻骨銘心的問題,在我剛出道時遇到這個問題,雖然在摯友的幫助下解決
了這個問題,但始終不明白x的值為何變了,只有最終走上培訓(xùn)老師的
崗位,才起先梳理自己曾經(jīng)的困惑,才起先總結(jié)以前的閱歷供學(xué)員們借鑒.
我覺得這個題目的價值特殊之大,它能引起學(xué)員對字符串拷貝越界問題
的足夠重視,并且通過這個問題更能明白字符串的處理是怎么回時,更能
明白字符串與字符數(shù)組的關(guān)系:字符串就是一個字符數(shù)組,只是把這個字
符數(shù)組用在處理串的函數(shù)中時,這些函數(shù)不考慮數(shù)組的長度,只是記住數(shù)
組的首地址,從首地址起先處理,并在遇到0時結(jié)束處理,
3)[10];〃315〃;(,〃315〃)編譯能通過嗎?答:數(shù)組不能賦
值,只能初始化。[10]=〃315〃;而且初始化時編譯器會檢查數(shù)組的
長度與初始化串的長度是否匹配
4)*;(,〃〃);須要初始化并支配空間上句編譯能通過嗎?運(yùn)行時
有問題嗎?
答:可以通過編譯,但是指向了常量區(qū),運(yùn)行時最好只做讀操作,
寫操作不保險。編譯可以通過,但是沒有進(jìn)行有效的初始化,它指向了
一個不確定的內(nèi)存區(qū),運(yùn)行時會出現(xiàn)內(nèi)存不行寫錯誤!*pl;*p2;
指針必需初始化上面兩句有什么區(qū)分嗎?
答:*和*一樣,都是表示指向常量的字符指針。*表示指
向字符的常量指針pl=(*);假如是P1;編譯能夠通過嗎?明白為什么
要類型轉(zhuǎn)換?類型轉(zhuǎn)換的本質(zhì)是什么?
答:可以通過編譯。關(guān)于常量與特殊量指針的關(guān)系是這樣的:指
針可以指向或者非區(qū)域,不會造成什么問題。非指針不能指向區(qū)
域,會引起錯誤。(呵呵,這個問題,很經(jīng)典)(pl,〃〃)編譯能夠通過嗎?
答:不能通過,(*,*);*不能指向*留意:非指針不能
指向區(qū)域,會引起錯誤。(〃〃)有問題嗎?
答:沒有問題,輸出的是的地址信息*;3000編譯能過嗎?假
如不行,該如何修改以保證編譯通過呢?
答:不能通過,*表示是個字符指針,不能指向3000的整形變
量。修改的話,可以這樣:=(*)3000,把指向3000這個地址;()
可以這樣做嗎?
答:可以,y的值為所指的地址。不過假如是純粹要地址的話,
最好是用。*;*0x00313200;(〃〃)會是什么效果?提示0x31對應(yīng)字
符T',0x32對應(yīng)字符'2'。
答:首先編譯未必會過關(guān),有些編譯器可能不允許*干脆指向*。
最好是改為*P=(*);過關(guān)了效果就是什么東西都沒有。*;P為所
指的地址,*p表示修改了所指向的內(nèi)存。由于()在32位機(jī)上,有
4個字節(jié)(其實具體要看編譯器的配置文件,好像是,一般是4個
字節(jié))所以修改了[0][3]由于0x00313200頭尾都是0,所以字符串
為‘\0'開頭,什么都打印不出來。這里有個和的問題。以
0x31323334為例的機(jī)器上面,0x31323334在內(nèi)存中排列依次為3433
3231,輸出為4321,如芯片的機(jī)器上面為31323334,輸出
為1234,如30001的結(jié)果會是多少?
答:3000();指針+1均為原來地址加上(指針?biāo)傅臄?shù)據(jù)類型)*
[100]上述語句在內(nèi)存中占據(jù)幾個內(nèi)存塊,怎樣的布局狀況?答:本身
會占用函數(shù)棧一個4字節(jié)的指針長度(具體是否為4個字節(jié)要看機(jī)器
和編譯器)。會在堆上申請100個字節(jié)()的連續(xù)空間。(**p){*
[100];}這個編譯函數(shù)有問題嗎?外面要調(diào)用這個函數(shù),該怎樣傳遞參
數(shù)?
答:該程序沒有問題。須要在函數(shù)中對指針?biāo)傅牡刂愤M(jìn)行變更是
必需傳入指針的地址。緣由是這樣的:假如傳入的為指針本身,在函數(shù)
調(diào)用的時候,實參會被復(fù)制一個實例,這樣就不是原來的指針了,對該
指針本身進(jìn)行的任何變更都不能傳遞回去了??梢赃@樣理解,假如傳入
的參數(shù)為,那么對本身的值的變更就傳不回去啦,加個*也是一樣的。
能明白(*)(y)與其作用嗎?
答:定義了一個函數(shù)指針類型的宏,這樣就表示指向返回值為,
且同時帶2個參數(shù)的函數(shù)指針類型了??梢杂脕矶x這樣的變量:比
如有個函數(shù)為(x,y);p=;補(bǔ)充::函數(shù)指針最大的用處在于它
可以被一個模板方法調(diào)用,這是我在學(xué)的設(shè)計模式時領(lǐng)悟到的.例如,
有兩個函數(shù)的流程結(jié)構(gòu)完全一樣,只是內(nèi)部調(diào)用的具體函數(shù)不同,如下所
示:1(){一段流程代碼和面對方面的代理,如平安檢查,日志記錄等
=(x,y);一段流程代碼和面對方面的代理,如平安檢查,日志記錄等}
2(){與1完全相同的一段流程代碼和面對方面的代理,如平安檢查,日
志記錄等二(x,y);與1完全相同的一段流程代碼和面對方面的代
理,如平安檢查,日志記錄等}那么,可以只定義一個函數(shù),如下所示(P)
(與1完全相同的一段流程代碼和面對方面的代理,如平安檢查,日志記
錄等二p(x,y);與1完全相同的一段流程代碼和面對方面的代理,
如平安檢查,日志記錄等}調(diào)用程序在調(diào)用時,讓參數(shù)p分別指向和
函數(shù)就可以了.
以下是騰訊的筆試面試題:]
請定義一個宏,比較兩個數(shù)a、b的大小,不能運(yùn)用大于、小于、語
句
2、如何輸出源文件的標(biāo)題和目前執(zhí)行行的行數(shù)3、兩個數(shù)相乘,小
數(shù)點后位數(shù)沒有限制,請寫一個高精度算法4、寫一個病毒5、有A、B、
C、D四個人,要在夜里過一座橋。他們通過這座橋分別須要耗時1、2、
5、10分鐘,只有一支手電,并且同時最多只能兩個人一起過橋。請問,
如何支配,能夠在17分鐘內(nèi)這四個人都過橋?
2023年騰訊聘請選擇題(60)方面的基礎(chǔ)學(xué)問c的函數(shù)有
好幾個!程序填空(40)1.(20)4空x5不運(yùn)用額外空間,將兩鏈表的
元素交叉歸并2.(20)4空x5將樹序列化轉(zhuǎn)存在數(shù)組或鏈表中!
1,計算a%?2(運(yùn)算符優(yōu)先級問題)
2依據(jù)先序中序求后序
3a[3][4]哪個不能表示a[l][1]:*([0][0])*(*(1)+1)*([1]+1)
*([0][0]+4)
4(i...)(j...)0;(j)會出現(xiàn)什么問題
5(0<10);的運(yùn)行結(jié)果
610個數(shù)依次插入查找二叉樹,元素62的比較次數(shù)
710個數(shù)放入模10鏈表,最大長度是多少
8((12),(345))有幾個實參
9希爾冒泡快速插入哪個平均速度最快
10二分查找是依次存儲鏈存儲按有序中的哪些
11依次查找的平均時間
12**[100](p)各為多少
13常見的插入刪除操作運(yùn)用什么結(jié)構(gòu)比較合適,鏈表還是數(shù)組
14的聲明方式151-20的兩個數(shù)把和告知A,積告知B,A說不
知道是多少,B也說不知道,這時A說我知道了,B接著說我也知道了,
問這兩個數(shù)是多少
大題:
1把字符串轉(zhuǎn)換為小寫,不成功返回,成功返回新串
*(*)
{*;
(1)
{j;
=0;
=⑵;
(*);
[]二'\0';
(3)[]=(□);
}
;)
2把字符串轉(zhuǎn)換為整數(shù)例如:〃-123〃->-123
0
{........(*')n=1;
n=0;........}
(*)
{(;!(*0);
){k;
k=2;
J=;
(3)k=k*10;
=+k;}
;}
附加題:1下調(diào)試的叮囑,察看堆棧狀態(tài)叮囑
2寫出套接字服務(wù)端客戶端通訊程序
3填空補(bǔ)全程序,依據(jù)我的理解是添入:32調(diào)入的函數(shù)名查找
函數(shù)入口的函數(shù)名找到函數(shù)的調(diào)用形式把加到的聲明將加到
的聲明4123有關(guān)系s()c()()問上課程〃〃的學(xué)生成果最高的學(xué)
生號每科大于90分的人數(shù)主要是、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)等方面的基
礎(chǔ)學(xué)問。好像有、樹等選擇題。填空題是補(bǔ)充完整程序。附加題有寫算
法的、編程的、數(shù)據(jù)庫語句查詢的。
還有一張開放性問題。
請定義一個宏,比較兩個數(shù)a、b的大小,不能運(yùn)用大于、小于、語
句()()
如何輸出源文件的標(biāo)題和目前執(zhí)行行的行數(shù)
*
?〃<<()<<〃〃〈<<<;
兩個數(shù)相乘,小數(shù)點后位數(shù)沒有限制,請寫一個高精度算法寫一
個病毒
(1){*p=[10000000];}
不運(yùn)用額外空間,將兩鏈表的元素交叉歸并將樹序列化轉(zhuǎn)存在
數(shù)組或鏈表中{i;s;C;};
();
8*pl;
*p2;
p3;
p4[10];
(P14)=?4,4,4,10二分查找快速排序雙向鏈表的刪除結(jié)點
給一個奇數(shù)階N幻方,填入數(shù)字1,2,3*N,使得橫豎斜方向上的
和都相同
答案:<>
<>
<>;
0
{n;
?n;
i;
***[n]動態(tài)支配二維數(shù)組
(0<)
[i][n]動態(tài)支配二維數(shù)組2代表首行中間數(shù)作為起點,即1所
在位置21初始值0;(*1){往右上角延升,若超出貝!用%轉(zhuǎn)移到左下角
[()][()];斜行的長度和n是相等的,超出則轉(zhuǎn)至下一斜行(0);
{;;};}(0<){(0<)?(()10(n*n)+4)?[i][j]格式限制??
格式限制}(0<)[][i];1;}
騰訊的一道面試題:1與百度相像,惋惜昨天百度死在這方面了)
在一個文件中有10G個整數(shù),亂序排列,要求找出中位數(shù)。內(nèi)存
限制為2G。只寫出思路即可。答案:1,把整數(shù)分成256M段,每段
可以用64位整數(shù)保存該段數(shù)據(jù)個數(shù),256M*8=2G內(nèi)存,先清0
2,讀10G整數(shù),把整數(shù)映射到256M段中,增加相應(yīng)段的記數(shù)
3,掃描256M段的記數(shù),找到中位數(shù)的段和中位數(shù)的段前面全部段
的記數(shù),可以把其他段的內(nèi)存釋放
4,因中位數(shù)段的可能整數(shù)取值已經(jīng)比較小(假如是32整數(shù),當(dāng)然
假如是64整數(shù)的話,可以再次分段),對每個整數(shù)做一個記數(shù),再讀一
次10G整數(shù),只讀取中位數(shù)段對應(yīng)的整數(shù),并設(shè)置記數(shù)。
5,對新的記數(shù)掃描一次,即可找到中位數(shù)。假如是32整數(shù),讀10G
整數(shù)2次,掃描256M記數(shù)一次,后一次記數(shù)因數(shù)量很小,可以忽視不
記(設(shè)是32整數(shù),按無符號整數(shù)處理整數(shù)分成256M段?整數(shù)范圍是
0-2-32-1一共有4G種取值,4256M=16,每16個數(shù)算一段0-15
是1段,16-31是一段,..?整數(shù)映射到256M段中?假如整數(shù)是
0-15,則增加第一段記數(shù),假如整數(shù)是16-31,則增加其次段記數(shù),...
其實可以不用分256M段,可以分的段數(shù)少一寫,這樣在掃描記數(shù)段時會
快一些,還能節(jié)約一些內(nèi)存)
騰訊題二:一個文件中有40億個整數(shù),每個整數(shù)為四個字節(jié),內(nèi)
存為1,寫出一個算法:求出這個文件里的整數(shù)里不包含的一個整數(shù)
答:方法一:4個字節(jié)表示的整數(shù),總共只有2-32約等于4G個
可能。為了簡潔起見,可以假設(shè)都是無符號整數(shù)。支配500內(nèi)存,每
一代表一個整數(shù),剛好可以表示完4個字節(jié)的整數(shù),初始值為0o基
本思想每讀入一個數(shù),就把它對應(yīng)的位置為1,處理完40G個數(shù)后,
對500M的內(nèi)存遍歷,找出一個為0的位,輸出對應(yīng)的整數(shù)就是未出
現(xiàn)的。算法流程:
1)支配500MB內(nèi)存,初始化為0
2)0x1;
jx<<j;
(3)(0;i<=0;)(!(&x<<i)){(i);;}以上只是針
對無符號的,有符號的整數(shù)可以依此類推。
方法二:文件可以分段讀啊,這個是0(2n)算法,應(yīng)當(dāng)是很快的
了,而且空間也允許的。不過還可以構(gòu)造更快的方法的,更快的方法主
要是針對定位輸出的整數(shù)優(yōu)化算法。思路或許是這樣的,把值空間等分
成若干個值段,比如值為無符號數(shù),則0001..........0000F0000000……
000這樣可以訂立一個規(guī)則,在一個值段范圍內(nèi)的數(shù)第一次出現(xiàn)時,對應(yīng)
值段指示值1,假如該值段的全部整數(shù)都出現(xiàn)過,則1000H,這樣后面
輸出定位時就可以干脆跳過這個值段了,因為題目僅僅要求輸出一個,
這樣可以大大削減后面對標(biāo)記數(shù)值的遍歷步驟。理論上值段的劃分有確
定的算法可以快速的實現(xiàn),比如利用位運(yùn)算干脆定位值段對應(yīng)值進(jìn)行計
算。騰訊面試題:有1到10w這10w個數(shù),去除2個并打亂次序,
如何找出那兩個數(shù)。(不準(zhǔn)用位圖?。。┪粓D解決:位度的方法如下假設(shè)
待處理數(shù)組為A[102]定義一個數(shù)組這里假設(shè)B中每個元素占
用1比特,并初始化為全0(0<102){B[A[i]]=1}那么B中不為
零的元素即為缺少的數(shù)據(jù)這種方法的效率特殊高,是計算機(jī)中最常用的
算法之一其它方法:求和以與平方和可以得到結(jié)果,不過可能求平方和
運(yùn)算量比較大(用64位不會溢出)騰訊面試題:騰訊服務(wù)器每秒有
2w個號同時上線,找出5內(nèi)重新登入的號并打印出來。解答:其
次題假如空間足夠大,可以定義一個大的數(shù)組a[號],初始為零,然后這
個號登陸了就a[號]最終統(tǒng)計大于等于2的號這個用空間來代
替時間其次個題目,有不成熟的想法。2wx300s所以用6,000,000個
桶。刪除超時的算法后面說,所以平均桶的大小是1。假設(shè)號碼一
共有1010個,所以每個桶裝的q號碼是1010/(6*10^6)個,
這個是插入時候的最壞效率(插入同一個桶的時候是依次查找插入位置
的)。的節(jié)點結(jié)構(gòu)和上面大家探討的基本一樣,增加一個指針指向輸出
列表,后面說。
*;
*;
*;用于節(jié)點的時候,順便更新一下輸出列表,}
另外增加兩個指針列表。第一個大小300的循環(huán)鏈表,自帶一
個指向的域,循環(huán)存300秒內(nèi)的指針。時間一過就掉,所以
保證全部桶占用的空間在2wX300以內(nèi)。其次個是輸出列表,就是
存放題目須耍輸出的節(jié)點。假如登陸的用戶,5分鐘內(nèi)完全沒有重復(fù)的
話,每秒掉2w個節(jié)點。不過在的時候,要推斷一下時間是不是真
的超時,因為把節(jié)點入桶的時候,遇到重復(fù)的,會更新一下最終登陸的
時間。當(dāng)然啦,這個時候,要把這個號碼放到須要輸出的列表里面
1、局部變量能否和全局變量重名?
答:能,局部會屏蔽全局。要用全局變量,須要運(yùn)用〃::〃局部變量
可以與全局變量同名,在函數(shù)內(nèi)引用這個變量時,會用到同名的局部變
量,而不會用到全局變量。對于有些編譯器而言,在同一個函數(shù)內(nèi)可以定
義多個同名的局部變量,比如在兩個循環(huán)體內(nèi)都定義一個同名的局部變
量,而那個局部變量的作用域就在那個循環(huán)體內(nèi)。2、如何引用一個已
經(jīng)定義過的全局變量?答:可以用引用頭文件的方式,也可以用關(guān)鍵
字,假如用引用頭文件方式來引用某個在頭文件中聲明的全局變理,假
定你將那個變寫錯了,那么在編譯期間會報錯,假如你用方式引用時,
假定你犯了同樣的錯誤,那么在編譯期間不會報錯,而在連接期間報錯。
3、全局變量可不行以定義在可被多個文件包含的頭文件中?為什么?
答:可以,在不同的C文件中以形式來聲明同名全局變量。可以在不
同的C文件中聲明同名的全局變量,前提是其中只能有一個C文件中
對此變量賦初值,此時連接不會出錯4、語句(;1;)有什么問題?它
是什么意思?答:和(1)相同。5、和有什么區(qū)分?答:
前一個循環(huán)一遍再推斷,后一個推斷以后再循環(huán)6、請寫出下列代碼的輸
出內(nèi)容?(){;10;;;10*;(〃b,c,d:,,b,c,d);0;)答:
10,12,1207、全局變量與一般的全局變量有什么區(qū)分?局部變量和
一般局部變量有什么區(qū)分?函數(shù)與一般函數(shù)有什么區(qū)分?全局變量
(外部變量)的說明之前再冠以就構(gòu)成了靜態(tài)的全局變量。全局變量本
身就是靜態(tài)存儲方式,靜態(tài)全局變量當(dāng)然也是靜態(tài)存儲方式。這兩者在
存儲方式上并無不同。這兩者的區(qū)分雖在于非靜態(tài)全局變量的作用域是
整個源程序,當(dāng)一個源程序由多個源文件組成時,非靜態(tài)的全局變量在
各個源文件中都是有效的。而靜態(tài)全局變量則限制了其作用域,即只
在定義該變量的源文件內(nèi)有效,在同一源程序的其它源文件中不能運(yùn)用
它。由于靜態(tài)全局變量的作用域局限于一個源文件內(nèi),只能為該源文件
內(nèi)的函數(shù)公用,因此可以避開在其它源文件中引起錯誤。從以上分析
可以看出,把局部變量變更為靜態(tài)變量后是變更了它的存儲方式即變更
了它的生存期。把全局變量變更為靜態(tài)變量后是變更了它的作用域,限
制了它的運(yùn)用范圍。函數(shù)與一般函數(shù)作用域不同。僅在本文件。只在當(dāng)
前源文件中運(yùn)用的函數(shù)應(yīng)當(dāng)說明為內(nèi)部函數(shù)(),內(nèi)部函數(shù)應(yīng)當(dāng)在當(dāng)前源
文件中說明和定義。對于可在當(dāng)前源文件以外運(yùn)用的函數(shù),應(yīng)當(dāng)在一個
頭文件中說明,耍運(yùn)用這些函數(shù)的源文件要包含這個頭文件全局變量
與一般的全局變量有什么區(qū)分:全局變量只初使化一次,防止在其他
文件單元中被引用;局部變量和一般局部變量有什么區(qū)分:局部變量
只被初始化一次,下一次依據(jù)上一次結(jié)果值;函數(shù)與一般函數(shù)有什么
區(qū)分:函數(shù)在內(nèi)存中只有一份,一般函數(shù)在每個被調(diào)用中維持一份拷貝
8、程序的局部變量存在于(棧)中,全局變量存在于(靜態(tài)區(qū))中,動
態(tài)申請數(shù)據(jù)存在于(堆)中。9、設(shè)有以下說明和定義:{i;k[5];
c;);{;;;};;貝I語句(〃〃()());的執(zhí)行結(jié)果是:52答:
是一個,變量公用空間.里面最大的變量類型是[5],占用20個字
節(jié).所以它的大小是20是一個,每個變量分開占用空間.依次為4+
20+8=32.所以結(jié)果是20+32=52.當(dāng)然.??在某些16位編輯器
下,可能是2字節(jié),那么結(jié)果是2+10+8=2010、隊列和棧有什么
區(qū)分?隊列先進(jìn)先出,棧后進(jìn)先出11、寫出下列代碼的輸出內(nèi)容?(a)
{0;}(***c){(**a**b);}(1)();(2)(***);(21,*2){;
(1);(1,2);(〃\n〃,*2);}(){a;(,10);0;}答:11012、請找
出下面代碼中的所以錯誤說明:以下代碼是把一個字符串倒序,如“”
倒序后變?yōu)?、〃〃2、()3、{4、*〃〃;5、*;6、();7、(*)();
8、*;9、*口;10、⑼11、;12、(〃〃);13、0;14、}答:
方法1:(){*二〃〃;=();*=(*)(1)要為\0支配一個空間*
d=;*s=⑴指向最終一個字符(0)**;*d=0尾部要加\0(〃\n〃);
0運(yùn)用完,應(yīng)當(dāng)釋放空間,以免造成內(nèi)存匯泄露0;}方法2:<><>
0{□=〃〃;0;t;(0;i<2;){[i];[i][l];[1];}O;0;}
11,2,7,28,,126請問28和126中間那個數(shù)是什么?為什么?第一題
的答案應(yīng)當(dāng)是43-1=63規(guī)律是if3-1(當(dāng)n為偶數(shù)0,2,4)rf3+l(當(dāng)n
為奇數(shù)1,3,5)答案:632,用兩個棧實現(xiàn)一個隊列的功能?要求給出
算法和思路!設(shè)2個棧為,一起先均為空.入隊:將新元素入棧A;
出隊:(1)推斷棧B是否為空;(2)假如不為空,則將棧A中全部元素
依次出并到棧B;(3)將棧B的棧頂元素出;這樣實現(xiàn)的隊列入
隊和出隊的平攤困難度都還是0(1),比上面的幾種方法要好。3.在c
語言庫函數(shù)中將一個字符轉(zhuǎn)換成整型的函數(shù)是()嗎,這個函數(shù)的原型是
什么?函數(shù)名:功能:把字符串轉(zhuǎn)換成長整型數(shù)用法:(*);程
序例:<><>(){1;*="98765432〃;1=();(〃==\n〃,,
1);(0);}13,對于一個頻繁運(yùn)用的短小函數(shù),在C語言中應(yīng)用什么實現(xiàn),
在中應(yīng)用什么實現(xiàn)?c用宏定義,用17,軟件測試都有那些種類?黑
盒:針對系統(tǒng)功能的測試白合:測試函數(shù)功能,各函數(shù)接口18.確定模
塊的功能和模塊的接口是在軟件設(shè)計的那個隊段完成的?概要設(shè)計階段
19.{xl,x2,x3=10,x4,x5,}x;問0x801005,0x8010f4;20.
*pl;*p2;pl=(*)0x801000;p2=(*)0x810000;請問pl+5=;
p2+5=;
25.請問下面程序有什么錯誤?
a[60][250][1000];
(0<=1000)
(0<250)
(0<60)
a[i][j][k]=0;把循環(huán)語句內(nèi)外換一下
26.500
(*)
(0<)
{......;}死循環(huán)
27.以下是求一個數(shù)的平方的程序,請找出錯誤:
(a)((a)*(a))
5;b;();28.(;*){*;(*)();.....(?
{;}......}
C語言面試題大匯總之華為面試題整理1、局部變量能否和全局變
量重名?答:能,局部會屏蔽全局。要用全局變量,須要運(yùn)用〃::〃;局
部變量可以與全局變量同名,在函數(shù)內(nèi)引用這個變量時,會用到同名的
局部變量,而不會用到全局變量。對于有些編譯器而言,在同一個函數(shù)內(nèi)
可以定義多個同名的局部變量,比如在兩個循環(huán)體內(nèi)都定義一個同名的
局部變量,而那個局部變量的作用域就在那個循環(huán)體內(nèi)。
2、如何引用一個己經(jīng)定義過的全局變量?答:可以用引用頭文件
的方式,也可以用關(guān)鍵字,假如用引用頭文件方式來引用某個在頭文
件中聲明的全局變理,假定你將那個編寫錯了,那么在編譯期間會報錯,
假如你用方式引用時,假定你犯了同樣的錯誤,那么在編譯期間不會
報錯,而在連接期間報錯。
3、全局變量可不行以定義在可被多個文件包含的頭文件中?為什
么?答:可以,在不同的C文件中以形式來聲明同名全局變量。
4、請寫出下列代碼的輸出內(nèi)容<>(){;10;;;10*;Cb,c,
d:,,〃,b,c,d);0;)答:10,12,120
5、全局變量與一般的全局變量有什么區(qū)分?局部變量和一般局部
變量有什么區(qū)分?函數(shù)與一般函數(shù)有什么區(qū)分?答:1)全局變量(外
部變量)的說明之前再冠以就構(gòu)成了靜態(tài)的全局變量。全局變量本身就
是靜態(tài)存儲方式,靜態(tài)全局變量當(dāng)然也是靜態(tài)存儲方式。這兩者在存
儲方式上并無不同。這兩者的區(qū)分在于非靜態(tài)全局變量的作用域是整個
源程序,當(dāng)一個源程序由多個源文件組成時,非靜態(tài)的全局變量在各個
源文件中都是有效的。而靜態(tài)全局變量則限制了其作用域,即只在定
義該變量的源文件內(nèi)有效,在同一源程序的其它源文件中不能運(yùn)用它。
由于靜態(tài)全局變量的作用域局限于一個源文件內(nèi),只能為該源文件內(nèi)的函
數(shù)公用,因此可以避開在其它源文件中引起錯誤。2)從以上分析可以
看出,把局部變量變更為靜態(tài)變量后是變更了它的存儲方式即變更了它
的生存期。把全局變量變更為靜態(tài)變量后是變更了它的作用域,限制了
它的運(yùn)用范圍。3)函數(shù)與一般函數(shù)作用域不同,僅在本文件。只在當(dāng)前
源文件中運(yùn)用的函數(shù)應(yīng)當(dāng)說明為內(nèi)部函數(shù)(),內(nèi)可以在不同的C文件中
聲明同名的全局變量,前提是其中只能有一個C文件中對此變量賦初
值,此時連接不會出錯.部函數(shù)應(yīng)當(dāng)在當(dāng)前源文件中說明和定義。對于可
在當(dāng)前源文件以外運(yùn)用的函數(shù),應(yīng)當(dāng)在一個頭文件中說明,要運(yùn)用這些
函數(shù)的源文件要包含這個頭文件綜上所述:全局變量與一?般的全局變
量有什么區(qū)分:全局變量只初使化一次,防止在其他文件單元中被引用;
局部變量和一般局部變量有什么區(qū)分:局部變量只被初始化一次,下一
次依據(jù)上一次結(jié)果值;函數(shù)與一般函數(shù)有什么區(qū)分:函數(shù)在內(nèi)存中只
有一份,一般函數(shù)在每個被調(diào)用中維持一份拷貝
6、程序的局部變量存在于(棧)中,全局變量存在于(靜態(tài)區(qū))中,
動態(tài)申請數(shù)據(jù)存在于(堆)中。
7、設(shè)有以下說明和定義:
{i;k[5];c;};
{;;;};
;則語句(〃〃()());的執(zhí)行結(jié)果是:52考點:區(qū)分與.(一般假
定在32位機(jī)器上)答:是一個,變量公用空間.里面最大的變量類型
是[5],占用20個字節(jié).所以它的大小是20.是一個,每個變量
分開占用空間.依次為4+20+8=32.所以結(jié)果是20+32=52.當(dāng)
然...在某些16位編輯器下,可能是2字節(jié),那么結(jié)果是2+10+8=
20
8、隊列和棧有什么區(qū)分?隊列先進(jìn)先出,棧后進(jìn)先出
9、寫出下列代碼的輸出內(nèi)容
<>(a)
{0;}
(***c)((**a**b);}
(1)();(2)(***);
(21,*2)
{1;(1);(1,2);
(〃〃,*2);}
0{a;局部變量a為0;(,10);0;}
答:110
10、請找出下面代碼中的全部錯誤(題目不錯,值得一看)說明:以
下代碼是把一個字符串倒序,如“”倒序后變?yōu)?/p>
0{
*〃〃;
*;
0;
(*)();
(0);
(〃〃);0;)
答:方法1:一共有4個錯誤;(){*二〃〃;=();*=(*)(1)
要為支配一個空間*s=[1];(0)**;*d=0;();=;0;尾
部要加''0'運(yùn)用完,應(yīng)當(dāng)釋放空間,以免造成內(nèi)存匯泄露防止產(chǎn)生
野指針(〃〃);指向最終一個字符*d=;}方法2:(方法一須要額外
的存儲空間,效率不高.)不錯的想法<><>(){口=〃〃;0;t;
(0;i<2;){[i];當(dāng)心一點[1];}(〃〃);0;}
11.對于一個頻繁運(yùn)用的短小函數(shù),在C語言中應(yīng)用什么實現(xiàn),在中
應(yīng)用什么實現(xiàn)?c用宏定義,用
12.干脆鏈接兩個信令點的一組鏈路稱作什么?點到點連接
13.接入網(wǎng)用的是什么接口?V5接口
14都用了那些協(xié)議?H.323協(xié)議簇、協(xié)議、協(xié)議、H.248和協(xié)
議
15.軟件測試都有那些種類?黑盒:針對系統(tǒng)功能的測試白盒:測試
函數(shù)功能,各函數(shù)接口
16.確定模塊的功能和模塊的接口是在軟件設(shè)計的那個隊段完成的?
概要設(shè)計階段
17.*pl;*p2;pl=(*)0x801000;p2=(*)0x810000;請問
pl+5=;p2+5=;
答案:0x801005(相當(dāng)于加上5位)0x810014(相當(dāng)于加上20位);
選擇題:21鏈接到用到以下那個協(xié)議?D22.屬于網(wǎng)絡(luò)層協(xié)議的
是:(BC).2523消息調(diào)度機(jī)制是:(C)A.指令隊歹ij.指令堆棧.消息隊列.
消息堆棧;找錯題:25.請問下面程序有什么錯誤?a[60][250][1000];
(0){)問答題:29的原理是什么?電話(又稱或)是建立在技
術(shù)上的分組化、數(shù)字化傳輸技術(shù),其基本原理是:通過語音壓縮算法對語
音數(shù)據(jù)進(jìn)行壓縮編碼處理,然后把這些語音數(shù)據(jù)按等相關(guān)協(xié)議進(jìn)行打包,
經(jīng)過網(wǎng)絡(luò)把數(shù)據(jù)包傳輸?shù)浇邮盏?再把這些語音數(shù)據(jù)包串起來,經(jīng)過解
碼解壓處理后,復(fù)原成原來的語音信號,從而達(dá)到由網(wǎng)絡(luò)傳送語音的目
的。30通信建立的過程怎樣,端口有什么作用?三次握手,確定是哪
個應(yīng)用程序運(yùn)用該協(xié)議31.1號信令和7號信令有什么區(qū)分,我國某前
廣泛運(yùn)用的是那一種?1號信令接續(xù)慢,但是穩(wěn)定,牢靠。7號信令的
特點是:信令速度快,具有供應(yīng)大量信令的潛力,具有變更和增加信令的
靈敏性,便于開放新業(yè)務(wù),在通話時可以隨意處理信令,成本低。目前
得到廣泛應(yīng)用。32.列舉5種以上的電話新業(yè)務(wù)如“闈鐘服務(wù)”、“免
干擾服務(wù)”、“熱線服務(wù)”、“轉(zhuǎn)移呼叫”、“遇忙回叫”、“缺席用戶
服務(wù)”、“追查惡意呼叫”、“三方通話”、“會議電話”、“呼出限
制”、“來電顯示”、“虛擬網(wǎng)電話”等;......}答:死循環(huán)找
錯題:四.找錯題找錯題L請問下面程序有什么錯誤?
a[60][250][1000];(0<=1000)(0<250)(0<60)a[i][j][k]=0;答:把
循環(huán)語句內(nèi)外換一下2500(*){;.....(0<){.....;}答:
死循環(huán)的取值范圍是0~2553.以下是求一個數(shù)的平方的程序,請找出錯
誤:(a)((a)*(a))5;b;();答:結(jié)果與編譯器相關(guān),得到的可能不是
平方值.微軟亞洲技術(shù)中心的面試題?。。?/p>
1.進(jìn)程和線程的差別,答:線程是指進(jìn)程內(nèi)的一個執(zhí)行單元,也是進(jìn)
程內(nèi)的可調(diào)度實體.與進(jìn)程的區(qū)分:(D調(diào)度:線程作為調(diào)度和支配的基
本單位,進(jìn)程作為擁有資源的基本單位(2)并發(fā)性:不僅進(jìn)程之間可以并
發(fā)執(zhí)行,同一個進(jìn)程的多個線程之間也可并發(fā)執(zhí)行(3)擁有資源:進(jìn)程是
擁有資源的一個獨(dú)立單位,線程不擁有系統(tǒng)資源,但可以訪問隸屬于進(jìn)程
的資源.(4)系統(tǒng)開銷:在創(chuàng)建或撤消進(jìn)程時,由于系統(tǒng)都要為之支配和
回收資源,導(dǎo)致系統(tǒng)的開銷明顯大于創(chuàng)建或撤消線程時的開銷。
2.測試方法答:人工測試:個人復(fù)查、抽查和會審機(jī)器測試:黑盒
測試和白盒測試3.與的差別。
答是堆,是棧。的空間由操作系統(tǒng)自動支配/釋放,上的空間手
動支配/釋放??臻g有限,是很大的自由存儲區(qū)C中的函數(shù)支配的
內(nèi)存空間即在堆上中對應(yīng)的是操作符。程序在編譯期對變量和函數(shù)支
配內(nèi)存都在棧上進(jìn)行,且程序運(yùn)行過程中函數(shù)調(diào)用時參數(shù)的傳遞也在棧上
進(jìn)行4.下的內(nèi)存是如何管理的?分頁管理8.談?wù)?2下的分頁機(jī)
制小頁(4K)兩級分頁模式,大頁(4M)一級9.給兩個變量,如何找出一
個帶環(huán)單鏈表中是什么地方出現(xiàn)環(huán)的?一個遞增一,一個遞增二,他們
指向同一個接點時就是環(huán)出現(xiàn)的地方10.在32中一共有多少種方法從
用戶態(tài)跳到內(nèi)核態(tài)?通過調(diào)用門,從3到0,中斷從3到0,進(jìn)入86
等等11.假如只想讓程序有一個實例運(yùn)行,不能運(yùn)行兩個。像一樣,
只能開一個窗口,怎樣實現(xiàn)?用內(nèi)存映射或全局原子(互斥變量)、查找
窗口句柄,互斥,寫標(biāo)記到文件或注冊表,共享內(nèi)存。.12.如何截取
鍵盤的響應(yīng),讓全部的‘a(chǎn)‘變成'b'?答:鍵盤鉤子14.存儲過程是什
么?有什么用?有什么優(yōu)點?答:我的理解就是一堆的集合,可以建立
特殊困難的查詢,編譯運(yùn)行,所以運(yùn)行一次后,以后再運(yùn)行速度比單獨(dú)
執(zhí)行快許多15.有什么特點?什么時候用?答:可以獨(dú)立于任何特
定的類型編寫代碼,是泛型編程的基礎(chǔ).當(dāng)我們編寫的類和函數(shù)能夠多態(tài)
的用于跨越編譯時不相關(guān)的類型時,用.模板主要用于中的容器,算法,
迭代器等以與模板元編程,(的是實現(xiàn)在庫設(shè)計和嵌入式設(shè)計中的關(guān)鍵。
能實現(xiàn)抽象和效率的結(jié)合;同時還能有效地防止代碼膨脹)16.談?wù)?/p>
結(jié)構(gòu)的特點和優(yōu)點。答(分布式應(yīng)用結(jié)構(gòu),簡稱)是微軟創(chuàng)建新
一代高適應(yīng)性商業(yè)解決方案的框架,它使公司能夠充分地挖掘數(shù)字神經(jīng)系
統(tǒng)的優(yōu)點。是第一個將、客戶/服務(wù)器、和用于計算的模型結(jié)合并集
成在一起的為新一類分布式計算方案而設(shè)計的應(yīng)用軟件體系結(jié)構(gòu)17.
網(wǎng)絡(luò)編程中設(shè)計并發(fā)服務(wù)器,運(yùn)用多進(jìn)程與多線程,請問有什么區(qū)分?
答:1)進(jìn)程:子進(jìn)程是父進(jìn)程的復(fù)制品。子進(jìn)程獲得父進(jìn)程數(shù)據(jù)空間、堆
和棧的復(fù)制品。2)線程:相對與進(jìn)程而言,線程是一個更加接近與執(zhí)行
體的概念,它可以與同進(jìn)程的其他線程共享數(shù)據(jù),但擁有自己的??臻g,
擁有獨(dú)立的執(zhí)行序列。兩者都可以提高程序的并發(fā)度,提高程序運(yùn)行效
率和響應(yīng)時間。線程和進(jìn)程在運(yùn)用上各有優(yōu)缺點:線程執(zhí)行開銷小,但
不利于資源管理和愛惜;而進(jìn)程正相反。同時,線程適合于在機(jī)器上
運(yùn)行,而進(jìn)程則可以跨機(jī)器遷移。思科1.用宏定義寫出(x,y)答(x,
y)x=x+y;y=x-y;x=x-y;2.數(shù)組a[N],存放了1至1個
數(shù),其中某個數(shù)重復(fù)一次。寫一個函數(shù),找出被重復(fù)的數(shù)字.時間困難度必
需為。(N)函數(shù)原型:(a[]N)答(a[]N){=0;2;(0<){[i];}
2=(11)*2;(2);}3一語句實現(xiàn)x是否為2的若干次哥的推斷答:
方法1)i=512;??((i&(i-1))?:)?;位與為0,貝IJ
表示是2的若干次幕2)(x?l);未經(jīng)調(diào)試4(n)實現(xiàn)對x的進(jìn)
行轉(zhuǎn)換為起始轉(zhuǎn)化位為須要轉(zhuǎn)換的長度,假設(shè)起始點在右邊.如
ObOOOl000143轉(zhuǎn)換后ObOllO0001答(n)假定43{=0;
=1;(i=0;i<n;)循環(huán)的目的主要是{;位或=?1;}=
?p;x八二;x;}轉(zhuǎn)換后變?yōu)?110000/異或,將原來的位取反慧通:
慧通:1.什么是預(yù)編譯,何時須要預(yù)編譯:答:就是指程序執(zhí)行前的
一些預(yù)處理工作,主要指#表示的.何時須要預(yù)編譯?1)、總是運(yùn)用不經(jīng)
常改動的大型代碼體。2)、程序由多個模塊組成,全部模塊都運(yùn)用一組
標(biāo)準(zhǔn)的包含文件和相同的編譯選項。在這種狀況下,可以將全部包含文
件預(yù)編譯為一個預(yù)編譯頭。2.下述三個有什么區(qū)分?*p;*p
*P解答:*p;常量指針,p的值不行以修改*p;指向常量的指
針,指向的常量值不行以改*p;和*p3.說明下列輸出結(jié)果1口
二〃〃;2[]=〃〃;3[]=〃〃;4□二〃〃;*5=〃〃;*6=〃〃;*7
二〃〃;*8=〃〃;?(12)?;?(34)?;?(56)
?;?(78)?;結(jié)果是:0011解答:1234是數(shù)組變量,它
們有各自的內(nèi)存空間;而5678是指針,它們指向相同的常量區(qū)域。4.
以下代碼中的兩個用法有問題嗎?[C易](口)將中的小寫字
母轉(zhuǎn)換成大寫字母{(0;i<()([0]);)('a'<[i])[i]
(‘a(chǎn)'」A');}[]=〃〃;<<〃字符長度為:〃<<()([0D?;();
??;答:函數(shù)內(nèi)的有問題。依據(jù)語法,如用于數(shù)組,只能測出靜
態(tài)數(shù)組的大小,無法檢測動態(tài)分配的或外部數(shù)組大小。函數(shù)外的是一
個靜態(tài)定義的數(shù)組,因此其大小為6,函數(shù)內(nèi)的實際只是一個指向字
符串的指針,沒有任何額外的與數(shù)組相關(guān)的信息,因此作用于上只將其
當(dāng)指針看,一個指針為4個字節(jié),因此返回4O留意:數(shù)組名作為函數(shù)
參數(shù)時,退化為指針.數(shù)組名作為()參數(shù)時,數(shù)組名不退化,因為不是
函數(shù).4.一個32位的機(jī)器,該機(jī)器的指針是多少位指針是多少位只要
看地址總線的位數(shù)就行了。80386以后的機(jī)子都是32的數(shù)據(jù)總線。所以
指針的位數(shù)就是4個字節(jié)了。5.指出下面代碼的輸出,并說明為什么。
(不錯,對地址駕馭的深化挖潛)0{a[5]={l,2,3,4,5};*(*)(1);
(〃〃,*(1),*(1));}輸出:2,5*(1)就是a[l],*(1)就是a[4],執(zhí)行結(jié)
果是2,51不是首地址+1,系統(tǒng)會認(rèn)為加一個a數(shù)組的偏移,是偏移
了一個數(shù)組的大小(本例是5個)*(*)(1);則實際是&(a[5]),也
就是5緣由如下:是數(shù)組指針,其類型為而指針加1要依
據(jù)指針類型加上確定的值,不同類型的指針+1之后增加的大小不同a
是長度為5的數(shù)組指針,所以要加5*()所以實際是a[5]但是
與⑴類型是不一樣的(這點很重要)所以1只會減去(*)的地址是一
樣的,但意思不一樣,a是數(shù)組首地址,也就是a[0]的地址,是對象(數(shù)
組)首地址,1是數(shù)組下一元素的地址,即a[l]l是下一個對象的地址,
即a[5].6?請問以下代碼有什么問題:1).(){a;*;(,〃〃);0;
0;}答;沒有為支配內(nèi)存空間,將會發(fā)生異樣問題出在將一個字符串
復(fù)制進(jìn)一個字符變量指針?biāo)傅刂?。雖然可以正確輸出結(jié)果,但因為越界
進(jìn)行內(nèi)在讀寫而導(dǎo)致程序崩潰。的在庫函數(shù)中.程序的主要錯誤在于
越界進(jìn)行內(nèi)存讀寫導(dǎo)致程序崩潰2).*〃〃;(〃〃);s[0]='B';(〃〃);有
什么錯?答:〃〃是字符串常量。s是指針,指向這個字符串常量,所以
聲明s的時候就有問題。*〃〃;然后又因為是常量,所以對是s[0]的
賦值操作是不合法的。1、寫一個“標(biāo)準(zhǔn)”宏,這個宏輸入兩個參數(shù)并返
回較小的一個。答(X,Y)((X)>(Y)?(Y):(X))結(jié)尾沒有;2、嵌入式系
統(tǒng)中經(jīng)常要用到無限循環(huán),你怎么用C編寫死循環(huán)。答(1){}或者(;;)
前面那個較好3、關(guān)鍵字的作用是什么?答:1)定義靜態(tài)局部變量,作
用域從函數(shù)起先到結(jié)束.2)在模塊內(nèi)的函數(shù)只可被這一模塊內(nèi)的其它
函數(shù)調(diào)用,這個函數(shù)的運(yùn)用范圍被限制在聲明它的模塊內(nèi);3)在類中的
成員變量屬于整個類所擁有,對類的全部對象只有一份拷貝4、關(guān)鍵字
有什么含意?答:1)表示常量不行以修改的變量。2)可以修飾參數(shù),作
為輸入?yún)?shù).3)修飾函數(shù),防止以外的改動.4)修飾類的成員函數(shù),不變更
類中的數(shù)據(jù)成員.5、關(guān)鍵字有什么含意?并舉出三個不同的例子?答:
提示編譯器對象的值可能在編譯器未監(jiān)測到的狀況下變更。例子:硬件
時鐘;多線程中被多個任務(wù)共享的變量等6.(*s[10])()表示的是什么
啊(*s[10])()函數(shù)指針數(shù)組,每個指針指向一個()的函數(shù)。1.有
以下表達(dá)式:248;421*;**f;請問下列表達(dá)式哪些會被編
譯器禁止?為什么?答:*32;*43340x321f;*c這是個什么東東,禁止*d
說了是,禁止e二說了是禁止*f;禁止2.交換兩個變量的值,
不運(yùn)用第三個變量。即35,交換之后53;答:有兩種解法,一種用算術(shù)算
法,一種用八(異或)a=a+b;b=a-b;a=a-b;a=a"只能
對..b=a"b;a=ab;a*=b*=a;3和中的有什么不同?答:
c和中的主要區(qū)分是c中的不行以含有成員函數(shù),而中的可以。
中和的主要區(qū)分在于默認(rèn)的存取權(quán)限不同,默認(rèn)為,而默認(rèn)為.
400(*p){(*)(100);}(){*;();(p,〃〃);(〃〃);0;
0;}答:程序崩潰,中的不能返回動態(tài)內(nèi)存,()對操作很緊急5
[10];(,〃0123456789〃);產(chǎn)生什么結(jié)果?為什么?答;正常輸出,長度不
一樣,會造成非法的,覆蓋別的內(nèi)容.6.列舉幾種進(jìn)程的同步機(jī)制,并比
較其優(yōu)缺點。答:原子操作信號量機(jī)制自旋鎖管程,會合,分布式系
統(tǒng)7.進(jìn)程之間通信的途徑答共享存儲系統(tǒng)消息傳遞系統(tǒng)管道:以文
件系統(tǒng)為基礎(chǔ)面試經(jīng)典試題6|02一月,202311:41面試經(jīng)典試題:
-------即使你是個編程高手,你在面試前也應(yīng)當(dāng)要看看這套題,她或許
會給你帶來好運(yùn),否則你有可能后悔當(dāng)時為什么沒有看而跳樓自殺,這
樣我會很內(nèi)疚的。這套題看似簡潔,但你未必能得高分,即使你看不懂
也要把她背下來!歡迎轉(zhuǎn)載此文,轉(zhuǎn)載時請注明文章來源:文斯測試技
術(shù)探討中心1編程基礎(chǔ)1.1基本概念1.的理解:*,*,*的區(qū)分
問題幾乎是面試中每次都會有的題目。事實上這個概念誰都有只是三
種聲明方式特殊相像很簡潔記混。在他的里面給出過一個助記的
方法:把一個聲明從右向左讀。*;(*讀成)a*p;P
a;*p;同上因為里面沒有*的運(yùn)算符,所以只能屬于前面的
類型。2.c指針*p[n]指針數(shù)組,每個元素均為指向整型數(shù)據(jù)的指針。
(*p)[n]為指向一維數(shù)組的指針,這個一維數(shù)組有n個整型數(shù)據(jù)。*p()
函數(shù)帶回指針,指針指向返回的值。(*p)()為指向函數(shù)的指針。3.數(shù)
組越界問題(這個題目還是有點小險的)下面這個程序執(zhí)行后會有什么
錯誤或者效果:255(){A口;(0<)A[i];}解答:255,數(shù)組A的
下標(biāo)范圍為:01,這是其一,其二當(dāng)i循環(huán)到255時,循環(huán)內(nèi)執(zhí)行:
A[255]=255;這句本身沒有問題,但是返回(0<)語句時,由于的取值
范圍在(0..255)以后i又為0了.,無限循環(huán)下去.注:類型為一個字
節(jié),取值范圍是[T28,127],[0,255]4.和的根本區(qū)分?答〃〃
用來對一段內(nèi)存空間全部設(shè)置為某個字符,一般用在對定義的字符串進(jìn)
行初始化為’‘或'';例a[100](a,(a));用來做內(nèi)存拷貝,你可
以拿它拷貝任何數(shù)據(jù)類型的對象,可以指定拷貝的數(shù)據(jù)長度;例:
a[100][50];(b,a,(b));留意如用(a),會造成b的內(nèi)存地址溢出。就
只能拷貝字符串了,它遇到、。就結(jié)束拷貝;例:a[100][50]();如用(),
要留意a中的字符串長度(第一個''0'之前)是否超過50位,如超過,
則會造成b的內(nèi)存地址溢出。原型:*(**);{(()());*二;
((**)'\0');
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【初中地理】第四章世界的居民和文化單元測試2024-2025學(xué)年湘教版地理七年級上冊
- 康復(fù)醫(yī)療行業(yè):社會辦康復(fù)醫(yī)療50企業(yè)報告
- 防汛搶險應(yīng)急預(yù)案
- 儀器儀表制造企業(yè)的品牌形象建設(shè)與推廣考核試卷
- 托兒所服務(wù)的情緒管理培養(yǎng)考核試卷
- 通信工程招投標(biāo)操作指南圖
- 配件部質(zhì)量控制管理
- 網(wǎng)吧水電施工合同
- 旅游景區(qū)開發(fā)招標(biāo)文件樣本
- 手表租賃合同模板
- 醫(yī)院季度投訴分析報告模板
- 《心臟聽診》課件
- 農(nóng)業(yè)創(chuàng)新2024年全球農(nóng)業(yè)發(fā)展趨勢展望
- JJG(交通) 169-2020 動力觸探儀
- 《新疆大學(xué)版學(xué)術(shù)期刊目錄》(人文社科)
- 建造冷庫可行性報告
- 充電樁維保投標(biāo)方案
- 《教育均衡發(fā)展》課件
- 通過《西游記》中的神話故事了解中國傳統(tǒng)文化與民俗習(xí)慣
- 《門店選址策略》課件
- 私立民辦初中學(xué)校項目運(yùn)營方案
評論
0/150
提交評論