Instructor:Po-Yu Kuo 教師:郭柏佑

Slides:



Advertisements
Similar presentations
C/C++ 程序设计 吉林财经大学 管理科学与信息工程学院 李艳东 : Tel :
Advertisements

主讲:王幸民 理学院计算机基础教学部.
基础模块 模块一 程序设计基础 (一)开发环境部分.
C语言程序设计 主讲教师 :张群燕 电话:
授课教师:江星玲 1.
培养目标 1.建立基本的程序设计概念体系,掌握基础程序设计方法。
第1单元 操作系统概论 第一节 绪论 操作系统定义.
“八皇后”问题 崔萌萌 吕金华.
第 2 章 初探 C++.
程序设计基础 贺辉 图书馆三楼办公室(进馆左侧上楼)
第一章 C语言概述 计算机公共教学部.
操作系统原理 Principles of Operating System
请将手机调整到静音状态 实验网站:program3.ccshu.net 资源网站:class.ccshu.org/ /
凤 凰 中国古代传说中的百鸟之王,和龙一样为汉族的民族图腾。凤凰和麒麟一样,是雌雄统称,雄为凤,雌为凰,总称为凤凰,常用来象征祥瑞。亦称为丹鸟、火鸟、威凤等。
第一章 c语言程序设计基础 任课教师:温荷 Neusoft Institute of Information
C++程序设计 主讲:王兴波教授 1.
电工电子实验中心.
C# 程式設計 第一部分 第1-4章 C# 程式設計 - 南華大學資管系.
高级语言程序设计 主讲人:陈玉华.
陈 峦 副教授 研究院大楼316# 电子科技大学 能源科学与工程学院
Chapter 1 用VC++撰寫程式 Text book: Ivor Horton.
第二十九章 DLL / LIB函式庫開發 當我們開發程式到一個階段之後,我們一定會希望各個Component的程式碼可以分開的越清楚越好。而這一章最主要就是要告訴各位讀者,我們常在Windows系統中看到的dll或是lib的檔案該怎麼實作?做出這樣的library我們又該如何運用?為什麼使用dll或是lib有利於我們開發程式?以上這些疑問都將會在這一章中得到解答。
C的發展史 C程式初體驗 C程式設計基本注意事項 上機實習課程
簡易 Visual Studio 2010 C++ 使用手冊
南华大学计算机学院 软件工程系 QQ讨论群:
教材 《C++程序设计》.谭浩强. 清华大学出版社 王雪晶
C 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
C++ 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
第一章 C語言概論 本章投影片僅供本書上課教師使用,非經同意請勿拷貝或轉載.
第12章 從C到C++語言 12-1 C++語言的基礎 12-2 C++語言的輸出與輸入 12-3 C++語言的動態記憶體配置
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
什么是C语言 编写HelloWorld程序 注释
Process management(程序管理)
簡易 Visual Studio 2005 C++ 使用手冊
谭浩强 编著 中国高等院校计算机基础教育课程体系规划教材 C++程序设计.
計數式重複敘述 for 迴圈 P
第0章作业: 教材P12-练习与实践 1.写出用符号’*’输出描绘汉字”大”的流程图。
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
第 二 章 数据类型、运算符与表达式.
上机环境介绍 杨斌
C语言环境配置.
第一章 程序设计和C语言 主讲人:高晓娟 计算机学院.
C语言程序示例: 1.输入10个数,按从小到大的顺序排序。 2.汉诺塔问题。.
C程序设计.
Instructor:Po-Yu Kuo 教師:郭柏佑
C语言程序设计 教案 崔武子制作
物件導向程式設計 CH2.
第一章 C语言概述 教师:周芸.
项目1 C程序设计起步 学习目标: 通过该项目你可以知道: C语言的用途。 C语言的基本符号和关键字。 C语言程序的结构及特点。
本节内容 文件读写 视频提供:昆山爱达人信息技术有限公司.
第7章 程序的结构 四、生存期与存储属性 五、extern关键字与外部连接属性 六、static关键字与内部连接属性.
第一章 C语言概述 目录 什么是语言、程序 C语言的历史与发展 C语言的书写形式与程序结构 运行C语言的步骤与方法
第二章 语言设计问题.
C++程序设计 吉林大学计算机科学与技术(软件)学院.
第二章 类型、对象、运算符和表达式.
Introduction to the C Programming Language
本节内容 函数嵌套调用的内存布局 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
UNIX 螢幕導向程式的發展利器 - curses
Introduction to the C Programming Language
Computer Science & Information Management
第1章程序设计和C语言.
C++程序设计 概述 潘荣江 山东大学软件学院.
code::blocks 與GLUT 程式開發
程式語言簡介 2019/7/17 明乘中學編製.
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
面向对象程序设计 C++教程 西安工业大学 于帆.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
劉庠宏、林合治編著 國立高雄大學應用數學系 2005年3月1日
Introduction to the C Programming Language
隨機函數.
Presentation transcript:

Instructor:Po-Yu Kuo 教師:郭柏佑 EL 1009 計算機概論 (電子一A) Introduction to Computer Science Ch. 1 認識C語言 Instructor:Po-Yu Kuo 教師:郭柏佑

學習程式 語言的動機

學習程式語言的動機 為何想要學習程式語言? 研究或工作上需要; 興趣; 或者是喜歡打電動。 對電腦有興趣 平時喜歡使用電腦; 打電動; 線上遊戲。 * https://www.youtube.com/watch?v=7cNTUNSUvYw

學習程式語言的動機 電腦遊戲隨著時間的改變, 電腦設備(顯示卡)功能的增進, 遊戲畫面越來越細致。 然而, 遊戲的基本指令, 還是要由程式語言來控制: 使用者輸入指令: 招式或大絕招。 製作者利用程式語言, 設置不同指令對應到不同招式。 *https://www.youtube.com/watch?v=hEW0DNbPGCo *http://ruliweb.daum.net/ *https://www.youtube.com/watch?v=5il9JYkLYQg

學習程式語言的動機 電腦遊戲已經可以執行3D的畫面 利用遊戲體驗各類活動 操作介面更多元 *https://www.youtube.com/watch?v=BTCFKaq30QM

C 語言的由來

C 語言簡介 C 語言是最被廣泛使用的一種高階語言。 C 語言是 1972 年在 AT&T 貝爾實驗室 (Bell Laboratory) 中發展出來的。 Dennis M. Ritchie 和 Ken Thompson要發展 UNIX 作業系統, 而發展出來的一套程式語言。 1980年代中期, 為避免各開發廠商所用的 C 語言語法產生差異, 由美國國家標準局 (American National Standard Institution) 為 C 語言訂定一套完整的國際標準語法, 稱為 ANSI C, 做為 C 語言的標準。

C 語言簡介 由於 C 語言所具備的效率、彈性、可攜性等各項優點, 逐漸成為一種廣受歡迎的程式語言。 C 語言的優點包括: 1. 程式碼精簡, 產生的程式執行效率佳。 2. 具有很高的可攜性。 3. 完全支援模組化的程式設計。 4. 彈性大而擴充性強。

如何讓 C 語言程式 變成可以執行 C 程式稱為原始程式,原始程式必須翻譯成電腦認識的機器語言, 才能由電腦執行。 將高階程式語言所寫的原始程式, 翻譯成機器語言的方式有編譯與直譯兩種。 C 語言採用的是編譯的方式 (因此可稱之為編譯式語言)。將 C 原始程式編譯為可執行檔, 需經過編譯和連結兩個動作。

編譯與連結的動作

編譯 使用編譯器 (Compiler) 將人類看得懂的原始程式, 翻譯成電腦看得懂的目的檔。 編譯器在編譯過程中, 會檢查原始程式中的語法是否有錯誤。 如果有錯誤, 原始程式將無法進行連結的動作。 程式設計者必須修正原始程式中的語法錯誤, 再重新編譯。

連結 編譯完成後, 便可以進行連結的動作。 連結器 (linker) 的用處是將目的檔, 與程式中所使用到的函式庫做連結, 而產生完整的執行檔。 如果開發的程式比較大, 或參與開發的人比較多: 此時會將程式分成多個原始程式。 每個原始程式都可個別編譯成目的檔, 然後於連結時。 再將所有的目的檔與函式庫連結成一個完整的執行檔。

編譯式程式語言列表

直譯式語言 直譯如同是現場口譯, 當程式需要執行時才開始翻譯。 直譯式的語言是利用直譯器 (Interpreter) 對原始程式碼一邊讀解,一邊執行。 翻譯程式的過程中,不需要產生目的檔。 直譯器會將程式一行一行的讀入,並且逐行翻譯,並送交由電腦執行。 像JavaScript、VBScript、Perl 等都算是直譯式語言。

接觸 C 語言

第一個 C 程式 main () 函式 main () 函式 的內容 寫在 { }中 第一行 int main (void) 稱之為main () 函式。 main () 前面的 int 是整數的意思, 表示這個 C 程式在執行結束時, 會傳回一個整數值到作業系統。

第一個 C 程式 第三行 /*……*/ 裡面的字, 稱之為註解。 當編譯器遇到註解時會跳過註解文字不做任何編譯。 編寫程式時, 程式設計者以口語的方式加註解釋, 以方便日後查看。 單行註解: 多行註解: // 註解內容 /* 註解內容 */

第一個 C 程式 第三行中 “ return 0; ” 的敘述(statement),就是將數值 0 傳回給作業系統。 通常在撰寫應用程式時, 會將程式執行的狀況以 “傳回值” 反應給作業系統。 習慣上會用數值 0 表示程式執行順利, 無任何錯誤的意思。

輸出一行文字的程式 前置處理指令

輸出一行文字的程式 第一行 #include <stdio.h> 稱之為前置處理指令 (preprocessing directive)。 前置處理指令的功用, 就是把 stdio.h 這個檔案的內容放在原始程式的最開頭。 檔案 stdio.h 會附於安裝編譯器的子資料夾下。 第 4~7 行用 { } 括住的部分, 就是 main (void) 函式的內容。

輸出一行文字的程式 第 5 行的 printf () 是 C 語言裡最基本的輸出函式: 將括號()中, 用引號 “…” 包住的程式輸出到標準輸出裝置。 預設的標準輸出裝置就是螢幕。 所以這行程式的功用, 就是將 “C 語言的世界, 你好啊!!” 這段訊息, 輸出到螢幕上 同樣的, 在第六行, 每個程式都需要加上 “return 0;”, 傳回程式執行無誤的訊息。

C 語言的基本語法

main (void) 是什麼意思 main (void) 是每個 C 程式都一定要有的函式。 函式 (function) 簡單的說, 就是一段程式的集合, 並能產生某項特定的功能。 main (void) 函式中的 void 的意思是空白, 也就是說 main () 函式不接受任何參數的傳入。 main () 函式比較特別, 它不像函式庫中的函式, 都有事先設計好的功用。

main (void) 是什麼意思 main () 函式的內容, 完全由寫程式的人自行決定。 如果我們希望程式能完成某項工作, 就要將完成該工作的 C 語言敘述放在 main () 函式中。

解 x=123 代入 2x+99 的結果 註解

解 x=123 代入 2x+99 的結果 第 5 行為宣告變數 x 與 y 都是整數 (int) 。 第 6 行是將 x 值設定為 123。 第 7 行是用 y 來接受 2x+99 的運算結果, 在 C 語言中所有的算式都要寫成像本行的模式: 等號的左邊只能有一個變數。 右邊則是算式。

解 x=123 代入 2x+99 的結果 第 8 行是印出 y 的值, 也就是印出 2x+99 的結果。 觀察本行內容, printf () 輸出的是 "答案 = %d。 執行結果則是輸出 "答案 = 345“。 printf () 函式自動將 %d 的部分代換成 y 的值 345。 其中 %d 稱為 printf () 的輸出格式控制符號; 將逗號後的變數 y 的值, 以十進位的格式輸出在 %d 的位置。

解 x=123 代入 2x+99 的結果 關於printf () 函式其它的輸出格式控制符號, 在Ch. 2 和 Ch. 3 會做詳細介紹。

含括檔 #include <...> 淺說 #include, 稱為前置處理指令 (preprocessing directive)。 編譯器在編譯 C 程式前, 會先由前置處理器 (preprocessor) 來處理程式中的前置處理指令。 在原始程式第 1 行加上 #include<stdio.h>, 會把 stdio.h 這個檔案的內容放在原始程式的最開頭。 此動作稱為含括 (include), 而被含括到程式中的 stdio.h 則稱為含括檔, 其特色為副檔名為 .h 。

含括檔 #include <...> 淺說 使用函式前, 必須先宣告 (declare) 函式。 C 語言已經預先將標準函式庫中的函式宣告, 分門別類放在各個含括檔中。 例如程式中用到了 printf () 函式, 而其宣告就存放 stdio.h 中。 因此必需在程式開頭加上 #include<stdio.h> 這一行。 程式的連結階段才不會出現錯誤訊息。

含括檔 #include <...> 淺說 單一程式中所能含括的檔案數並無限制。

程式的分段:使用 {} 與 ; C 語言對其程式寫作格式中有許多嚴謹的規定, 這是為了避免編譯器在編譯時無法解讀程式的含意而發生編譯錯誤。 大括號 { } 分號 ;

大括號{}的使用 { } 中間的程式表示是一小段函式的結束, 或是一小段的敘述結束, 我們稱之為程式區塊 (block) 。 Block

分號表示敘述的結尾 每一句完整的程式後要加上分號, 表示該敘述結束:

分號表示敘述的結尾 每個由分號結尾的一個程式片段, 可稱為一段敘述 (Statement)。 在C語言中, 並未規定每個敘述都必須獨立成一行, 也沒規定同一敘述都要放在同一行。 只有少數幾個敘述不必在結尾加上分號 (if、else、while 等流程控制敘述), 其它的敘述都一定要用分號做結尾

養成良好的寫程式習慣

適時的分行 要寫好程式, 一定要養成良好的觀念。 不要將程式碼排的亂七八糟。 要工整, 有一定的格式。 就如同寫一篇文章, 如果沒有分段, 沒有標點符號, 閱讀者不知道哪裡該停頓, 哪裡段落結束。 適時的分行, 將使程式便於整篇的閱讀。

適時的分行 以下哪種程式較容易閱讀? 程式B 程式A int main (void) {int x; int y; int z; x=10; y=5; z=20;…} int main (void) { int x; int y; int z; x = 10; y = 5; z = 20; … }

適時的分行 當一行敘述太長時, 只要是變數和運算符號 (簡稱算符) 、逗號、括號之間, 都可依需要斷行。 在換行處不需要加任何符號, 只需在運算式結束處加分號即可。 a = b + c + d + e + f + g + h + i + j + k + l + m; 可在任一位置換行 a = b + c + d + e + f + g + h + i + j + k + l + m;

適時的分行 斷行時不可將原本完整的 變數名稱分斷。 函式名稱分斷。 關鍵字分斷。 這都將造成編譯器解讀錯誤。

程式碼的內縮:表現出層次感 需善用內縮的技巧, 將使的程式有層次感, 段落明顯, 章節分明 。 內縮

善用註解 寫程式要注意多加註解。 幫助閱讀程式的人能清楚了解 每一行的功能; 每一段的功能; 進而了解到整個程式的功能以及流程。

電腦程式與嵌入式程式的差異

認識嵌入式系統

認識嵌入式系統 整合了 CPU、ROM (唯讀記憶體)、RAM 及一些輸出入、計時器等相關功能於一身的微控制器 (Microcontroller, 簡稱 MCU)。

認識嵌入式系統 嵌入式系統上的 C 程式和一般電腦的 C 程式有些不同: 開發嵌入式應用, 必須瞭解包括 MCU 性能、規格, 及其它構成系統的電子零件 (例如 LED 燈、溫溼度感測器) 的性能、規格。 嵌入式系統、MCU 的種類眾多, 有各自的開發工具 撰寫嵌入式系統上的 C 程式, 除了具備 C 語言的基本知識外, 也要熟悉廠商所提供的專屬語法、函式庫用法。

嵌入式程式開發流程

Dev-C++ 操作簡介

執行第一個練習: 開啟Dev-C++ 1. 開啟 Dev C++ 。

執行第一個練習 2. 選取 檔案 → 開新檔案 → 專案。

執行第一個練習 3. 選取 Console Application → C 專案 → 確定。

執行第一個練習 4. 選取 你的資料夾 → Q1 → 開啟。

執行第一個練習 5. 選取完資料夾 後按存檔。

執行第一個練習 6. 此時會跳出以下的畫面, 即可開始撰寫程式。

編譯並執行程式 7.選取 執行→ 編譯並執行 或按F9。

編譯並執行程式 8. 執行結果, 可查看語法是否有錯誤。

Microsoft Visual C++ 6.0 操作簡介

執行第一個練習: 開啟Visual C++6.0

執行第一個練習 開啟新的Project, 選取File → New。

執行第一個練習 選取Win32 Console Application 。

執行第一個練習 輸入Project 名稱後, 點選 “OK” 。

執行第一個練習 勾選 “An empty project”後, 點選 “Finish” 。

執行第一個練習 出現New Project Information視窗後, 點選 “OK” 。

執行第一個練習 完成建立新的Project。 必須在新的Project中加入新的程式檔。

執行第一個練習 選取File → New 。

執行第一個練習 選取 C++ Source File。

執行第一個練習 輸入File名稱後, 點選 “OK” 。

執行第一個練習 在右邊空白處撰寫程式碼。 此處撰寫程式

執行第一個練習 撰寫完成後, 記得儲存檔案。然後選取 Build → Compile hello.cpp完成編譯的動作; 也可按 Ctrl+F7 。 儲存檔案

執行第一個練習 如果程式語法沒有錯誤, 在視窗下方會出現以下的訊息。 0 error(s), 0 warning(s)

執行第一個練習 然後選取 Build → Build hello.exe 完成連結的動作; 也可按 F7 。

執行第一個練習 如果連結過程沒有錯誤, 在視窗下方會出現以下的訊息。 0 error(s), 0 warning(s)

執行第一個練習 最後選取 Build → Eexcute hello.exe 執行程式; 也可按 Ctrl + F5 。

執行第一個練習 執行結果會出現在 DOS 視窗。

課後練習 請同學練習寫一個程式印出以下的文字, 並為程式加上註解。 This is my first program!!