第1講--C語言概述、算法.ppt_第1頁
第1講--C語言概述、算法.ppt_第2頁
第1講--C語言概述、算法.ppt_第3頁
第1講--C語言概述、算法.ppt_第4頁
第1講--C語言概述、算法.ppt_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2020/8/6,計算機與信息工程專業(yè),第1講:C語言概述,主講人:張昌友,Emali:電話計算機與信息工程專業(yè)C語言程序設(shè)計,第2講。主要內(nèi)容:計算機與信息工程系C語言程序設(shè)計,3。C語言的歷史背景(1),1.1代背景1960年ALGOL60(ALGOrithm Language),1963年劍橋大學(xué)的CPL(組合編程語言),1967年劍橋大學(xué)的Matin Richards BCPL (Basic組合編程語言),1970年美國BELL實驗室的Ken Thompson簡化了BCPL并提出了B語言,并用B語言編寫了第一個UNIX操作系統(tǒng),計算機與信息工程系的C語言編程,

2、4,C語言出現(xiàn)的歷史背景(2),1.2開發(fā)過程的時間3333湯普森和丹尼斯。計算機與信息工程系C語言程序設(shè)計碩士。20世紀50、70年代初,貝爾實驗室設(shè)計了基于B語言的C語言來描述和實現(xiàn)UNIX。語言出現(xiàn)的歷史背景(3),計算機與信息工程科C語言編程,6,1.C語言歷史背景(3),1.3 C標準C: K,/*文件包含*/*主函數(shù)*/*函數(shù)體開始*/*輸出語句*/*函數(shù)體結(jié)束*/,程序演示,3。程序結(jié)構(gòu)和執(zhí)行步驟(1),程序功能:在電腦屏幕上輸出:你好世界!3.1簡單c程序結(jié)構(gòu),描述:當使用標準庫函數(shù)時,在程序的第一行寫:#包括main- main函數(shù)名,void- function類型,每個c

3、程序必須有一個標記函數(shù)開始和結(jié)束的main函數(shù),并且沒有必要在分號之間寫注釋/* */。被編譯器忽略,你不能嵌套并使用getch()函數(shù)在屏幕上觀察程序的輸出結(jié)果。計算機與信息工程分會C語言程序設(shè)計,9,示例1-2:計算兩個數(shù)之和#包含無效主()/*計算兩個數(shù)之和*/int a,b,sum;/*聲明,將變量定義為整數(shù)*/a=123;/*賦值語句*/b=456;總和=a b。printf(sum為%dn,sum);說明:在printf函數(shù)中,“%d”表示輸出一個十進制整數(shù)類型的值和,而不是輸出一個“%d”字符串。Printf(“% d % d=% d”,a,b,sum);程序演示,描述:輸出一行

4、信息:sum是579,3.C程序結(jié)構(gòu)和執(zhí)行步驟(2),C語言程序設(shè)計計算機與信息工程分會,10,例1-3:找出2個數(shù)字中的較大者。#包括int max(int x,int y);/*聲明被調(diào)用的函數(shù)max */void main() int a,b,c;/*定義變量a,b,c */scanf(dd,/*輸出c */的值,注意:這個程序包括兩個函數(shù):main和被調(diào)用函數(shù)max。最大值函數(shù)將x和y中較大的一個賦給變量Z.return語句將z值返回給主音函數(shù)。3.c程序結(jié)構(gòu)和執(zhí)行步驟(3),程序演示,int max(int x,int y)int z;如果(xy)z=x;否則z=y;返回(z);計算

5、機與信息工程分會C語言程序設(shè)計,11,3.C程序結(jié)構(gòu)與執(zhí)行步驟(4),3.1C程序結(jié)構(gòu)格式特點是使用小寫字母,不使用行號區(qū)分大小寫,沒有程序行概念可以使用空行和空格常用的鋸齒形書寫格式,例1-4區(qū)分大小寫主()int i,j,sum,Sum;總和=0,總和=1;對于(I=1;i10I)對于(j=1;j10j)總和=I * j;printf(sum=%dn ,sum);Printf(“總和=%dn”,總和);程序演示,計算機與信息工程系C語言程序設(shè)計,12,3.C程序結(jié)構(gòu)與執(zhí)行步驟(5),3.2C程序執(zhí)行步驟,file.exe,返回主菜單,計算機與信息工程系C語言程序設(shè)計,13,4。算法特性和表

6、示(1),4.1程序組成,數(shù)據(jù)描述:數(shù)據(jù)結(jié)構(gòu)操作描述:算法。著名計算機科學(xué)家沃斯提出了公式:數(shù)據(jù)結(jié)構(gòu)算法=程序,數(shù)據(jù)結(jié)構(gòu)算法編程方法語言工具。完整的程序應(yīng)該是:計算機與信息工程系c語言程序設(shè)計,14,4.2算法的概念,要求:正確,結(jié)果對質(zhì)量,步驟少,簡單易懂。廣義地說,解決問題的方法和步驟被稱為“算法”。對于同一個問題,有不同的方法和步驟來解決問題。計算機與信息工程科C語言編程,15,4.3簡單算法示例(1),示例1-5:查找12345,步驟1:首先查找12,得到結(jié)果2步驟2:將步驟1中得到的乘積2乘以3,得到結(jié)果6步驟3:將6乘以4,得到24步驟4 S2:I=2;S3:把pi的乘積放在變量p

7、中,可以表示為:pi p S4:I的值加1,即I 1 I。S5:如果I不大于5,返回重新執(zhí)行步驟S3和后續(xù)步驟S4和S5;否則,算法結(jié)束。p的最終值是5!的價值。改變方法:設(shè)置兩個變量:(1)被乘數(shù)p,(2)乘數(shù)I;乘積放在被乘數(shù)變量中;結(jié)果通過循環(huán)算法獲得,算法重寫為:4.3簡單算法示例(2),沒有設(shè)置附加變量來存儲產(chǎn)品結(jié)果,計算機與信息工程分支c語言編程,17,S1:1ps 2:3 s3:pips 4:i2p S5:如果i11,返回S3。否則,結(jié)束。標題修改:(1)求121000的值;(2)求1351000的值。算法簡潔,4.3簡單算法示例(3),計算機與信息工程分會C語言程序設(shè)計,18.

8、4算法特點及表示,4.4算法特點是有限的:它包含有限的操作步驟。決定性的:算法中的每一步都應(yīng)該是決定性的。有零個或多個輸入:輸入是指在執(zhí)行算法時需要從外部世界獲得必要的信息。有一個或多個輸出:算法的目的是求解,而“解”就是輸出。有效性:算法中的每一步都應(yīng)該得到有效的執(zhí)行,并得到明確的結(jié)果。計算機與信息工程系c語言程序設(shè)計,19,4。算法特點和表示法(3),4.3算法表示法可以用不同的方式表示,常用的有:自然語言傳統(tǒng)流程圖結(jié)構(gòu)化流程圖N-S流程圖偽代碼PAD流程圖,計算機與信息工程分支C語言程序設(shè)計,20,4。算法特性和表示(4),4.3算法的表達傳統(tǒng)流程圖,美國國家標準協(xié)會規(guī)定了一些常用的流程

9、圖符號:計算機與信息工程分會C語言程序設(shè)計,21,4。算法的特點和表達(5),4.3算法的表示傳統(tǒng)的流程圖博赫拉和賈科平提出了以下三種基本結(jié)構(gòu):序列結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),它們作為表示好的算法的基本單位。計算機與信息工程系c語言程序設(shè)計,22,4。算法特征與表示(6),4.3算法表示傳統(tǒng)流程圖、序列結(jié)構(gòu)、選擇結(jié)構(gòu),計算機與信息工程專業(yè)c語言程序設(shè)計,23,4。算法特征和表示(7),4.3算法表示-傳統(tǒng)流程圖,而類型(2)只有一個出口。(請注意,菱形判斷框有兩個出口,而選擇結(jié)構(gòu)只有一個出口。不要混淆鉆石盒的出口和選擇結(jié)構(gòu)的出口。(3)結(jié)構(gòu)的每個部分都有被執(zhí)行的機會。(4)結(jié)構(gòu)中沒有“無限循環(huán)”

10、。三個基本結(jié)構(gòu)的共同特征,計算機與信息工程分支C語言程序設(shè)計,25,沒有從入口到出口的路徑通過圖中的一個方框,不正確的過程表示,過程中的無限循環(huán),計算機與信息工程分支C語言程序設(shè)計,26,將尋求5!該算法用流程圖表示。如果需要打印最終結(jié)果,可以在菱形框下添加一個輸出框。,計算機與信息工程分會C語言程序設(shè)計,27,用N-S流程圖來表示算法。1973年,美國學(xué)者納西和施耐德曼提出,所有的算法都可以寫成一個矩形框架,從屬于它的框架也可以嵌套起來,稱為N-S結(jié)構(gòu)流程圖。計算機與信息工程分會C語言程序設(shè)計,28,N-S流程圖符號,序列結(jié)構(gòu)算法用N-S圖表示,計算機與信息工程分會C語言程序設(shè)計,30,5!

11、算法由偽代碼表示:將t的初始值設(shè)置為1,將I的初始值設(shè)置為2。當i=5時,執(zhí)行以下操作:使t=ti,使i=i 1循環(huán)在此結(jié)束,并輸出t的值,t的值也可以寫成以下形式:BEGIN算法開始1t 2 i,而i5 ti t1 I打印t END算法結(jié)束,計算機與信息工程分會C語言程序設(shè)計,31。內(nèi)容概述,C語言出現(xiàn)的歷史背景。c語言的特點很簡單。C語言介紹了C程序的步驟、算法、概念和表達式,語言簡潔。運算符和數(shù)據(jù)結(jié)構(gòu)非常豐富。結(jié)構(gòu)化控制語句。編程的極大自由。直接操作存儲器。目標代碼是高質(zhì)量的。程序的可移植性很好。1.簡單c程序:主要功能的重要性。輸入和輸出功能的應(yīng)用。系統(tǒng)庫函數(shù),自定義函數(shù)。注釋器的應(yīng)用。2.格式特征。3.結(jié)構(gòu)特征。4.句子的特點。1,編輯。2.編譯。3.聯(lián)系。4.處決。解決問題的方法和步驟,自然語言傳統(tǒng)流程圖結(jié)構(gòu)化流程圖N-S流程圖偽代碼,計算機與信息工程專業(yè)C語言程序設(shè)計,32,思考問題和作業(yè),(1)C語言的主要目的是什么?將其與您所知道的高級語言進行比較。(2)C語言程序的基本結(jié)構(gòu)是什么?(3)C語言程序的基本單位是什么?有什么好處?(4)算法概念和結(jié)構(gòu)算法(5)針對以下問題設(shè)計算法,輸入10個數(shù)字,輸出最大數(shù)字,計算機與信息工程科C語言編程,33,結(jié)束,如有問題,及時溝通!計算機與信息工程分會C語言

溫馨提示

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

評論

0/150

提交評論