c、c++筆試題-面試題_第1頁
c、c++筆試題-面試題_第2頁
c、c++筆試題-面試題_第3頁
c、c++筆試題-面試題_第4頁
c、c++筆試題-面試題_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論