《C語言程序設(shè)計(jì)》-第1章-概論_第1頁
《C語言程序設(shè)計(jì)》-第1章-概論_第2頁
《C語言程序設(shè)計(jì)》-第1章-概論_第3頁
《C語言程序設(shè)計(jì)》-第1章-概論_第4頁
《C語言程序設(shè)計(jì)》-第1章-概論_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C

語言程序設(shè)計(jì)但愿她是你知識大廈的又一塊基石。但愿她是開啟你智慧的又一把鑰匙!CLanguageProgramming學(xué)習(xí)目的通過學(xué)習(xí)掌握C語言的語法結(jié)構(gòu),理解程序設(shè)計(jì)的一般方法和基本技術(shù)。學(xué)習(xí)算法的概念以及結(jié)構(gòu)化程序設(shè)計(jì)的一般方法,提高分析能力和綜合能力。能夠用C語言編程解決一定的實(shí)際問題,提高計(jì)算能力。高級語言的概念計(jì)算機(jī)的語言在發(fā)展的過程中經(jīng)歷了三個階段:如:表示2+301110000110101000010MOV

AC,3ADD

AC,22+3面向機(jī)器的二進(jìn)制語言、CPU直接運(yùn)行。面向機(jī)器符號化語言,翻譯后運(yùn)行。面向問題的類自然語言,翻譯后運(yùn)行。編譯或解釋系統(tǒng)SourceObject機(jī)器語言匯編語言高級語言語言的基本元素、構(gòu)詞方法、句法、程序結(jié)構(gòu)等規(guī)則的集合。解決特定問題的步驟描述。結(jié)構(gòu)化程序設(shè)計(jì)的思想方法。學(xué)習(xí)的層次語法算法方法把我所考察的每一個難題,都盡可能地分成細(xì)小的部分,直到可以而且適于加以圓滿解決的程度為止。

———笛卡爾(法)實(shí)踐FromRequirementtoProgramRequirement:Triangle’sareaInput:a、b、cabcInput:a,b,c

OutputareaBlackboxFromRequirementtoProgram約束:任意兩邊和大于第三邊。第一章概論Chapter1Introduction1.1C語言簡介

1.計(jì)算機(jī)與程序

C語言是由DennisMRitchie和BrianWKernighan于1972年在B語言的基礎(chǔ)上提出的,他們用C語言重寫了在PDP–11小型機(jī)上的Unix,并取得了成功。程序是用計(jì)算機(jī)語言描述的、為解決某一問題、滿足一定語法規(guī)則的語句序列。計(jì)算機(jī)是可以按照人們事先編寫的程序高速、精確地進(jìn)行數(shù)據(jù)加工、處理的電子裝置。人們通過程序明確地告訴計(jì)算機(jī)做什么,以及如何去做這些事情,并將事先編寫的程序存儲到計(jì)算機(jī)內(nèi)部,啟動計(jì)算機(jī)執(zhí)行程序,計(jì)算機(jī)在執(zhí)行程序的過程中,完成程序規(guī)定的任務(wù)

2.計(jì)算機(jī)的語言

C語言是由DennisMRitchie和BrianWKernighan于1972年在B語言的基礎(chǔ)上提出的,他們用C語言重寫了在PDP–11小型機(jī)上的Unix,并取得了成功。(1)機(jī)器語言是由0和1二進(jìn)制代碼按一定的規(guī)則組合而成的指令序列,它是面向具體計(jì)算機(jī)系統(tǒng)的,不同的計(jì)算機(jī)系統(tǒng)識別的機(jī)器語言是不同的(2)匯編語言 匯編語言是采用英文助記符表示的語言(3)高級語言 高級語言是由表達(dá)各種意義的英文單詞和數(shù)學(xué)式子按照一定的語法規(guī)則構(gòu)成的語言C語言是面向過程的語言,C++語言是面向?qū)ο蟮恼Z言3.C語言的發(fā)展

C語言的發(fā)展過程與UNIX操作系統(tǒng)密不可分 1963年英國的劍橋大學(xué)推出了,并于1967年對其進(jìn)行了簡化推出了; 1970年美國貝爾實(shí)驗(yàn)室以BCPL語言為基礎(chǔ),進(jìn)行了進(jìn)一步簡化,推出了更簡單的B語言,并用B語言書寫了第一個操作系統(tǒng)UNIX。 1973年貝爾實(shí)驗(yàn)室推出了C語言,而且用C語言重新書寫了UNIX操作系統(tǒng),使其成為較完善的操作系統(tǒng)。 1975年,UNIX推出了6.0版本后,C語言的優(yōu)點(diǎn)引起了人們的普遍關(guān)注,特別是1977年出現(xiàn)了不依賴具體機(jī)器的C語言編譯文本《可移植C語言編譯程序》,使得C語言移植到其他機(jī)器比較容易實(shí)現(xiàn),這也使得UNIX操作系統(tǒng)迅速在各種機(jī)器上實(shí)現(xiàn)。

1983年美國國家標(biāo)準(zhǔn)委員會對C語言進(jìn)行了標(biāo)準(zhǔn)化,頒布了第一個C語言的標(biāo)準(zhǔn)草案——83ANSIC;1987年又頒布了新標(biāo)準(zhǔn)——87ANSIC;1990年,國際標(biāo)準(zhǔn)化組織ISO(InternationalStandardOrganization)接受87ANSIC為ISO-C的標(biāo)準(zhǔn)。目前流行的C編譯系統(tǒng)都以此為基礎(chǔ)。80年代后期,貝爾實(shí)驗(yàn)室又為C語言增加了面向?qū)ο蟮奶匦?,即C++。C語言系統(tǒng)依然保留在C++中,形成了C++的子集。4.C語言的特點(diǎn):(1)功能強(qiáng)大。既可書寫系統(tǒng)軟件,也可書寫應(yīng)用軟件。(2)移植性強(qiáng)。(3)是主流的編程語言之一。

(4)是模塊化、結(jié)構(gòu)化的程序設(shè)計(jì)語言。

(5)有著豐富的運(yùn)算符和數(shù)據(jù)類型。(6)語法簡潔、靈活,使用方便。(7)允許直接訪問物理地址,具有一定的低級語言的特性。(8)程序生成的目標(biāo)代碼質(zhì)量高,程序的執(zhí)行效率高。1.2C程序初探

1.2.1簡單的C程序【例1-1】字符串的輸出。編寫程序代碼1-1如下,其執(zhí)行結(jié)果如圖

圖1-1代碼1-1的執(zhí)行結(jié)果/*example1-1輸出信息*/#include<stdio.h>voidmain(void){

printf("歡迎走進(jìn)C世界!");}程序分析:1)/*example1-1輸出信息*/注釋語句。在C程序中,/*注釋內(nèi)容*/語句為注釋語句,注釋內(nèi)容不影響程序的執(zhí)行,只是為了幫助讀者閱讀和理解程序。(2)#include<stdio.h>文件包含,告訴系統(tǒng)必須包含文件stdio.h,此文件為輸入和輸出提供支持。(3)voidmain(void)表明以下是一個C程序的主函數(shù)。(4){表明主函數(shù)體由此開始。(5)printf("歡迎走進(jìn)C世界!");此行為輸出函數(shù),其功能是在屏幕上顯示雙引號中的內(nèi)容。(6)}表明主函數(shù)體到此結(jié)束?!纠?-2】求三門課程的平均成績。編寫程序代碼1-2如下,其執(zhí)行結(jié)果如圖/*example1-2計(jì)算平均數(shù)*/#include<stdio.h>voidmain(void){

int

mathscore,physscore,chemscore;/*代表三門成績*/ floatavescore;/*代表平均成績*/

mathscore=75;

physscore=85;

chemscore=95;/*三門成績賦初值*/

avescore=(mathscore+physscore+chemscore)/3.0;/*計(jì)算平均成績*/

printf("avescore=%f",avescore);/*輸出平均成績*/}程序分析:(1)/*example1-2計(jì)算平均數(shù)*/注釋語句。(2)#include<stdio.h>文件包含,告訴系統(tǒng)必須包含文件stdio.h。(3)voidmain(void)表明以下是一個C程序的主函數(shù)。(4){此行表明主函數(shù)體由此開始。(5)int

mathscore,physscore,chemscore;說明語句,說明本程序需要用這3個變量,而且它們的數(shù)據(jù)類型是整型。(6)floatavescore;說明語句,說明本程序需要用這個變量,而且它的數(shù)據(jù)類型是浮點(diǎn)型。程序分析:(7)mathscore=75;

physscore=85;

chemscore=95;賦值語句,表明給這3個變量的初始值分別為:75、85、95。(8)avescore=(mathscore+physscore+chemscore)/3.0;此行為賦值語句,利用3個變量的初始值計(jì)算平均值。(9)printf("avescore=%f",avescore);此行為輸出函數(shù),在屏幕上輸出平均成績(10)}表明主函數(shù)體到此結(jié)束【例1-3】求兩個數(shù)中的大數(shù),由主函數(shù)獨(dú)立完成。編寫程序代碼1-3如下,其執(zhí)行結(jié)果如圖/*example1-3求最大數(shù)*/#include<stdio.h>voidmain(void){int

a,b,maxvalue;/*定義3個變量*/printf("請輸入2個數(shù):");/*輸出提示信息*/

scanf("%d%d",&a,&b);/*由鍵盤輸入2個數(shù)*/if(a>b)/*比較2個數(shù)的大小*/

maxvalue=a;else

maxvalue=b; printf("2個數(shù)中的最大數(shù)是:%d",maxvalue);/*輸出最大數(shù)*/}程序分析:(1)inta,b,maxvalue;說明語句,說明本程序需要用這3個整型變量。(2)printf("請輸入2個數(shù):");在屏幕上輸出提示信息。(3)scanf("%d%d",&a,&b);利用輸入函數(shù),要求用戶從鍵盤輸入2個整數(shù),分別存放到a和b的存儲單元。(4)if(a>b)maxvalue=a;elsemaxvalue=b;此4行為if語句,比較2個數(shù)的大小,取其中的大數(shù)給maxvalue。(5)printf("2個數(shù)中的最大數(shù)是:%d",maxvalue);輸出函數(shù),輸出最大數(shù)?!纠?-4】求兩個數(shù)中的大數(shù),由主函數(shù)和子函數(shù)合作完成。編寫程序代碼1-4如下,其執(zhí)行結(jié)果如圖/*example1-4利用子函數(shù)求最大數(shù)*/#include<stdio.h>int

Getmax(int,int);/*聲明子函數(shù)*/voidmain(void){

int

a,b,maxvalue;/*定義3個變量*/

printf("請輸入2個數(shù):");/*輸出提示信息*/

scanf("%d%d",&a,&b);/*由鍵盤輸入2個數(shù)*/

maxvalue=Getmax(a,b);/*調(diào)用子函數(shù)求最大數(shù)*/

printf("最大數(shù)是:%d",maxvalue);/*輸出最大數(shù)*/}int

Getmax(intx,inty)/*定義子函數(shù)*/{

intz;

if(x>y)/*比較2個數(shù)的大小*/ z=x; else z=y; returnz;/*返回最大數(shù)*/}程序分析:(1)int

Getmax(int

,int);聲明子函數(shù),表明以下有一個名為Getmax的子函數(shù),它有2個整型參數(shù),子函數(shù)的返回值為整型。(2)maxvalue=Getmax(a,b);調(diào)用語句,調(diào)用名為Getmax的子函數(shù),將參數(shù)a和b傳遞給子函數(shù),并將返回結(jié)果賦給變量。(3)int

Getmax(intx,inty)子函數(shù)定義,表明以下是名為Getmax的子函數(shù)。(4){(子函數(shù)中的大括號)表明子函數(shù)體由此開始。(5)returnz;返回語句,返回最大數(shù)。(6)}(子函數(shù)中的大括號)表明子函數(shù)體到此結(jié)束。1.2.2C程序的基本結(jié)構(gòu)實(shí)例:輸入兩個數(shù)及其算術(shù)運(yùn)算關(guān)系,輸出運(yùn)算結(jié)果。/*ThisismyfirstCprogramfilename:first.c*/#include<stdio.h>voidmain(void){

charch;int

iA,iB,c;scanf(“%d%c%d”,&iA,&ch,&iB);c=fun(iA,ch,iB);printf(“%d%c%d=%d”,iA,

ch,iB,c);}intfun(intx,charop,inty){intz;switch(op){case‘+’:z=x+y;break;case‘-‘:z=x-y;break;case‘*’:z=x*y;break;case‘/’:z=x/y;}returnz;/*返回運(yùn)算結(jié)果*/}子函數(shù)主函數(shù)chp1ex11.函數(shù)是構(gòu)成C程序的基本單位

⒈C程序是由函數(shù)組成,其中有且僅有一個名為main的主函數(shù),根據(jù)實(shí)際編程的需要還可以有若干個子函數(shù),如Getmax為子函數(shù),函數(shù)是構(gòu)成C程序的基本單位

⒉一個C程序總是從主函數(shù)main開始執(zhí)行,也是從主函數(shù)結(jié)束,無論主函數(shù)書寫在什么位置。

⒊函數(shù)在執(zhí)行過程中根據(jù)需要可以調(diào)用系統(tǒng)提供的庫函數(shù)(如printf()),也可以調(diào)用用戶定義的函數(shù)(如Getmax())。如果調(diào)用系統(tǒng)提供的庫函數(shù),在調(diào)用之前必須將相應(yīng)的文件包含到本文件中,如果調(diào)用用戶定義的函數(shù),在調(diào)用之前必須聲明2.函數(shù)的組成

⒈每一個函數(shù)由函數(shù)首部和函數(shù)體組成

⒉函數(shù)首部由函數(shù)類型、函數(shù)名、函數(shù)參數(shù)類型、函數(shù)參數(shù)名組成

⒊函數(shù)體由說明和執(zhí)行兩部分組成,且函數(shù)體以左大括號開始,以右大括號結(jié)束3.函數(shù)體的組成

⒈函數(shù)體內(nèi)由若干條C的語句組成,C的語句有許多,如:intz;為說明語句;c=a;為賦值語句;returnz;為返回語句;/*……*/為注釋語句等

⒉C的語句必須以分號“;”作為語句的結(jié)束

⒊C的語句書寫比較自由,如:可在一行書寫多條語句,也可將一條語句寫在多行,但盡量一行只寫一條語句,以養(yǎng)成良好的、規(guī)范的程序設(shè)計(jì)風(fēng)格

4.與任何一種語言一樣,C的語句也必須滿足一定的語法規(guī)則4.C的語句的組成

C程序的語句中含有各種符號、名稱、數(shù)值等,如:int是英語單詞integer(整型)的縮寫,表示整型;avescore=(mathscore+physscore+chemscore)/3.0;類似于數(shù)學(xué)式子;x>y類似于不等式;3.0代表一個數(shù)值;returnz代表的功能也與英文原意相同5.C語言程序的書寫字母由于C語言區(qū)分大小寫字母,一般使用小寫字母,因此命名時應(yīng)特別注意1.2.2C程序的基本結(jié)構(gòu)1.字符集⑴字母:A、a、B、b…、Z、z52個⑵數(shù)字符號:0、1…、910個⑶特殊符號:+-*/…系統(tǒng)保留字系統(tǒng)占用詞(共32個)auto、break、case、char、const、continue、default、do、double、else、enum、extern、float、for、goto、if、int、long、register、return、short、signed、sizeof、static、struct、switch、typedef、union、unsigned、void、volatile、while建議不要使用:define、undef、include、ifdef、ifndef、endif、line、error、elif、pragma2.關(guān)鍵字關(guān)鍵字又稱保留字,是C語言預(yù)先規(guī)定的、具有固定意義的一些單詞,如:int、return等,用戶只能按其預(yù)先規(guī)定的意義來使用它們,不能改變其原來的意義。C語言的關(guān)鍵字如表所示關(guān)鍵字語義關(guān)鍵字語義關(guān)鍵字語義關(guān)鍵字語義auto自動double雙精度int整型struct結(jié)構(gòu)break中斷else否則long長整型switch開關(guān)char字符enum枚舉register寄存器typedef自定義類型case情況extern外部return返回union共同體const常量float浮點(diǎn)short短整型unsigned無符號continue繼續(xù)for循環(huán)signed有符號void空類型default缺省goto轉(zhuǎn)向sizeof字節(jié)數(shù)volatile可變的do循環(huán)if如果static靜態(tài)while循環(huán)3.標(biāo)識符C語言的標(biāo)識符有系統(tǒng)預(yù)定義標(biāo)識符和用戶自定義標(biāo)識符,一般用小寫

⒈系統(tǒng)預(yù)定義標(biāo)識符。系統(tǒng)預(yù)定義標(biāo)識符是由系統(tǒng)預(yù)先定義的,如:main、printf等,與關(guān)鍵字不同的是,系統(tǒng)預(yù)定義標(biāo)識符允許用戶改變它的意義,但這樣做會失去其原有的含義,從而造成誤解,因而這類標(biāo)識符用戶也不要更改其原意

⒉用戶自定義標(biāo)識符。用戶自定義標(biāo)識符是由用戶自己根據(jù)需要定義的標(biāo)識符,通常用作變量名、數(shù)組名、函數(shù)名等,如:score、aver等,標(biāo)識符是滿足以下規(guī)則的字符序列。組成規(guī)則:⑴字母和數(shù)字以及下劃線_組成。⑵以字母和下劃線_開頭。⑶長度不超過31個字符。⑷不能使用保留字。作用:用戶為各種自定義數(shù)據(jù)命名。4.運(yùn)算符C語言提供了豐富的運(yùn)算符,如例1-2中的加法運(yùn)算符(+)和除法運(yùn)算符(/),以及例1-3中的關(guān)系運(yùn)算符(>)等5.分隔符

用C語言書寫的C程序中含有許多具有特定含義的符號,與自然語言一樣,各種符號之間必須有一些分隔符。C語言的分隔符有空格、逗號、分號、回車(換行)等,它們用在不同的場合以區(qū)分不同的對象6.?dāng)?shù)據(jù)

例1-1中的“歡迎走進(jìn)C世界!”是一種字符數(shù)據(jù);例1-2中的mathscore、physscore、chemscore是一種整型數(shù)據(jù);avescore是一種實(shí)型數(shù)據(jù);分母3是一個常量;例1-3中的a>b的比較結(jié)果有2種可能,即正確(Yes)或錯誤(No),比較的結(jié)果又為以下進(jìn)行什么操作指明了道路一個程序一般都由說明數(shù)據(jù)、輸入數(shù)據(jù)、加工數(shù)據(jù)、輸出數(shù)據(jù)幾個部分組成1.3算法及其描述1.3.1小試身手:【例1-5】已知三角形的3條邊長,利用海倫公式計(jì)算三角形的面積

1.方案一——數(shù)學(xué)解法已知三角形的3條邊a=3,b=4,c=5,利用海倫公式先求三角形的半周長:再利用半周長t計(jì)算公式得面積答:由邊長為3、4、5的三條邊組成的三角形的面積是6

2.方案二——利用C程序解決

/*example1-5(a)計(jì)算三角形的面積*/#include<stdio.h>#include<math.h>voidmain(void){ floata,b,c;/*定義3個浮點(diǎn)變量*/ doublet,area;/*定義2個雙精度變量*/ a=3; b=4; c=5;/*為3個變量賦值*/ t=(a+b+c)/2;/*計(jì)算中間變量*/ area=sqrt(t*(t-a)*(t-b)*(t-c));/*計(jì)算三角形的面積*/

printf("三角形的面積是:%f",area);/*輸出三角形的面積*/}

3.方案三——改進(jìn)C程序

/*example1-5(b)計(jì)算三角形的面積*/#include<stdio.h>#include<math.h>voidmain(void){ floata,b,c;/*定義3個浮點(diǎn)變量*/doublet,area;/*定義2個雙精度變量*/

printf("請輸入3條邊長:");/*輸出提示信息*/

scanf("%f%f%f",&a,&b,&c);/*由鍵盤輸入3個數(shù)*/t=(a+b+c)/2;/*計(jì)算中間變量*/ area=sqrt(t*(t-a)*(t-b)*(t-c));/*計(jì)算三角形的面積*/

printf("三角形的面積是:%f",area);/*輸出三角形的面積*/}

4.方案四——再改進(jìn)C程序

/*example1-5(c)計(jì)算三角形的面積*/#include<stdio.h>#include<math.h>voidmain(void){ floata,b,c;/*定義3個浮點(diǎn)變量*/ doublet,area;/*定義2個雙精度變量*/

printf("請輸入3條邊長:");/*輸出提示信息*/

scanf("%f%f%f",&a,&b,&c);/*由鍵盤輸入3個數(shù)*/ if(a+b>c&&b+c>a&&a+c>b)/*對輸入的3個數(shù)進(jìn)行判斷*/ {/*可以組成三角形*/t=(a+b+c)/2;/*計(jì)算中間變量*/ area=sqrt(t*(t-a)*(t-b)*(t-c));/*計(jì)算三角形的面積*/

printf("三角形的面積是:%f",area);/*輸出三角形的面積*/ } else/*不可以組成三角形*/

printf("這3個數(shù)無法組成三角形");/*輸出提示信息*/}

5.方案五——再次改進(jìn)C程序

/*example1-5(d)計(jì)算三角形的面積*/#include<stdio.h>#include<math.h>voidGetarea(float,float,float);/*聲明子函數(shù)*/voidmain(void){ floata,b,c;/*定義3個浮點(diǎn)變量*/

printf("請輸入3條邊長:");/*輸出提示信息*/

scanf("%f%f%f",&a,&b,&c);/*由鍵盤輸入3個數(shù)*/

Getarea(a,b,c);/*調(diào)用子函數(shù)*/}voidGetarea(float

a,float

b,floatc)/*定義子函數(shù)*/{ doublet,s;/*定義2個雙精度變量*/ if(a+b>c&&b+c>a&&a+c>b)/*對輸入的3個數(shù)進(jìn)行判斷*/ {/*可以組成三角形*/t=(a+b+c)/2;/*計(jì)算中間變量*/ s=sqrt(t*(t-a)*(t-b)*(t-c));/*計(jì)算三角形的面積*/

printf("三角形的面積是:%f",s);/*輸出三角形的面積*/ } else/*不可以組成三角形*/

printf("這3個數(shù)無法組成三角形");/*輸出提示信息*/}1.3.2

算法的基本概念

1.算法(Algorithm)的概念:廣義地講:算法是解決問題的邏輯步驟,是對特定問題求解步驟的一種描述。計(jì)算機(jī)算法:是用程序解決問題的邏輯步驟,是指令的有限序列。只有通過算法能夠描述出來的問題,才能夠通過計(jì)算機(jī)求解。能夠用算法描述的問題稱為可以形式化的問題。正確的算法有三個條件:

⑴每個邏輯步驟有可以實(shí)現(xiàn)的語句來完成;

⑵每個步驟間的關(guān)系是唯一的;

⑶算法要能終止(防止死循環(huán))。算法的兩個關(guān)鍵要素動作(Action);順序(Order)。算法舉例⒈求數(shù)列n=1+2+…+m的值n,當(dāng)n>10000時結(jié)束。

⒉歐幾里德求m,n(m>n)的最大公約數(shù)算法S1:mModn

kS2:k不為0:

nm,kn

(原除數(shù)變成新的被除數(shù),余數(shù)變成新的除數(shù))。重復(fù)S1

否則:到S3。S3:輸出n的值為最大公約數(shù)。步驟:S1:初始化0n,0tS2:t+1tn+tnS3:n>10000?

滿足到S4,否則到S2。S4:OUTPUTn⒊算法的特征有窮性:在有限的時間和有限的資源下完成算法;確定性:各步驟之間的關(guān)系要確定;有輸入:有0到多個原始數(shù)據(jù)輸入;有輸出:有結(jié)果輸出;可行性:可以編程實(shí)現(xiàn);高效性:執(zhí)行速度快、占用資源少;健壯性:對數(shù)據(jù)響應(yīng)正確。1.自然語言【例1-6】已知三角形的3條邊長,利用海倫公式,計(jì)算三角形的面積。自然語言算法可表示如下:(1)設(shè)5個變量,其中a、b、c代表3條邊,t代表中間變量,S代表面積。(2)輸入3條邊。(3)如任意2邊之和大于第3邊(可以組成三角形),則計(jì)算中間變量t,再計(jì)算面積S,輸出面積S。否則,輸出不能組成三角形的提示信息。(4)結(jié)束算法。1.3.2

算法的各種描述方法【例1-7】輸入兩個數(shù),求其中的最大數(shù)。自然語言算法可表示如下:(1)設(shè)兩個數(shù)為x和y,最大數(shù)為z。(2)輸入兩個數(shù)給x和y。(3)如x大于或等于y,則最大數(shù)z的值等于x的值。否則,最大數(shù)z的值等于y的值。(4)輸出最大數(shù)z。(5)結(jié)束算法。

概念:以特定的圖形符號加上說明,表示算法的圖,稱為流程圖或框圖。規(guī)則:從上到下,從左到右。符號及其意義:2.用傳統(tǒng)流程圖表示

⒈用框圖描述函數(shù)

1x0y=

-1

x<0輸入xAx0?y=1y=-1yesnoA輸出y流程圖描述算法舉例startend⒉用框圖描述求s=1+2+…+100的算法。start1

t0ss+tst+1tt>100?noyesOutputsA0A0end【例1-8】已知三角形的3條邊長,利用海倫公式,計(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

提交評論