歡迎訪問拔筆兔范文大全網!

C語言開發工程師筆試題

天下 分享 時間: 加入收藏 我要投稿 點贊

C語言之所以命名為C,是因為C語言源自Ken Thompson發明的B語言,而B語言則源自BCPL語言。下面小編給大家分享C語言開發工程師筆試題的內容,希望能夠幫助大家,歡迎閱讀!

C語言開發工程師筆試題

1、改錯

如下程序能不能正確輸出,如果不能,讓他正確輸出hello字符串。

void New(char 星符號 p) { p = new char[5]; } void main { char星符號 p = NULL; New(p); strcpy(p, "hello"); printf("%s", p); }

2、排列算法

一個數組{3,4,5,6,3},請輸出這個數組的全排列,比如34563、43563、33456...。

#include

#include

template

void Print(T星符號 tArray, int iSize)

{

for(int i = 0; i < iSize; ++i)

{

std::cout << tArray[i] << ' ';

}

std::cout << std::endl;

}

template

void Permutation(T星符號 tArray, int iSize)

{

int星符號 iIndex = new int[iSize + 1];

for(int i = 0; i < iSize; ++i)

{

iIndex [i] = iSize - i;

}

Print(tArray, iSize);

for(int i = iSize - 1; i > 0; )

{

-- iIndex [i];

--i;

int j = iSize - 1;

do

{

if(tArray[j--] != tArray[i++])

{

std::swap(tArray[j--], tArray[i++]);

}

}while(j > i);

Print(tArray, iSize);

i = iSize - 1;

for(;iIndex [i] == 0; --i)

{

iIndex [i] = iSize - i;

}

}

delete iIndex;

}

int main

{

int a = {3,4,5,6,3};

Permutation(a,5);

}

C++開發工程師筆試題篇

1、數據結構

在二叉樹中找出和為某一輸入值的所有路徑。

#include

void getPath(struct treeNode星符號 node, int sum, vector& stack, int currentSum) { //stack用來存放路徑,sum為輸入值

} if (node == NULL) return; currentSum += node->id; stack.push_back(node->id); if (node->lchild != NULL) getPath(node->lchild, sum, stack, currentSum); if (node->rchild != NULL) getPath(node->rchild, sum, stack, currentSum); if (node->lchild == NULL && node->rchild == NULL) { if (currentSum == sum) { vector::iterator it = stack.begin; for (; it != stack.end; ++it) printf("%d ", 星符號it); printf("/n"); } } stack.pop_back;

2、編寫程序:如何獲得一個整數的二進制表達中有多少個1?

C++開發工程師筆試題篇

1、編寫程序:在O(n)時間復雜度內從數組array[0..n-1]中找出第k個最小的元素。 說明:算法可以對array中的元素進行排序。

2、綜合考察:

銀行有個存有n個用戶編號的文件,每個數都小于n,其中n=10的7次方。每個編號都不重復。

? 輸出:n個數升序排列。

? 約束條件:內存最多有2兆的空間,運行時間復雜度為O(n)。

c++數據結構算法面試筆試題篇

1請你分別劃劃OSI的七層網絡結構圖,和TCP/IP的五層結構圖?

2請你詳細的解釋一下IP協議的定義,在哪個層上面,主要有什么作用? TCP與UDP呢? UDP,TCP 在傳輸層,IP在網絡層, TCP/IP是英文Transmission Control Protocol/Internet Protocol的縮寫,意思是"傳輸控制協議/網際協議"。TCP/IP協議組之所以流行,部分原因是因為它可以用在各種各樣的信道和底層協議(例如 T1和X.25、以太網以及RS-232串行接口)之上。確切地說,TCP/IP協議是一組包括TCP協議和IP協議,UDP(User Datagram Protocol)協議、ICMP(Internet Control Message Protocol)協議和其他一些協議的協議組。TCP/IP協議并不完全符合OSI的七層參考模型。傳統的開放式系統互連參考模型,是一種通信協議的7 層抽象的參考模型,其中每一層執行某一特定任務。該模型的目的是使各種硬件在相同的層次上相互通信。這7層是:物理層、數據鏈路層、網路層、傳輸層、話路 層、表示層和應用層。而TCP/IP通訊協議采用了4層的層級結構,每一層都呼叫它的下一層所提供的網絡來完成自己的需求。這4層分別為:

應用層:應用程序間溝通的層,如簡單電子郵件傳輸(SMTP)、文件傳輸協議(FTP)、網絡遠程訪問協議(Telnet)等。

傳輸層:在此層中,它提供了節點間的數據傳送服務,如傳輸控制協議(TCP)、用戶數據報協議(UDP)等,TCP和UDP給數據包加入傳輸數據并把它傳輸到下一層中,這一層負責傳送數據,并且確定數據已被送達并接收。

互連網絡層:負責提供基本的數據封包傳送功能,讓每一塊數據包都能夠到達目的主機(但不檢查是否被正確接收),如網際協議(IP)。

網絡接口層:對實際的網絡媒體的管理,定義如何使用實際網絡(如Ethernet、Serial Line等)來傳送數據。

Q3:請問交換機和路由器分別的實現原理是什么?分別在哪個層次上面實現的?

一 般意義上說交換機是工作在數據鏈路層。但隨著科技的發展,現在有了三層交換機,三層交換機已經擴展到了網絡層。也就是說:它等于“數據鏈路層 + 部分網絡層”。交換機中傳的是幀。通過存儲轉發來實現的。路由器是工作在網絡層。路由器中傳的是IP數據報。主要是選址和路由。

Q4:請問C++的類和C里面的struct有什么區別?

結構是一種將數據集合成組的方法,類是一種同時將函數和數據都集合成組的方法。結構和類在表面上的唯一區別是:類中的成員在默認情況下是私有的,而結構中的成員在默認情況下是公用的。

class foo

{

private:

int data1;

public:

void func;

};

可以寫成:

class foo

{

int data1;

public:

void func;

};

因為在類中默認的是私有的,所以關鍵字private就可以不寫了。

如果想用結構完成這個類所作的相同的事,就可以免去關鍵字public,并將公有成員放置在私有成員之前:

struct foo

{

void func;

private:

int data1;

};

Q5:請講一講析構函數和虛函數的用法和作用?

在 JAVA里沒有象C++中的,所謂的析構函數 ,因為當一個對象不在使用的時候,它會自動被垃圾回收器回收,所以也就用不著析構函數了, 那個finalize 也只有在被垃圾回收器回收,才會被執行,而且很多時候,垃圾回收器并不一定執行,所以它不能當做C++中的,所謂的析構函數使用, 虛函數在JAVA里也是沒有的,比較象近的應該算是abstract。

Q6:全局變量和局部變量有什么區別?是怎么實現的?操作系統和編譯器是怎么知道的?

1)、全局變量的作用用這個程序塊,而局部變量作用于當前函數

2)、前者在內存中分配在全局數據區,后者分配在棧區

3)、生命周期不同:全局變量隨主程序創建和創建,隨主程序銷毀而銷毀,局部變量在局部函數內部,甚至局部循環體等內部存在,退出就不存在

4)、使用方式不同:通過聲明后全局變量程序的各個部分都可以用到,局部變量只能在局部使用

Q7:一些寄存器的題目,主要是尋址和內存管理等一些知識。

Q8:8086是多少位的系統?在數據總線上是怎么實現的?

8086微處理器初次發布時,這塊16位芯片僅包含29000個晶體管,運行速度為5MHz。而當今基于x86架構的奔騰4處理器,已經包含5500萬個晶體管,運行速度提高了600倍以上,高達3.06GHz。

8086是高性能的第三代微處理器,是Intel系列的16位微處理器,它是采用HMOS工藝制造的,內部包含約29,000個晶體管。

8086 有16根數據線和20根地址線,因為可用20位地址,所以可尋址的地址空間達220即1M字節。8086工作時,只要一個5V電源和一相時鐘,時鐘頻率為 5MHz。后來,Intel公司推出的8086-1型微處理器時鐘頻率高達10MHz,8086-2型微處理器時鐘頻率達8MHz。

1、局部變量能否和全局變量重名

答:能,局部會屏蔽全局。要用全局變量,需要使用"::"

局部變量可以與全局變量同名,在函數內引用這個變量時,會用到同名的局部變量,而不會用到全局變量。對于有些編譯器而言,在同一個函數內可以定義多個同名的局部變量,比如在兩個循環體內都定義一個同名的局部變量,而那個局部變量的作用域就在那個循環體內。

2、如何引用一個已經定義過的全局變量

答:extern

可以用引用頭文件的方式,也可以用extern關鍵字,如果用引用頭文件方式來引用某個在頭文件中聲明的全局變理,假定你將那個變寫錯了,那么在編譯期間會報錯,如果你用extern方式引用時,假定你犯了同樣的錯誤,那么在編譯期間不會報錯,而在連接期間報錯。

3、全局變量可不可以定義在可被多個.C文件包含的頭文件中 為什么

答:可以,在不同的C文件中以static形式來聲明同名全局變量。

可以在不同的C文件中聲明同名的全局變量,前提是其中只能有一個C文件中對此變量賦初值,此時連接不會出錯

c++數據結構算法面試筆試題篇

1、語句for( ;1 ;)有什么問題 它是什么意思

答:和while(1)相同。

2、do……while和while……do有什么區別

答:前一個循環一遍再判斷,后一個判斷以后再循環

3、請寫出下列代碼的輸出內容 以下是引用片段:

#include

main

{

int a,b,c,d;

a=10;

b=a++;

c=++a;

d=10星符號a++;

printf("b,c,d:%d,%d,%d",b,c,d);

return 0;

}

答:10,12,120

4、static全局變量與普通的全局變量有什么區別 static局部變量和普通局部變量有什么區別 static函數與普通函數有什么區別

全局變量(外部變量)的說明之前再冠以static 就構成了靜態的全局變量。全局變量本身就是靜態存儲方式, 靜態全局變量當然也是靜態存儲方式。 這兩者在存儲方式上并無不同。這兩者的區別雖在于非靜態全局變量的作用域是整個源程序, 當一個源程序由多個源文件組成時,非靜態的全局變量在各個源文件中都是有效的。 而靜態全局變量則限制了其作用域, 即只在定義該變量的源文件內有效, 在同一源程序的其它源文件中不能使用它。由于靜態全局變量的作用域局限于一個源文件內,只能為該源文件內的函數公用, 因此可以避免在其它源文件中引起錯誤。

從以上分析可以看出, 把局部變量改變為靜態變量后是改變了它的存儲方式即改變了它的生存期。把全局變量改變為靜態變量后是改變了它的作用域, 限制了它的使用范圍。 static函數與普通函數作用域不同。僅在本文件。只在當前源文件中使用的函數應該說明為內部函數(static),內部函數應該在當前源文件中說明和定義。對于可在當前源文件以外使用的函數,應該在一個頭文件中說明,要使用這些函數的源文件要包含這個頭文件

static全局變量與普通的全局變量有什么區別:static全局變量只初使化一次,防止在其他文件單元中被引用;

static局部變量和普通局部變量有什么區別:static局部變量只被初始化一次,下一次依據上一次結果值;

static函數與普通函數有什么區別:static函數在內存中只有一份,普通函數在每個被調用中維持一份拷貝

5、程序的局部變量存在于(堆棧)中,全局變量存在于(靜態區 )中,動態申請數據存在于( 堆)中。

c++數據結構算法面試筆試題篇

1、隊列和棧有什么區別

隊列先進先出,棧后進先出

2、寫出下列代碼的輸出內容 以下是引用片段:

#include

int inc(int a)

{

return(++a);

} int multi(int星符號a,int星符號b,int星符號c)

{

return(星符號c=星符號a星符號星符號b); } typedef int(FUNC1)(int in); typedef int(FUNC2) (int星符號,int星符號,int星符號); { INCp=&inc; int temp =p(arg1); fun(&temp,&arg1, arg2); void show(FUNC2 fun,int arg1, int星符號arg2)

printf("%d\n",星符號arg2);

}

main

{

int a;

show(multi,10,&a);

return 0;

}

答:110


C語言開發工程師筆試題相關文章:

★ 關于3分鐘自我介紹面試范文6篇

★ 優秀的五分鐘面試自我介紹

★ 2020求職面試自我介紹三分鐘【6篇】

★ 2021國考行測真題及答案解析整理

★ 嵌入式開發學習心得感想

★ 五分鐘面試求職的自我介紹范文

★ 3分鐘應聘面試自我介紹范文6篇

★ 公司企業內部人員培訓方案

★ 2019java畢業實習報告4篇

★ 技術支持面試自我介紹

電商運營 信息流廣告 網絡推廣 周易 易經 代理招生 二手車 網絡營銷 旅游攻略 非物質文化遺產 查字典 社區團購 精雕圖 戲曲下載 抖音代運營 易學網 互聯網資訊 成語 成語故事 詩詞 工商注冊 注冊公司 抖音帶貨 云南旅游網 網絡游戲 代理記賬 短視頻運營 在線題庫 國學網 知識產權 抖音運營 雕龍客 雕塑 奇石 散文 自學教程 常用文書 河北生活網 好書推薦 游戲攻略 心理測試 石家莊人才網 考研真題 漢語知識 心理咨詢 手游安卓版下載 興趣愛好 網絡知識 十大品牌排行榜 商標交易 單機游戲下載 短視頻代運營 寶寶起名 范文網 電商設計 免費發布信息 服裝服飾 律師咨詢 搜救犬 Chat GPT中文版 經典范文 優質范文 工作總結 二手車估價 實用范文 古詩詞 衡水人才網 石家莊點痣 養花 名酒回收 石家莊代理記賬 女士發型 搜搜作文 石家莊人才網 鋼琴入門指法教程 詞典 圍棋 chatGPT 讀后感 玄機派 企業服務 法律咨詢 chatGPT國內版 chatGPT官網 勵志名言 河北代理記賬公司 文玩 語料庫 游戲推薦 男士發型 高考作文 PS修圖 兒童文學 買車咨詢 工作計劃 禮品廠 舟舟培訓 IT教程 手機游戲推薦排行榜 暖通,電地暖, 女性健康 苗木供應 ps素材庫 短視頻培訓 優秀個人博客 包裝網 創業賺錢 養生 民間借貸律師 綠色軟件 安卓手機游戲 手機軟件下載 手機游戲下載 單機游戲大全 免費軟件下載 石家莊論壇 網賺 手游下載 游戲盒子 職業培訓 資格考試 成語大全 英語培訓 藝術培訓 少兒培訓 苗木網 雕塑網 好玩的手機游戲推薦 漢語詞典 中國機械網 美文欣賞 紅樓夢 道德經 標準件 電地暖 網站轉讓 鮮花 書包網 英語培訓機構
15909
領取福利

微信掃碼領取福利

微信掃碼分享

主站蜘蛛池模板: 91欧美在线视频| 亚洲jizzjizz在线播放久| xxxxx在线| 精品久久久久香蕉网| 快一点使劲c我在线观看| 午夜高清啪啪免费观看完整| 中文字幕在亚洲第一在线| 美女裸免费观看网站| 放荡女同老师和女同学生| 国产91无套剧情在线播放| 中文字幕日本最新乱码视频| 色135综合网| 精精国产XXXX视频在线播放| 无码专区一va亚洲v专区在线| 国产999视频| 一级做a爰毛片| 男女一边摸一边做爽爽| 夜夜未满18勿进的爽影院| 亚洲男人天堂2017| 337p欧美日本超大胆艺术裸| 欧美性生交xxxxx久久久| 国产福利永久在线视频无毒不卡| 亚洲AV之男人的天堂| 领导边摸边吃奶边做爽在线观看| 日本videos18高清hd下| 啊轻点灬大巴太粗太长视频| 一个人看的片免费高清大全| 狠狠色综合网站久久久久久久| 国自产拍91大神精品| 亚洲人成网亚洲欧洲无码| 高潮插的我好爽再干噢在线欢看| 无码国产色欲XXXXX视频| 全黄性性激高免费视频| 99久久香蕉国产线看观香| 欧美人成网站免费大全| 国产成人免费一区二区三区| 久久99久久99精品免视看动漫| 精品人妻大屁股白浆无码| 国语自产精品视频在线第| 亚洲va久久久噜噜噜久久狠狠| 韩国免费人成在线观看网站|