【教学课件】第6章程式语言

上传人:xu****iu 文档编号:244898019 上传时间:2024-10-06 格式:PPT 页数:41 大小:1.66MB
返回 下载 相关 举报
【教学课件】第6章程式语言_第1页
第1页 / 共41页
【教学课件】第6章程式语言_第2页
第2页 / 共41页
【教学课件】第6章程式语言_第3页
第3页 / 共41页
点击查看更多>>
资源描述
,按一下以編輯母片標題樣式,按一下以編輯母片,第二層,第三層,第四層,第五層,6-,*,計算機概論,全華科技圖書,第6章 程式語言,6-1 程式語言發展史,6-2 資料型態,6-3 程式指令,6-4 程序定義和使用,6-1 程式語言發展史,機器語言,電腦所能接受,由0與1組成,組合語言,將0、1字串以符號表示,優點:,指令比機器語言更易於學習,缺點:,必須符合特定機器,不具可攜性,不具結構性,程式仍然不易理解,高階語言,範例:C語言,特性,可讀性高,容易理解,比較容易維護和修改,具有可攜性,編譯:高階語言的程式碼需編譯成目的碼之後才能執行,流程如下圖:,程式語言發展年表,FORTRAN,第一個高階語言,為IBM於1957年左右推出,針對複雜的科學計算所設計,範例:,LISP,MIT教授John McCarthy於1958年所推出,適合作符號運算,在人工智慧的應用特別重要,範例:,COBOL,專為商業資料處理而設計的語言,提供便利的檔案描述與處理,特別重視資料的定義,範例:,BASIC,隨著個人電腦,推出,簡單易學,,但,不是很嚴謹,微軟的VISUAL BASIC(簡稱VB),為BASIC語言提供了視覺化的簡易開發環境,範例:,PASCAL,發源於歐洲,具有完備的資料型態,和結構化的控制結構,程式可讀性高,常為教科書所用,範例:,C,為了UNIX作業系統所設計,具有高階的結構化敘述,也具備了類似低階語言控制硬體的能力,為目前最常被使用的高階語言之一,範例:,PROLOG,1972年於法國所推出,邏輯化程式設計的代表,在人工智慧領域有重要應用,範例,ADA,由美國國防部,主導,名稱是紀念世界上第一位程式設計員Ada Byron,希望結合所有語言的特性,語言過於複雜,目前所知的應用不多,C+,基於C所擴充的,物件導向程式語言,在類別中,可定義資料(Data member)和行為(Function member),可以指定使用範圍為公開的(Public),或是私自的(Private),範例:,JAVA,美國Sun公司於1995年,發表,具備有物件導向的特性,提供了跨平台的功能,範例:,ASP.NET,為了即時地從資料庫中抓取資料來動態地形成網頁,微軟提供了ASP語言(Active Server Page)。,微軟進一步提出一系列以.NET為名稱的解決方案,以便更方便地發展以Web為基礎的應用程式,其中也包含了ASP.NET。,ASP.NET大幅度地改善了ASP的缺點,除了將程式分成HTML和Script不同的區塊,便於撰寫和除錯,也具有物件導向語言的特性。,針對Script的部份,ASP.NET還支援多種不同的程式語言,特別包括微軟於1998年新設計的C#語言。,程式語言依照特性分類,6-2 資料型態,用以表示一個應用系統中要處理的對象,常見的資料型態,數字:整數(int)、長整數(long int)、浮點數(float)、雙精準數(double),文字:字元(char)、字串(string),資料型態決定:,所需空間,可表示的數值或資料範圍,(參見下頁),有意義的運算,C的資料型態,陣列,表示一系列相同型態的資料,範例:一個包含50個整數的陣列,int score50;,陣列的名稱為,score,每個資料為整數(int)型態,陣列第一個位置為score0,陣列最後一個位置為score49,C語言預設以註標0來表示陣列的第一個元素,結構,將一些相關資料,聚集成一個單元一起表示,範例:,struct student,char(6)name;,char(10)major;,int year;,;,結構的名稱為,student,欄位,name,的資料型態為6個字元(char),欄位,major,的資料型態為10個字元,欄位,year,的資料型態為整數,結構,(續),定義完結構之後可用以宣告為變數的型態,範例:,宣告變數,x,的資料型態為,student,結構,struct student x;,可以利用小數點加上欄位名稱,來指出結構變數中的某一個成分,範例:,x.name,、x.,major,、x.,year,指標,記錄某個資料在記憶體的位置,提供了非直接存取(,Indirect Accessing,)的功能,使用指標的,理由,效率性的考量,指標所需的空間是固定的,可作為複雜結構的代理人,不能確定資料的大小,若使用陣列,預先宣告的空間可能浪費,或不夠,鏈結串列,表示大小會變化的資,料,將資料用節點表示,利用指標將節點串連起來,範例:,struct node,int data;,struct node*next;,;,符號*表示,指標變數,處理的資料為整數型態,鏈結串列的示意圖,6-3 程式指令,程式語言提供的指令,以組合出正確的程式,以下使用C和PASCAL語言作為範例,同時使用流程圖(Flow chart)來輔助說明指令代表的邏輯結構,和步驟間的關聯,其符號如下圖:,比較:If,提供邏輯判斷式,如果,“If”,後面接的運算式被判斷為真,則程式會繼續執行,“Then”,後面的運算式,如果,“If”,後面接的運算式被判斷為不真,則程式會繼續執行,“,Else,”,後面的運算式,注意:,C裡面省略了“Then”關鍵字,“,Else,”,後面的運算式可以不提供,如此程式不會有任何動作,範例:在變數“i”的值大於0時,變數“x”的值設定為“10”,否則變數“y”的值設定為“5”,If範例和流程圖,巢狀If,在,“Then”,或,“Else”,的部分,再放入另一個,“If”,敘述,範例:,當變數,“i”,的值被判斷為正之後,我們需要再確定變數,“a”,的值大於變數,“b”,的值,才會指定變數,“x”,為,10,固定次數的迴圈:For,事先指定好迴圈的執行次數,C,沒有此種指令,範例:透過變數“i”的值將迴圈的執行次數控制為5次,同時變數“x”的值在迴圈結束後,會等於整數1加到整數5的和,不固定次數的迴圈:while,迴圈的執行次數並沒有直接在程式裡指定好,利用邏輯判斷式,決定,迴圈要執行幾次,範例:若邏輯判斷式“i data=3;,q-data=5;,changehead(p,q);,全域變數VS.局部變數,全域變數(Global variable),能被全部的程式碼使用到,通常定義在整個程式碼的最前端,局部變數(Local variable),只能被一部份程式碼使用到,通常定義在程序中,範例:(見下頁),全域變數:變數“a”,Main的,局部變數:,變數“c”,程序範例,參數傳遞,正式參數,在定義程序時同時定義,必須宣告其資料型態,真實參數,在呼叫程序時所提供,必須符合正式參數的資料型態,以值傳遞,(passed by value),把真實參數的,值,算出來,然後再傳給正式參數,範例:,z=square(5+3)*10;,先算出“5+3”的值之後,再將其傳給正式參數“x”,參數傳遞,(續),以值傳遞,最常見的方式,沒有辦法改變真實參數的值,以位址傳遞,(passed by reference),把,真實參數在記憶體的位址傳給正式參數,程序裡的運算會直接作用在真實參數上,真實參數的值因而可以改變,以位址傳遞的程序定義和呼叫,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!