1_課程介紹和C++概述

上傳人:gui****hi 文檔編號(hào):185913145 上傳時(shí)間:2023-02-06 格式:PPTX 頁(yè)數(shù):63 大?。?42.96KB
收藏 版權(quán)申訴 舉報(bào) 下載
1_課程介紹和C++概述_第1頁(yè)
第1頁(yè) / 共63頁(yè)
1_課程介紹和C++概述_第2頁(yè)
第2頁(yè) / 共63頁(yè)
1_課程介紹和C++概述_第3頁(yè)
第3頁(yè) / 共63頁(yè)

下載文檔到電腦,查找使用更方便

16 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《1_課程介紹和C++概述》由會(huì)員分享,可在線閱讀,更多相關(guān)《1_課程介紹和C++概述(63頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、程序設(shè)計(jì)實(shí)習(xí)程序設(shè)計(jì)實(shí)習(xí)授課教師授課教師:李:李文新文新,余華山余華山,田永鴻田永鴻,郭煒郭煒,汪洋汪洋,劉家瑛劉家瑛余華山辦公電話:62754248E-Mail:答疑安排:地點(diǎn):理科1號(hào)樓1806時(shí)間:雙周下午7-8節(jié)課上課時(shí)間程序設(shè)計(jì)實(shí)習(xí)程序設(shè)計(jì)實(shí)習(xí)第一講 課程介紹和C+概述第一講內(nèi)容提要第一講內(nèi)容提要l課程相關(guān)信息l注意培養(yǎng)良好的編程習(xí)慣和代碼風(fēng)格lC+程序設(shè)計(jì)概述課程相關(guān)信息課程相關(guān)信息l課程定位l課程內(nèi)容l授課方式l成績(jī)?cè)u(píng)定l教材l進(jìn)度安排l課程網(wǎng)頁(yè)信息學(xué)院課程體系圖信息學(xué)院課程體系圖課程內(nèi)容和目標(biāo)課程內(nèi)容和目標(biāo)1.學(xué)習(xí)用 C+語(yǔ)言編程 基本概念(類、對(duì)象、數(shù)據(jù)抽象、重載、繼承、虛函

2、數(shù)、多態(tài)等)及其語(yǔ)法實(shí)現(xiàn)。C+程序基本構(gòu)成、輸入輸出流及文件處理、模板、字符串處理、文件處理及標(biāo)準(zhǔn)模板庫(kù)等。2.掌握Dev C+/Visual Studio編程環(huán)境能夠使用該環(huán)境進(jìn)行基于控制臺(tái)輸入輸出及文件輸入輸出的C及C+程序的源代碼編輯、編譯連接、調(diào)試和運(yùn)行3.鞏固和增強(qiáng)程序設(shè)計(jì)和代碼實(shí)現(xiàn)能力過(guò)程和數(shù)據(jù)抽象的能力枚舉和遞歸的求解方法分而治之的思想授課方式授課方式1.課上講授、練習(xí)、討論及測(cè)驗(yàn)2.復(fù)習(xí)、自學(xué)和書面作業(yè)3.上機(jī)實(shí)習(xí)和上機(jī)作業(yè)4.期末上機(jī)考試及筆試成績(jī)?cè)u(píng)定初步方案成績(jī)?cè)u(píng)定初步方案1.期末考試:上機(jī)考試、筆試A卷、筆試B卷2.平時(shí)作業(yè)成績(jī):平時(shí)作業(yè)成績(jī)與B卷成績(jī)加權(quán)3.課堂表現(xiàn)4.

3、同學(xué)之間、學(xué)生和老師助教之間的交互5.5月份ACM校內(nèi)賽表現(xiàn)教材教材 程序設(shè)計(jì)導(dǎo)引及在線實(shí)踐 C+大學(xué)教程(第二版)Harvey M.Deitel Paul James Deitel 邱仲潘 等譯 馮平 審校 電子工業(yè)出版社 2004進(jìn)度安排(暫定)進(jìn)度安排(暫定)l第一講 課程介紹和C+程序設(shè)計(jì)概述l第二講 類和對(duì)象(1/2)l第三講 類和對(duì)象(2/2)l第四講 運(yùn)算符重載l第五講 繼承l(wèi)第六講 多態(tài)l第七講 輸入輸出流和文件操作l第八講 類模板、函數(shù)模板和string類l第九講 標(biāo)準(zhǔn)模板庫(kù)(1/3)l第十講 標(biāo)準(zhǔn)模板庫(kù)(2/3)進(jìn)度安排(暫定)進(jìn)度安排(暫定)第十一講 標(biāo)準(zhǔn)模板庫(kù)(3/3)

4、第十二講 C+小結(jié)與習(xí)題評(píng)講第十三講 高精度計(jì)算第十四講 枚舉第十五講 遞歸第十六講 深度優(yōu)先搜索第十七講 廣度優(yōu)先搜索第十八講 方程求解第十九講 動(dòng)態(tài)規(guī)劃第二十講 動(dòng)態(tài)規(guī)劃第二十一講 課程總結(jié)、習(xí)題評(píng)講課程網(wǎng)頁(yè)課程網(wǎng)頁(yè)l北大教學(xué)網(wǎng)北大教學(xué)網(wǎng)http:/內(nèi)容提要內(nèi)容提要l課程相關(guān)信息l注意培養(yǎng)良好的編程習(xí)慣和代碼風(fēng)格lC+程序設(shè)計(jì)概述如何評(píng)判一個(gè)程序是否好?如何評(píng)判一個(gè)程序是否好?l運(yùn)行結(jié)果正確(編寫了一個(gè)程序編寫了一個(gè)程序)l運(yùn)行速度快、使用的存儲(chǔ)空間小(編寫了一編寫了一個(gè)有用的個(gè)有用的程序程序)l程序簡(jiǎn)潔,代碼量少(編寫了一個(gè)編寫了一個(gè)易移植、修改的易移植、修改的程序程序)l能使用編程環(huán)境

5、提供的函數(shù)時(shí),盡量使用這些函數(shù)l不要在程序中編碼實(shí)現(xiàn)編程環(huán)境提供函數(shù)的功能l結(jié)構(gòu)清晰:相同的功能,不要重復(fù)編碼;每個(gè)函數(shù)不要太復(fù)雜,比如不超過(guò)100行代碼;循環(huán)、條件判斷等不要嵌套太深,比如不超過(guò)3層;l可讀性好:變量、函數(shù)等符號(hào)的命名都是有意義的(編寫了一個(gè)易復(fù)用的編寫了一個(gè)易復(fù)用的程序:復(fù)用函數(shù)代碼、算法思想程序:復(fù)用函數(shù)代碼、算法思想)l從符號(hào)的命名即可知道其作用l每個(gè)語(yǔ)句讀起來(lái)象讀一句英文句子(這個(gè)要求很高這個(gè)要求很高)標(biāo)識(shí)符的命名l匈牙利命名法匈牙利命名法為C程序標(biāo)識(shí)符的命名定義了一種非常標(biāo)準(zhǔn)化的方式l以兩條規(guī)則為基礎(chǔ):l變量的名字以一個(gè)或者多個(gè)小寫字母前綴開頭,前綴能夠體現(xiàn)變量數(shù)據(jù)

6、類型、作用域等信息。l在標(biāo)識(shí)符內(nèi),前綴以后就是一個(gè)或者多個(gè)第一個(gè)字母大寫的單詞,這些單詞清楚地指出了該標(biāo)識(shí)符的作用。推薦一種推薦一種C程序標(biāo)識(shí)符命名法程序標(biāo)識(shí)符命名法1)變量命名加前綴 cchar ucunsigned char sshort nint uunsigned int llong dwunsigned long b取值只為真和假的整型變量 如 bValid sz 以0結(jié)尾的字符串或字符數(shù)組 f 浮點(diǎn)數(shù)(float)h HANDLE(句柄)d double推薦一種推薦一種C程序標(biāo)識(shí)符命名法程序標(biāo)識(shí)符命名法 p 指針 psz 指向字符串的指針 pn 整型指針 m_ 類成員變量 g_ 全

7、局變量 a數(shù)組 fp文件指針 FILE*eenum類型 g_ 全局變量 參數(shù)后面加 _,如int Sum(int x_,int y_)推薦一種推薦一種C程序標(biāo)識(shí)符命名法程序標(biāo)識(shí)符命名法2)變量名中單詞開頭字母大寫,其他字母小寫但是常用的意義明顯的變量,如 i,j,k,坐標(biāo) x,y等不必遵循 1),2)3)常量和宏都是大寫,單詞之間用 _分隔#define MAX_WIDTH 5#defineABS(x)(x)=0?(x):-(x)推薦一種推薦一種C程序標(biāo)識(shí)符命名法程序標(biāo)識(shí)符命名法4)函數(shù)名字中每個(gè)單詞的頭一個(gè)字母大寫,其他字母小寫。一般采用 動(dòng)詞+名詞形式void PrintMessage()

8、;int WriteIdToFile(FILE*_fp,int _nId);5)結(jié)構(gòu)定義加大寫字母S作為前綴struct SPerson int nId;int nAge;推薦一種推薦一種C程序標(biāo)識(shí)符命名法程序標(biāo)識(shí)符命名法6)類定義加大寫字母C作為前綴class CPerson int m_nId;7)類型定義全部大寫typedef struct SPerson PERSON;typedef struct SPerson*PPERSON;/指針加P標(biāo)識(shí)符命名應(yīng)注意的一些細(xì)節(jié)標(biāo)識(shí)符命名應(yīng)注意的一些細(xì)節(jié)1)標(biāo)識(shí)符號(hào)應(yīng)能提供足夠信息,最好是可以發(fā)音的。2)為全局變量取長(zhǎng)的,描述信息多的名字,為局部變

9、量取短名字3)名字太長(zhǎng)時(shí)可以適當(dāng)采用單詞的縮寫。但要注意,縮寫方式要一致。要縮寫就全都縮寫。比如 單詞Number,如果在某個(gè)變量里縮寫成了:int nDoorNum;那么最好包含 Number單詞的變量都縮寫成 Num。4)注意使用單詞的復(fù)數(shù)形式。如 int nTotalStudents,nStudents;容易讓人理解成代表學(xué)生數(shù)目,而 nStudent 含義就不十分明顯標(biāo)識(shí)符命名應(yīng)注意的一些細(xì)節(jié)標(biāo)識(shí)符命名應(yīng)注意的一些細(xì)節(jié)5)對(duì)于返回值為真或假的函數(shù),加“Is”前綴如:int IsCanceled();intisalpha();/C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)BOOLIsButtonPushed();6

10、)對(duì)于獲取某個(gè)數(shù)值的函數(shù),加“Get”前綴char*GetFileName();7)對(duì)于設(shè)置某個(gè)數(shù)值的函數(shù),加“Set”前綴void SetMaxVolume();8)一般變量和結(jié)構(gòu)名用名詞,函數(shù)名用動(dòng)詞或動(dòng)賓詞組。程序書寫格式注意事項(xiàng)程序書寫格式注意事項(xiàng)1)正確使用縮進(jìn)首先,一定要有縮進(jìn),否則代碼的層次不明顯??s進(jìn)應(yīng)為4個(gè)空格較好。需要縮進(jìn)時(shí)一律按Tab鍵或一律按空格鍵,不要有時(shí)用Tab鍵縮進(jìn),有時(shí)用空格鍵縮進(jìn)。一般開發(fā)環(huán)境都能設(shè)置一個(gè)Tab鍵相當(dāng)于多少個(gè)空格,此時(shí)就都用Tab鍵程序書寫格式注意事項(xiàng)程序書寫格式注意事項(xiàng)2)行寬與折行 一行不要太長(zhǎng),不能超過(guò)顯示區(qū)域。以免閱讀不便。太長(zhǎng)則應(yīng)折行

11、。折行最好發(fā)生在運(yùn)算符前面,不要發(fā)生在運(yùn)算符后面如if(Condition1()&Condition2()&Condition3()表達(dá)式太長(zhǎng)時(shí),可適當(dāng)拆分成多個(gè)表達(dá)式程序書寫格式注意事項(xiàng)程序書寫格式注意事項(xiàng)3)注意統(tǒng)一,的位置,不要隨意,如果寫了:if(condition1()DoSomething();別處就不要寫if(condition2()DoSomething();程序書寫格式注意事項(xiàng)程序書寫格式注意事項(xiàng)4)變量和運(yùn)算符之間最好加1個(gè)空格int nAge=5;nAge=4;if(nAge=4)printf(“%d”,nAge);for(i=0;i 100;i+);一些好的編程習(xí)慣一些

12、好的編程習(xí)慣1)盡量不要直接使用數(shù)值,而用const 定義成語(yǔ)義一目了然的常量符號(hào),以便閱讀和以后修改const int MAX_STUDENTS =20struct SStudent aStudents MAX_STUDENTS;比struct SStudent aStudents 20;好#define TOTAL_ELEMENTS 100for(i=0;i TOTAL_ELEMENTS;i+)一些好的編程習(xí)慣一些好的編程習(xí)慣2)使用sizeof()宏,不直接使用變量所占字節(jié)數(shù)的數(shù)值,避免在不同的機(jī)器上時(shí)出錯(cuò)int nAge;for(j=0;j 100;j+)fwrite(fpFile,&

13、nAge,1,sizeof(int);比f(wàn)or(j=0;j 100;j+)fwrite(fpFile,&nAge,1,4);好一些好的編程習(xí)慣一些好的編程習(xí)慣3)稍復(fù)雜的表達(dá)式中要積極使用括號(hào),以免優(yōu)先級(jí)理解上的混亂n=k+j;/不好n=(k+)+j;/好一點(diǎn)4)不很容易理解的表達(dá)式應(yīng)分幾行寫:n=(k+)+j;應(yīng)該寫成:n=k+j;k+;一些好的編程習(xí)慣一些好的編程習(xí)慣5)不提倡在表達(dá)式中使用?:形式,而用if.else語(yǔ)句替代xp=2*k (n-m)?ck+1:dk-;if(2*k m)&!(s t)就不如 if(m=n)&(t w h;r.Init(w,h);cout r.Area()e

14、ndl w=w_;this-h=h_;return;int CRectangle:Area()return this-w*this-h;int CRectangle:Perimeter()return 2*(this-w+this-h);int main()int w,h;CRectangle r;/r是一個(gè)對(duì)象 cin w h;r.Init(w,h);cout r.Area()endl w h;r.Init(w,h);cout r.Area()endl w h;r.Init(w,h);cout r.Area()endl w h;r.Init(w,h);cout r.Area()endl w

15、h;r.Init(w,h);cout r.Area()endl 成員名成員名CRectangle r1,r2;CRectangle*p1=&r1;CRectangle*p2=&r2;p1-w=5;p2-Init(5,4);/Init作用在p2指向的對(duì)象上 如何使用類的成員變量和成員函數(shù)如何使用類的成員變量和成員函數(shù)用法用法3:引用名:引用名.成員名成員名CRectangle r2;CRectangle&rr=r2;rr.w=5;rr.Init(5,4);/rr的值變了,r2的值也變void PrintRectangle(CRectangle&r)cout r.Area(),r.Perimeter();CRectangle r3;r3.Init(5,4);PrintRectangle(r3);

展開閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!