當前位置:範範文>個人文件>實習報告>

C程式設計師實習日記

實習報告 閱讀(2.7W)

目錄

C程式設計師實習日記
第一篇:C程式設計師實習日記第二篇:C語言程式設計師之路第三篇:程式設計師日記1第四篇:程式設計師C方向技能描述技能描述第五篇:C、C++程式設計師應聘常見面試題更多相關範文

正文

第一篇:C程式設計師實習日記

實習日記1

第一次是來面試,當時感覺不怎麼好,面試的人問了一些問題有些沒回答上來,這並不奇怪,C#自己學習了2個月,然後就沒怎麼用,回答不上我覺得可以理解。沒想到還能第二次來到公司,由於對環境還比較陌生,所以今天大概熟悉了一點,成都這邊有50多個員工,屬於研發中心,主要從事無線微波得較大型的裝置的再加工,聽同事說以前在北京,但由於北京人力資源太貴所以來到成都,這聽起來怎麼像是在壓榨的感覺啊,沒關係,只是來實習而已。

對於今天的第一個小任務,要求:介面、資料壓入堆疊、簡單氣泡排序實現資料有序輸出、堆排序輸出。讓我快速地熟悉了C#,從介面到後臺都得到了加強,此外在實現過程中對用到的氣泡排序和堆排序有了更深的理解,並能用C#熟練的實現。

實習日記2

今天對昨天的例項進行了改進和提高,將堆排序和氣泡排序封裝在一個動態連結庫中,提供函式呼叫和事件委託。此外加入xml進行配置,在xml中存入相關配置資訊,提供一個單獨的xmlClass對其進行操作,加深了對xml的理解。為增加程式的效能,採用簡單工廠模式對其客戶端和演算法操作進行分離,有很好的可擴充套件性,對於C#的動態連結庫和xml配置不怎麼熟悉,花了很長一段時間看書和網上查資料,才開始動手寫程式碼,不過感覺還是很快,因為自己有程式設計的能力,可以說掌握了一種快速程式設計的方法,所以就能駕輕就熟。

實習日記3

今天採用抽象工廠模式對例項進行改進,以達到動態載入演算法例項,抽象工廠模式屬於設計模式中的內容,自己在學習視訊的時候注意到了,所以之前就買了本大話設計模式來學習,可以說了解了大部分設計模式。今天遇到後自己心裡也有底,溫故一下書就知道怎麼做 了,可以說這是我學習的方法。

針對以上,在dll中提供一個介面,兩個演算法都繼承了該介面,對於該dll的操作都通過介面isort進行,此外,修改工廠為抽象工廠,提供一個介面建立演算法,在演算法中返回isort例項,在主函式中使用該例項進行對應的排序演算法操作,充分顯示了抽象工廠的作用,本例子將反射和抽象工廠模式結合,增加了程式的可擴充套件性和可維護性。

實習日記4

由於自己程式設計能力還算可以吧,所以軟體組的老大就叫我加入開始做一些這次專案的東西,說了一句“我可是沒把你當實習生哦。”,這話一聽當時感覺還好,不過後來一想,我卻是吃虧了,他不把我當實習生但給我的卻是實習生工資,這點有點想不過去,不過沒關係,實習嘛就是學習,有基本工資也不錯了,關鍵的公司提供的條件那是在學校裡所得不到的:商業性的問題。

今天將上述例項的方法用到本次專案中,開始專案中的一些任務。仍然使用抽象工廠模式,將自定義窗體封裝到類庫中,將窗體的控制元件預留到外部進行實施定義;在xml檔案中配置窗體的實際引數,利用反射按從xml中讀出的引數動態載入窗體。將上述的例項方法運用到了實際專案中。

實習日記5

昨天的任務基本已完成,今天溫習了一下加深了對知識的理解,可以說掌握得比較牢固了,今天又有新的任務,可以說每天都在進步。

按組長要求編寫rankstyle=group時的窗體排列方式,在xml中配置控制元件或窗體的引數,利用xml讀介面從xml中讀出引數,為了使程式具有靈活性,在組長的提示下將窗體的配置按照窗體的name屬性進行配置,之前是利用欄位的方式寫在xml中,但是組長說這樣的話在程式中查詢不方便,可我覺得沒什麼啊,當然了,對於我這個沒有工作經驗的人來說看什麼都是可以的,所以要多學習學習。在formControl中利用雙層迴圈將控制元件容器中的控制元件按name與讀出的配置進行匹配,如果在xml中配置了該窗體,就設定該窗體的一些屬性。個人感覺實現了該功能吧,最後經過組長看了一下稽核基本通過。 要求:

根據group,從xml中讀取控制元件配置資訊,動態設定控制元件在主窗體中的顯示。

實習日記6

每天都有不同的要求,哎,果然和學校是不一樣啊,今天將dll中的控制元件更換成窗體,方法仍然採用反射+抽象工廠模式。

雖然自己有一定程式設計經驗,但是遇到問題是不可避免的,今天在編寫過程中遇到了一個問題,就是當窗體介面和窗體類庫放在一起的時候,在工廠中建立的例項無法裝換成介面型別,經過多次測試和上網查閱相關資料,發現控制元件類實現介面,不能將介面放在同一個類庫中,針對以上問題在網上查閱相關資料,結果還是沒有相同的主題,沒辦法,只有硬著頭皮在網上找,沒有主題就找有沒有相關的例子,結果還是沒有,差點就無語了,突然看到有類似方法的一個例子,真是柳暗花明又一村啊,仔細看了看,發現他和我的結構有些差異,所以調了一下結構,一編譯果然痛過了,就是將兩個類庫分離,再在介面中加入工廠便可建立例項並轉換成介面。在主窗體中只需要引用該介面類庫便可達到要求,使程式耦合性降低了。

實習日記7

由於黎甫對dll的要求發生變化,今天就不斷修正dll程式,並驗收,再結合group的視窗排列方式對dll中的窗體進行測試。我現在才明白,編寫程式碼是一件很容易的事,但是編寫好的程式碼卻是很難的事情,好的程式碼要有可維護性、可擴充套件性,這樣在修改的話就很簡單,可不能像我昨天寫得程式碼,根本談不上藝術,所以一旦面對客戶的要求,改動就很困難,這一點值得我繼續學習。

至於可擴充套件性也是對維護的擴充,因為顧客的要求有可能隨時都在改變,我們也得適應客戶的要求,如果軟體有了可擴充套件性,那麼它的改動就比較小,就能適應顧客的要求。所有上面說的這些都是自己要學習的地方,這樣在以後的商業開發中才能遊刃有餘,應對自如。

實習日記8

回顧前幾天所做的練習,對遇到的問題進行解決,在網上查閱相關資料獨立解決,並對之前的一些專案練習做好備份。將這幾天練習中所用的程式設計方法都串聯了一遍,形成了固定的模式,以便在今後可以快速的使用。

實習日記9

今天算是正式開始做公司的專案,上午黎甫和秦陽在會議室給我講解了專案的一些功能並進行討論,大致理解了專案後,分配了自己的一部分任務,整理過後在多次與秦陽的溝通請教下明白了自己的任務,下午秦陽建好vss,我拷貝專案進行框架整合和測試。 在編寫程式碼的過程中也涉及了一些問題,通過看msdn和上論壇,基本得到解決,同時也瞭解了一些C#其它的相關知識。

實習日記10

今天繼續昨天的任務,做一個小測試,將現今做的專案所有程式碼進行整合測試,測試要求是在資料庫中配置選單項,動態新增幾項選單項,在不同點擊下動態從dll中載入窗體讀取配置檔案進行排列,順利完成。

第二篇:C語言程式設計師之路

程式設計師之路──如何學習C語言並精通C語言

程式設計師之路──如何學習C語言

學習C語言不是一朝一夕的事情,但也不需要花費十年時間才能精通。如何以最小的代價學習並精通C語言是本文的主題。請注意,即使是“最小的代價”,也絕不是什麼捷徑,而是以最短的時間取得最多的收穫,同時也意味著你需要經歷艱苦的過程。

一、要讀就讀好書,否則不如不讀

所有初學者面臨的第一個問題便是:如何選擇教材。好的開始是成功的一半,選擇一本優秀的教材是事半功倍的關鍵因素。不幸的是,學校通常會幫你指定一本很差勁的C語言課本;而幸運的是,你還可以再次選擇。

大名鼎鼎的譚浩強教授出了一本《C語言程式設計》,據說發行量有超過400萬,據我所知,很多學校都會推薦這本書作為C語言課本。雖然本人的名字(譚浩宇)跟教授僅僅一字之差,但我是無比堅定地黑他這本書的。這本書不是寫給計算機專業的學生的,而是給那些需要考計算機等級考試的其它專業學生看的。這本書的主要缺點是:例子程式非常不專業,不能教給你程式設計應該掌握的思考方式;程式風格相當地不好,會讓你養成亂寫程式碼的惡習;錯誤太多,曾經有人指出過這本書的上百個錯誤,其中不乏關鍵的概念性錯誤。好了,這本書我也不想說太多了,有興趣大家可以百度一下:)

kernighan和ritChie的《the C programming language》(中譯名《C程式設計語言》)堪稱經典中的經典,不過舊版的很多內容都已過時,和現在的標準C語言相去甚遠,大家一定要看最新的版本,否則不如不看。另外,即使是最經典最權威的書,也沒有辦法面面俱到,所以手邊常備一本《C語言參考手冊》是十分必要的。《C語言參考手冊》就是《C referenCe manual》,是C語言標準的詳細描述,包括絕大多數C標準庫函式的細節,算得上是最好的標準C語言的工具書。順便提一句,最新的《C程式設計語言》是根據C89標準修訂的,而《C語言參考手冊》描述的是C99標準,二者可能會有些出入,建議按照C99標準學習。還有一本《C和指標》,寫得也是相當地不錯,英文名是《pointers on C》,特別地強調指標的重要性,算是本書的一個特點吧。不過這本書並不十分適合初學者,如果你曾經學過C語言,有那麼一些C語言的基礎但又不是很紮實,那麼你可以嘗試一下這本書。我相信,只要你理解了指標,C語言便不再神祕。

如果你已經啃完了一本C語言教材,想要更進一步,那麼有兩本書你一定要看。首先是《C traps and pitfalls》(中譯名《C陷井與缺陷》),很薄的一本小冊子,內容非常非常地有趣。要注意一點,這本書是二十多年前寫成的,裡面提到的很多C語言的缺陷都已被改進,不過能夠了解一些歷史也不是什麼壞事。然後你可以挑戰一下《expert C programming》(中譯名《C專家程式設計》),書如其名,這本書頗具難度,一旦你仔細讀完並能透徹理解,你(請繼續關注好 範文網:)便可以放心大膽地在簡歷上寫“精通C語言”了。

切記一個原則,不要讀自己目前還看不懂的書,那是浪費生命。如果你看不懂,那你一定是

缺失了某些必需基礎知識。此時,你要仔細分析自己需要補充哪些內容,然後再去書店尋找講述的這些內容的書籍。把基礎知識補充完畢再回頭來學習,才會真正的事半功倍。

二、unix/linux還是windows,這是個很大的問題

不同的程式設計環境會造就出不同思維的程式設計師。windows的程式設計師大多依賴整合開發環境,比如visual studio,而unix程式設計師更加鍾愛makefile與控制檯。顯而易見,整合開發環境更容易上手,在windows上學習C語言,只需要會按幾個基本的visutal C++工具欄按鈕就可以開始寫hello, world!了,而在unix下,你需要一些控制檯操作的基本知識。有人也許認為unix的環境更簡潔,但習慣的力量是很大的,大家都很熟悉windows的基本操作,而為了學習C語言去專門裝一個unix系統,似乎有點不划算。

對於一個只懂得windows基本操作、連dos是什麼都不知道的新手而言,儘快做一些有趣而有意義的事情才是最重要的。用C語言寫一個小程式遠比學習ls、Cat等命令有趣,況且我們要專注於C語言本身,就不得不暫時忽略一些東西,比如編譯連結的過程、makefile的寫法等等等等。

所以我建議初學者應該以visual C++ 6.0(不是visualC++ )或者dev C++作為主要的學習環境,而且千萬不要在ide的使用技巧上過多糾纏,因為今後你一定要轉向unix環境的。visual C++ 6.0使用很方便,除錯也很直觀,但其預設的編譯器對C標準的支援並不好,而dev C++使用gCC編譯器,對C99的標準都支援良好。使用順帶提一下,很多大學的C語言課程還在使用turbo C 2.0作為實驗環境,這是相當不可取的,原因其一是tC 2.0對C標準幾乎沒有支援,其二是tC 2.0編譯得到的程式是16位的,這對今後理解32位的程式會造成極大的困擾(當然,用djgpp之類的東西可以使tC 2.0編譯出32位程式,不過那過於複雜了)。

等你學完一本C語言的教材,你一定要轉向unix平臺繼續學習,幾乎所有的C語言高階教程都是基於unix平臺的(比如《C專家程式設計》)。轉變的過程是痛苦的,你需要面對的是各種紛繁複雜的命令,完全不同於windows平臺的思考方式,但是這種痛苦是值得的。unix與C是共生的,unix的思考方式和習慣更加符合C語言的思考方式和習慣。在unix下,你可以找到無數優秀的原始碼供你盡情閱讀,你可以方便地檢視某個庫函式的聯機手冊,還可以看到最優秀的程式碼風格

歸結起來就是一句話:初學C語言,建議使用windows系統和整合開發環境,在準備向“高手”方向努力時,請先轉向unix平臺。

三、萬事俱備,你就是東風

書已選定,環境配置完成,正所謂萬事俱備,只欠你自己的努力了。請從書的前言開始,仔細地閱讀手頭的教材,很多人看書喜歡直接從第一章開始看,這是錯誤的做法。前言是作者對整本書的大體介紹,作者一般會告訴你需要什麼基礎才能夠順利閱讀本書,這可以幫助你檢驗自己的基礎知識是否已經具備。看完前言,還要瀏覽一下目錄,瞭解一下書的整體結構,順便給自己安排一下學習計劃。

學習C語言,必需注意每一個細節,書上的例子程式碼一定要自己親自敲一遍,編譯執行輸出都跟書上說的一致才能算是學完了一個例子,如果不一致,就要仔細找原因。出了書本上有的例子,自己還要“創造”一些例子,比如學習運算子優先順序的時候,可以寫幾個相同的表示式,在不同的位置加上括號,看看有哪些不同的行為,比如*p++和(*p)++,又比如a = b == C、(a = b) == C和a = (b == C)等等。自己抄的書上的例子以及改造之後的例子,還有自己“創造”的例子,都應該仔細地歸類儲存,並且要在原始碼中寫上簡短的註釋,闡述這個例子的意圖。

例子之後就是習題了,我建議初學者把所有的習題都獨立做一遍,然後對照答案的程式碼,看看自己的程式碼有那些不足,再試著修改自己的程式碼。很多人不重視習題,這是極大的錯誤,因為作者通常會在習題中說明一些重要的道理,而不是單純地檢驗前面的知識。

也許你認為這樣學習太慢,其實不然。學得細緻就不用走回頭路,等你學到後面才發現自己前面沒搞清楚,那才是真的得不償失。一般說來,整本書讀完,你應該完成數千行乃至上萬行的程式碼,無論是原封不動照抄書上的,還是自己心血來潮寫就的,都是今後繼續學習的一筆財富。以我自己舉例,閱讀《windows核心程式設計》時(我只閱讀了3/4的內容),除了抄書上的程式碼,還自己寫了很多例子,一共有5574行(用unix下的wC工具統計),時隔多日,我早已記不清windows的系統程式設計了,但只要花幾分鐘翻出以前的程式碼看看,便會重新瞭然於胸。所謂好記性不如爛筆頭,就是這個道理。

仔細讀書、認真抄寫原始碼、獨立完成習題外加更進一步的實驗,最後將所有的程式碼留下,成為自己的經驗和財富,絕對的辛苦,也絕對的事半功倍。當然,這種方式只適合學習需要精通的技術,如果不是學習C語言,你還要具體情況具體分析。

寫到最後,還有非常非常重要的一點沒有提及──程式碼風格,從最開始學習就必須強迫自己模仿最優秀的程式碼風格。

看了這篇文章之後,我很有感觸。想現在學習C語言都好多年了還是沒有什麼進步,上面都說道了。建議樓主置頂,讓更多的人更快更好的學習C語言。C語言是程式設計的根基,也是最為深奧和靈活的語言。有了這篇文章的幫助相信大家會有一個學習方法。

第三篇:程式設計師日記1

java入門必備知識

1.常用的dos命令列

dir:顯示當前目錄下面的所有資料夾和檔案。

Cd: 進入資料夾。

Cd..: 返回上一級目錄。

Cd: 返回主目錄。

rd: 刪除資料夾。

/s 檔名 除目錄本身外,還將刪除指定目錄下的所有子目錄和檔案。用於刪除目錄樹。(可以刪除資料夾內層的資料夾)

/q 安靜模式,帶 /s 刪除目錄樹時不要求確認

md: 建立資料夾。

del: 刪除檔案(如果del後面是資料夾名則刪除的是檔案裡面的檔案)。Cls: 清屏。

exit:退出控制檯。

*:萬用字元。使用萬用字元可以很快的查詢或者是刪除掉有相同的副檔名的檔案。比如在dos命令列下,我們要刪除掉當天編譯的很多的s 檔案的時候,就可以輸入:del *s

這樣就會刪除掉當前目錄下的所有的位元組碼檔案了。

中的一些專用名詞解釋:

javase: java standard edition java標準版。

javaee: java enterprise edition java企業版。

javame: java miCro edition java微型版。

api:appliCation programming interfaCe 應用程式程式設計介面。

ide:integrated development environment:整合開發環境。

os: operating system :作業系統。

jvm: java虛擬機器 實現了java的跨平臺性。

jdk: java開發工具包。 java開發人員使用的。jdk=jre+java開發工具jre: java的執行環境。 jre=jvm+類庫

: java編譯器,將java原始碼(檔案)編譯為位元組碼(s)檔案: 是解釋執行java位元組碼檔案的程式,作用:讓虛擬機器(jvm)載入s檔案並解釋執行。

4.環境變數path與Classpath

環境變數是指在作業系統中用來指定作業系統執行環境的一些引數path:

如果想在任意目錄下執行一個程式,我們就需要將程式所在的路徑配置在path環境變數中。

通常我們會將所在目錄配置到path中,因為我們需要在任意目錄下都能編譯java原始檔。

配置完成之後可以在命令列輸入javaC測試,如果顯式幫助資訊則是配置成功。

Classpath:

java虛擬機器執行時載入類的路徑。jdk5之後不配置預設為當前目錄“.”。如使用jdk1.4或以下版本時需要人工配置。

暫時不需要配置,預設載入當前目錄下的所有Class檔案。

配置方式:

(1). 命令列

點選螢幕左下角開始 – 執行 – 輸入Cmd – 在命令列中直接輸入命令進行修改檢視變數值:set 變數名

設定變數值:set 變數名=變數值,多個值之間使用分號“;”分割,引用變數時使用“%變數名%”形式

注意:此種方式僅適用於當前視窗

(2).我的電腦

滑鼠右鍵點選我的電腦 – 屬性 – 高階 – 環境變數

找到要修改的變數將其值修改,此種方式永久有效。

ljvm查詢類檔案的順序:

? 如果沒有配置Classpath環境變數,jvm只在當前目錄下查詢要執行的類檔案。

? 如果配置了Classpath環境,jvm會先在Classpath環境變數值的目錄中查詢要執行的類檔案。

? 值的結尾處如果加上分號,那麼jvm在Classpath目錄下沒有找到要指定的類檔案,會在當前目錄下在查詢一次。

? 值的結尾出如果沒有分號,那麼jvm在Classpath目錄下沒有找到要指定的類檔案,不會在當前目錄下查詢,即使當前目錄下有,也不會執行。

? 建議:配置Classpath環境變數時,值的結尾處不要加分號,如果需要訪問當前目錄可以用 “.”表示。

/*注意*/:

(1). 配置環境變數之後可以檢視編譯器()和虛擬機器()版本,虛擬機器版本不能低於編譯器。

(2). Classpath=C: 它只會查詢C盤下是否有要執行的Class檔案,如果沒有報錯

(3). Classpath=C:;它會查詢C盤下的Class檔案,如果沒有,會查詢當前路徑是否存在。

(4). Classpath作用是設定Class檔案執行路徑

(5). path 作用是設定java工具執行路徑

使用哪個版本的編譯器和虛擬機器取決於path環境變數,如果虛擬機器版本過低,可以通過環境變數來修改。

5.set的應用與%變數名%

(1) 顯示當前所有的環境變數設定

(2) 變數名 顯示某全個環境變數的配置

(3) set 變數名= 將這個環境變數清空

(4) 變數名=值 給某個環境變數重新設定值

要以用set進行臨時的環境變數設定,噹噹前視窗關閉時,

用set設定的所有環境變數都消失.

%變數名% 它的作用相當於引用這個變數名對應的值,我們可以用這個特點,在set設定值時進行新增操作 例如:

set a=C:root

set a=d:sourCe;%a%

第四篇:程式設計師C方向技能描述技能描述

軟體程式設計師C方向技能描述

初級

軟體程式設計師初級資格主要培養學生的基本程式設計能力,應具備以下技能:

1、熟練掌握C程式設計的基礎知識、基本概念;掌握過程化程式設計的思想和程式設計技巧;理解演算法的概念以及演算法的表示方法,能使用C語言進行簡單的程式設計。

2、熟練掌握C++語言的基本語法規則,掌握常用資料型別、函式、類、物件等基礎知識;掌握面向物件程式設計的思想和程式設計技巧;能夠使用C++語言進行簡單程式設計。

3、掌握面向物件程式設計的基本方法,能進行簡單的vC介面設計。

4、掌握基本的資料庫知識,熟悉常見資料庫在程式語言中的使用。

5、具有規範化、標準化的程式設計習慣和方法,符合軟體工程要求。

中級

中級程式設計師資格主要培養學生的基本程式設計能力、資料庫應用能力,具備初級的軟體工程思想,應具備以下技能。

1、掌握過程化程式設計的思想和程式設計技巧;理解演算法的概念以及演算法的表示方法;能夠使用C語言按照需求進行編碼實現。

2、能夠深刻理解和領會面向物件程式設計的特點和風格,掌握其方法和要領。

3、掌握面向物件程式設計的基本方法,熟練使用vC進行介面設計。

4、掌握一定的資料庫理論知識,熟悉一種或兩種資料庫產品的使用,能夠進行基本的資料庫設計與分析能力,熟悉程式語言與資料庫的連線和操作。

5、具備基本的軟體工程思想,熟悉軟體生命週期和常用開發模型。

6、具有規範化、標準化的程式設計習慣和方法,符合軟體工程要求。

高階

高階程式設計師資格主要培養學生的資料庫程式設計能力,具備系統的軟體工程理論知識,應具備以下能力:

1、熟練掌握過程化程式設計的思想和程式設計技巧;熟悉資料結構,能夠使用C語言能進行較複雜的演算法程式設計。

2、深刻理解和領會面向物件程式設計的特點和風格,具有較高的使用c++語言解決實際問題的能力。

3、能正確運用面向物件的思維方法分析問題和解決問題,能夠應用mfC來解決實際複雜的問題,具有創新意識。

4、掌握一定的資料庫理論知識,熟悉一種或兩種資料庫產品的使用,能夠進行基本的資料庫設計。

6、具備系統的軟體工程理論知識,有一定的軟體工程實踐經驗,有較強的溝通能力和協調能力,能夠應付軟體開發中出現的大多數問題。

第五篇:C、C++程式設計師應聘常見面試題

C/C++程式設計師應聘常見面試題

一.找錯題

試題1:

void test1()

{

Char string[10];

Char* str1 = "0123456789";strCpy( string, str1 );

}

試題2:

void test2()

{

Char string[10], str1[10];int i;

for(i=0; i<10; i++)

{

str1[i] = 'a';

}

strCpy( string, str1 );

}

試題3:

void test3(Char* str1)

{

Char string[10];

if( strlen( str1 ) <= 10 )

{

strCpy( string, str1 );

}

}

試題4:

void getmemory( Char *p ) {

p = (Char *) malloC( 100 ); }

void test( void )

{

Char *str = null;

getmemory( str );

strCpy( str, "hello world" );

printf( str );

}

試題5:

Char *getmemory( void )

{

Char p[] = "hello world";

return p;

}

void test( void )

{

Char *str = null;

str = getmemory();

printf( str );

}

試題6:

void getmemory( Char **p, int num )

{

*p = (Char *) malloC( num );

}

void test( void )

{

Char *str = null;

getmemory( &str, 100 );

strCpy( str, "hello" );

printf( str );

}

試題7:

void test( void )

{

Char *str = (Char *) malloC( 100 );

strCpy( str, "hello" );

free( str );

... //省略的其它語句

}

二.內功題

試題1:分別給出bool,int,float,指標變數 與“零值”比較的 if 語句(假設變數名為var)

試題2:以下為windows nt下的32位C++程式,請計算sizeof的值 void funC ( Char str[100] )

{

sizeof( str ) = ?

}

void *p = malloC( 100 );

sizeof ( p ) = ?

試題3:寫一個“標準”巨集min,這個巨集輸入兩個引數並返回較小的一個。另外,當你寫下面的程式碼時會發生什麼事?

least = min(*p++, b);

試題4:為什麼標準標頭檔案都有類似以下的結構?

#ifndef __inCvxworksh

#define __inCvxworksh

#ifdef __Cplusplus

extern "C" {

#endif

/*...*/

#ifdef __Cplusplus

}

#endif

#endif /* __inCvxworksh */

試題5:編寫一個函式,作用是把一個Char組成的字串迴圈右移n個。比如原來是“abCdefghi”如果n=2,移位後應該是“hiabCdefgh”

函式頭是這樣的:

//pstr是指向以''結尾的字串的指標

//steps是要求移動的n

void loopmove ( Char * pstr, int steps )

{

//請填充...

}

試題6:已知wav檔案格式如下表,開啟一個wav檔案,以適當的資料結構組織wav檔案頭並解析wav格式的各項資訊。

wave檔案格式說明表

偏移地址 位元組數 資料型別 內 容

檔案頭00h 4Char "riff"標誌

04h 4 int32 檔案長度

08h 4 Char "wave"標誌

0Ch 4 Char "fmt"標誌

10h 4過渡位元組(不定)

14h 2 int16 格式類別

16h 2 int16 通道數

18h 2 int16取樣率(每秒樣本數),表示每個通道的播放速度

1Ch 4 int32 波形音訊資料傳送速率

20h 2 int16 資料塊的調整數(按位元組算的)

22h 2每樣本的資料位數

24h 4 Char 資料標記符"data"

28h 4 int32 語音資料的長度

試題7:編寫類string的建構函式、解構函式和賦值函式,已知類string的原型為:

Class string

{

publiC:

string(Const Char *str = null); // 普通建構函式

string(Const string &other); // 拷貝建構函式

~ string(void); // 解構函式

string & operate =(Const string &other); // 賦值函式

private:

Char *m_data; // 用於儲存字串

};

試題8:請說出statiC和Const關鍵字儘可能多的作用

試題9:編寫一個標準strCpy函式

三.技巧題

試題1:請寫一個C函式,若處理器是big_endian的,則返回0;若是little_endian的,則返回1

試題2:寫一個函式返回1+2+3+…+n的值(假定結果不會超過長整型變數的範圍)

本網推薦其他範文:

C#程式設計師實習報告

程式設計師實習報告總結

程式設計師實習報告範文

程式設計師實習小結

程式設計師實習總結報告