C語言面試題-這些簡單的你能很快的寫出來嗎?

在職場上,面試已經(jīng)成了我們經(jīng)常討論的一個(gè)話題,但是當(dāng)我們在求職面試的時(shí)候總是會遇到各種問題,在這里我就給大家講解一些C語言的面試題胎署!


面試題一:

???? 編寫一個(gè)函數(shù)將一個(gè)字符串倒置,即將“abc”變?yōu)椤癱ba”窑滞。

分析:

???? 這樣的問題顯然涉及到char型指針的運(yùn)算琼牧。

Exp:

??? void InvertStr(char *str)

??? {

?????? ? long int i=0;??? //估計(jì)這么長的字符串應(yīng)該夠用了恢筝,如果實(shí)在不行只能用float的數(shù)據(jù)來試驗(yàn)了。

??????? char *head;

??????? char *chTemp;

??????? if(NULL == str)

????????? {

?????????????? return ;

????????? }

????????? head=str;

????????? chTemp=str;

???????? while('\0' != *str)

???????????? {

????????????????? str++;

????????????????? i=i+1;

?????????????? }

????????? while(0 != i)

??????????? {

??????????????? str--;

??????????????? *chtemp=*str;

???????????????? i--;

??????????????? chTemp++;

???????????? }

????????? chTemp++;

???????? *chTemp='\0';

?????? ? str=head;

??? }

面試題二:

????? 請編寫一個(gè)?C?函數(shù)巨坊,該函數(shù)給出一個(gè)字節(jié)中被置?1?的位的個(gè)數(shù)撬槽,并請給出該題的至少一個(gè)不同解法。

分析:

???? 假設(shè)數(shù)是:0000_0001; 當(dāng)這個(gè)數(shù)被解釋為無符號數(shù)的時(shí)候趾撵,如果對2求模侄柔,那么得到的結(jié)果是多少呢?

很顯然得到的結(jié)果是1占调; 而如果是0000_0010,這個(gè)怎么樣呢暂题? 對2求模得到的是0; 但是如果我們往右進(jìn)行

移位的話究珊,那么結(jié)果是什么呢薪者?

Exp:

實(shí)現(xiàn)一:

???? unsigned short? CalSetBitNum(const unsigned char input)

???? {

????????? short ? i=0;

????????? short?? j;

????????? unsigned char chTemp剿涮;

???????? chTemp=input言津;

?????????? for(j=0 ;j<7;j++)

???????????? {

??????????????????? i=i+ chTemp % 2;

? ? ? ? ? ? ? ? ??? chTemp=chTemp>>1;?

????????????? }

??????????? return? i 取试;

??? ? }

實(shí)現(xiàn)二:可以利用按位與進(jìn)行判定

unsigned short? CalSetBitNum(const unsigned char input)

???? {

????????? short ? i=0;

????????? short?? j悬槽;

?????????? short iTemp=input;

?????????? for(j=0 ;j<7;j++)

???????????? {

? ? ? ? ? ? ? ? ??? if((iTemp= iTemp >>1) & (0x01) )

?????????????????????????????? i++;?

????????????? }

??????????? return? i 想括;

??? ? }

其實(shí)第二種方法可以更簡單陷谱,大家看看怎么個(gè)簡單法?

有的人可能會用第三種方法:進(jìn)行與0相與瑟蜈。我認(rèn)為這樣嚴(yán)格來說不能算第三種方法,我認(rèn)為那只是第二種方法的延伸而已渣窜。

面試題三:

????????? 請編寫一個(gè)?C?函數(shù)铺根,該函數(shù)將給定的一個(gè)字符串轉(zhuǎn)換成整數(shù)。

分析:

?????? 將字符串轉(zhuǎn)換成整數(shù)乔宿,那么我們需要進(jìn)行的工作是將字符串一個(gè)字符一個(gè)字符的剝離出來位迂,然后才能進(jìn)行數(shù)據(jù)的轉(zhuǎn)換,

這個(gè)其實(shí)也和scanf函數(shù)一樣详瑞,因?yàn)樵趕canf函數(shù)讀入的是文本流掂林,就是將讀入的字符都認(rèn)為是字符,即使輸入的是123坝橡,同樣也

需要進(jìn)行轉(zhuǎn)換泻帮。

Exp:

???? 我們姑且簡單的將字符串認(rèn)為會轉(zhuǎn)化為正整數(shù),負(fù)數(shù)的留給大家討論吧计寇。并且認(rèn)為如果輸入的字符串是“123”锣杂,那么輸出的應(yīng)該也是

123(int型)脂倦。

?????unsigned? int? StrToInt(const? char * source)

????? {

????????? unsigned int i;

????????? unsigned int j;

????????? char *pTemp;

??????? ? if(NULL==source)

? ? ? ? ? ? ? {

??????????????? return 0;

????????????? } ?

?????????? while('\0' != *pTemp)

???????????? {

????????????? j= *pTemp - 48;

????????????? i=j+i*10;

????????????? pTemp++;

????????????? }

????????? return i;

????? }

面試題四:

??????請編寫一個(gè)?C?函數(shù)元莫,該函數(shù)將給定的一個(gè)整數(shù)轉(zhuǎn)換成字符串赖阻。

分析:

????? 這個(gè)題目和上面的題目的問題剛好相反,因此可以借鑒上面題目的處理方法來進(jìn)行處理踱蠢。

????? void IntToStr(const int source火欧,char *target)

????? {

????????? int i;

????????? int j茎截;

????????? if(0==source)

????????????? *target=‘\0’;

????????? i=source布隔;

????????? do?

????????? {

????????????? j=i % 10;?

? ? ? ? ? ? ? *target=j+48;?

????????????? target++;

?????????? }while(0 != (i=i/10) )

??????? InvertStr(target);

????? }

??? 以后會不定期的對C的面試題進(jìn)行解讀,希望借此可以增加自己的見識稼虎,也能提高自己的C水平........

(在學(xué)習(xí)C/C++或者想要學(xué)習(xí)C/C++可以加我們的學(xué)習(xí)交流QQ群:712263501群內(nèi)有相關(guān)學(xué)習(xí)資料)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末衅檀,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子霎俩,更是在濱河造成了極大的恐慌哀军,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,744評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件打却,死亡現(xiàn)場離奇詭異杉适,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)柳击,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評論 3 392
  • 文/潘曉璐 我一進(jìn)店門猿推,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人捌肴,你說我怎么就攤上這事蹬叭。” “怎么了状知?”我有些...
    開封第一講書人閱讀 163,105評論 0 353
  • 文/不壞的土叔 我叫張陵秽五,是天一觀的道長。 經(jīng)常有香客問我饥悴,道長坦喘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,242評論 1 292
  • 正文 為了忘掉前任西设,我火速辦了婚禮瓣铣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贷揽。我一直安慰自己棠笑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評論 6 389
  • 文/花漫 我一把揭開白布擒滑。 她就那樣靜靜地躺著腐晾,像睡著了一般叉弦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上藻糖,一...
    開封第一講書人閱讀 51,215評論 1 299
  • 那天淹冰,我揣著相機(jī)與錄音,去河邊找鬼巨柒。 笑死樱拴,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的洋满。 我是一名探鬼主播晶乔,決...
    沈念sama閱讀 40,096評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼牺勾!你這毒婦竟也來了正罢?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,939評論 0 274
  • 序言:老撾萬榮一對情侶失蹤驻民,失蹤者是張志新(化名)和其女友劉穎翻具,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體回还,經(jīng)...
    沈念sama閱讀 45,354評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡裆泳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了柠硕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片工禾。...
    茶點(diǎn)故事閱讀 39,745評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蝗柔,靈堂內(nèi)的尸體忽然破棺而出闻葵,到底是詐尸還是另有隱情,我是刑警寧澤诫咱,帶...
    沈念sama閱讀 35,448評論 5 344
  • 正文 年R本政府宣布笙隙,位于F島的核電站,受9級特大地震影響坎缭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜签钩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評論 3 327
  • 文/蒙蒙 一掏呼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧铅檩,春花似錦憎夷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽祥得。三九已至,卻和暖如春蒋得,著一層夾襖步出監(jiān)牢的瞬間级及,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評論 1 269
  • 我被黑心中介騙來泰國打工额衙, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留饮焦,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,776評論 2 369
  • 正文 我出身青樓窍侧,卻偏偏與公主長得像县踢,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子伟件,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評論 2 354