程序設(shè)計(jì)和C語(yǔ)言譚浩強(qiáng)第五版_第1頁(yè)
程序設(shè)計(jì)和C語(yǔ)言譚浩強(qiáng)第五版_第2頁(yè)
程序設(shè)計(jì)和C語(yǔ)言譚浩強(qiáng)第五版_第3頁(yè)
程序設(shè)計(jì)和C語(yǔ)言譚浩強(qiáng)第五版_第4頁(yè)
程序設(shè)計(jì)和C語(yǔ)言譚浩強(qiáng)第五版_第5頁(yè)
已閱讀5頁(yè),還剩46頁(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ǔ)言的發(fā)展及其特點(diǎn)1.4 最簡(jiǎn)單的C語(yǔ)言程序1.5 運(yùn)行C程序的步驟與方法1.6 程序設(shè)計(jì)的任務(wù)1.1 什么是計(jì)算機(jī)程序程序:一組計(jì)算機(jī)能識(shí)別和執(zhí)行的指令只要讓計(jì)算機(jī)執(zhí)行這個(gè)程序,計(jì)算機(jī)就會(huì)自動(dòng)地、有條不紊地進(jìn)行工作計(jì)算機(jī)的一切操作都是由程序控制的,離開程序,計(jì)算機(jī)將一事無(wú)成1.2 什么是計(jì)算機(jī)語(yǔ)言計(jì)算機(jī)語(yǔ)言:人和計(jì)算機(jī)交流信息的、計(jì)算機(jī)和人都能識(shí)別的語(yǔ)言1.2 什么是計(jì)算機(jī)語(yǔ)言計(jì)算機(jī)語(yǔ)言發(fā)展階段:機(jī)器語(yǔ)言計(jì)算機(jī)只能識(shí)別和接受由0和1組成的指令 機(jī)器指令的集合 一般計(jì)算機(jī)指令長(zhǎng)度為16位機(jī)器指令計(jì)算機(jī)能直接執(zhí)行和

2、接受的二進(jìn)制代碼符號(hào)語(yǔ)言用英文字母和數(shù)字表示指令,又稱匯編語(yǔ)言匯編程序計(jì)算機(jī)不能識(shí)別和執(zhí)行符號(hào)語(yǔ)言的指令 把符號(hào)語(yǔ)言的指令轉(zhuǎn)換為機(jī)器指令低級(jí)語(yǔ)言計(jì)算機(jī)語(yǔ)言發(fā)展階段:低級(jí)語(yǔ)言完全依賴于具體計(jì)算機(jī)特性,面向計(jì)算機(jī)的語(yǔ)言高級(jí)語(yǔ)言接近于人的自然語(yǔ)言和數(shù)學(xué)語(yǔ)言編譯程序計(jì)算機(jī)不能直接識(shí)別高級(jí)語(yǔ)言非結(jié)構(gòu)化的語(yǔ)言編程風(fēng)格隨意,沒有嚴(yán)格的規(guī)范要求結(jié)構(gòu)化語(yǔ)言具有良好的基本結(jié)構(gòu),不能隨意跳轉(zhuǎn)面向?qū)ο蟮恼Z(yǔ)言處理規(guī)模較大的問題1.3 C語(yǔ)言的發(fā)展及其特點(diǎn)本書的敘述以C99標(biāo)準(zhǔn)為依據(jù)(對(duì)C99新增加的功能作特別的說明)。目前不同軟件公司提供的各C語(yǔ)言編譯系統(tǒng)多數(shù)并未完全實(shí)現(xiàn)C99建議的功能本書中程序基本上都可以在目前所用

3、的編譯系統(tǒng)(如VC+ 6.0,Turbo C+ 3.0 , GCC)上編譯和運(yùn)行。1.3 C語(yǔ)言的發(fā)展及其特點(diǎn)C語(yǔ)言是一種用途廣泛、功能強(qiáng)大、使用靈活的過程性(procedural)編程語(yǔ)言,既可用于編寫應(yīng)用軟件,又能用于編寫系統(tǒng)軟件。因此C語(yǔ)言問世以后得到迅速推廣。1.3 C語(yǔ)言的發(fā)展及其特點(diǎn)C語(yǔ)言主要特點(diǎn):1、語(yǔ)言簡(jiǎn)潔、緊湊,使用方便、靈活。只有37個(gè)關(guān)鍵字、9種控制語(yǔ)句程序書寫形式自由,源程序短1.3 C語(yǔ)言的發(fā)展及其特點(diǎn)C語(yǔ)言主要特點(diǎn):2、運(yùn)算符豐富。有34種運(yùn)算符把括號(hào)、賦值、強(qiáng)制類型轉(zhuǎn)換等都作為運(yùn)算符處理表達(dá)式類型多樣化1.3 C語(yǔ)言的發(fā)展及其特點(diǎn)C語(yǔ)言主要特點(diǎn):3、數(shù)據(jù)類型豐富。

4、包括:整型、浮點(diǎn)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型C99又?jǐn)U充了復(fù)數(shù)浮點(diǎn)類型、超長(zhǎng)整型(long long)、布爾類型(bool)指針類型數(shù)據(jù),能用來(lái)實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)(如鏈表、樹、棧等)的運(yùn)算。1.3 C語(yǔ)言的發(fā)展及其特點(diǎn)C語(yǔ)言主要特點(diǎn):4、具有結(jié)構(gòu)化的控制語(yǔ)句如ifelse語(yǔ)句、while語(yǔ)句、dowhile語(yǔ)句、switch語(yǔ)句、for語(yǔ)句用函數(shù)作為程序的模塊單位,便于實(shí)現(xiàn)程序的模塊化C語(yǔ)言是完全模塊化和結(jié)構(gòu)化的語(yǔ)言1.3 C語(yǔ)言的發(fā)展及其特點(diǎn)C語(yǔ)言主要特點(diǎn):5、語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。對(duì)數(shù)組下標(biāo)越界不做檢查對(duì)變量的類型使用比較靈活,例如,整型量與字符

5、型數(shù)據(jù)可以通用C語(yǔ)言允許程序編寫者有較大的自由度,因此放寬了語(yǔ)法檢查1.3 C語(yǔ)言的發(fā)展及其特點(diǎn)C語(yǔ)言主要特點(diǎn):6、允許直接訪問物理地址,能進(jìn)行位操作,可以直接對(duì)硬件進(jìn)行操作C語(yǔ)言具有高級(jí)語(yǔ)言的功能和低級(jí)語(yǔ)言的許多功能,可用來(lái)編寫系統(tǒng)軟件這種雙重性,使它既是成功的系統(tǒng)描述語(yǔ)言,又是通用的程序設(shè)計(jì)語(yǔ)言1.3 C語(yǔ)言的發(fā)展及其特點(diǎn)C語(yǔ)言主要特點(diǎn):7、用C語(yǔ)言編寫的程序可移植性好。C的編譯系統(tǒng)簡(jiǎn)潔,很容易移植到新系統(tǒng)在新系統(tǒng)上運(yùn)行時(shí),可直接編譯“標(biāo)準(zhǔn)鏈接庫(kù)”中的大部分功能,不需要修改源代碼幾乎所有計(jì)算機(jī)系統(tǒng)都可以使用C語(yǔ)言1.3 C語(yǔ)言的發(fā)展及其特點(diǎn)C語(yǔ)言主要特點(diǎn):8、生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效

6、率高。 1.4最簡(jiǎn)單的C語(yǔ)言程序1.4.1 最簡(jiǎn)單的C語(yǔ)言程序舉例1.4.2 C語(yǔ)言程序的結(jié)構(gòu)1.4.1 最簡(jiǎn)單的C語(yǔ)言程序舉例例1.1 要求在屏幕上輸出以下一行信息。 This is a C program.解題思路: 在主函數(shù)中用printf函數(shù)原樣輸出以上文字。1.4.1 最簡(jiǎn)單的C語(yǔ)言程序舉例#include int main( ) printf (”This is a C program.n”); return 0; 函數(shù)的名字,表示主函數(shù)C程序必須有一個(gè) main 函數(shù)主函數(shù)類型1.4.1 最簡(jiǎn)單的C語(yǔ)言程序舉例#include int main( ) printf (”This

7、is a C program.n”); return 0; 函數(shù)體1.4.1 最簡(jiǎn)單的C語(yǔ)言程序舉例#include int main( ) printf (”This is a C program.n”); return 0; 輸出函數(shù)輸出語(yǔ)句1.4.1 最簡(jiǎn)單的C語(yǔ)言程序舉例#include int main( ) printf (”This is a C program.n”); return 0; 換行符1.4.1 最簡(jiǎn)單的C語(yǔ)言程序舉例#include int main( ) printf (”This is a C program.n”); return 0; 當(dāng)main函數(shù)執(zhí)行結(jié)

8、束前將整數(shù)0作為函數(shù)值1.4.1 最簡(jiǎn)單的C語(yǔ)言程序舉例#include int main( ) printf (”This is a C program.n”); return 0; 表示語(yǔ)句結(jié)束用到函數(shù)庫(kù)中的輸入輸出函數(shù)時(shí)例1.1 拓展要求在屏幕上輸出以下兩行信息: This is a C program. I think this program is fun!1.4.1 最簡(jiǎn)單的C語(yǔ)言程序舉例C語(yǔ)言允許用兩種注釋方式:/:?jiǎn)涡凶⑨尶蓡为?dú)占一行可出現(xiàn)在一行中其他內(nèi)容的右側(cè)/*/:塊式注釋可包含多行例1.2 求兩個(gè)整數(shù)之和。解題思路:設(shè)置3個(gè)變量a和b用來(lái)存放兩個(gè)整數(shù)sum用來(lái)存放和數(shù)用賦

9、值運(yùn)算符“=”把結(jié)果傳送給sum#include int main( ) int a,b,sum; a = 123; b = 456; sum = a + b; printf(”sum is %dn”,sum); return 0; 定義整型變量a,b,sum對(duì)變量a,b賦值將a與b的和賦給sum#include int main( ) int a,b,sum; a = 123; b = 456; sum = a + b; printf(”sum is %dn”,sum); return 0; 用sum的值替代希望輸出的字符例1.2 拓 展思 考: 1、如果希望以算式形式輸出123+456=5

10、79上面的程序如何更改? (注意:此處a=123, b=456, 如果a=1, b=2, 則輸出的是1+2=3) 2、輸入兩個(gè)數(shù),求和#include int main( ) int a,b,sum; printf(“input 2 numbers:n”); scanf(“%d%d”, &a, &b); sum = a + b; printf(”%d+%d=%dn”,a,b,sum); return 0; 例1.3求兩個(gè)整數(shù)中的較大者。解題思路:用一個(gè)函數(shù)實(shí)現(xiàn)求兩個(gè)整數(shù)中的較大者在主函數(shù)中調(diào)用此函數(shù)并輸出結(jié)果#include int main( ) int max(int x,int y);

11、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ù)max函數(shù)#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

12、 y) z = x; else z = y; return(z);將x和y中較大者值返回給主函數(shù)#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);#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”,

13、&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);因max函數(shù)的定義在main函數(shù)之后,需聲明#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;

14、else z = y; return(z);輸入函數(shù)#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ǔ)句#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”,&a,&b); c = max(a,

15、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ù)據(jù)放到a,b中輸入格式a的地址#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)

16、;調(diào)用max函數(shù)#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);8588#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

17、,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);8588#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ù)1.4.2 C語(yǔ)言程序的結(jié)構(gòu)C語(yǔ)言程序的結(jié)構(gòu)特點(diǎn)

18、:1.一個(gè)程序由一個(gè)或多個(gè)源程序文件組成小程序往往只包括一個(gè)源程序文件例1.1,例1.2只有一個(gè)函數(shù)例1.3有兩個(gè)函數(shù)1.4.2 C語(yǔ)言程序的結(jié)構(gòu)C語(yǔ)言程序的結(jié)構(gòu)特點(diǎn):一個(gè)源程序文件中可以包括三個(gè)部分:預(yù)處理指令全局聲明函數(shù)定義#include 等在函數(shù)之外進(jìn)行的數(shù)據(jù)聲明每個(gè)函數(shù)用來(lái)實(shí)現(xiàn)一定的功能1.4.2 C語(yǔ)言程序的結(jié)構(gòu)C語(yǔ)言程序的結(jié)構(gòu)特點(diǎn):2.函數(shù)是C程序的主要組成部分一個(gè)C程序是由一個(gè)或多個(gè)函數(shù)組成的必須包含一個(gè)main函數(shù)(只能有一個(gè))每個(gè)函數(shù)都用來(lái)實(shí)現(xiàn)一個(gè)或幾個(gè)特定功能被調(diào)用的函數(shù)可以是庫(kù)函數(shù),也可以是自己編制設(shè)計(jì)的函數(shù)1.4.2 C語(yǔ)言程序的結(jié)構(gòu)C語(yǔ)言程序的結(jié)構(gòu)特點(diǎn):3.一個(gè)函數(shù)包括兩個(gè)部分:函數(shù)首部int max ( int x, int y )函數(shù)的第1行函數(shù)類型函數(shù)名參數(shù)類型參數(shù)名若函數(shù)無(wú)參,在括弧中寫void或空括弧int main( void) 或 int main()1.4.2 C語(yǔ)言程序的結(jié)構(gòu)C語(yǔ)言程序的結(jié)構(gòu)特點(diǎn):3.一個(gè)函數(shù)包括兩個(gè)部分:函數(shù)體聲明部分定義在本函數(shù)中所用到的變量對(duì)本函數(shù)所調(diào)用函數(shù)進(jìn)行聲明執(zhí)行部分:由若干個(gè)語(yǔ)句組成,指定在函數(shù)中所進(jìn)行的操作可以

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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)論