第一篇:軟件編程學習心得
軟件編程學習心得
隨著計算機技術的發(fā)展和工作的需要,為了能夠更好的維護公司生產管理系統(tǒng);公司安排我們到北大青鳥APTECH進修。我們選擇了時下最流行、發(fā)展速度較快的語言C#。C#學習共分三個階段,目前我只學習了第一個階段;現(xiàn)將我在北大青鳥學習第一階段為期兩個月的學習心得總結如下:
C#是一種新的面向對象的編程語言,專門用于.NET運行時。C#編譯器只能生成受管制的代碼,也可以使用.NET基類。C#語言自C/C++演變而來。但是,它具有簡單、現(xiàn)代、完全面向對象和類型安全等諸多特性。下面就簡單說說簡單和現(xiàn)代其中兩種特性。
1、簡單
C#具有C++所沒有的一個優(yōu)勢就是學習簡單。該語言首要的目標就是簡單。很多功能(還不如說是缺少了C++的一些功能)有助于C#全方位的簡單。
在C#中,沒有C++中流行的指針。默認地,您工作在受管理的代碼中,在那里不允許如直接存取內存等不安全的操作。我想沒有C++程序員可以聲稱,從沒有使用指針訪問過不屬于他們的內存。
C#棄用其它操作符,名字空間、成員和引用僅使用單個操作符 “.”。現(xiàn)在一個程序員所需要理解的就是嵌套名字的注解了。
C#使用統(tǒng)一的類型系統(tǒng)。這種系統(tǒng)充許您把各種類型作為一個對象查看,它是一個原始類型還是一個full-blown 類。和其它編程語言相比,由于加框(boxing)和消框(unboxing)的機制,把簡單類型當作對象處理并不能獲得性能的改善。稍后將詳細解釋加框和消框,但基本上僅當需要時才使用對象訪問簡單類型這種技術。
2、現(xiàn)代
投入學習C#的努力是一筆大投資,因為C#是為編寫NGWS 應用程序的主要語言而設計。很多用C++可以實現(xiàn)或者很費力實現(xiàn)的功能,在C#中不過是一部分基本的功能而已。根據(jù)應用程序的特殊需求,可以很容易地創(chuàng)建出新的一種數(shù)據(jù)類型。
指針不再是編程武器的一部分。運行時NGWS提供了一個垃圾收集器,負責C#程序中的內存管理。因內存和應用程序都受到管理,所以很必要增強類型安全,以確保應用的穩(wěn)定性。
異常處理是C#的主要功能。C#的異常處理與C++的不同點在于它是交叉語言的(運行時的另一個功能)。在沒有C#之前,您必須處理怪異的HRESULTs,但現(xiàn)在由于使用了基于異常的健壯的出錯處理,這一切都結束了。
對于現(xiàn)代的應用程序,安全是首要的,C#也不會例外。它提供了元數(shù)據(jù)語法,用于聲明下述NGWS安全模式的能力和許可。元數(shù)據(jù)是NGWS運行時的一個關鍵的概念。
通兩個多月學習,我能夠很好的掌握C#語言的基本語句、語法以及老師補充的一些要點;能夠編寫簡單的應用程序,例如電子郵件的收發(fā)等,為接下來的第二、第三階段學習打下了良好的基礎。
第二篇:軟件編程規(guī)范總結
軟件編程規(guī)范總結
本規(guī)范的內容包括:基本原則、布局、注釋、命名規(guī)則、變量常量與類型、表達式與語句、函數(shù)與過程、可靠性、可測性、斷言與錯誤處理等。
一、基本原則
1.2.3.4.5.6.7.保持代碼的簡明清晰,避免過分的編程技巧。所有的代碼盡量遵循ANSI C標準。
編程時首先達到正確性,其次考慮效率。避免或少用全局變量。盡量避免使用GOTO語句。盡可能重用、修正老的代碼。盡量減少同樣的錯誤出現(xiàn)的次數(shù)。
二、文件布局
1.頭文件必須要避免重復包含。
2.包含標準庫頭文件用尖括號 <>,包含非標準庫頭文件用雙引號 “”。3.遵循統(tǒng)一的順序書寫類的定義及實現(xiàn)。類的定義(在定義文件中)按如下順序書寫:
公有屬性
公有函數(shù)
保護屬性
保護函數(shù)
私有屬性
私有函數(shù)
類的實現(xiàn)(在實現(xiàn)文件中)按如下順序書寫:
構造函數(shù)
析構函數(shù) 公有函數(shù) 保護函數(shù) 私有函數(shù)
4.程序中一行的代碼和注釋不能超過80列。5.定義指針類型的變量,*應放在變量前。
6.源程序中關系較為緊密的代碼應盡可能相鄰。iLength iWidth = 10;
= 5;// 矩形的長與寬關系較密切,放在一起。
StrCaption = “Test”;
7.禁止使用TAB鍵,必須使用空格進行縮進。縮進為4個空格。
8.程序的分界符‘{’和‘}’應獨占一行并且位于同一列,同時與引用它們的語句左對齊。{ }之內的代碼塊使用縮進規(guī)則對齊。
9.if、else、else if、for、while、do等語句自占一行,執(zhí)行語句不得緊跟其后。不論執(zhí)行語句有多少都要加 { }。
if(varible1 < varible2){
varible1 = varible2;}
10.11.聲明類的時候,public、protected、private關鍵字與分界符{} 對齊,這些部分的內容要進行縮進。
12.結構型的數(shù)組、多維的數(shù)組如果在定義時初始化,按照數(shù)組的矩陣結構分行書寫。13.相關的賦值語句等號對齊。
14.在switch語句中,每一個case分支和default要用{ }括起來,{ }中的內容需要縮進。
15.不同邏輯程序塊之間要使用空行分隔。16.一元操作符如“!”、“~”、“++”、“--”、“*”、“&”(地址運算符)等前后不加空格。“[]”、“.”、“->”這類操作符前后不加空格。
17.多元運算符和它們的操作數(shù)之間至少需要一個空格。18.關鍵字之后要留空格。(if、for、while等關鍵字之后應留一個空格再跟左括號‘(’,以突出關鍵字。)
19.函數(shù)名之后不要留空格。(函數(shù)名后緊跟左括號‘(’,以與關鍵字區(qū)別。)20.(’向后緊跟,‘)’、‘,’、‘;’向前緊跟,緊跟處不留空格?!?’之后要留空格。‘;’不是行結束符號時其后要留空格。
21.長表達式(超過80列)要在低優(yōu)先級操作符處拆分成新行,操作符放在新行之首(以便突出操作符)。拆分出的新行要進行適當?shù)目s進,使排版整齊。
22.函數(shù)聲明時,類型與名稱不允許分行書寫。
三、注釋
1.一般情況下,源程序有效注釋量必須在20%以上。2.注釋符與注釋內容之間要用一個空格進行分隔。
3.文件頭部必須進行注釋,包括:.h文件、.c文件、.cpp文件、.inc文件、.def文件、編譯說明文件.cfg等。
4.函數(shù)頭部應進行注釋,列出:函數(shù)的目的/功能、輸入參數(shù)、輸出參數(shù)、返回值、訪問和修改的表、修改信息等。
5.包含在{ }中代碼塊的結束處應加注釋,便于閱讀。特別是多分支、多重嵌套的條件語句或循環(huán)語句。
void Main(){
if(…){
… while(…)
{
…
} /* end of while(…)*/ …
} /* end of if(…)*/ // 指明是哪條語句結束 } /* end of void main()*/
// 指明函數(shù)的結束 // 指明該條while語句結束
6.保證代碼和注釋的一致性。修改代碼同時修改相應的注釋,不再有用的注釋要刪除。7.注釋應與其描述的代碼相近,對代碼的注釋應放在其上方或右方(對單條語句的注釋)相鄰位置,不可放在下面,如放于上方則需與其上面的代碼用空行隔開。
8.全局變量要有詳細的注釋,包括對其功能、取值范圍、訪問信息及訪問時注意事項等的說明。
9.注釋與所描述內容進行同樣的縮排。
10.對分支語句(條件分支、循環(huán)語句等)必須編寫注釋。11.盡量避免在注釋中使用縮寫,特別是不常用縮寫。
四、命名規(guī)則
1.標識符要采用英文單詞或其組合,便于記憶和閱讀,切忌使用漢語拼音來命名。嚴格禁止使用連續(xù)的下劃線,下劃線也不能出現(xiàn)在標識符頭或結尾(預編譯開關除外)。
2.程序中不要出現(xiàn)僅靠大小寫區(qū)分的相似的標識符。
3.用正確的反義詞組命名具有互斥意義的變量或相反動作的函數(shù)等。
4.宏、常量名都要使用大寫字母, 用下劃線 ‘_’分割單詞。預編譯開關的定義使用下劃線 ‘_’開始。
5.變量名長度應小于31個字符,以保持與ANSI C標準一致。不得取單個字符(如i、j、k等)作為變量名,但是局部循環(huán)變量除外。
6.程序中局部變量不要與全局變量重名。7.使用一致的前綴來區(qū)分變量的作用域。
g_
:全局變量 s_
:模塊內靜態(tài)變量
空:局部變量不加范圍前綴
8.使用一致的小寫類型指示符作為前綴來區(qū)分變量的類型。說明:常用變量類型前綴列表如下:
i
: int
f
: float d : double c
: char uc
: unsigned char 或 BYTE l : long p
: pointer b
: BOOL h : HANDLE w
: unsigned short 或 WORD dw : DWORD或 unsigned long a
:數(shù)組,array of TYPE str
:字符串 t :結構類型
9.完整的變量名應由前綴+變量名主體組成,變量名的主體應當使用“名詞”或者“形容詞+名詞”,且首字母必須大寫。
float g_fValue;10.函數(shù)名用大寫字母開頭的單詞組合而成,且應當使用“動詞”或者“動詞+名詞”(動賓詞組)。
11.結構名、聯(lián)合名、枚舉名由前綴T_ 開頭。事件名由前綴EV_ 開頭。12.標識符前最好不加項目、產品、部門的標識。
五、變量常量與類型
1.定義全局變量時必須仔細分析,明確其含義、作用、取值范圍及與其它全局變量間的關系。
2.明確全局變量與操作此全局變量的函數(shù)或過程的關系。3.一個變量有且只有一個功能,不能把一個變量用作多種用途。4.循環(huán)語句與判斷語句中,不允許對其它變量進行計算與賦值。5.宏定義中如果包含表達式或變量,表達式和變量必須用小括號括起來。6.使用宏定義多行語句時, 必須使用 { } 把這些語句括起來。
建議:
? 盡量構造僅有一個模塊或函數(shù)可以修改、創(chuàng)建的全局變量,而其余有關模塊或函數(shù)只能訪問。
? 對于全局變量通過統(tǒng)一的函數(shù)訪問。
? 盡量使用const說明常量數(shù)據(jù),對于宏定義的常數(shù),必須指出其類型。? 最好不要在語句塊內聲明局部變量。
7.結構和聯(lián)合必須被類型化。typedef struct {
char acName[NAME_SIZE];WORD wScore;} T_Student;
T_Student *ptStudent;
建議:
? 使用嚴格形式定義的、可移植的數(shù)據(jù)類型,盡量不要使用與具體硬件或軟件環(huán)境關系密切的變量。
? 結構是針對一種事務的抽象,功能要單一,不要設計面面俱到的數(shù)據(jù)結構。? 不同結構間的關系要盡量簡單,若兩個結構間關系較復雜、密切,那么應合為一個結構。
? 結構中元素的個數(shù)應適中。若結構中元素個數(shù)過多可考慮依據(jù)某種原則把元素組成不同的子結構,以減少原結構中元素的個數(shù)。
? 仔細設計結構中元素的布局與排列順序,使結構容易理解、節(jié)省占用空間,并減少引起誤用現(xiàn)象,對于結構中未用的位明確地給予保留。
? 結構的設計要盡量考慮向前兼容和以后的版本升級,并為某些未來可能的應用保留余地(如預留一些空間等)。
? 合理地設計數(shù)據(jù)并使用自定義數(shù)據(jù)類型,盡量減少沒有必要的數(shù)據(jù)類型默認轉換與強制轉換。
? 當聲明數(shù)據(jù)結構時,必須考慮機器的字節(jié)順序、使用的位域及字節(jié)對齊等問題。
六、表達式與語句
1.在表達式中使用括號,使表達式的運算順序更清晰。
if(((iYear % 4 == 0)&&(iYear % 100!= 0))||(iYear % 400 == 0))2.避免表達式中的附加功能,不要編寫太復雜的復合表達式。3.不可將浮點變量用“==”或“!=”與任何數(shù)字比較。
4.應當將指針變量用“==”或“!=”與NULL比較。
5.在switch語句中,每一個case分支必須使用break結尾,最后一個分支必須是default分支。
6.不可在for 循環(huán)體內修改循環(huán)變量,防止for 循環(huán)失去控制。
建議:
? 循環(huán)嵌套次數(shù)不大于3次。
? do while語句和while語句僅使用一個條件。? 當switch語句的分支比較多時,采用數(shù)據(jù)驅動方式。
如果循環(huán)體內存在邏輯判斷,并且循環(huán)次數(shù)很大,宜將邏輯判斷移到循環(huán)體的外面。
? for語句的循環(huán)控制變量的取值采用“半開半閉區(qū)間”寫法。? 在進行“==”比較時,將常量或常數(shù)放在“==”號的左邊。
七、參數(shù)
1.如果函數(shù)沒有參數(shù),則用void填充。
void SetValue(int iWidth, int iHeight);float GetValue(void);2.如果參數(shù)是指針,且僅作輸入用,則應在類型前加const。(防止該指針在函數(shù)體內被意外修改。)
3.當結構變量作為參數(shù)時,應傳送結構的指針而不傳送整個結構體,并且不得修改結構中的元素,用作輸出時除外。
4.不要省略返回值的類型,如果函數(shù)沒有返回值,那么應聲明為void類型。5.對于有返回值的函數(shù),每一個分支都必須有返回值。(為了保證對被調用函數(shù)返回值的判斷,有返回值的函數(shù)中的每一個退出點都需要有返回值)
6.對輸入參數(shù)的正確性和有效性進行檢查。7.防止將函數(shù)的參數(shù)作為工作變量。
void SumData(int iNum, int *piData, int *piSum){
int iCount;
int iSumTmp;// 存儲“和”的臨時變量
iSumTmp = 0;
for(iCount = 0;iCount < iNum;iCount++)
{
iSumTmp += piData[iCount];}
*piSum = iSumTmp;} 反例:
void SumData(int iNum, int *piData, int *piSum){
int iCount;
*piSum = 0;
for(iCount = 0;iCount < iNum;iCount++){
*piSum += piData[iCount];// piSum成了工作變量,不好。} }
8.必須對所調用函數(shù)的錯誤返回值進行處理。(函數(shù)返回錯誤,往往是因為輸入的參數(shù)不合法,或者此時系統(tǒng)已經出現(xiàn)了異常。如果不對錯誤返回值進行必要的處理,會導致錯誤的擴大,甚至導致系統(tǒng)的崩潰。)
八、可靠性
1.在程序編制之前,必須了解編譯系統(tǒng)的內存分配方式,特別是編譯系統(tǒng)對不同類型的變量的內存分配規(guī)則,如局部變量在何處分配、靜態(tài)變量在何處分配等。
2.防止內存操作越界。
3.必須對動態(tài)申請的內存做有效性檢查,并進行初始化;動態(tài)內存的釋放必須和分配成對以防止內存泄漏,釋放后內存指針置為NULL。
4.變量在使用前應初始化,防止未經初始化的變量被引用。5.指針類型變量必須初始化為NULL。6.指針不要進行復雜的邏輯或算術操作。
7.如果指針類型明確不會改變,應該強制為const類型的指針,以加強編譯器的檢查。8.減少指針和數(shù)據(jù)類型的強制類型轉化。9.移位操作一定要確定類型。
10.對變量進行賦值時,必須對其值進行合法性檢查,防止越界等現(xiàn)象發(fā)生。11.類中的屬性應聲明為private,用公有的函數(shù)訪問。
12.在編寫派生類的賦值函數(shù)時,注意不要忘記對基類的成員變量重新賦值。13.構造函數(shù)應完成簡單有效的功能,不應完成復雜的運算和大量的內存管理。14.不要在棧中分配類的實例,也不要生成全局類實例。
15.正確處理拷貝構造函數(shù)與賦值函數(shù)。
16.過程/函數(shù)中申請的(為打開文件而使用的)文件句柄,在過程/函數(shù)退出之前要關閉,除非要把這個句柄傳遞給其它函數(shù)使用。
九、可測試性
1.在同一項目組或產品組內,為準備集成測試和系統(tǒng)聯(lián)調,要有一套統(tǒng)一的調測開關及相應信息輸出函數(shù),并且要有詳細的說明。統(tǒng)一的調試接口和輸出函數(shù)由模塊設計和測試人員根據(jù)項目特性統(tǒng)一制訂,由項目系統(tǒng)人員統(tǒng)一納入系統(tǒng)設計中。
2.在同一個項目組或產品組內,調測打印出的信息串要有統(tǒng)一的格式。信息串中應當包含所在的模塊名(或源文件名)及行號等信息。
3.在編寫代碼之前,應預先設計好程序調試與測試的方法和手段,并設計好各種調測開關及相應測試代碼(如打印函數(shù)等)。
十、斷言與錯誤處理
1.整個軟件系統(tǒng)應該采用統(tǒng)一的斷言。如果系統(tǒng)不提供斷言,則應該自己構造一個統(tǒng)一的斷言供編程時使用。
2.使用斷言捕捉不應該發(fā)生的非法情況。不要混淆非法情況與錯誤情況之間的區(qū)別,后者是必然存在的并且是一定要作出處理的。
3.指向指針的指針及更多級的指針必須逐級檢查。4.對較復雜的斷言加上明確的注釋。
5.用斷言保證沒有定義的特性或功能不被使用。
6.用調測開關來切換軟件的DEBUG版和RELEASE版,而不要同時存在RELEASE版本和DEBUG版本的不同源文件,以減少維護的難度。
7.正式軟件產品中應把斷言及其它調測代碼去掉(即把有關的調測開關關掉)。8.在軟件系統(tǒng)中設置與取消有關測試手段,不能對軟件實現(xiàn)的功能等產生影響。9.用斷言來檢查程序正常運行時不應發(fā)生但在調測時有可能發(fā)生的非法情況。
第三篇:軟件編程書籍清單
軟件編程書籍·推薦清單
編程基礎:
1、linux程序設計(第四版)
--學習linux的基本程序設計
2、數(shù)據(jù)結構(C++描述)
--相關的C++版本數(shù)據(jù)結構均可,學習基本的鏈表、棧、隊列等基礎數(shù)據(jù)結構
3、C++程序設計(譚浩強)
--學習C++程序中類的基本設計,如果有C++基礎,就考慮看C++ primer4、C++ GUI Qt4編程
--學習圖形化界面程序的開發(fā)及使用QT庫
網絡基礎:
1、計算機網絡(謝希仁)
--學習應用程序如何通過網絡進行相互連通,主要看運輸層、網絡層
Tcp/ip
建議在學習的過程中,做一些小項目以鍛煉動手能力,可以考慮做一個局域網聊天室。
編程進階:
1、C++ primer
--深入理解C++程序設計
2、設計模式
--理解如何設計可復用、易維護的代碼
3、unix網絡編程
--理解如何構建高性能的網絡應用程序
4、深入理解計算機系統(tǒng)
--理解程序是如何運行的,如何構建高性能的應用程序
第四篇:java軟件編程培訓
最好的Java軟件編程培訓
西安雁塔尚學堂計算機學校創(chuàng)辦于2009年,是陜西省培養(yǎng)計算機實用性人才的學校,學校以“程序運行人生,快樂魔力學堂”的口號名揚陜西,并且開創(chuàng)了V教學法等軟件人才培養(yǎng)的模式先河。學校采用“理論+實踐”并行的教學方式,使學生在這兩者的結合中掌握一技之長,為社會培養(yǎng)和輸送了大量的高級軟件人才。
學校坐落于西安軟件園交大捷普大廈,環(huán)境優(yōu)美,更與國內外知名軟件企業(yè)毗鄰,人文氣息濃厚。學校擁有自己的網站和機房供學生進行軟件開發(fā)、設計等課程的實踐。同時學校也是西安工業(yè)大學計算機與工程學院、陜西國際商貿學院、西安財經學院統(tǒng)計學院、陜西科技大學理學院、楊陵職業(yè)技術學 院等大學的實習就業(yè)項訓基地。
開設課程軟件編程培訓,android高級課程,iphone高級課程
招生對象
1.iPhone培訓課程面向希望把握歷史性機遇,希望成為iPhone手機軟件開發(fā)的緊缺人才。
2.計算機相關專業(yè)、大專以及以上學歷。
3.本課程同樣適用于希望了解iPhone手機軟件開發(fā),為未來業(yè)務轉型奠定基礎的企業(yè)技術團隊。
免費復訓 + 企業(yè)進階課程 + 終身輔導
我們?yōu)閷W員專門開設QQ群、技術博客、微博等,學員到企業(yè)之后,如在技術和職業(yè)方向遇到任何瓶頸,都可以向導師請教。我們保持對行業(yè)和技術的高度敏感,不斷優(yōu)化和豐富課程內容,這些新技術畢業(yè)學員都可以免費學習,同時定期舉辦的技術講座和活動,也是對學員免費開放的。
第五篇:編程語言學習心得
程序語言學習的總結
通過兩年的學習,我們基本上掌握了C語言,C++和C#三個編程課程。對于程序設計語言的學習,分為學習語法規(guī)定、掌握程序設計方法、提高程序開發(fā)能力,這些都必須通過充分的實際上機操作才能完成。課程上的安排除了課堂講授以外,學院設有專門課堂到實驗室進行上機操作實驗。
要利用c語言學到的知識編寫c語言程序,即把c語言作為工具,通過上機才能檢驗自己是否掌握c語言、自己編寫的程序是否能夠正確地解題。通過上機實驗來驗證自己編制的程序是否正確。在這種思想支配下,可能你會想辦法去“掩蓋”程序中的錯誤,而不是盡可能多地發(fā)現(xiàn)程序中存在的問題。自己編好程序上機調試運行時,可能有很多你想不到的情況發(fā)生,通過解決這些問題,可以逐步提高自己對c語言的理解和程序開發(fā)能力。
在原有的C語言的基礎知識之上,初步接觸C++時感到比較簡單易懂。但隨著之后的步步深入學習,C++的不同之處以及其優(yōu)勢逐。從第二章引入了C++簡單程序的設計。包括一些C++語言的概述,基本數(shù)據(jù)類型和表達式,數(shù)據(jù)的輸入與輸出,算法的基本東芝結構,以及自定義類型數(shù)據(jù)等知識。此部分多與C語言相似。之后又學習了函數(shù)的相關內容,這里學到了新的知識要點----函數(shù)重載。該內容尤其在現(xiàn)在做課程設計的時候尤為重要。類是C++語言的精華之所在,在學習中,我感覺到類和C語言中的結構體有很大的相似之處,但在類中的構造函數(shù)、拷貝構造函數(shù)以及類的組合,經常弄混淆一些概念。在這之后又學習了類的繼承與派生。這使得類與類之間形成了樹狀圖的模型,各子類可以訪問到父類的一些數(shù)據(jù)成員,同樣也實現(xiàn)了數(shù)據(jù)的之間的“共享”。我個人在編寫派生類的構造函數(shù)和拷貝構造函數(shù)時,感覺很不熟練,后面章節(jié)的多態(tài)性主要學習了運算符的重載,其本質就是函數(shù)的重載。
在學習C#中,類是具有相同特性和行為的對象的抽象。它使用關鍵字class聲明的。在c#中僅允許單個繼承,類只能從一個基類繼承實現(xiàn)。但是一個類可以實現(xiàn)一個以上的接口。對象是人們要進行研究的任何事物,從最簡單的整數(shù)到復雜的飛機等局可以看對象,它不僅表示具體的事物,還能表示抽象的規(guī)則、計劃或者事件。接口只是包含方法、委托或事件的簽名。方法的實現(xiàn)是在實現(xiàn)接口的類中完成的。接口可以是命名空間或類的成員,并可以包含下列成員:每個C#可執(zhí)行文件都有一個入口—Main方法:static void Main()修飾符public表示可以在任何地方訪問該方法。所以可以在類的外部調用它。修飾符static表示方法不能在類的實例上執(zhí)行,因此不必先實例化類在調用。在變量聲明時:變量是類或者結構中的字段,如果沒有顯示初始化,創(chuàng)建這些變量時,其值就是默認的0。變量是方法的局部變量就必須在代碼中顯示初始化,之后才能在語句中使用它們的值。
課堂上要講授許多關于語法規(guī)則,要使用這些工具解決問題,通過多次上機練習,對于語法知識有了更深刻的認識,在理解的基礎上就會自然而然地掌握。一個程序從編輯、編譯、連接到運行,都要在一定的外部操作環(huán)境下才能進行。通過上機實驗,熟練地掌握開發(fā)環(huán)境,為以后真正編寫計算機程序解決實際問題打下基礎。