譚浩強(qiáng)C第1章程序設(shè)計(jì)和C語(yǔ)言ppt課件_第1頁(yè)
譚浩強(qiáng)C第1章程序設(shè)計(jì)和C語(yǔ)言ppt課件_第2頁(yè)
譚浩強(qiáng)C第1章程序設(shè)計(jì)和C語(yǔ)言ppt課件_第3頁(yè)
譚浩強(qiáng)C第1章程序設(shè)計(jì)和C語(yǔ)言ppt課件_第4頁(yè)
譚浩強(qiáng)C第1章程序設(shè)計(jì)和C語(yǔ)言ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩61頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第1章 程序設(shè)計(jì)和C言語(yǔ)1.1 什么是計(jì)算機(jī)程序1.2 什么是計(jì)算機(jī)言語(yǔ)1.3 C言語(yǔ)的開展及其特點(diǎn)1.4 最簡(jiǎn)單的C言語(yǔ)程序1.5 運(yùn)轉(zhuǎn)C程序的步驟與方法1.6 程序設(shè)計(jì)的義務(wù)11.1 什么是計(jì)算機(jī)程序計(jì)算機(jī)能干什么?程序:一組計(jì)算機(jī)能識(shí)別和執(zhí)行的指令計(jì)算機(jī)的本質(zhì):程序的機(jī)器(軟件運(yùn)轉(zhuǎn)在硬件上)21.2 什么是計(jì)算機(jī)言語(yǔ)計(jì)算機(jī)言語(yǔ):人和計(jì)算機(jī)交流信息的、計(jì)算機(jī)和人都能識(shí)別的言語(yǔ)人和人之間的交流需求經(jīng)過言語(yǔ),人和計(jì)算機(jī)之間的交流同樣需求言語(yǔ)。 石的奇觀(The pattern on the Stone)。31.2 什么是計(jì)算機(jī)言語(yǔ)計(jì)算機(jī)言語(yǔ)開展階段:機(jī)器言語(yǔ)由0和1組成的機(jī)器指令,二進(jìn)制數(shù)串符

2、號(hào)(匯編)言語(yǔ)用英文字母和數(shù)字表示指令高級(jí)言語(yǔ)接近于人的自然言語(yǔ)和數(shù)學(xué)言語(yǔ)面向過程的言語(yǔ) 非構(gòu)造化的言語(yǔ)Fortran、構(gòu)造化言語(yǔ)C面向?qū)ο蟮难哉Z(yǔ) C+、C#、Java面向方面Aspect的言語(yǔ)等低級(jí)言語(yǔ)41.3 C言語(yǔ)的開展及其特點(diǎn)5254565860626466687072747678808284868890929496AdaALGOL60ALGOL68PascalModula-2CPLBCPLBCC+JavaLISPPROLOGCOBOLFORTRAN77FORTRANPL/1Simula 67Smalltalk 80BASICANSI-BASICQBASICVBFORTRAN9051.

3、3 C言語(yǔ)的開展及其特點(diǎn)61.3 C言語(yǔ)的開展及其特點(diǎn)1983年,美國(guó)國(guó)家規(guī)范協(xié)會(huì)(ANSI)成立了一個(gè)委員會(huì),根據(jù)C言語(yǔ)問世以來各種版本對(duì)C言語(yǔ)的開展和擴(kuò)展,制定了第一個(gè)C言語(yǔ)規(guī)范草案(83 ANSI C)。71.3 C言語(yǔ)的開展及其特點(diǎn)1989年,ANSI公布了一個(gè)完好的C言語(yǔ)規(guī)范ANSI X3.159-1989(常稱ANSI C,或C89)。81.3 C言語(yǔ)的開展及其特點(diǎn)1990年,國(guó)際規(guī)范化組織ISO(International Standard Organization) 接受C89作為國(guó)際規(guī)范ISO/IEC 9899:1990,它和ANSI的C89根本上是一樣的。91.3 C言語(yǔ)的

4、開展及其特點(diǎn)1995年,ISO對(duì)C90作了一些修訂,1999年,ISO又對(duì)C言語(yǔ)規(guī)范進(jìn)展修訂,在根本保管原來的C言語(yǔ)特征的根底上,針對(duì)運(yùn)用的需求,添加了一些功能,尤其是C+中的一些功能,命名為ISO/IEC 9899:1999。101.3 C言語(yǔ)的開展及其特點(diǎn)2001、2004年先后進(jìn)展了兩次技術(shù)修正TC1和TC2。 ISO/IEC 9899:1999(及其技術(shù)修正)被稱為 C99。C99是C89(及1995基準(zhǔn)增補(bǔ)1)的擴(kuò)展。111.3 C言語(yǔ)的開展及其特點(diǎn)本書的表達(dá)以C99規(guī)范為根據(jù)對(duì)C99新添加的功能作特別的闡明。目前不同軟件公司提供的各C言語(yǔ)編譯系統(tǒng)多數(shù)并未完全實(shí)現(xiàn)C99建議的功能本書

5、中程序根本上都可以在目前所用的編譯系統(tǒng)(如VC+ 6.0,Turbo C+ 3.0,GCC)上編譯和運(yùn)轉(zhuǎn)。121.3 C言語(yǔ)的開展及其特點(diǎn)C言語(yǔ)是一種用途廣泛、功能強(qiáng)大、運(yùn)用靈敏的過程性(procedural)編程言語(yǔ),既可用于編寫運(yùn)用軟件,又能用于編寫系統(tǒng)軟件。因此C言語(yǔ)問世以后得到迅速推行。131.3 C言語(yǔ)的開展及其特點(diǎn)C言語(yǔ)主要特點(diǎn):言語(yǔ)簡(jiǎn)約、緊湊,運(yùn)用方便、靈敏。 只需37個(gè)關(guān)鍵字(附錄C)、9種控制語(yǔ)句 程序書寫方式自在,源程序短 C編譯系統(tǒng)簡(jiǎn)捷,以庫(kù)函數(shù)的方式提供多種功能141.3 C言語(yǔ)的開展及其特點(diǎn)C言語(yǔ)主要特點(diǎn):運(yùn)算符豐富。有34種運(yùn)算符(附錄D)把括號(hào)、賦值、強(qiáng)迫類型轉(zhuǎn)換

6、等都作為運(yùn)算符處置表達(dá)式類型多樣化(關(guān)系、邏輯、賦值等)151.3 C言語(yǔ)的開展及其特點(diǎn)C言語(yǔ)主要特點(diǎn):數(shù)據(jù)類型豐富。包括:整型、浮點(diǎn)型、字符型、數(shù)組類型、指針類型、構(gòu)造體類型、共用體類型C99又?jǐn)U展了復(fù)數(shù)浮點(diǎn)類型、超長(zhǎng)整型(long long)、布爾類型(bool)指針類型數(shù)據(jù),能用來實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)構(gòu)造(如鏈表、樹、棧等)的運(yùn)算。161.3 C言語(yǔ)的開展及其特點(diǎn)C言語(yǔ)主要特點(diǎn):具有構(gòu)造化的控制語(yǔ)句如ifelse語(yǔ)句、while語(yǔ)句、dowhile語(yǔ)句、switch語(yǔ)句、for語(yǔ)句用函數(shù)作為程序的模塊單位,便于實(shí)現(xiàn)程序的模塊化171.3 C言語(yǔ)的開展及其特點(diǎn)C言語(yǔ)主要特點(diǎn):語(yǔ)法限制不太嚴(yán)厲

7、,程序設(shè)計(jì)自在度大。對(duì)數(shù)組下標(biāo)越界不做檢查對(duì)變量的類型運(yùn)用比較靈敏,例如,整型量與字符型數(shù)據(jù)可以通用隱式類型轉(zhuǎn)換等181.3 C言語(yǔ)的開展及其特點(diǎn)C言語(yǔ)主要特點(diǎn):允許直接訪問物理地址,能進(jìn)展位操作,可以直接對(duì)硬件進(jìn)展操作C言語(yǔ)具有高級(jí)言語(yǔ)的功能和低級(jí)言語(yǔ)的許多功能,可用來編寫系統(tǒng)軟件這種雙重性,使它既是勝利的系統(tǒng)描畫言語(yǔ),又是通用的程序設(shè)計(jì)言語(yǔ)(SystemC)191.3 C言語(yǔ)的開展及其特點(diǎn)C言語(yǔ)主要特點(diǎn):用C言語(yǔ)編寫的程序可移植性好。C的編譯系統(tǒng)簡(jiǎn)約,很容易移植到新系統(tǒng)在新系統(tǒng)上運(yùn)轉(zhuǎn)時(shí),可直接編譯“規(guī)范鏈接庫(kù)中的大部分功能,不需求修正源代碼幾乎一切計(jì)算機(jī)系統(tǒng)都可以運(yùn)用C言語(yǔ)201.3 C言

8、語(yǔ)的開展及其特點(diǎn)C言語(yǔ)主要特點(diǎn):生成目的代碼質(zhì)量高,程序執(zhí)行效率高。(依賴于C言語(yǔ)的編譯器,VC+、BorlandC+、GCC等) 211.4 最簡(jiǎn)單的C言語(yǔ)程序1.4.1 最簡(jiǎn)單的C言語(yǔ)程序舉例1.4.2 C言語(yǔ)程序的構(gòu)造221.4.1 最簡(jiǎn)單的C言語(yǔ)程序舉例例1.1 要求在屏幕上輸出以下一行信息。 This is a C program.解題思緒: 在主函數(shù)中用printf函數(shù)原樣輸出以上文字。231.4.1 最簡(jiǎn)單的C言語(yǔ)程序舉例#include int main( ) printf (This is a C program.n); return 0; 函數(shù)的名字,表示主函數(shù)C程序必需有

9、一個(gè) main 函數(shù)241.4.1 最簡(jiǎn)單的C言語(yǔ)程序舉例#include int main( ) printf (This is a C program.n); return 0; 主函數(shù)前往值的類型,簡(jiǎn)稱主函數(shù)類型251.4.1 最簡(jiǎn)單的C言語(yǔ)程序舉例#include int main( ) printf (This is a C program.n); return 0; 函數(shù)體261.4.1 最簡(jiǎn)單的C言語(yǔ)程序舉例#include int main( ) printf (This is a C program.n); return 0; 輸出函數(shù)輸出語(yǔ)句271.4.1 最簡(jiǎn)單的C言語(yǔ)程

10、序舉例#include int main( ) printf (This is a C program.n); return 0; 輸出語(yǔ)句281.4.1 最簡(jiǎn)單的C言語(yǔ)程序舉例#include int main( ) printf (This is a C program.n); return 0; 換行符291.4.1 最簡(jiǎn)單的C言語(yǔ)程序舉例#include int main( ) printf (This is a C program.n); return 0; 當(dāng)main函數(shù)執(zhí)行終了前將整數(shù)0作為函數(shù)值301.4.1 最簡(jiǎn)單的C言語(yǔ)程序舉例#include int main( ) pr

11、intf (This is a C program.n); return 0; 表示語(yǔ)句終了用到函數(shù)庫(kù)中的輸入輸出函數(shù)時(shí)standard input & output311.4.1 最簡(jiǎn)單的C言語(yǔ)程序舉例C言語(yǔ)允許用兩種注釋方式:/:?jiǎn)涡凶⑨尶蓡为?dú)占一行可出如今一行中其他內(nèi)容的右側(cè)/*/:塊式注釋可包含多行注:出如今字符串中保管本身含義32例1.2 求兩個(gè)整數(shù)之和。解題思緒:設(shè)置3個(gè)變量a和b用來存放兩個(gè)整數(shù)sum用來存放和數(shù)用賦值運(yùn)算符“=把結(jié)果傳送給sum33#include int main( ) int a,b,sum; a = 123; b = 456; sum = a + b; p

12、rintf(sum is %dn,sum); return 0; 定義整型變量a,b,sum對(duì)變量a,b賦值將a與b的和賦給sum34#include int main( ) int a,b,sum; a = 123; b = 456; sum = a + b; printf(sum is %dn,sum); return 0; 用sum的值替代希望輸出的字符35例1.3求兩個(gè)整數(shù)中的較大者,用主函數(shù)調(diào)用子函數(shù)的方式實(shí)現(xiàn)。解題思緒:用一個(gè)函數(shù)實(shí)現(xiàn)求兩個(gè)整數(shù)中的較大者在主函數(shù)中調(diào)用此函數(shù)并輸出結(jié)果36#include int main( ) int max(int x,int y); int a

13、,b,c; scanf(%d,%d,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);主函數(shù)max函數(shù)37#include int main( ) int max(int x,int y); int a,b,c; scanf(%d,%d,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z =

14、 x; else z = y; return(z);將x和y中較大者值前往給主函數(shù)38#include int main( ) int max(int x,int y); int a,b,c; scanf(%d,%d,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);39#include int main( ) int max(int x,int y); int a,b,c; scanf(%d,%d,&a,&b);

15、 c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);因max函數(shù)的定義在main函數(shù)之后,需聲明40#include int main( ) int max(int x,int y); int a,b,c; scanf(%d,%d,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z

16、= y; return(z);輸入函數(shù)41#include int main( ) int max(int x,int y); int a,b,c; scanf(%d,%d,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);輸入語(yǔ)句42#include int main( ) int max(int x,int y); int a,b,c; scanf(%d,%d,&a,&b); c = max(a,b); pri

17、ntf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);輸入的數(shù)據(jù)放到a,b中輸入格式a的地址43#include int main( ) int max(int x,int y); int a,b,c; scanf(%d,%d,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);調(diào)用max函

18、數(shù)44#include int main( ) int max(int x,int y); int a,b,c; scanf(%d,%d,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);858845#include int main( ) int max(int x,int y); int a,b,c; scanf(%d,%d,&a,&b); c = max(a,b); printf(max=%dn,c); re

19、turn 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);858846#include int main( ) int max(int x,int y); int a,b,c; scanf(%d,%d,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);實(shí)踐參數(shù)方式參數(shù)471.4.2 C言語(yǔ)程序的構(gòu)造C言語(yǔ)程序的構(gòu)造特點(diǎn):1.一個(gè)

20、程序由一個(gè)或多個(gè)源程序文件組成小程序往往只包括一個(gè)源程序文件例1.1,例1.2只需一個(gè)函數(shù)例1.3有兩個(gè)函數(shù)只包括一個(gè)源程序文件481.4.2 C言語(yǔ)程序的構(gòu)造C言語(yǔ)程序的構(gòu)造特點(diǎn):一個(gè)源程序文件中可以包括三個(gè)部分:預(yù)處置指令全局聲明函數(shù)定義#include 等在函數(shù)之外進(jìn)展的數(shù)據(jù)聲明每個(gè)函數(shù)用來實(shí)現(xiàn)一定的功能注:函數(shù)不能嵌套定義。491.4.2 C言語(yǔ)程序的構(gòu)造C言語(yǔ)程序的構(gòu)造特點(diǎn):2.函數(shù)是C程序的主要組成部分一個(gè)C程序是由一個(gè)或多個(gè)函數(shù)組成的必需包含一個(gè)main函數(shù)只能有一個(gè)每個(gè)函數(shù)都用來實(shí)現(xiàn)一個(gè)或幾個(gè)特定功能被調(diào)用的函數(shù)可以是庫(kù)函數(shù),也可以是本人編制設(shè)計(jì)的函數(shù)501.4.2 C言語(yǔ)程序

21、的構(gòu)造C言語(yǔ)程序的構(gòu)造特點(diǎn):3.一個(gè)函數(shù)包括兩個(gè)部分:函數(shù)首部int max ( int x, int y )函數(shù)的第1行函數(shù)類型函數(shù)名參數(shù)類型參數(shù)名511.4.2 C言語(yǔ)程序的構(gòu)造C言語(yǔ)程序的構(gòu)造特點(diǎn):3.一個(gè)函數(shù)包括兩個(gè)部分:函數(shù)首部int max ( int x, int y )假設(shè)函數(shù)無參,在括弧中寫void或空括弧int main( void) 或 int main()521.4.2 C言語(yǔ)程序的構(gòu)造C言語(yǔ)程序的構(gòu)造特點(diǎn):3.一個(gè)函數(shù)包括兩個(gè)部分:函數(shù)體聲明部分定義在本函數(shù)中所用到的變量對(duì)本函數(shù)所調(diào)用函數(shù)進(jìn)展聲明執(zhí)行部分:由假設(shè)干個(gè)語(yǔ)句組成,指定在函數(shù)中所進(jìn)展的操作(執(zhí)行語(yǔ)句)可以沒

22、有聲明部分可以沒有執(zhí)行部分531.4.2 C言語(yǔ)程序的構(gòu)造C言語(yǔ)程序的構(gòu)造特點(diǎn):3.一個(gè)函數(shù)包括兩個(gè)部分:函數(shù)體void dump ( ) 可以是空函數(shù)541.4.2 C言語(yǔ)程序的構(gòu)造C言語(yǔ)程序的構(gòu)造特點(diǎn):4. 程序總是從main函數(shù)開場(chǎng)執(zhí)行5. C程序?qū)τ?jì)算機(jī)的操作由C語(yǔ)句完成C程序書寫格式是比較自在的一行內(nèi)可以寫幾個(gè)語(yǔ)句一個(gè)語(yǔ)句可以分寫在多行上為明晰起見,習(xí)慣上每行只寫一個(gè)語(yǔ)句551.4.2 C言語(yǔ)程序的構(gòu)造C言語(yǔ)程序的構(gòu)造特點(diǎn):4. 程序總是從main函數(shù)開場(chǎng)執(zhí)行5. C程序?qū)τ?jì)算機(jī)的操作由C語(yǔ)句完成6. 數(shù)據(jù)(變量、函數(shù))聲明和語(yǔ)句最后必需有分號(hào)7. C言語(yǔ)本身不提供輸入輸出語(yǔ)句8.

23、程序該當(dāng)包含注釋,添加可讀性561.5 運(yùn)轉(zhuǎn)C程序的步驟與方法1.上機(jī)輸入和編輯源程序.c文件2.對(duì)源程序進(jìn)展編譯.obj文件3.進(jìn)展鏈接處置.exe文件4.運(yùn)轉(zhuǎn)可執(zhí)行程序,得到運(yùn)轉(zhuǎn)結(jié)果闡明:以上過程參見教材中圖1.2書 附錄A中有Visual C+ 6.0中編輯、 編譯、銜接和運(yùn)轉(zhuǎn)C程序的方法571.6 程序設(shè)計(jì)的義務(wù)1.問題分析建模對(duì)于接手的義務(wù)要進(jìn)展仔細(xì)的分析研討所給定的條件分析最后應(yīng)到達(dá)的目的找出處理問題的規(guī)律選擇解題的方法581.6 程序設(shè)計(jì)的義務(wù)1.問題分析2.設(shè)計(jì)算法設(shè)計(jì)出解題的方法和詳細(xì)步驟591.6 程序設(shè)計(jì)的義務(wù)1.問題分析2.設(shè)計(jì)算法3.編寫程序4.對(duì)源程序進(jìn)展編輯、編譯和銜接5.運(yùn)轉(zhuǎn)程序,分析結(jié)果(調(diào)試與測(cè)試)結(jié)果錯(cuò)了,程序一定錯(cuò)結(jié)果對(duì)了,程序未必對(duì)601.6 程序設(shè)計(jì)的義務(wù)1.問題分析2.設(shè)計(jì)算法3.編寫程序4.對(duì)源程序進(jìn)展編輯、編譯和銜接5.運(yùn)轉(zhuǎn)程序,分析結(jié)果6.編寫程序文檔616237個(gè)關(guān)鍵字:(由系統(tǒng)定義,不能重作其它定義)auto break case char constcontinue default do double elseenum exter

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論