明解c语言教学手册

上传人:j****9 文档编号:54383258 上传时间:2018-09-12 格式:PPT 页数:35 大小:1.82MB
返回 下载 相关 举报
明解c语言教学手册_第1页
第1页 / 共35页
明解c语言教学手册_第2页
第2页 / 共35页
明解c语言教学手册_第3页
第3页 / 共35页
明解c语言教学手册_第4页
第4页 / 共35页
明解c语言教学手册_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《明解c语言教学手册》由会员分享,可在线阅读,更多相关《明解c语言教学手册(35页珍藏版)》请在金锄头文库上搜索。

1、,明解C語言教學手冊,台北總公司台北縣汐止市新台五路一段112號10樓A棟 Building A, 10F, 112, Shin-Tai-Wu Road Sec. 1, Shijr, Taipei, Taiwan. 電話02-26962869 傳真02-26962867 博碩網址:http:/.tw,書號:PG20255,作者:柴田望洋 博士,計算機程式語言,為何要學程式語言 : 想要使用電腦解決問題 ,必須先了解操縱、控制電腦的原理與方法,所以要學習設計程式 (軟體) 。 電腦的特色 :電腦有比人類厲害的能力。 何謂程式語言:程式語言又稱為電腦語言,是一種擬人化的說法,設計程式所寫的文章所用

2、之語言,稱為 程式語言 (Programming Language)。它其實是指設計程式的工具。,電腦的特色,1. 運算速度快。(相對於人類),(微秒 = 106 sec 、奈秒 = 109 sec) 2. 記憶體容量大、種類多。(KB:210、MB:220、GB:230) 3. 精準度高。(有效位數16位) 4. 重複使用。(再生、局部修改) 5. 不疲倦、不罷工、不支薪、絕對的服從。,何謂程式語言,人類與電腦溝通所用的語言:一機器語言 (Machine Language) 所有指令、資料與記憶位址均需用0與1來編寫。二組合語言 (Assembly Language)使用縮寫代碼(Mnemo

3、nic Code)的符號或字彙來取代0、1的指令、資料與記憶位址, 再組譯成機器語言 。三高階語言 (High-Level Language) 採取人類日常使用的語言,以敘述句(Statement)或英文句法(Sentence) ,並規則化、公式化以編寫程式,再經過特定軟體編譯後,就可以產生很多0 、1 訊號組成的指令以供電腦執行。,認識C語言,C的演進: 1. C語言是高階語言的一種。 2. 1972年由Dennis Ritchie與Ken Thompson在貝爾實驗室(Bell Laboratory)所發展出來的。 3. 1980 Bjarne Stroustrup將C擴充成C+,加入物件

4、導向的觀念,與封裝、繼承、多型等功能,使程式設計者多了不少好用的工具。 4. 學習者可以將C當成入門知識,C+當成進階課程。,C的版本很多,原先C語言只能在大電腦上執行 , 現在已成功 地移植到 PC上。現在流通的版本有 Dev C + , Visual C+ , Microsoft C+ , Turbo C+ , Borland C+, Lattice C+ , Quick C+,Linux C+ 等等。,C語言的特色,一. 效率高 : 1. 直譯器 (Interpreter)在跑程式時 , 直譯器先逐行檢查程式之語法 , 有錯誤時就中斷執行 , 無誤時就逐行執行 2. 編譯器 (Compi

5、ler)編譯器將整個程式先檢查無誤後 , 才產生一個目的檔(OBJ file) 再將其他呼叫的副程式連結成執行檔(EXE file) 後才執行此執行檔 , 故當原始程式 (Source file)每修改一次 , 就要重新編譯與連結一次。因為編譯器編譯完後的執行檔已是機器語言 , 故執行時不需再翻譯。 3. C語言的編譯器效率最高贏過 PASCAL , COBOL , FORTRAN等編譯器。,二. 中階語言 : 兼具高(適於人類)、低階特色(適於機器)。 三. 結構化控制 : 標準化 : sequence,selection,iteration三大類。 四. 可攜性佳 : 適用於各(大小)型與

6、不同廠牌之電腦。 五. 語法精簡 : 例如 (1) i + ; i = i+1 ;(2) i+=j ; i = i+j ;(3) (ab? a=y : a=n ;) if(ab) a=y ;else a=n; 六. 擴充性高 : 豐富的程式庫。(#include)(模組化、疊磚塊理論)。,程式區塊描述 : 1前置處理敘述區 (Pre-processor directive) 2外部宣告區 (External Decoration) 3主程式區 (Main program) 4副程式區 (Subprogram),C語言之架構,區塊描述實例,1. 前置處理敘述一般放在C語言程式的最前端,這種前置處

7、理指令大部份是以#符號為開頭,例如#include, #define, #ifdef, #endif 等。 2. 所謂的前置處理,是因為這些指令在程式編譯之前就會先處理,再將處理後的程式碼交給編譯程式,它會合併主、副程式一起翻譯成機器碼。 3. 這其中以#include最常用。,前置處理敘述區,1. #include 2. #include “user_defined_header_name” 3. Library_header_name是指庫存函式的標頭檔名,其種類相當多,放置在資料夾 C:Dev-Cppinclude中 。 4. User_defined_header_name是指程式設計

8、者自訂的標頭檔名,此標頭檔必須放在與主程式檔相同的資料夾中,否則就要標示全部的檔名路徑(Full Pathname)。,#include的造句法,如何知道函式system( ) 是放在那一個標頭檔中? Ans: stdlib.h,觀念探討,1全域變數 (Global variables) 2函式原型 (Prototype of Functions) 3函式定義 (Definition of Functions) 4複合資料型態 (Combined Data Type) 5外來識別字 (External Identifiers),外部宣告區,一main標題 1 簡單型 : main( )2 傳回

9、型 : int main( type)3 傳入型 : int main( int argc , char *argv ) 二宣告區域變數 三程式主體,主程式區,1. 函式、副程式的全部句子(函式與副程式是同義名詞),一般習慣是放在副程式區。 2. 亦可放在外部宣告區,同時省略函式原型的宣告。 3.副程式與主程式規格相同,包括副程式標題、宣告區域變數、副程式主體三部份,副程式區,Chapter 1 開始之前應先熟悉的基礎,1-1 顯示運算結果 1-2 變數 1-3 輸入與顯示,電腦最重要任務就是計算。我們可以利用C語言計算下列的運算式。我們可以在記事本輸入如List1-1的內容。,計算整數15與

10、37之和,並輸入顯示其值。.,1-1 顯示運算結果,顯示所求整數之和,/*計算15與37之和並顯示其值 */ #include int main(void) printf(“%d“, 15 + 37); /* 15與37之和 */return (0); ,List1-1,由程式設計師寫成的文字敘述的程式(如List1-1)為原始程式(source program)。將其格式化儲存而成的檔案稱為原始檔(source file)。 C語言原始檔的副檔名為.c,故檔名可命名成 list0101.c,code0101.c。關於電腦的編譯過程可以參考下圖:,程式語言與編譯,原始程式的藍色部分(即/*和*

11、/之間)是註解(comment)。撰寫程式時,應該將欲傳達給閱讀者的訊息寫成簡潔的註解放在原始程式內。 註解如果比較長也可以跨行。還要注意不要把註解的結束記號(*/)弄錯成起始符號(/*)。,#include int main(void) printf(“%d“, 15 + 37); return (0); ,右圖中淺灰色的部分 即為固定格式。,printf(“%d“, 15 + 37);,註解,printf函式負責輸出顯示。要先呼叫函式才能使用函式。 如下語法中,printf表示顯示,()中則是引數。引數有兩個以上的話,必須用逗號,來區隔。printf (“%d“, 15 + 37);,用以

12、指定以十進位表示後面的引數值即52。,;相當於中文文法中的句點。C語言中,每段最後都要有;才算完整的敘述。,printf格式化後的函式,/*計算15與37之和並顯示其值 */ #include int main(void) printf(“%d”, 15 - 37); /*顯示15減去37之值*/return (0); ,List 1-2,整數顯示(減法),/*計算15與37之和並顯示其值 */ #include int main(void) printf(“15加37之和是%d n”, 15 - 37); /* 顯示後換行 */return (0); ,List 1-3,如下程式碼中,“ ”

13、的部份為格式字串,%d為轉換指令,n表示換行。,格式字串與轉換指令,轉成十進制(decimal), 減號、負號 * 星號 / 斜線、除以 反斜線 ¥ 日圓符號 % 百分比 句點、小數點、點 逗號 : 冒號 ; 分號 單引號 “ 雙引號 ( 左括號、左小括號, 左大括號 右大括號 左中括號 右中括號 大於 ? 問號 ! 驚嘆號 & AND 波形線 位元互斥,# 數字符號 _ 底線 = 等號 | 垂直線號,各種記號的讀法,不做格式化代表直接輸出到螢幕上 只給一個引數也可以呼叫printf函式,如List1-4。,List 1-4,/* 跟大家打招呼並介紹自己 */ #include int mai

14、n(void) printf(“大家好!我是柴田望洋。n“);return (0); ,不做格式化的結果,雙引號內的文字即為字串字面值。,像n這樣表示換行的特殊記號,或像a這樣發出警告音的記號,就稱為跳脫序列。 t水平tab ,將游標移到下一個tab定位點。 反斜線符號在字串中插入。 ”雙引號符號在字串中插入。,字串字面值,printf statement starts printing from where the last statement ended, so the text is printed on one line.,Newline characters move the cur

15、sor to the next line,1-2 變數,常數與變數,List1-1中已寫好在程式中的數值即為常數。 變數是用來放置數值的箱子,可以自由命名。 在將數值放入箱子前要先進行宣告。,在宣告多個變數時可使用逗號,區隔之,亦可分別進行宣告(declaration)。,代入,1-3 輸入與顯示,scanf輸入函式,代表進位10數字。,在變數名稱前一定要加上 此記號。,scanf函式會讀取輸入的十進位數值,將該數值放到no的位置。,整數顯示(乘法),List1-10中出現的*是乘算符號,請勿寫成。,puts函式只能接受一個引數。puts函式用以在顯示引數後的字串後,予以換行。 想加個改行指令但不想格式化,就可以用puts來代替printf。 put(“ABC”) 等於printf(“ABCn”),定義變數,利用scanf 獲的值並放入到 integer1,利用scanf 獲的值並放入到 integer2,計算出加法的值,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号