c语言第1章ppt,c语言第1章课件.ppt
《c語言第1章課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《c語言第1章課件.ppt(30頁珍藏版)》請(qǐng)?jiān)谌巳宋膸炀W(wǎng)上搜索。
1、第1章 C語言概述,計(jì)算機(jī)中心,C 語言程序設(shè)計(jì),2020/7/15,2,本章主要內(nèi)容,計(jì)算機(jī)語言與程序設(shè)計(jì) C語言出現(xiàn)的歷史背景 C語言的特點(diǎn) 簡(jiǎn)單C語言程序介紹 運(yùn)行C程序的步驟與方法,2020/7/15,3,1.1.1 計(jì)算機(jī)語言與程序設(shè)計(jì),1. 計(jì)算機(jī)語言 是人與計(jì)算機(jī)進(jìn)行交流的工具 計(jì)算機(jī)語言分為:,2020/7/15,4,機(jī)器語言 機(jī)器語言是計(jì)算機(jī)能唯一識(shí)別的語言。機(jī)器語言是程序是一串串由“0”和“1”組成的指令序列。使用機(jī)器語言十分痛苦,特別是在程序有錯(cuò)需要修改時(shí)更是如此。而且,由于每臺(tái)計(jì)算機(jī)的指令系統(tǒng)往往各不相同,因此,在一臺(tái)計(jì)算機(jī)上執(zhí)行的程序,要想在另一臺(tái)計(jì)算機(jī)上執(zhí)行,必須另。
2、編程序,會(huì)造成重復(fù)工作。機(jī)器語言是第一代計(jì)算機(jī)語言。,2020/7/15,5,匯編語言 為了減輕使用機(jī)器語言編程的痛苦,人們進(jìn)行了一些簡(jiǎn)潔的英文字母、符號(hào)串來替代一個(gè)特定指令的二進(jìn)制串,比如,用“ADD”代替加法,“MOV”代表數(shù)據(jù)傳遞等,這樣以來,人們很容易讀懂并理解程序在干什么,糾錯(cuò)及維護(hù)都變得方便了,這種程序設(shè)計(jì)語言就稱為匯編語言,即第二代計(jì)算機(jī)語言。然而計(jì)算機(jī)是不認(rèn)識(shí)這些符號(hào)得,這就需要一個(gè)專門得程序,專門負(fù)責(zé)將這些符號(hào)翻譯成二進(jìn)制數(shù)的機(jī)器語言,這種翻譯程序就被稱為匯編程序。,2020/7/15,6,高級(jí)語言 從最初與計(jì)算機(jī)交流得痛苦經(jīng)歷中,人們意識(shí)到,應(yīng)該設(shè)計(jì)一種這樣得語言:這種語言。
3、接近于數(shù)學(xué)語言或人的自然語言,同時(shí)又不依賴于計(jì)算機(jī)硬件,編出的程序能在所有機(jī)器上使用。經(jīng)過努力,第一個(gè)完全脫離機(jī)器硬件的高級(jí)語言FORTRAN問世了,四十多年來,共有幾百種高級(jí)語言出現(xiàn),影響較大、使用較普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、PASCAL、C+、VC、VB、JAVA等。,2020/7/15,7,例如:,0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 0 1 0 1 1 1 0 1 1 0,機(jī)器語言程序,源程序需要 翻譯,2020/7/15,8,匯編源程序的翻譯:,將匯編源程序翻譯為目標(biāo)程序的過程稱為匯編 匯編。
4、過程:,2020/7/15,9,高級(jí)語言的翻譯:,編譯方法,解釋方法,2020/7/15,10,2程序設(shè)計(jì),用計(jì)算機(jī)解決一個(gè)實(shí)際應(yīng)用問題時(shí)的整個(gè)處理過程稱為程序設(shè)計(jì),2020/7/15,11,1.1.2 算法,什么是算法 為解決某一應(yīng)用問題而采用的解題步驟 算法的描述方式 用自然語言描述算法 用流程圖描述算法 用N-S結(jié)構(gòu)圖描述算法,例如:輸出兩個(gè)數(shù)中的最大數(shù),2020/7/15,12,用自然語言描述算法,第一步:輸入x和y的值 第二步:比較x和y的值,如果x大于y,則輸出x的值,否則輸出y的值。,易于理解,但冗長(zhǎng),不夠精確,難于描述復(fù)雜算法。,例如當(dāng)描述“輸出10個(gè)數(shù)中最大數(shù)”的算法時(shí),會(huì)冗。
5、長(zhǎng)、難于理解,2020/7/15,13,圖1.5 用流程圖描述算法,用流程圖描述算法,起止框,輸入/輸出框,判斷框,處理框,流程線,2020/7/15,14,用N-S結(jié)構(gòu)圖描述算法,圖1.7 用N-S結(jié)構(gòu)圖描述的算法,已經(jīng)證明,任何復(fù)雜的問題都可以三種基本算法結(jié)構(gòu)來描述:順序、選擇、循環(huán)。因此用計(jì)算機(jī)語句描述的程序也包含三種基本結(jié)構(gòu)。,2020/7/15,15,1.1.3 結(jié)構(gòu)化程序設(shè)計(jì),程序的三種基本結(jié)構(gòu) 順序結(jié)構(gòu)程序:按照書寫順序依次執(zhí)行語句 選擇結(jié)構(gòu)程序:按照條件判斷選擇執(zhí)行語句 循環(huán)結(jié)構(gòu)程序:通過條件控制循環(huán)執(zhí)行語句,三種基本結(jié)構(gòu)的共同點(diǎn): 都是只有一個(gè)入口和一個(gè)出口; 結(jié)構(gòu)內(nèi)的每一個(gè)。
6、框都有機(jī)會(huì)被執(zhí)行; 結(jié)構(gòu)內(nèi)沒有死循環(huán)。,2020/7/15,16,結(jié)構(gòu)化程序設(shè)計(jì)的基本原則:,如果一個(gè)程序僅包含這三種基本結(jié)構(gòu)(由這些基本結(jié)構(gòu)順序組成),則稱為結(jié)構(gòu)化程序。 結(jié)構(gòu)化程序設(shè)計(jì)的基本原則: 采用自頂向下、逐步細(xì)化的方法進(jìn)行設(shè)計(jì); 采用模塊化原則和方法進(jìn)行設(shè)計(jì)。即將大型任務(wù)從上向下劃分為多個(gè)功能模塊,每個(gè)模塊又可以劃分為若干子模塊,然后分別進(jìn)行模塊程序的編寫; 每個(gè)模塊都是用結(jié)構(gòu)化程序?qū)崿F(xiàn),即都只能由三種基本結(jié)構(gòu)組成,并通過計(jì)算機(jī)語言的結(jié)構(gòu)化語句實(shí)現(xiàn)。,2020/7/15,17,1.2 C語言概述,主要內(nèi)容: C語言的發(fā)展 C語言的特點(diǎn) C程序的基本結(jié)構(gòu) C程序的執(zhí)行過程,2020/。
7、7/15,18,C語言出現(xiàn)的歷史背景,C語言是國(guó)際上廣泛流行的計(jì)算機(jī)高級(jí)語言。它適合作為系統(tǒng)描述語言,既可以用來編寫系統(tǒng)軟件,也可用來編寫應(yīng)用軟件。 早期的操作系統(tǒng)軟件主要是用匯編語言編寫的。由于匯編語言依賴于計(jì)算機(jī)硬件,程序的可讀性和可移植性都比較差,一般的高級(jí)語言都難以實(shí)現(xiàn)匯編語言的功能,為了提高系統(tǒng)軟件的可讀性和可移植性,一種兼具有高級(jí)語言和低級(jí)語言優(yōu)點(diǎn)的語言C語言應(yīng)允而生了。,2020/7/15,19,1.2.1 C語言的發(fā)展,發(fā)展過程 C語言屬于高級(jí)語言,它的原型是ALGOL 60語言,2020/7/15,20,1963年,劍橋大學(xué)將ALGOL60語言發(fā)展成為CPL(combined。
8、 Programming Language)語言。 1967年劍橋大學(xué)的Matin Richards對(duì)CPL語言進(jìn)行了簡(jiǎn)化,于是產(chǎn)生了BCPL語言。 1970年美國(guó)貝爾實(shí)驗(yàn)室的Ken Thompson 將BCPL語言煮干,提煉出它的精華。并且它用B語言寫了第一個(gè)UNIX操作系統(tǒng)。 1973年,美國(guó)貝爾實(shí)驗(yàn)室的D.M.RITCHIE在B語言的基礎(chǔ)上設(shè)計(jì)出了C語言(取BCPL的第二個(gè)字母)。,2020/7/15,21,1.2.2 C語言的特點(diǎn),語言簡(jiǎn)潔,表達(dá)能力強(qiáng),易于理解 只有32個(gè)關(guān)鍵字,9種控制語句 數(shù)據(jù)構(gòu)造能力強(qiáng) 運(yùn)算符豐富 程序書寫格式自由 可直接訪問物理地址,可以直接對(duì)硬件進(jìn)行操作,能。
9、實(shí)現(xiàn)匯編語言的大部分功能。因此,既具有高級(jí)語言的功能,也有低級(jí)語言的功能。 語言生成的代碼質(zhì)量高,程序執(zhí)行效率高。 與匯編語言相比,可移植性好。基本上不做修改就能用于各種型號(hào)的計(jì)算機(jī)和各種操作系統(tǒng)。,增加學(xué)習(xí)難度,2020/7/15,22,1.2.3 C程序的基本結(jié)構(gòu),【例1.1】計(jì)算并輸出一個(gè)數(shù)a的平方。 main( ) float a,b; a=5.2; b=a*a; printf(b=%fn,b); ,執(zhí)行程序的輸出結(jié)果為: b=27.039997,2020/7/15,23,1.2.3 C程序的基本結(jié)構(gòu),【例1.2】輸入兩個(gè)數(shù),輸出其中的大數(shù)。,int max(int x, int y)。
10、 /* max函數(shù) */ int z ; if (xy) z = x; else z = y; return(z); main( ) /* 主函數(shù) */ int a,b,c; scanf(%d, %d, ,2020/7/15,24,C程序結(jié)構(gòu),C程序 由函數(shù)構(gòu)成,函數(shù)是C程序的基本單位。 必須有,且只能有一個(gè)main(主函數(shù)) 總是從main函數(shù)(表示主函數(shù))開始執(zhí)行,不論main函數(shù)的位置如何。 C程序書寫格式自由,一行內(nèi)可以寫幾個(gè)語句,一個(gè)語句可以分寫在多行上,C程序沒有行號(hào)。 每個(gè)語句和數(shù)據(jù)聲明的最后必須有一個(gè)分號(hào) C語言本身沒有輸入輸出語句。其操作是由庫函數(shù)sacnf和printf等函。
11、數(shù)來完成的。實(shí)行函數(shù)化。 /*/對(duì)C程序中的任何部分做注釋。一個(gè)好的、有使用價(jià)值的源程序都應(yīng)加上必要的注釋,以增加程序的可讀性。,2020/7/15,25,函數(shù) 由函數(shù)首部和函數(shù)體組成 函數(shù)首部指定函數(shù)名、函數(shù)參數(shù)、類型 函數(shù)體從 開始,到 結(jié)束。函數(shù)體包含兩部分:聲明部分和執(zhí)行部分。 函數(shù)內(nèi)有語句 C的函數(shù)相當(dāng)于其它語言中的子程序。用函數(shù)來實(shí)現(xiàn)特定的功能。程序全部工作都是由各個(gè)函數(shù)分別完成的。編寫C程序就是編寫一個(gè)個(gè)的函數(shù)。,2020/7/15,26,C程序結(jié)構(gòu)(續(xù)),語句 包括說明性語句、可執(zhí)行語句 以 ;表示語句結(jié)束 注釋 可以出現(xiàn)在程序的任何位置 用 /* 和 */ 括起來,必須成對(duì)出。
12、現(xiàn) 書寫格式 C語言沒有行的概念,書寫格式自由。 習(xí)慣小寫字母,縮進(jìn)格式。,2020/7/15,27,1.2.4 C程序的執(zhí)行過程,1源程序文件的建立和編輯 編寫源程序,形成 .C文件 需用編輯工具:tc.exe、記事本 2編譯 編譯源程序,compile,將高級(jí)語言程序換成二進(jìn)制形式的目標(biāo)程序(object),形成目標(biāo)程序 . Obj文件 需用編譯工具 :tcc.exe 3連接 Link,將目標(biāo)程序按指定的操作系統(tǒng)的要求組合形成可執(zhí)行程序(execute)。連接OBJ文件和調(diào)用的庫函數(shù),形成運(yùn)行程序 .exe 文件 需用連接工具 :tlink.exe 4運(yùn)行 .exe 文件,運(yùn)行jc1_2,。
13、Turbo C提供 集成化開發(fā)環(huán)境,2020/7/15,28,1.3 C程序的符號(hào)系統(tǒng),主要內(nèi)容: 基本字符 標(biāo)識(shí)符,2020/7/15,29,1.3.1 基本字符,大寫英文字母:A B C X Y Z 小寫英文字母:a b c x y z 數(shù)字:0 1 2 9 空白符:空格符、換行符、制表符 特殊字符:+ - * / ( ) _ = ! # % . , ; : “ | & ? $ ,2020/7/15,30,正確區(qū)分標(biāo)識(shí)符,正確區(qū)分哪些是合法標(biāo)識(shí)符,哪些是不合法標(biāo)識(shí)符。其中合法標(biāo)識(shí)符中哪些是關(guān)鍵字,哪些是預(yù)定義標(biāo)識(shí)符,哪些是用戶定義標(biāo)識(shí)符。 Abc define 2x double student m+y a# b-4 _1 While int let x%y name do wtm Ctrl swicth include。
總結(jié)
以上是生活随笔為你收集整理的c语言第1章ppt,c语言第1章课件.ppt的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 金杯海狮9节气节气门在哪?
- 下一篇: 每三个数换行 用C语言表示,关于换行符: