第01章 C語言概述_第1頁
第01章 C語言概述_第2頁
第01章 C語言概述_第3頁
第01章 C語言概述_第4頁
第01章 C語言概述_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、程序設(shè)計程序設(shè)計主講教師:陳丹計算機(jī)科學(xué)與技術(shù)學(xué)院2l 本門課程與其它課程的關(guān)系本門課程與其它課程的關(guān)系計算機(jī)科學(xué)導(dǎo)論計算機(jī)科學(xué)導(dǎo)論程序設(shè)計語言(程序設(shè)計語言(C語言)語言)面向?qū)ο蟪绦蛟O(shè)計(面向?qū)ο蟪绦蛟O(shè)計(C)軟件工程軟件工程數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)國家、江蘇省計算機(jī)等級考試國家、江蘇省計算機(jī)等級考試各類課程設(shè)計各類課程設(shè)計畢業(yè)設(shè)計畢業(yè)設(shè)計計算機(jī)圖形學(xué)計算機(jī)圖形學(xué)編譯原理編譯原理程序員、高級程序員資格考試程序員、高級程序員資格考試微機(jī)原理微機(jī)原理信息安全專業(yè)學(xué)習(xí)進(jìn)程參考圖信息安全專業(yè)學(xué)習(xí)進(jìn)程參考圖34語言類課程的特點語言類課程的特點l 語法各異但原理相通語法各異但原理相通l 用途各異但設(shè)計思想相通

2、用途各異但設(shè)計思想相通l 深入學(xué)習(xí)與淺嘗輒止相去甚遠(yuǎn)深入學(xué)習(xí)與淺嘗輒止相去甚遠(yuǎn)(量量/質(zhì)質(zhì))l 應(yīng)用性強(qiáng)(工具)應(yīng)用性強(qiáng)(工具)5C語言特點語言特點表達(dá)力強(qiáng)表達(dá)力強(qiáng)、靈活方便靈活方便、功能豐富功能豐富、 應(yīng)用廣應(yīng)用廣、效效率高率高、可移值性好可移值性好、既有高級語言的優(yōu)點又具既有高級語言的優(yōu)點又具有低級語言的特點有低級語言的特點學(xué)習(xí)難度較大:學(xué)習(xí)難度較大:規(guī)則繁多規(guī)則繁多、概念較復(fù)雜概念較復(fù)雜、使用使用靈活容易出錯靈活容易出錯學(xué)習(xí)方法:學(xué)習(xí)方法:掌握語法、獨立練習(xí)、反復(fù)思考掌握語法、獨立練習(xí)、反復(fù)思考是其他語言、算法、數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計方法是其他語言、算法、數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計方法的基礎(chǔ)的基礎(chǔ)6

3、課程安排課程安排 程序設(shè)計(程序設(shè)計(1) 理論學(xué)時:理論學(xué)時:40學(xué)時;學(xué)時;上機(jī)機(jī)時:上機(jī)機(jī)時:60機(jī)時機(jī)時 平時成績(作業(yè)平時成績(作業(yè)+課堂提問):課堂提問):30分分 期末考試:期末考試:70分分 程序設(shè)計語言實驗程序設(shè)計語言實驗 實驗學(xué)時:實驗學(xué)時:16學(xué)時學(xué)時 實驗課的課堂作業(yè):實驗課的課堂作業(yè):30%分分 期末上機(jī)考試:期末上機(jī)考試:70%分分 作業(yè)要求:作業(yè)要求:必須上機(jī)獨立完成必須上機(jī)獨立完成7參考資料參考資料 由由Mike Banahan、Declan Brady以及以及Mark Doran合著的合著的The C Book第二版的網(wǎng)絡(luò)版第二版的網(wǎng)絡(luò)版 王珊珊,臧洌,張志航

4、等著王珊珊,臧洌,張志航等著. 程序設(shè)計語言程序設(shè)計語言C. 清華大學(xué)出版社清華大學(xué)出版社. 2007. 8第第1章章 語言概述語言概述 1.1 計算機(jī)語言與程序計算機(jī)語言與程序 1.2 C語言的發(fā)展及其特點語言的發(fā)展及其特點 1.3 簡單的簡單的C程序介紹程序介紹 1.4 運行運行C程序的步驟與方法程序的步驟與方法9 計算機(jī)語言:計算機(jī)語言:人與計算機(jī)交流的工具,人與計算機(jī)交流的工具, 一套語法規(guī)則,語句(語法、語義)一套語法規(guī)則,語句(語法、語義) 計算機(jī)程序:計算機(jī)程序:完成特定功能的語句序列完成特定功能的語句序列 程序設(shè)計:程序設(shè)計:用計算機(jī)語言編制程序的過程用計算機(jī)語言編制程序的過程

5、1.1 計算機(jī)語言與程序計算機(jī)語言與程序10機(jī)器語言與程序:機(jī)器語言與程序:由由0和和1按按一定規(guī)則排列組成的一定規(guī)則排列組成的一個指令集。一個指令集。匯編語言(符號語言)與程序:匯編語言(符號語言)與程序:用助記符來表示用助記符來表示指令中的操作碼和操作數(shù)的指令系統(tǒng)。指令中的操作碼和操作數(shù)的指令系統(tǒng)。高級語言與程序:高級語言與程序:更接近于人類自然語言和數(shù)學(xué)更接近于人類自然語言和數(shù)學(xué)語言的語言。語言的語言。編寫系統(tǒng)軟件編寫系統(tǒng)軟件編寫應(yīng)用軟件編寫應(yīng)用軟件能否找到一種既有高級語言特性,又具有低級語能否找到一種既有高級語言特性,又具有低級語言特性的語言,集它們優(yōu)點于一身?言特性的語言,集它們優(yōu)點

6、于一身?計算機(jī)語言與程序的發(fā)展計算機(jī)語言與程序的發(fā)展11 C語言與語言與Unix操作系統(tǒng)關(guān)系密切。操作系統(tǒng)關(guān)系密切。 1972年在年在DEC PDP-11計算機(jī)上實現(xiàn)了最初的計算機(jī)上實現(xiàn)了最初的C語語言。言。 當(dāng)時開發(fā)當(dāng)時開發(fā)C語言的目的是為了編寫新版語言的目的是為了編寫新版Unix操作系操作系統(tǒng),統(tǒng),90%的代碼由的代碼由C語言編寫,語言編寫,10%的代碼由匯編的代碼由匯編語言編寫。語言編寫。 隨著隨著Unix操作系統(tǒng)的廣泛使用,操作系統(tǒng)的廣泛使用,C語言也被人們認(rèn)語言也被人們認(rèn)識和接受。識和接受。 1.2 C語言的發(fā)展及其特點語言的發(fā)展及其特點12 20世紀(jì)世紀(jì)80年代前后,年代前后,C語

7、言在各種計算機(jī)上的快速語言在各種計算機(jī)上的快速推廣導(dǎo)致了許多推廣導(dǎo)致了許多C語言版本。語言版本。 美國國家標(biāo)準(zhǔn)化協(xié)會(美國國家標(biāo)準(zhǔn)化協(xié)會(ANSI American National Standard Institute)于)于1987年完成了年完成了ANSI C標(biāo)準(zhǔn)標(biāo)準(zhǔn)的制定。的制定。 Brian W.Kernighan和和Dennis M.Ritchie編著的編著的The C Programming Language - Second Edition(1988年第年第2版)介紹了版)介紹了ANSI C的全部內(nèi)容,該書的全部內(nèi)容,該書被稱為被稱為C語言的圣經(jīng)(語言的圣經(jīng)(C Bible)。)

8、。 C語言的發(fā)展語言的發(fā)展13 目前微機(jī)版本目前微機(jī)版本 Turbo C Microsoft C Quick C Visual C+(本課程的實驗環(huán)境)(本課程的實驗環(huán)境) C語言的特點語言的特點 (詳見課本(詳見課本P4-5) 有許多優(yōu)點,也有局限性有許多優(yōu)點,也有局限性 總之,集高級語言與低級語言特點于一身,即適總之,集高級語言與低級語言特點于一身,即適用于開發(fā)大型復(fù)雜的系統(tǒng)軟件,也可以開發(fā)一般的用于開發(fā)大型復(fù)雜的系統(tǒng)軟件,也可以開發(fā)一般的軟件軟件 。C語言的特點語言的特點14語言的特點相對其他語言語言的特點相對其他語言1. 語言簡潔、緊湊、使用方便、靈活。語言簡潔、緊湊、使用方便、靈活。

9、7個關(guān)鍵字個關(guān)鍵字(P378)、種控制語句、書寫自由)、種控制語句、書寫自由2. 運算符豐富,運算類型、表達(dá)式類型多樣化運算符豐富,運算類型、表達(dá)式類型多樣化3. 數(shù)據(jù)類型豐富數(shù)據(jù)類型豐富4. 具有結(jié)構(gòu)化控制語句具有結(jié)構(gòu)化控制語句5. 語法限制不太嚴(yán)格,程序設(shè)計自由度大語法限制不太嚴(yán)格,程序設(shè)計自由度大6. 直接訪問物理地址,實現(xiàn)位操作,能對硬件進(jìn)行操作直接訪問物理地址,實現(xiàn)位操作,能對硬件進(jìn)行操作7. 程序可移植性好程序可移植性好8. 生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高15例例1.1 輸出一行信息。輸出一行信息。#includeint main() prin

10、tf(This is a C program.n); return 0; 1.3 簡單的程序介紹簡單的程序介紹/預(yù)處理命令預(yù)處理命令/主函數(shù)的函數(shù)首部主函數(shù)的函數(shù)首部/函數(shù)體函數(shù)體/函數(shù)調(diào)用語句函數(shù)調(diào)用語句16例例1.2 求兩數(shù)之和。求兩數(shù)之和。#includeint main( )int a,b,sum; /*.*/ a=123; b=456; sum=a+b; printf(sum is %dn,sum); return 0;/定義變量定義變量/注釋注釋/賦值語句賦值語句17例例1.3 求求2個數(shù)中較大者。個數(shù)中較大者。#includeint main()int a,b,c; scanf(

11、%d,%d,&a,&b); c=max(a,b); printf(max=%d,c);return 0; int max(int x, int y)int z; if (xy) z=x; else z=y; return(z);/自定義函數(shù)的函數(shù)首部自定義函數(shù)的函數(shù)首部/if語句,屬于選擇結(jié)構(gòu)語句,屬于選擇結(jié)構(gòu)18C程序構(gòu)成程序構(gòu)成1. 由函數(shù)構(gòu)成由函數(shù)構(gòu)成:一個主函數(shù)、若干個函數(shù)一個主函數(shù)、若干個函數(shù)2. 函數(shù)由兩部分組成函數(shù)由兩部分組成: 1) 函數(shù)首部函數(shù)首部 2) 函數(shù)體函數(shù)體 最外層最外層 中內(nèi)容中內(nèi)容3. 不論不論main位置如何,程序總是從位置如何,程序總是從main開始執(zhí)行開始執(zhí)行庫函數(shù)庫函數(shù) 自定義函數(shù)自定義函數(shù)函數(shù)名、函數(shù)類型、函數(shù)屬性、函函數(shù)名、函數(shù)類型、函數(shù)屬性、函數(shù)形參名、形參類型數(shù)形參名、形參類型(可以沒有參數(shù)但必需有圓括號可以沒有參數(shù)但必需有圓括號)(1) 聲明部分聲明部分(2) 執(zhí)行部分執(zhí)行部分(可以無內(nèi)容可以無內(nèi)容用于程序調(diào)試用于程序調(diào)試)4. 可一行多句可一行多句,可一句多行可一句多行5. 語句和定義結(jié)束符不可少語句和定義結(jié)束符不可少6. 輸入輸出由庫函數(shù)完成輸入輸出由庫函數(shù)完成7. 可以用可以用 /*.*/ 對程序的任何部分進(jìn)行注釋對程序的任何部分進(jìn)行注釋191.4 程序上機(jī)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論