計算機軟件應用原理與網絡開發原理課件_第1頁
計算機軟件應用原理與網絡開發原理課件_第2頁
計算機軟件應用原理與網絡開發原理課件_第3頁
計算機軟件應用原理與網絡開發原理課件_第4頁
計算機軟件應用原理與網絡開發原理課件_第5頁
已閱讀5頁,還剩87頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

一、計算機軟件與程序設計

二、數據庫原理與應用

三、計算機網絡原理與開發

第三章軟件技術基礎一、計算機軟件與程序設計第三章軟件技術基礎1一、計算機軟件與程序設計

1、軟件與程序員的若干問題

2、編程語言的選擇3、Windows環境下的軟件開發4、基本編程技術與技巧第三章軟件技術基礎一、計算機軟件與程序設計第三章軟件技術基礎21、軟件與程序員的若干問題什么是軟件軟件開發策略軟件開發方式程序員基本素質與任務程序員的思維方式程序員的發展之路第三章軟件技術基礎1、軟件與程序員的若干問題第三章軟件技術基礎31、軟件與程序員的若干問題什么是軟件第三章軟件技術基礎程序數據結構文檔軟件是開發還是制造?軟件會磨損嗎?軟件能組裝嗎?作用:管理用戶的計算機資源提供利用這些資源的工具充當用戶和信息之間的中介1、軟件與程序員的若干問題第三章軟件技術基礎程序數據結構文4硬件故障曲線軟件故障曲線硬件故障曲線軟件故障曲線5第三章軟件技術基礎1、軟件與程序員的若干問題什么是軟件軟件的應用范圍系統軟件實時軟件科學計算商業、行政管理——MIS嵌入式軟件個人軟件WEB應用人工智能第三章軟件技術基礎1、軟件與程序員的若干問題軟件的應用范圍6計算機硬件操作系統:Windows/UNIX/Linux應用軟件:程序設計語言、辦公軟件信息系統應用軟件的分類計算機硬件操作系統:Windows/UNIX/Linux應用7第三章軟件技術基礎1、軟件與程序員的若干問題軟件開發策略自主開發委托開發合作開發商業軟件軟件開發方式第三章軟件技術基礎1、軟件與程序員的若干問題自主開發軟件開8自主開發適合于有較強的管理信息系統分析與設計隊伍和程序設計人員、系統維護使用隊伍的組織和單位,如高等院校、研究所、計算機公司、等單位。獨立開發的優點是開發費用少,實現開發后的系統能夠適應本單位的需求且滿意度較高,系統維護方便。缺點是由于不是專業開發隊伍,容易受計算機業務工作的限制,系統優化不夠,開發水平較低。自主開發9委托開發適合于使用單位無管理信息系統分析、設計及軟件開發人員或開發隊伍力量較弱、但資金較為充足的組織和單位。優點是省時、省事,系統的技術水平較高。缺點是費用高、系統維護需要開發單位的長期支持。此種方式需要使用單位的業務骨干參與系統的論證工作,開發過程中,需要開發單位和使用單位雙方及時溝通,進行協調和檢查。委托開發10合作開發適合于使用單位有一定的管理信息系統分析、設計及軟件開發人員,但開發隊伍力量較弱,希望通過管理信息系統的開發建立完善和提高自己的技術隊伍,便于系統維護工作的單位。雙方共同開發成果,實際上是一種半委托性質的開發工作。優點是相對于委托開發方式比較節約資金,可以培養、增強使用單位的技術力量,便于系統維護工作,系統的技術水平較高。缺點是雙方在合作中溝通易出現問題,需要雙方及時達成共識,進行協調和檢查。合作開發11購買商業軟件軟件的開發正在向專業化方向發展,一些專門從事管理信息系統開發的公司已經開發出一批使用方便、功能強大的專項業務管理信息系統軟件。為了避免重復勞動,提高系統開發的經濟效益,也可以購買現成的適合于本單位業務的管理信息系統軟件,如企業管理信息系統、教育管理信息系統、財務管理系統、進銷存管理系統等等。優點是節省時間的費用、系統技術水平高。缺點是通用軟件專用性較差,跟本單位的實際工作需要可能有一定的差距,有時可能需要做二次開發工作。購買商業軟件12方式特點比較獨立開發委托開發合作開發購買現成軟件分析和設計能力的要求較高一般逐漸培養較低編程能力的要求較高不需要需要較低系統維護的難易程度容易較困難較容易較困難開發費用少多較少較少說明開發時間較長,系統適合本單位,培養了自己的開發人員。省事,開發費用高。開發出的系統便于維護。最省事,但不一定完全適合本單位。幾種開發方式有各自的長處和短處,需要根據使用單位的實際情況進行選擇,也可綜合運用各種開發方式。方式獨立開發委托開發合作開發購買現成軟件分析和設13第三章軟件技術基礎1、軟件與程序員的若干問題軟件開發方式?第三章軟件技術基礎1、軟件與程序員的若干問題14中國特色:軟件英雄與軟件作坊WPS2.13KV100-300中文之星希望漢字系統求伯君吳曉軍王江民王志東鮑岳橋核心技術——在一個人手中?中國特色:軟件英雄與軟件作坊WPS求伯君核心技術——在一個人15第三章軟件技術基礎1、軟件與程序員的若干問題軟件開發方式——軟件工程項目經理系統分析員程序員數據庫管理員文檔管理員第三章軟件技術基礎1、軟件與程序員的若干問題項目經理16第三章軟件技術基礎1、軟件與程序員的若干問題程序員主要素質與工作任務計劃規范質量控制過程改進第三章軟件技術基礎1、軟件與程序員的若干問題計劃17任務頻度時間聽課周一、周三每周200閱讀教材

作業

編寫程序

準備考試

計劃:你能保證按此計劃完成嗎?哪些因素可能影響計劃?如何避免?任務頻度時間聽課周一、周三每周200閱讀教材

作業

編寫18定義質量目標測量質量分析過程調整過程應用調整后的過程測量質量與目標比較定義質量目標測量質量分析過程調整過程應用調整后的過程測量質量19第三章軟件技術基礎1、軟件與程序員的若干問題程序員的發展第三章軟件技術基礎1、軟件與程序員的若干問題20雷軍:金山公司CEO紅色正版風暴策劃者BlakeStone:Borland前CTOJbuilderArchitect雷軍:金山公司CEOBlakeStone:Borland前21第三章軟件技術基礎2、編程語言的選擇編程語言的分類低級語言高級語言機器語言匯編語言BasicC/C++PascalJava…第三章軟件技術基礎2、編程語言的選擇低級語言機器語言Bas22第一代語言 1940s/機器語言/學習和使用都非常困難/指令很長/依賴于機器第二代語言 1950s/匯編語言/代碼比機器語言短/依賴于機器第三代語言 1950s/類似英語語言/面向問題的/學習和使用比較簡單第四代語言 1980s/與英語非常接近/有許多預編程的函數/易于學習和使用第一代語言231940195019601970198019902002機器語言匯編語言FORTRANCOBOLBASICCLotus1-2-3dBASESQLVisualBasic19401950196024第三章軟件技術基礎2、編程語言的選擇編程語言的共性順序結構分支結構循環結構第三章軟件技術基礎2、編程語言的選擇順序結構25第三章軟件技術基礎2、編程語言的選擇語言學習的基本過程語言工具的熟悉與使用利用平臺提供的接口進行開發對平臺本身的了解深入了解平臺能對軟件整體架構進行剖析用計算機的方式思考參考書?第三章軟件技術基礎2、編程語言的選擇26第三章軟件技術基礎2、編程語言的選擇主要語言與開發工具的比較語言與開發工具的關系?IDE,Framework以及RADVisualBasic(VisualBasic)–ODBC,ADO->Tool,數據庫VisualC++(C/C++-MFC)–ODBC,ADO->系統,GameC++Builder(C/C++-VCL)–BDE,ADO,DBExpress->Tool,系統,數據庫Delphi(OP-VCL)–BDE,ADO,DBExpress->系統,數據庫JBuilder(Java–JDK類庫)–JDBC->開發跨平臺應用PowerBuilder(PowerScript-PFC)->數據庫應用為主第三章軟件技術基礎2、編程語言的選擇27第三章軟件技術基礎2、編程語言的選擇聰明的程序員——語言的選擇源自目的自定義自己的開發平臺:IDE環境/工具組合學習和適應團隊開發方式、開發語言與工具不斷學習與提高第三章軟件技術基礎2、編程語言的選擇28第三章軟件技術基礎3、Windows環境下的軟件開發消息機制與事件驅動模型第三章軟件技術基礎3、Windows環境下的軟件開發29計算機軟件應用原理與網絡開發原理課件30計算機軟件應用原理與網絡開發原理課件31計算機軟件應用原理與網絡開發原理課件32第三章軟件技術基礎3、Windows環境下的軟件開發事件委托模型——RADFrameworkFrameworkMessageLoopDispatchUserCodeClassEventHandle1EventHandle2MessageMap…MessageQueue第三章軟件技術基礎3、Windows環境下的軟件開發Fra33第三章軟件技術基礎4、基本編程技術與技巧開放性思維編碼規范代碼重用調試經驗積累第三章軟件技術基礎4、基本編程技術與技巧34第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼命名規范避免關鍵字前綴,大小寫與匈牙利命名法,g_,m_,s_,公司或功能標記有意義,簡單的名詞作變量名(或形+名),動詞作函數名Min-Length&&Max-Information原則可發音的名字通用性,英文避免歧義與誤識別的字母,如pertList,I與l與1直觀的布爾類型,如isEmpty常量用大寫文件名與小組成員協商制作共同的命名規范第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼35第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼數據類型避免浮點類型——效率與精度,int類型是最有效率的了解語言的類型兼容性強類型語言C++/C#/Java弱類型語言VB/VBScript/JavaScript/PHP/Perl有符號類型與無符號類型——255還是-1?chara=255;if(a==255)?顯式類型轉換類型轉換會不會丟失數據?第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼36C/C++——判斷一個數是否為零?布爾型(C++)整型數浮點數指針if(a==1)if(a==TRUE)if(a==0)if(a==FALSE)if(a)if(!a)if(a)if(!a)if(a==1)if(!a==0)if(a==1)if(a==TRUE)if(a==0)if(a==FALSE)if((a>=-)&&(a<=))if(a)if(a==1)if(a!=0)if(!a)if(a!=NULL)if(a==NULL)C/C++——判斷一個數是否為零?if(a==1)if(a)37第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼了解語言操作符的優先級如C/C++:()[]->.!~++--sizeof*/%+-<<>><<=>>===!=&^|&&||?:=+=-=*=/=%=&=^=|=<<=>>=盡可能的使用括號第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼38第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼函數避免參數過多唯一出口原則?用函數取代常用的代碼段進入時初始化,退出時清理第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼39第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼內存與指針malloc與free,new與delete成對使用(并非數量上的成對,而是邏輯上的)誰分配,誰釋放,否則必則在文檔嚴格說明指針指向的內存被釋放后,應復位其值為NULLC/C++:為字符串結束符占用的空間分配內存對地址操作一定要小心,因為和機器和硬件相關,可能造成移植性的問題和難以檢查的錯誤。如:高低位字節,對齊方式等第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼40第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼效率循環語句——多重循環的分配循環語句——與判斷語句的配合for(i=0;i<iTotal;i++){if(condition)DoSomeThing();ElseDoOtherThing();}goto的合理使用循環體內不要定義變量常用或大尺寸的數據設為全局變量(有爭議)或常量傳址與引用延遲執行(如磁盤寫緩沖區)80-20原則if(condition){for(i=0;i<iTotal;i++)DoSomeThing();}Else{for(i=0;i<iTotal;i++)DoOtherThing();}第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼if(41第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼代碼風格縮進成對原則——先封兩頭,再寫中間空格與空行intiCnt;unsignedintiTotal;floatfProgress;代碼長度與模塊化100行還是goto注釋,戰略性與戰術性不要在一行放多條語句,過長語句要分行+縮進過于復雜的語句分解為幾條第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼42如何寫注釋每個文件頭部寫明本文件的原始文件名,主要功能及包含內容及使用方法,作者,更新日期及更新歷史每個函數前面寫明該函數的主要功能,調用方法,參數及返回值,注意事項(如傳值還是傳址,由誰分配和釋放內存等)重要的語句后加上有助于理解的說明,而非代碼的重復沒必要時注釋不要獨占一行代碼與注釋緊密聯系,同步更新不要與代碼的某些無關特征有關聯,防止變動中產生不一致如:if(iAttempts>3)//不允許超過3次的嘗試建議改為if(iAttempts>3)//限制嘗試次數在調試中利用注釋功能如何寫注釋43第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼代碼規范制定與審查制定公司編碼規范規范學習與培訓代碼規范階段審查第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼44正確看待編程技巧對于大型的難以維護的系統,在優化算法和升級硬件的選擇上,后者是更為穩妥的方法不要以程序的短小或運行的效率來顯示自己的水平,可讀性是第一位的不要依賴編譯器的某些特點以及未明確未定義的功能同樣,不要依賴操作系統中某些未公開的功能使用常用和公認的算法,除非與小組成員進行交流用戶需要的是體貼的功能,不是花哨的界面不要強迫用戶——為什么3721的程序員被認為是“敗類”相信編譯器的優化功能:a>>=2;與a/=4;的可讀性?正確看待編程技巧45作業小組討論選擇一個要開發的系統方向設計調查方案,了解該系統需求結合小組成員情況進行分工和選擇開發平臺制定共同遵守的編碼規范參考上課筆記華為編碼規范《高質量程序設計指南—C/C++語言》林銳電子工業出版社作業小組討論選擇一個要開發的系統方向46一、計算機軟件與程序設計

二、數據庫原理與應用

三、計算機網絡原理與開發

第三章軟件技術基礎一、計算機軟件與程序設計第三章軟件技術基礎47一、計算機軟件與程序設計

1、軟件與程序員的若干問題

2、編程語言的選擇3、Windows環境下的軟件開發4、基本編程技術與技巧第三章軟件技術基礎一、計算機軟件與程序設計第三章軟件技術基礎481、軟件與程序員的若干問題什么是軟件軟件開發策略軟件開發方式程序員基本素質與任務程序員的思維方式程序員的發展之路第三章軟件技術基礎1、軟件與程序員的若干問題第三章軟件技術基礎491、軟件與程序員的若干問題什么是軟件第三章軟件技術基礎程序數據結構文檔軟件是開發還是制造?軟件會磨損嗎?軟件能組裝嗎?作用:管理用戶的計算機資源提供利用這些資源的工具充當用戶和信息之間的中介1、軟件與程序員的若干問題第三章軟件技術基礎程序數據結構文50硬件故障曲線軟件故障曲線硬件故障曲線軟件故障曲線51第三章軟件技術基礎1、軟件與程序員的若干問題什么是軟件軟件的應用范圍系統軟件實時軟件科學計算商業、行政管理——MIS嵌入式軟件個人軟件WEB應用人工智能第三章軟件技術基礎1、軟件與程序員的若干問題軟件的應用范圍52計算機硬件操作系統:Windows/UNIX/Linux應用軟件:程序設計語言、辦公軟件信息系統應用軟件的分類計算機硬件操作系統:Windows/UNIX/Linux應用53第三章軟件技術基礎1、軟件與程序員的若干問題軟件開發策略自主開發委托開發合作開發商業軟件軟件開發方式第三章軟件技術基礎1、軟件與程序員的若干問題自主開發軟件開54自主開發適合于有較強的管理信息系統分析與設計隊伍和程序設計人員、系統維護使用隊伍的組織和單位,如高等院校、研究所、計算機公司、等單位。獨立開發的優點是開發費用少,實現開發后的系統能夠適應本單位的需求且滿意度較高,系統維護方便。缺點是由于不是專業開發隊伍,容易受計算機業務工作的限制,系統優化不夠,開發水平較低。自主開發55委托開發適合于使用單位無管理信息系統分析、設計及軟件開發人員或開發隊伍力量較弱、但資金較為充足的組織和單位。優點是省時、省事,系統的技術水平較高。缺點是費用高、系統維護需要開發單位的長期支持。此種方式需要使用單位的業務骨干參與系統的論證工作,開發過程中,需要開發單位和使用單位雙方及時溝通,進行協調和檢查。委托開發56合作開發適合于使用單位有一定的管理信息系統分析、設計及軟件開發人員,但開發隊伍力量較弱,希望通過管理信息系統的開發建立完善和提高自己的技術隊伍,便于系統維護工作的單位。雙方共同開發成果,實際上是一種半委托性質的開發工作。優點是相對于委托開發方式比較節約資金,可以培養、增強使用單位的技術力量,便于系統維護工作,系統的技術水平較高。缺點是雙方在合作中溝通易出現問題,需要雙方及時達成共識,進行協調和檢查。合作開發57購買商業軟件軟件的開發正在向專業化方向發展,一些專門從事管理信息系統開發的公司已經開發出一批使用方便、功能強大的專項業務管理信息系統軟件。為了避免重復勞動,提高系統開發的經濟效益,也可以購買現成的適合于本單位業務的管理信息系統軟件,如企業管理信息系統、教育管理信息系統、財務管理系統、進銷存管理系統等等。優點是節省時間的費用、系統技術水平高。缺點是通用軟件專用性較差,跟本單位的實際工作需要可能有一定的差距,有時可能需要做二次開發工作。購買商業軟件58方式特點比較獨立開發委托開發合作開發購買現成軟件分析和設計能力的要求較高一般逐漸培養較低編程能力的要求較高不需要需要較低系統維護的難易程度容易較困難較容易較困難開發費用少多較少較少說明開發時間較長,系統適合本單位,培養了自己的開發人員。省事,開發費用高。開發出的系統便于維護。最省事,但不一定完全適合本單位。幾種開發方式有各自的長處和短處,需要根據使用單位的實際情況進行選擇,也可綜合運用各種開發方式。方式獨立開發委托開發合作開發購買現成軟件分析和設59第三章軟件技術基礎1、軟件與程序員的若干問題軟件開發方式?第三章軟件技術基礎1、軟件與程序員的若干問題60中國特色:軟件英雄與軟件作坊WPS2.13KV100-300中文之星希望漢字系統求伯君吳曉軍王江民王志東鮑岳橋核心技術——在一個人手中?中國特色:軟件英雄與軟件作坊WPS求伯君核心技術——在一個人61第三章軟件技術基礎1、軟件與程序員的若干問題軟件開發方式——軟件工程項目經理系統分析員程序員數據庫管理員文檔管理員第三章軟件技術基礎1、軟件與程序員的若干問題項目經理62第三章軟件技術基礎1、軟件與程序員的若干問題程序員主要素質與工作任務計劃規范質量控制過程改進第三章軟件技術基礎1、軟件與程序員的若干問題計劃63任務頻度時間聽課周一、周三每周200閱讀教材

作業

編寫程序

準備考試

計劃:你能保證按此計劃完成嗎?哪些因素可能影響計劃?如何避免?任務頻度時間聽課周一、周三每周200閱讀教材

作業

編寫64定義質量目標測量質量分析過程調整過程應用調整后的過程測量質量與目標比較定義質量目標測量質量分析過程調整過程應用調整后的過程測量質量65第三章軟件技術基礎1、軟件與程序員的若干問題程序員的發展第三章軟件技術基礎1、軟件與程序員的若干問題66雷軍:金山公司CEO紅色正版風暴策劃者BlakeStone:Borland前CTOJbuilderArchitect雷軍:金山公司CEOBlakeStone:Borland前67第三章軟件技術基礎2、編程語言的選擇編程語言的分類低級語言高級語言機器語言匯編語言BasicC/C++PascalJava…第三章軟件技術基礎2、編程語言的選擇低級語言機器語言Bas68第一代語言 1940s/機器語言/學習和使用都非常困難/指令很長/依賴于機器第二代語言 1950s/匯編語言/代碼比機器語言短/依賴于機器第三代語言 1950s/類似英語語言/面向問題的/學習和使用比較簡單第四代語言 1980s/與英語非常接近/有許多預編程的函數/易于學習和使用第一代語言691940195019601970198019902002機器語言匯編語言FORTRANCOBOLBASICCLotus1-2-3dBASESQLVisualBasic19401950196070第三章軟件技術基礎2、編程語言的選擇編程語言的共性順序結構分支結構循環結構第三章軟件技術基礎2、編程語言的選擇順序結構71第三章軟件技術基礎2、編程語言的選擇語言學習的基本過程語言工具的熟悉與使用利用平臺提供的接口進行開發對平臺本身的了解深入了解平臺能對軟件整體架構進行剖析用計算機的方式思考參考書?第三章軟件技術基礎2、編程語言的選擇72第三章軟件技術基礎2、編程語言的選擇主要語言與開發工具的比較語言與開發工具的關系?IDE,Framework以及RADVisualBasic(VisualBasic)–ODBC,ADO->Tool,數據庫VisualC++(C/C++-MFC)–ODBC,ADO->系統,GameC++Builder(C/C++-VCL)–BDE,ADO,DBExpress->Tool,系統,數據庫Delphi(OP-VCL)–BDE,ADO,DBExpress->系統,數據庫JBuilder(Java–JDK類庫)–JDBC->開發跨平臺應用PowerBuilder(PowerScript-PFC)->數據庫應用為主第三章軟件技術基礎2、編程語言的選擇73第三章軟件技術基礎2、編程語言的選擇聰明的程序員——語言的選擇源自目的自定義自己的開發平臺:IDE環境/工具組合學習和適應團隊開發方式、開發語言與工具不斷學習與提高第三章軟件技術基礎2、編程語言的選擇74第三章軟件技術基礎3、Windows環境下的軟件開發消息機制與事件驅動模型第三章軟件技術基礎3、Windows環境下的軟件開發75計算機軟件應用原理與網絡開發原理課件76計算機軟件應用原理與網絡開發原理課件77計算機軟件應用原理與網絡開發原理課件78第三章軟件技術基礎3、Windows環境下的軟件開發事件委托模型——RADFrameworkFrameworkMessageLoopDispatchUserCodeClassEventHandle1EventHandle2MessageMap…MessageQueue第三章軟件技術基礎3、Windows環境下的軟件開發Fra79第三章軟件技術基礎4、基本編程技術與技巧開放性思維編碼規范代碼重用調試經驗積累第三章軟件技術基礎4、基本編程技術與技巧80第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼命名規范避免關鍵字前綴,大小寫與匈牙利命名法,g_,m_,s_,公司或功能標記有意義,簡單的名詞作變量名(或形+名),動詞作函數名Min-Length&&Max-Information原則可發音的名字通用性,英文避免歧義與誤識別的字母,如pertList,I與l與1直觀的布爾類型,如isEmpty常量用大寫文件名與小組成員協商制作共同的命名規范第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼81第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼數據類型避免浮點類型——效率與精度,int類型是最有效率的了解語言的類型兼容性強類型語言C++/C#/Java弱類型語言VB/VBScript/JavaScript/PHP/Perl有符號類型與無符號類型——255還是-1?chara=255;if(a==255)?顯式類型轉換類型轉換會不會丟失數據?第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼82C/C++——判斷一個數是否為零?布爾型(C++)整型數浮點數指針if(a==1)if(a==TRUE)if(a==0)if(a==FALSE)if(a)if(!a)if(a)if(!a)if(a==1)if(!a==0)if(a==1)if(a==TRUE)if(a==0)if(a==FALSE)if((a>=-)&&(a<=))if(a)if(a==1)if(a!=0)if(!a)if(a!=NULL)if(a==NULL)C/C++——判斷一個數是否為零?if(a==1)if(a)83第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼了解語言操作符的優先級如C/C++:()[]->.!~++--sizeof*/%+-<<>><<=>>===!=&^|&&||?:=+=-=*=/=%=&=^=|=<<=>>=盡可能的使用括號第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼84第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼函數避免參數過多唯一出口原則?用函數取代常用的代碼段進入時初始化,退出時清理第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼85第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼內存與指針malloc與free,new與delete成對使用(并非數量上的成對,而是邏輯上的)誰分配,誰釋放,否則必則在文檔嚴格說明指針指向的內存被釋放后,應復位其值為NULLC/C++:為字符串結束符占用的空間分配內存對地址操作一定要小心,因為和機器和硬件相關,可能造成移植性的問題和難以檢查的錯誤。如:高低位字節,對齊方式等第三章軟件技術基礎4、基本編程技術與技巧-規范的代碼86第三章軟件技術基

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論