實習日記1
第一次是來面試,當時感覺不怎么好,面試的人問了一些問題有些沒回答上來,這并不奇怪,C#自己學習了2個月,然后就沒怎么用,回答不上我覺得可以理解。沒想到還能第二次來到公司,由于對環(huán)境還比較陌生,所以今天大概熟悉了一點,成都這邊有50多個員工,屬于研發(fā)中心,主要從事無線微波得較大型的設(shè)備的再加工,聽同事說以前在北京,但由于北京人力資源太貴所以來到成都,這聽起來怎么像是在壓榨的感覺啊,沒關(guān)系,只是來實習而已。
對于今天的第一個小任務(wù),要求:界面、數(shù)據(jù)壓入堆棧、簡單冒泡排序?qū)崿F(xiàn)數(shù)據(jù)有序輸出、堆排序輸出。讓我快速地熟悉了C#,從界面到后臺都得到了加強,此外在實現(xiàn)過程中對用到的冒泡排序和堆排序有了更深的理解,并能用C#熟練的實現(xiàn)。
實習日記2
今天對昨天的實例進行了改進和提高,將堆排序和冒泡排序封裝在一個動態(tài)鏈接庫中,提供函數(shù)調(diào)用和事件委托。此外加入xml進行配置,在xml中存入相關(guān)配置信息,提供一個單獨的xmlClass對其進行操作,加深了對xml的理解。為增加程序的性能,采用簡單工廠模式對其客戶端和算法操作進行分離,有很好的可擴展性,對于C#的動態(tài)鏈接庫和xml配置不怎么熟悉,花了很長一段時間看書和網(wǎng)上查資料,才開始動手寫代碼,不過感覺還是很快,因為自己有編程的能力,可以說掌握了一種快速編程的方法,所以就能駕輕就熟。
實習日記3
今天采用抽象工廠模式對實例進行改進,以達到動態(tài)加載算法實例,抽象工廠模式屬于設(shè)計模式中的內(nèi)容,自己在學習視頻的時候注意到了,所以之前就買了本大話設(shè)計模式來學習,可以說了解了大部分設(shè)計模式。今天遇到后自己心里也有底,溫故一下書就知道怎么做 了,可以說這是我學習的方法。
針對以上,在dll中提供一個接口,兩個算法都繼承了該接口,對于該dll的操作都通過接口isort進行,此外,修改工廠為抽象工廠,提供一個接口創(chuàng)建算法,在算法中返回isort實例,在主函數(shù)中使用該實例進行對應(yīng)的排序算法操作,充分顯示了抽象工廠的作用,本例子將反射和抽象工廠模式結(jié)合,增加了程序的可擴展性和可維護性。
實習日記4
由于自己編程能力還算可以吧,所以軟件組的老大就叫我加入開始做一些這次項目的東西,說了一句“我可是沒把你當實習生哦。”,這話一聽當時感覺還好,不過后來一想,我卻是吃虧了,他不把我當實習生但給我的卻是實習生工資,這點有點想不過去,不過沒關(guān)系,實習嘛就是學習,有基本工資也不錯了,關(guān)鍵的公司提供的條件那是在學校里所得不到的:商業(yè)性的問題。
今天將上述實例的方法用到本次項目中,開始項目中的一些任務(wù)。仍然使用抽象工廠模式,將自定義窗體封裝到類庫中,將窗體的控件預留到外部進行實施定義;在xml文件中配置窗體的實際參數(shù),利用反射按從xml中讀出的參數(shù)動態(tài)加載窗體。將上述的實例方法運用到了實際項目中。
實習日記5
昨天的任務(wù)基本已完成,今天溫習了一下加深了對知識的理解,可以說掌握得比較牢固了,今天又有新的任務(wù),可以說每天都在進步。
按組長要求編寫rankstyle=group時的窗體排列方式,在xml中配置控件或窗體的參數(shù),利用xml讀接口從xml中讀出參數(shù),為了使程序具有靈活性,在組長的提示下將窗體的配置按照窗體的name屬性進行配置,之前是利用字段的方式寫在xml中,但是組長說這樣的話在程序中查找不方便,可我覺得沒什么啊,當然了,對于我這個沒有工作經(jīng)驗的人來說看什么都是可以的,所以要多學習學習。在formControl中利用雙層循環(huán)將控件容器中的控件按name與讀出的配置進行匹配,如果在xml中配置了該窗體,就設(shè)置該窗體的一些屬性。個人感覺實現(xiàn)了該功能吧,最后經(jīng)過組長看了一下審核基本通過。 要求:
根據(jù)group,從xml中讀取控件配置信息,動態(tài)設(shè)置控件在主窗體中的顯示。
實習日記6
每天都有不同的要求,哎,果然和學校是不一樣啊,今天將dll中的控件更換成窗體,方法仍然采用反射+抽象工廠模式。
雖然自己有一定編程經(jīng)驗,但是遇到問題是不可避免的,今天在編寫過程中遇到了一個問題,就是當窗體接口和窗體類庫放在一起的時候,在工廠中創(chuàng)建的實例無法裝換成接口類型,經(jīng)過多次測試和上網(wǎng)查閱相關(guān)資料,發(fā)現(xiàn)控件類實現(xiàn)接口,不能將接口放在同一個類庫中,針對以上問題在網(wǎng)上查閱相關(guān)資料,結(jié)果還是沒有相同的主題,沒辦法,只有硬著頭皮在網(wǎng)上找,沒有主題就找有沒有相關(guān)的例子,結(jié)果還是沒有,差點就無語了,突然看到有類似方法的一個例子,真是柳暗花明又一村啊,仔細看了看,發(fā)現(xiàn)他和我的結(jié)構(gòu)有些差異,所以調(diào)了一下結(jié)構(gòu),一編譯果然痛過了,就是將兩個類庫分離,再在接口中加入工廠便可創(chuàng)建實例并轉(zhuǎn)換成接口。在主窗體中只需要引用該接口類庫便可達到要求,使程序耦合性降低了。
實習日記7
由于黎甫對dll的要求發(fā)生變化,今天就不斷修正dll程序,并驗收,再結(jié)合group的窗口排列方式對dll中的窗體進行測試。我現(xiàn)在才明白,編寫代碼是一件很容易的事,但是編寫好的代碼卻是很難的事情,好的代碼要有可維護性、可擴展性,這樣在修改的話就很簡單,可不能像我昨天寫得代碼,根本談不上藝術(shù),所以一旦面對客戶的要求,改動就很困難,這一點值得我繼續(xù)學習。
至于可擴展性也是對維護的擴充,因為顧客的要求有可能隨時都在改變,我們也得適應(yīng)客戶的要求,如果軟件有了可擴展性,那么它的改動就比較小,就能適應(yīng)顧客的要求。所有上面說的這些都是自己要學習的地方,這樣在以后的商業(yè)開發(fā)中才能游刃有余,應(yīng)對自如。
實習日記8
回顧前幾天所做的練習,對遇到的問題進行解決,在網(wǎng)上查閱相關(guān)資料獨立解決,并對之前的一些項目練習做好備份。將這幾天練習中所用的編程方法都串聯(lián)了一遍,形成了固定的模式,以便在今后可以快速的使用。
實習日記9
今天算是正式開始做公司的項目,上午黎甫和秦陽在會議室給我講解了項目的一些功能并進行討論,大致理解了項目后,分配了自己的一部分任務(wù),整理過后在多次與秦陽的溝通請教下明白了自己的任務(wù),下午秦陽建好vss,我拷貝項目進行框架整合和測試。 在編寫代碼的過程中也涉及了一些問題,通過看msdn和上論壇,基本得到解決,同時也了解了一些C#其它的相關(guān)知識。
實習日記10
今天繼續(xù)昨天的任務(wù),做一個小測試,將現(xiàn)今做的項目所有代碼進行整合測試,測試要求是在數(shù)據(jù)庫中配置菜單項,動態(tài)添加幾項菜單項,在不同點擊下動態(tài)從dll中加載窗體讀取配置文件進行排列,順利完成。
第二篇:C語言程序員之路程序員之路──如何學習C語言并精通C語言
程序員之路──如何學習C語言
學習C語言不是一朝一夕的事情,但也不需要花費十年時間才能精通。如何以最小的代價學習并精通C語言是本文的主題。請注意,即使是“最小的代價”,也絕不是什么捷徑,而是以最短的時間取得最多的收獲,同時也意味著你需要經(jīng)歷艱苦的過程。
一、要讀就讀好書,否則不如不讀
所有初學者面臨的第一個問題便是:如何選擇教材。好的開始是成功的一半,選擇一本優(yōu)秀的教材是事半功倍的關(guān)鍵因素。不幸的是,學校通常會幫你指定一本很差勁的C語言課本;而幸運的是,你還可以再次選擇。
大名鼎鼎的譚浩強教授出了一本《C語言程序設(shè)計》,據(jù)說發(fā)行量有超過400萬,據(jù)我所知,很多學校都會推薦這本書作為C語言課本。雖然本人的名字(譚浩宇)跟教授僅僅一字之差,但我是無比堅定地黑他這本書的。這本書不是寫給計算機專業(yè)的學生的,而是給那些需要考計算機等級考試的其它專業(yè)學生看的。這本書的主要缺點是:例子程序非常不專業(yè),不能教給你程序設(shè)計應(yīng)該掌握的思考方式;程序風格相當?shù)夭缓,會讓你養(yǎng)成亂寫代碼的惡習;錯誤太多,曾經(jīng)有人指出過這本書的上百個錯誤,其中不乏關(guān)鍵的概念性錯誤。好了,這本書我也不想說太多了,有興趣大家可以百度一下:)
kernighan和ritChie的《the C programming language》(中譯名《C程序設(shè)計語言》)堪稱經(jīng)典中的經(jīng)典,不過舊版的很多內(nèi)容都已過時,和現(xiàn)在的標準C語言相去甚遠,大家一定要看最新的版本,否則不如不看。另外,即使是最經(jīng)典最權(quán)威的書,也沒有辦法面面俱到,所以手邊常備一本《C語言參考手冊》是十分必要的。《C語言參考手冊》就是《C referenCe manual》,是C語言標準的詳細描述,包括絕大多數(shù)C標準庫函數(shù)的細節(jié),算得上是最好的標準C語言的工具書。順便提一句,最新的《C程序設(shè)計語言》是根據(jù)C89標準修訂的,而《C語言參考手冊》描述的是C99標準,二者可能會有些出入,建議按照C99標準學習。還有一本《C和指針》,寫得也是相當?shù)夭诲e,英文名是《pointers on C》,特別地強調(diào)指針的重要性,算是本書的一個特點吧。不過這本書并不十分適合初學者,如果你曾經(jīng)學過C語言,有那么一些C語言的基礎(chǔ)但又不是很扎實,那么你可以嘗試一下這本書。我相信,只要你理解了指針,C語言便不再神秘。
如果你已經(jīng)啃完了一本C語言教材,想要更進一步,那么有兩本書你一定要看。首先是《C traps and pitfalls》(中譯名《C陷井與缺陷》),很薄的一本小冊子,內(nèi)容非常非常地有趣。要注意一點,這本書是二十多年前寫成的,里面提到的很多C語言的缺陷都已被改進,不過能夠了解一些歷史也不是什么壞事。然后你可以挑戰(zhàn)一下《expert C programming》(中譯名《C專家編程》),書如其名,這本書頗具難度,一旦你仔細讀完并能透徹理解,你(請繼續(xù)關(guān)注好 范文網(wǎng):www.taixiivf.comd: 創(chuàng)建文件夾。
del: 刪除文件(如果del后面是文件夾名則刪除的是文件里面的文件)。Cls: 清屏。
exit:退出控制臺。
*:通配符。使用通配符可以很快的查找或者是刪除掉有相同的擴展名的文件。比如在dos命令行下,我們要刪除掉當天編譯的很多的.Class 文件的時候,就可以輸入:del *.Class
這樣就會刪除掉當前目錄下的所有的字節(jié)碼文件了。
3.java中的一些專用名詞解釋:
javase: java standard edition java標準版。
javaee: java enterprise edition java企業(yè)版。
javame: java miCro edition java微型版。
api:appliCation programming interfaCe 應(yīng)用程序編程接口。
ide:integrated development environment:集成開發(fā)環(huán)境。
os: operating system :操作系統(tǒng)。
jvm: java虛擬機 實現(xiàn)了java的跨平臺性。
jdk: java開發(fā)工具包。 java開發(fā)人員使用的。jdk=jre+java開發(fā)工具jre: java的運行環(huán)境。 jre=jvm+類庫
javaC.exe: java編譯器,將java源代碼(.java文件)編譯為字節(jié)碼(.Class)文件java.exe: 是解釋執(zhí)行java字節(jié)碼文件的程序,作用:讓虛擬機(jvm)加載.Class文件并解釋執(zhí)行。
4.環(huán)境變量path與Classpath
環(huán)境變量是指在操作系統(tǒng)中用來指定操作系統(tǒng)運行環(huán)境的一些參數(shù)path:
如果想在任意目錄下運行一個程序,我們就需要將程序所在的路徑配置在path環(huán)境變量中。
通常我們會將javaC.exe所在目錄配置到path中,因為我們需要在任意目錄下都能編譯java源文件。
配置完成之后可以在命令行輸入javaC測試,如果顯式幫助信息則是配置成功。
Classpath:
java虛擬機運行時加載類的路徑。jdk5之后不配置默認為當前目錄“.”。如使用jdk1.4或以下版本時需要人工配置。
暫時不需要配置,默認加載當前目錄下的所有Class文件。
配置方式:
(1). 命令行
點擊屏幕左下角開始 – 運行 – 輸入Cmd – 在命令行中直接輸入命令進行修改查看變量值:set 變量名
設(shè)置變量值:set 變量名=變量值,多個值之間使用分號“;”分割,引用變量時使用“%變量名%”形式
注意:此種方式僅適用于當前窗口
(2).我的電腦
鼠標右鍵點擊我的電腦 – 屬性 – 高級 – 環(huán)境變量
找到要修改的變量將其值修改,此種方式永久有效。
ljvm查找類文件的順序:
? 如果沒有配置Classpath環(huán)境變量,jvm只在當前目錄下查找要運行的類文件。
? 如果配置了Classpath環(huán)境,jvm會先在Classpath環(huán)境變量值的目錄中查找要運行的類文件。
? 值的結(jié)尾處如果加上分號,那么jvm在Classpath目錄下沒有找到要指定的類文件,會在當前目錄下在查找一次。
? 值的結(jié)尾出如果沒有分號,那么jvm在Classpath目錄下沒有找到要指定的類文件,不會在當前目錄下查找,即使當前目錄下有,也不會運行。
? 建議:配置Classpath環(huán)境變量時,值的結(jié)尾處不要加分號,如果需要訪問當前目錄可以用 “.”表示。
/*注意*/:
(1). 配置環(huán)境變量之后可以查看編譯器(javaC.exe)和虛擬機(java.exe)版本,虛擬機版本不能低于編譯器。
(2). Classpath=C: 它只會查找C盤下是否有要運行的Class文件,如果沒有報錯
(3). Classpath=C:;它會查找C盤下的Class文件,如果沒有,會查找當前路徑是否存在。
(4). Classpath作用是設(shè)置Class文件運行路徑
(5). path 作用是設(shè)置java工具運行路徑
使用哪個版本的編譯器和虛擬機取決于path環(huán)境變量,如果虛擬機版本過低,可以通過環(huán)境變量來修改。
5.set的應(yīng)用與%變量名%
(1).set 顯示當前所有的環(huán)境變量設(shè)置
(2).set 變量名 顯示某全個環(huán)境變量的配置
(3) set 變量名= 將這個環(huán)境變量清空
(4).set 變量名=值 給某個環(huán)境變量重新設(shè)置值
要以用set進行臨時的環(huán)境變量設(shè)置,當當前窗口關(guān)閉時,
用set設(shè)置的所有環(huán)境變量都消失.
%變量名% 它的作用相當于引用這個變量名對應(yīng)的值,我們可以用這個特點,在set設(shè)置值時進行添加操作 例如:
set a=C:root
set a=d:sourCe;%a%
第四篇:程序員C方向技能描述技能描述軟件程序員C方向技能描述
初級
軟件程序員初級資格主要培養(yǎng)學生的基本編程能力,應(yīng)具備以下技能:
1、熟練掌握C程序設(shè)計的基礎(chǔ)知識、基本概念;掌握過程化程序設(shè)計的思想和編程技巧;理解算法的概念以及算法的表示方法,能使用C語言進行簡單的程序設(shè)計。
2、熟練掌握C++語言的基本語法規(guī)則,掌握常用數(shù)據(jù)類型、函數(shù)、類、對象等基礎(chǔ)知識;掌握面向?qū)ο蟪绦蛟O(shè)計的思想和編程技巧;能夠使用C++語言進行簡單程序設(shè)計。
3、掌握面向?qū)ο蟪绦蛟O(shè)計的基本方法,能進行簡單的vC界面設(shè)計。
4、掌握基本的數(shù)據(jù)庫知識,熟悉常見數(shù)據(jù)庫在編程語言中的使用。
5、具有規(guī)范化、標準化的編程習慣和方法,符合軟件工程要求。
中級
中級程序員資格主要培養(yǎng)學生的基本編程能力、數(shù)據(jù)庫應(yīng)用能力,具備初級的軟件工程思想,應(yīng)具備以下技能。
1、掌握過程化程序設(shè)計的思想和編程技巧;理解算法的概念以及算法的表示方法;能夠使用C語言按照需求進行編碼實現(xiàn)。
2、能夠深刻理解和領(lǐng)會面向?qū)ο蟪绦蛟O(shè)計的特點和風格,掌握其方法和要領(lǐng)。
3、掌握面向?qū)ο蟪绦蛟O(shè)計的基本方法,熟練使用vC進行界面設(shè)計。
4、掌握一定的數(shù)據(jù)庫理論知識,熟悉一種或兩種數(shù)據(jù)庫產(chǎn)品的使用,能夠進行基本的數(shù)據(jù)庫設(shè)計與分析能力,熟悉編程語言與數(shù)據(jù)庫的連接和操作。
5、具備基本的軟件工程思想,熟悉軟件生命周期和常用開發(fā)模型。
6、具有規(guī)范化、標準化的編程習慣和方法,符合軟件工程要求。
高級
高級程序員資格主要培養(yǎng)學生的數(shù)據(jù)庫編程能力,具備系統(tǒng)的軟件工程理論知識,應(yīng)具備以下能力:
1、熟練掌握過程化程序設(shè)計的思想和編程技巧;熟悉數(shù)據(jù)結(jié)構(gòu),能夠使用C語言能進行較復雜的算法編程。
2、深刻理解和領(lǐng)會面向?qū)ο蟪绦蛟O(shè)計的特點和風格,具有較高的使用c++語言解決實際問題的能力。
3、能正確運用面向?qū)ο蟮乃季S方法分析問題和解決問題,能夠應(yīng)用mfC來解決實際復雜的問題,具有創(chuàng)新意識。
4、掌握一定的數(shù)據(jù)庫理論知識,熟悉一種或兩種數(shù)據(jù)庫產(chǎn)品的使用,能夠進行基本的數(shù)據(jù)庫設(shè)計。
6、具備系統(tǒng)的軟件工程理論知識,有一定的軟件工程實踐經(jīng)驗,有較強的溝通能力和協(xié)調(diào)能力,能夠應(yīng)付軟件開發(fā)中出現(xiàn)的大多數(shù)問題。
第五篇:C、C++程序員應(yīng)聘常見面試題C/C++程序員應(yīng)聘常見面試題
一.找錯題
試題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 www.taixiivf.comove ( Char * pstr, int steps )
{
//請?zhí)畛?..
}
試題6:已知wav文件格式如下表,打開一個wav文件,以適當?shù)臄?shù)據(jù)結(jié)構(gòu)組織wav文件頭并解析wav格式的各項信息。
wave文件格式說明表
偏移地址 字節(jié)數(shù) 數(shù)據(jù)類型 內(nèi) 容
文件頭00h 4Char "riff"標志
04h 4 int32 文件長度
08h 4 Char "wave"標志
0Ch 4 Char "fmt"標志
10h 4過渡字節(jié)(不定)
14h 2 int16 格式類別
16h 2 int16 通道數(shù)
18h 2 int16采樣率(每秒樣本數(shù)),表示每個通道的播放速度
1Ch 4 int32 波形音頻數(shù)據(jù)傳送速率
20h 2 int16 數(shù)據(jù)塊的調(diào)整數(shù)(按字節(jié)算的)
22h 2每樣本的數(shù)據(jù)位數(shù)
24h 4 Char 數(shù)據(jù)標記符"data"
28h 4 int32 語音數(shù)據(jù)的長度
試題7:編寫類string的構(gòu)造函數(shù)、析構(gòu)函數(shù)和賦值函數(shù),已知類string的原型為:
Class string
{
publiC:
string(Const Char *str = null); // 普通構(gòu)造函數(shù)
string(Const string &other); // 拷貝構(gòu)造函數(shù)
~ string(void); // 析構(gòu)函數(shù)
string & operate =(Const string &other); // 賦值函數(shù)
private:
Char *m_data; // 用于保存字符串
};
試題8:請說出statiC和Const關(guān)鍵字盡可能多的作用
試題9:編寫一個標準strCpy函數(shù)
三.技巧題
試題1:請寫一個C函數(shù),若處理器是big_endian的,則返回0;若是little_endian的,則返回1
試題2:寫一個函數(shù)返回1+2+3+…+n的值(假定結(jié)果不會超過長整型變量的范圍)
本網(wǎng)推薦其他范文:C#程序員實習報告
程序員實習報告總結(jié)
程序員實習報告范文
程序員實習小結(jié)
程序員實習總結(jié)報告
來源:網(wǎng)絡(luò)整理 免責聲明:本文僅限學習分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。