第0講程序設(shè)計(jì)與C語(yǔ)言_第1頁(yè)
第0講程序設(shè)計(jì)與C語(yǔ)言_第2頁(yè)
第0講程序設(shè)計(jì)與C語(yǔ)言_第3頁(yè)
第0講程序設(shè)計(jì)與C語(yǔ)言_第4頁(yè)
第0講程序設(shè)計(jì)與C語(yǔ)言_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)主講人:王波Email:hust_wb@哈爾濱理工大學(xué)自動(dòng)化學(xué)院04二月20232教材與參考書籍教材譚浩強(qiáng),《C語(yǔ)言程序設(shè)計(jì)(第四版)》,清華大學(xué)出版社,2010嚴(yán)蔚敏,李冬梅,吳偉民,《數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)(第2版)》,人民郵電出版社,2015參考書籍何欽銘,顏暉,《C語(yǔ)言程序設(shè)計(jì)(第2版)》,高等教育出版社,2013年[美]霍爾頓(HortonI.)著;楊浩譯,《C語(yǔ)言入門經(jīng)典(第5版)》,清華大學(xué)出版社,2013嚴(yán)蔚敏,吳偉民,《清華大學(xué)計(jì)算機(jī)系列教材:數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)》,清華大學(xué)出版社,20123學(xué)院本科生專業(yè)限選課授課形式總共56學(xué)時(shí),(20

理論

+20

翻轉(zhuǎn)+16

實(shí)驗(yàn))5-18周

-周二,5-18單周-周四,第三大節(jié),西1-0913;考核方式平時(shí)成績(jī):30%平時(shí)作業(yè)10%、實(shí)驗(yàn)成績(jī)10%、上課出勤10%期末成績(jī):70%授課形式和考核方式4第一部分

C語(yǔ)言程序設(shè)計(jì)第01講計(jì)算:變量和表達(dá)式第02講判斷:分支結(jié)構(gòu)第03講循環(huán)第04講循環(huán)控制第05講數(shù)據(jù)類型和處理第06講函數(shù)第07講數(shù)組第08講指針初步和字符串第二部分

數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)第09講線性結(jié)構(gòu)第10講非線性結(jié)構(gòu)第11講查找和排序課程內(nèi)容5第0講程序設(shè)計(jì)與C語(yǔ)言第一部分C語(yǔ)言程序設(shè)計(jì)60.1計(jì)算機(jī)與編程語(yǔ)言0.2C語(yǔ)言0.3第一個(gè)C程序0.4這一講的練習(xí)本講內(nèi)容70.1計(jì)算機(jī)與編程語(yǔ)言8計(jì)算機(jī)是生活必需品如果想要自己設(shè)計(jì)一些功能和行為,讓計(jì)算機(jī)按照你的意圖做事情,就需要寫程序了學(xué)習(xí)程序設(shè)計(jì)的目的是通過(guò)學(xué)習(xí)編程,來(lái)理解計(jì)算機(jī)是如何解決問(wèn)題的,理解計(jì)算機(jī)的能與不能,擅長(zhǎng)與非擅長(zhǎng)9計(jì)算機(jī)如何解決問(wèn)題“請(qǐng)給我一杯水”轉(zhuǎn)身去廚房找到一個(gè)杯子找到一個(gè)裝有水的水壺在杯子中倒入一些水拿著杯子走回桌子10計(jì)算機(jī)語(yǔ)言程序是用特殊的編程語(yǔ)言寫出來(lái),并用它來(lái)表達(dá)如何解決問(wèn)題的不是用編程語(yǔ)言來(lái)和計(jì)算機(jī)交談,而是描述要求它如何做事情的過(guò)程或方法11計(jì)算機(jī)語(yǔ)言12輾轉(zhuǎn)相除法如果v等于0,計(jì)算結(jié)束,u就是最大公約數(shù);如果v不等于0,那么計(jì)算u除以v的余數(shù),讓u等于v,而v等于那個(gè)余數(shù);回到第一步。13計(jì)算機(jī)—程序—算法14算法我們要讓計(jì)算機(jī)做計(jì)算,就需要像這樣找出計(jì)算的步驟,然后用編程語(yǔ)言寫出來(lái)計(jì)算機(jī)做的所有事情都叫做計(jì)算計(jì)算的步驟就是算法15計(jì)算機(jī)思維求解方程:“3*x+6=18”解方程枚舉二分搜索……16程序的執(zhí)行解釋:借助一個(gè)程序,那個(gè)程序能試圖理解你的程序,然后按照你的要求執(zhí)行編譯:借助一個(gè)程序,就像一個(gè)翻譯,把你的程序翻譯成計(jì)算機(jī)真正能懂的語(yǔ)言(機(jī)器語(yǔ)言)寫的程序,然后,這個(gè)機(jī)器語(yǔ)言寫的程序就能直接執(zhí)行了17解釋語(yǔ)言VS編譯語(yǔ)言語(yǔ)言無(wú)解釋/編譯之分常用的執(zhí)行方式而已解釋型語(yǔ)言有特殊的計(jì)算能力編譯型語(yǔ)言有確定的運(yùn)算性能18討論計(jì)算機(jī)里的CPU可以直接運(yùn)行人類編寫的程序嗎?為什么說(shuō)編程語(yǔ)言不是和計(jì)算機(jī)交談的語(yǔ)言?190.2C語(yǔ)言20為什么是C?最新的排名在:/index.php/content/paperinfo/tpci/index.html21為什么是C?22其他語(yǔ)言現(xiàn)代的編程語(yǔ)言在語(yǔ)法上的差異很小幾乎都是C-like語(yǔ)言語(yǔ)言的能力/適用領(lǐng)域主要是由庫(kù)和傳統(tǒng)決定的23“itwasthesummerof‘69’”PDP–7圖片來(lái)源:PDP–11圖片來(lái)源:24C語(yǔ)言的發(fā)展C語(yǔ)言是從B語(yǔ)言發(fā)展而來(lái)的,B語(yǔ)言是從BCPL發(fā)展而來(lái)的,BCPL是從FORTRAN發(fā)展而來(lái)的BCPL和B都支持指針間接方式,所以C也支持了C語(yǔ)言還受到PL/I的影響,還和PDP-II的機(jī)器語(yǔ)言有很大的關(guān)系1973年3月,第三版Unix上出現(xiàn)了C語(yǔ)言的編譯器1973年11月,第四版Unix(SystemFour)發(fā)布,此版本是完全用C語(yǔ)言重新寫的25C的發(fā)展與版本—K&R經(jīng)典C又被叫做“K&RtheC”TheCProgrammingLanguage,byBrianKernighanandDennisRitchie,2ndEdition,PrenticeHall圖片來(lái)源:26C的發(fā)展與版本—標(biāo)準(zhǔn)1989年,ANSI發(fā)布了一個(gè)標(biāo)準(zhǔn)——ANSIC1990年,ISO接受了ANSI的標(biāo)準(zhǔn)——C89C的標(biāo)準(zhǔn)在1995年和1999年兩次更新——C95和C99所有的當(dāng)代編譯器都支持C9927C語(yǔ)言用在哪里?操作系統(tǒng)嵌入式系統(tǒng)驅(qū)動(dòng)程序底層驅(qū)動(dòng)圖形引擎、圖像處理、聲音效果28C是一種工業(yè)語(yǔ)言操作系統(tǒng)嵌入式系統(tǒng)驅(qū)動(dòng)程序底層驅(qū)動(dòng)開(kāi)發(fā)效率>>學(xué)習(xí)過(guò)程開(kāi)發(fā)效率>>開(kāi)發(fā)樂(lè)趣日常應(yīng)用很少直接用C語(yǔ)言編寫學(xué)習(xí)C的過(guò)程主要是練習(xí)代碼,而非真實(shí)軟件29編譯運(yùn)行C需要被編譯才能運(yùn)行,所以你需要編輯器編譯器或者,IDE(集成開(kāi)發(fā)環(huán)境)30推薦的編程軟件DevC++(4.9forWin7,5.0forWin8)免費(fèi)安裝簡(jiǎn)單不用建工程31其他選擇MSVisualStudioExpress

(forWindows)Xcode(MacOSX)Eclipse-CDTGeany(和MinGW一起)Sublime(和MinGW一起)Vim/emacs(和MinGW一起)320.3第一個(gè)C程序33初學(xué)C的困惑用什么軟件好選擇太多,有時(shí)候就是個(gè)麻煩當(dāng)代軟件往往只有一個(gè)編程軟件那就用DevC++5.x吧34第一個(gè)C程序35在DevC++里的C程序36程序框架本課程中所有的程序都需要這一段直到學(xué)函數(shù)之前,我們的代碼都只是在這個(gè)框架中編寫37輸出printf(“HelloWorld!\n”);“”里邊的內(nèi)容叫做“字符串”,printf會(huì)把其中的內(nèi)容原封不動(dòng)地輸出\n換行符,表示要在輸出的結(jié)果后換一行38暫停如果你在使用DevC++system(“pause”);讓程序運(yùn)行完成后,窗口還能留下觀察不是DevC++就不需要這條語(yǔ)句了39程序中的錯(cuò)誤編譯時(shí)發(fā)現(xiàn)的錯(cuò)誤所在的地方會(huì)以紅色的底表示出來(lái)具體的錯(cuò)誤原因列在下方的窗口里(是英文的)C的編譯器給出的錯(cuò)誤提示往往不那么好“猜”40不要用中文中國(guó)學(xué)生還有一個(gè)極其常見(jiàn)的低級(jí)錯(cuò)誤,就是用了中文輸入法來(lái)輸入程序。那些標(biāo)點(diǎn)符號(hào),在中文和英文可能看上去相似,但是對(duì)于計(jì)算機(jī)是完全不同的符號(hào),如果你還開(kāi)了全角標(biāo)點(diǎn)的話,問(wèn)題就更嚴(yán)重了41做計(jì)算printf(“%d”,24+35);%d說(shuō)明后面有一個(gè)整數(shù)要輸出在這個(gè)位置上printf(“24+35=%d”,24+35);42四則運(yùn)算%表示取兩個(gè)數(shù)相除后的余數(shù)43幾個(gè)小程序44討論我們是在學(xué)習(xí)GCC嗎?常聽(tīng)到有人他學(xué)的是VisualC,有人學(xué)的是TurboC,不是我們講的什么DevC,是他們的比我們的高級(jí)嗎?還有GCC到底是什么?main()的樣子為什么看到有的書上的

溫馨提示

  • 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論