第1章為什么學(xué)習(xí)C語言_第1頁
第1章為什么學(xué)習(xí)C語言_第2頁
第1章為什么學(xué)習(xí)C語言_第3頁
第1章為什么學(xué)習(xí)C語言_第4頁
第1章為什么學(xué)習(xí)C語言_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、輸入理想的程序,輸出快樂的人生1輸入理想的程序,輸出快樂的人生重要信息重要信息主講教師:李傳秀主講教師:李傳秀電子信箱:電子信箱:QQ信箱信箱課程網(wǎng)站:課程網(wǎng)站:Id&Key : 學(xué)號學(xué)號輸入理想的程序,輸出快樂的人生教材及課時安排教材及課時安排教材教材C語言程序設(shè)計語言程序設(shè)計 蘇小紅等編著蘇小紅等編著 高等教育出版社高等教育出版社課時安排課時安排授課:授課:24學(xué)時學(xué)時上機:上機:16學(xué)時學(xué)時 考試安排考試安排期中:期中:12月月13日日 1小時小時5道題道題 ACM期末:期末:2016.1.9日日 2小時小時10道題道題 ACM輸入理想的程序,輸出快樂的人生參考書參考書輸入理想的

2、程序,輸出快樂的人生參考書參考書輸入理想的程序,輸出快樂的人生課程目標課程目標理解算法及程序的概念,培養(yǎng)算法分析與設(shè)計理解算法及程序的概念,培養(yǎng)算法分析與設(shè)計能力能力理解程序邏輯,掌握用理解程序邏輯,掌握用C語言進行程序設(shè)計的基本方法語言進行程序設(shè)計的基本方法掌握掌握C語言的語言的基礎(chǔ)知識基礎(chǔ)知識,包括基本數(shù)據(jù)類型、表達式、,包括基本數(shù)據(jù)類型、表達式、控制結(jié)構(gòu)等控制結(jié)構(gòu)等掌握掌握C語言的語言的高級知識高級知識,包括數(shù)組、指針、函數(shù)、字符,包括數(shù)組、指針、函數(shù)、字符串、結(jié)構(gòu)體等串、結(jié)構(gòu)體等培養(yǎng)程序培養(yǎng)程序閱讀和編寫閱讀和編寫能力,培養(yǎng)程序能力,培養(yǎng)程序調(diào)試和糾錯調(diào)試和糾錯能力能力輸入理想的程序,

3、輸出快樂的人生上機要求上機要求編程題目必須在編程題目必須在上機前在紙質(zhì)材料上上機前在紙質(zhì)材料上寫好寫好作業(yè)一定要經(jīng)過上機調(diào)試通過作業(yè)一定要經(jīng)過上機調(diào)試通過作業(yè)請在作業(yè)請在規(guī)定時間規(guī)定時間內(nèi)提交,內(nèi)提交,抄襲者記零分抄襲者記零分上機時間嚴禁上機時間嚴禁玩游戲玩游戲,聊天,一經(jīng)發(fā)現(xiàn),聊天,一經(jīng)發(fā)現(xiàn)按曠課按曠課處理處理輸入理想的程序,輸出快樂的人生第第1 1章章 為什么要學(xué)為什么要學(xué)C C語言語言輸入理想的程序,輸出快樂的人生9本章教學(xué)目標本章教學(xué)目標了解了解C語言的發(fā)展歷史語言的發(fā)展歷史掌握掌握C程序編輯、編譯及運行的過程程序編輯、編譯及運行的過程掌握一種掌握一種C程序的集成開發(fā)環(huán)境的使用程序的集

4、成開發(fā)環(huán)境的使用輸入理想的程序,輸出快樂的人生本章學(xué)習(xí)內(nèi)容本章學(xué)習(xí)內(nèi)容C C語言的傳奇歷史語言的傳奇歷史游戲、黑客、圖靈獎游戲、黑客、圖靈獎C C語言教給我們的事語言教給我們的事不同專業(yè)的不同需求不同專業(yè)的不同需求計算思維計算思維什么是什么是“編程編程”輸入理想的程序,輸出快樂的人生*11why1身世身世kendmr興趣愛好興趣愛好gameunixC圖靈獎2傳說傳說詭異離奇,缺陷詭異離奇,缺陷重重,巨大成功!重重,巨大成功!愛與恨愛與恨信任程序員信任程序員鎖鏈鎖鏈3意義意義4編程編程輸入理想的程序,輸出快樂的人生12C語言簡介語言簡介20世紀世紀60年代,貝爾實驗室,年代,貝爾實驗室,Ken

5、Thompson開始開發(fā)一個開始開發(fā)一個叫做叫做UNIX的操作系統(tǒng)的操作系統(tǒng) 70年代,年代, 將將BCPL語言改造成語言改造成更適合開發(fā)更適合開發(fā)UNIX的的B語言語言1971年,年,Dennis M. Ritchie開始和開始和Thompson合合作開發(fā)作開發(fā)UNIX,將,將B語言改造成語言改造成C語言語言輸入理想的程序,輸出快樂的人生兩個骨灰級游戲玩家兩個骨灰級游戲玩家Ken Thompson江湖人稱江湖人稱 ken*13輸入理想的程序,輸出快樂的人生他們干了什么?他們干了什么?1969年,年,ken和和dmr夢想能遨游宇宙夢想能遨游宇宙ken設(shè)計了一款電子游戲設(shè)計了一款電子游戲“Spa

6、ce Travel”游戲在游戲在PDP-7小型機上開發(fā),因為這臺機器免費小型機上開發(fā),因為這臺機器免費免費的機器沒有操作系統(tǒng)免費的機器沒有操作系統(tǒng)玩游戲之前,先給玩游戲之前,先給PDP-7做個操作系統(tǒng),命名為做個操作系統(tǒng),命名為“UNIX”匯編編寫匯編編寫UNIX太慢,又沒有稱手的高級語言,怎么辦?太慢,又沒有稱手的高級語言,怎么辦?dmr設(shè)計了一種新的高級語言,命名為設(shè)計了一種新的高級語言,命名為“C語言語言”1983年,因為年,因為UNIX和和C語言的巨大成功,語言的巨大成功, ken和和dmr共共同獲得當年度的計算機界最高獎同獲得當年度的計算機界最高獎圖靈獎圖靈獎輸入理想的程序,輸出快樂

7、的人生15怎樣讓計算機讀懂高級語言怎樣讓計算機讀懂高級語言程序員按照該語言的語法編寫程序源代碼程序員按照該語言的語法編寫程序源代碼把自己的意圖寫入源代碼中把自己的意圖寫入源代碼中編譯器讀入源代碼編譯器讀入源代碼把程序員的意圖轉(zhuǎn)換成可執(zhí)行程序,供他人使用把程序員的意圖轉(zhuǎn)換成可執(zhí)行程序,供他人使用*輸入理想的程序,輸出快樂的人生Ken和和dmr被尊為黑客的鼻祖被尊為黑客的鼻祖他們未對他們未對UNIX和和C語言申請任何版權(quán)或?qū)@Z言申請任何版權(quán)或?qū)@鸘NIX和和C語言是黑客世界里的兩大神器語言是黑客世界里的兩大神器黑客精神黑客精神做事情以興趣為出發(fā)點,并不在乎未來會怎樣做事情以興趣為出發(fā)點,并不在乎

8、未來會怎樣極富鉆研精神,喜歡迎接挑戰(zhàn)極富鉆研精神,喜歡迎接挑戰(zhàn)樂于分享,不計回報樂于分享,不計回報輸入理想的程序,輸出快樂的人生17程序設(shè)計語言程序設(shè)計語言 計算機能讀懂的語言計算機能讀懂的語言 機器語言機器語言(Machine Language) 由一系列二進制0和1組成 機器語言編寫的機器語言編寫的1+1程序程序 低級語言低級語言101110000000000100000000000001010000000100000000像不像天書?像不像天書?*輸入理想的程序,輸出快樂的人生18程序設(shè)計語言程序設(shè)計語言PRINT 1+1結(jié)果顯示在結(jié)果顯示在屏幕上屏幕上#include int main

9、(void)printf(%dn, 1+1); return 0;程序設(shè)計語言程序設(shè)計語言(programming language)BASIC語言編寫的語言編寫的1+1程序程序C語言編寫的語言編寫的1+1程序程序既不是英語,也非機器語言既不是英語,也非機器語言但更像英語高級語言高級語言比寫機器語言程序容易,但比使用英語難*輸入理想的程序,輸出快樂的人生19怎樣讓計算機讀懂高級語言怎樣讓計算機讀懂高級語言程序設(shè)計語言是人與計算機進行交流的語言程序設(shè)計語言是人與計算機進行交流的語言有很多種,分別適合做不同的事情有很多種,分別適合做不同的事情現(xiàn)在人還只能主動學(xué)計算機的語言現(xiàn)在人還只能主動學(xué)計算機的

10、語言做不到計算機學(xué)會人的語言做不到計算機學(xué)會人的語言當計算機懂了人的自然語言,就幾乎不再需要編程,想讓當計算機懂了人的自然語言,就幾乎不再需要編程,想讓計算機干什么,盡管對著它說好了,那時程序員可能也就計算機干什么,盡管對著它說好了,那時程序員可能也就失業(yè)了。失業(yè)了。*輸入理想的程序,輸出快樂的人生今天的今天的C語言語言輸入理想的程序,輸出快樂的人生輸入理想的程序,輸出快樂的人生22dmr和和Unix的設(shè)計者的設(shè)計者Ken Thompson接受美國國家技術(shù)勛章接受美國國家技術(shù)勛章*輸入理想的程序,輸出快樂的人生C語言的愛與恨語言的愛與恨愛愛信任程序員信任程序員給程序員最大的發(fā)給程序員最大的發(fā)揮

11、空間揮空間運行效率高運行效率高恨恨無限制的自由無限制的自由如程序員不自我約如程序員不自我約束,代碼將是災(zāi)難束,代碼將是災(zāi)難不安全不安全不穩(wěn)定不穩(wěn)定不易于維護不易于維護*23輸入理想的程序,輸出快樂的人生C程序設(shè)計語言程序設(shè)計語言是一種高級語言是一種高級語言并不并不“高級高級”,只是相對低級語言在一個高的級別上進行編程,只是相對低級語言在一個高的級別上進行編程實際上是一種介于高級語言和低級語言之間的語言實際上是一種介于高級語言和低級語言之間的語言歷史悠久,戰(zhàn)勛卓著歷史悠久,戰(zhàn)勛卓著誕生于誕生于2020世紀世紀7070年代初,成熟于年代初,成熟于8080年代年代很多重量級軟件都是用很多重量級軟件都

12、是用C C語言寫的語言寫的上天入地,無所不能上天入地,無所不能幾乎沒有不能用幾乎沒有不能用C C語言實現(xiàn)的軟件,沒有不支持語言實現(xiàn)的軟件,沒有不支持C C語言的系統(tǒng)語言的系統(tǒng)很多流行語言、新生語言都借鑒了它的思想、語法很多流行語言、新生語言都借鑒了它的思想、語法從從C+C+,到,到JavaJava,再到,再到C#C#輸入理想的程序,輸出快樂的人生如何學(xué)如何學(xué)C語言語言注定與注定與C C語言為伴的人語言為伴的人C C語言易學(xué),但不易真正掌握語言易學(xué),但不易真正掌握多練、多讀優(yōu)秀代碼多練、多讀優(yōu)秀代碼要編程,但不用要編程,但不用C C語言的人語言的人透過透過C C語言窺探計算機底層原理語言窺探計算

13、機底層原理掌握最流行的語法形式掌握最流行的語法形式了解基本的程序設(shè)計思維了解基本的程序設(shè)計思維永遠不編程的人永遠不編程的人通過通過C C語言,更好地了解計算機,了解計算思維語言,更好地了解計算機,了解計算思維通過全國計算機等級考試二級通過全國計算機等級考試二級所有人所有人了解它,愛上它了解它,愛上它輸入理想的程序,輸出快樂的人生程序開發(fā)步驟程序開發(fā)步驟What is to be done?需求分析需求分析(Analysis)設(shè)計設(shè)計(Design)輸入理想的程序,輸出快樂的人生開發(fā)開發(fā)C程序的步驟程序的步驟1. 1.設(shè)計算法設(shè)計算法2. 2. 編寫程序源代碼編寫程序源代碼把自己的意圖寫入源代碼

14、把自己的意圖寫入源代碼3. 3. 編輯源程序編輯源程序4. 4. 編譯和連接編譯和連接5. 5. 調(diào)試程序調(diào)試程序 ,直到改正了所有,直到改正了所有的編譯錯誤和運行錯誤的編譯錯誤和運行錯誤6. 6. 運行程序運行程序輸入理想的程序,輸出快樂的人生28日常生活中的程序日常生活中的程序銀行 帶上存折去銀行帶上存折去銀行 3. 將存折遞給銀行職員,告訴所取金額將存折遞給銀行職員,告訴所取金額 2. 到相應(yīng)窗口排隊到相應(yīng)窗口排隊4.銀行職員辦理取款事宜銀行職員辦理取款事宜 5. 拿到錢并離開銀行拿到錢并離開銀行 *輸入理想的程序,輸出快樂的人生29計算機中的程序計算機中的程序做口述筆記鍵入信函的內(nèi)容發(fā)

15、送傳真口述2.信函_3.3.傳真指令被逐條執(zhí)行程序員老板老板秘書秘書程序程序:為了讓計算機執(zhí)行某些操作或解決某:為了讓計算機執(zhí)行某些操作或解決某個問題而編寫的一系列有序指令的集合個問題而編寫的一系列有序指令的集合要執(zhí)行的一組指令*輸入理想的程序,輸出快樂的人生30算法算法 計算長方形的面積計算長方形的面積問題問題:1.1.接收用戶輸入的長方形長度和寬度兩個值;接收用戶輸入的長方形長度和寬度兩個值;2.2.判斷長度和寬度的值是否大于零;判斷長度和寬度的值是否大于零;3.3.如果大于零,將長度和寬度兩個值相乘得到面積,如果大于零,將長度和寬度兩個值相乘得到面積,否則顯示輸入錯誤;否則顯示輸入錯誤;

16、4.4.顯示面積。顯示面積。算法算法算法算法:解決問題的具體方法和步驟:解決問題的具體方法和步驟思考:如何求最大公約數(shù)?最小公倍數(shù)?思考:如何求最大公約數(shù)?最小公倍數(shù)?輸入理想的程序,輸出快樂的人生31C語言基本結(jié)構(gòu)語言基本結(jié)構(gòu)#include int main(void) printf(Hello Worldn); return 0;以以 # # 開始的語句稱為預(yù)處理器指令開始的語句稱為預(yù)處理器指令如果程序有該語句,就必須將它放在程序的開始處如果程序有該語句,就必須將它放在程序的開始處以以.h.h為后綴的文件被稱為頭文件,可以是為后綴的文件被稱為頭文件,可以是 C C 程序中現(xiàn)成的標程序中現(xiàn)

17、成的標準庫文件,也可以是自定義的庫文件。準庫文件,也可以是自定義的庫文件。stdio.h文件中包含了有關(guān)輸入輸出語句的函數(shù)文件中包含了有關(guān)輸入輸出語句的函數(shù) main() 函數(shù)是 C 程序處理的起點。 main() 函數(shù)可以返回一個值,也可以不返回值。如果某個函數(shù)沒有返回值,那么在它的前面有一個關(guān)鍵字 void在函數(shù)定義的后面有一個左大括號,即在函數(shù)定義的后面有一個左大括號,即 它表示函數(shù)的開始,后面是函數(shù)的主體它表示函數(shù)的開始,后面是函數(shù)的主體大括號也可以用于將語句塊括起來大括號也可以用于將語句塊括起來在函數(shù)定義的結(jié)尾處有一個右大括號,即 在屏幕上產(chǎn)生一行輸出在屏幕上產(chǎn)生一行輸出“Hello

18、 world”,并換行(并換行(n) 函數(shù)主體中的每個語句都以分號結(jié)束。函數(shù)主體中的每個語句都以分號結(jié)束。C 程序中的一個語句可以跨越多行,并且用分號通程序中的一個語句可以跨越多行,并且用分號通知編譯器該語句已結(jié)束。知編譯器該語句已結(jié)束。 *輸入理想的程序,輸出快樂的人生32C程序的注釋程序的注釋#include int main(void) printf(Hello Worldn); return 0;/ 此程序用來打印此程序用來打印Hello World 單行注釋單行注釋C 程序可以包含注釋,以便向讀者作一般說明程序可以包含注釋,以便向讀者作一般說明編譯器并不處理這些注釋編譯器并不處理這些

19、注釋 /* 此程序由此程序由 編寫編寫 * 用來打印輸出用來打印輸出“Hello World”*/多行注釋多行注釋/* *作者:作者:創(chuàng)建日期:創(chuàng)建日期:描述:描述:* */#include int main(void) 在程序中添加注釋是一個好的編程習(xí)慣,可以增在程序中添加注釋是一個好的編程習(xí)慣,可以增強程序的可讀性。強程序的可讀性。*輸入理想的程序,輸出快樂的人生C程序的編譯環(huán)境程序的編譯環(huán)境Visual C+Windows平臺上最流行的平臺上最流行的C/C+集成開發(fā)環(huán)境之一集成開發(fā)環(huán)境之一Code:Blocks(簡稱(簡稱CB,)是近年出現(xiàn)

20、并獲得關(guān)注的是近年出現(xiàn)并獲得關(guān)注的C/C+開發(fā)環(huán)境開發(fā)環(huán)境 CB的功能遠遠優(yōu)于的功能遠遠優(yōu)于TC,也優(yōu)于,也優(yōu)于VC 6.0 CB只是一個只是一個IDE(集成開發(fā)環(huán)境),沒有內(nèi)置的編(集成開發(fā)環(huán)境),沒有內(nèi)置的編譯器和調(diào)試器譯器和調(diào)試器但可以支持多種編譯器(不包括但可以支持多種編譯器(不包括TC),例如),例如GCC編編譯器和譯器和GDB調(diào)試器調(diào)試器 輸入理想的程序,輸出快樂的人生輸入理想的程序,輸出快樂的人生輸入理想的程序,輸出快樂的人生建立新文件保存文件編譯運行在編譯之前,在編譯之前,VCVC先彈出對話框,詢問是否建立一個默認的先彈出對話框,詢問是否建立一個默認的項目工作區(qū)。項目工作區(qū)。V

21、CVC必須有項目才能編譯,所以這里必須選擇必須有項目才能編譯,所以這里必須選擇“YesYes”。系統(tǒng)在保存。系統(tǒng)在保存.c.c文件的目錄里自動生成與文件的目錄里自動生成與C C源文件源文件同名的同名的.dsw.dsw和和.dsp.dsp等文件。以后可直接打開這些文件來修等文件。以后可直接打開這些文件來修改程序,不必再重復(fù)上面的過程改程序,不必再重復(fù)上面的過程 輸入理想的程序,輸出快樂的人生輸入理想的程序,輸出快樂的人生輸入理想的程序,輸出快樂的人生輸入理想的程序,輸出快樂的人生輸入理想的程序,輸出快樂的人生輸入理想的程序,輸出快樂的人生輸入理想的程序,輸出快樂的人生輸入理想的程序,輸出快樂的人生認識認識 C語言從運行這個程序開語言從運行這個程序開始始第一個程序范例第一個程序范例打印打印“Hello World!”#include main()printf(Hello world!n);考考你:考考你:如何把如何把Hello和和world!分別打印在兩行?分別打印在兩行?P

溫馨提示

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

最新文檔

評論

0/150

提交評論