Introduction to the C Programming Language

Slides:



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

C语言程序设计 主讲教师 :张群燕 电话:
授课教师:江星玲 1.
“八皇后”问题 崔萌萌 吕金华.
第 2 章 初探 C++.
项目五——校园一卡通程序功能模块化设计 5-1项目显示查询和退出函数设计.
補充: Input from a text file
C# 程式設計 第一部分 第1-4章 C# 程式設計 - 南華大學資管系.
高级语言程序设计 主讲人:陈玉华.
Chapter 1 用VC++撰寫程式 Text book: Ivor Horton.
函數 授課:ANT 日期:2009/3/24.
選擇排序法 通訊一甲 B 楊穎穆.
C的發展史 C程式初體驗 C程式設計基本注意事項 上機實習課程
补充内容 结构体 概述 定义结构体类型和定义结构体变量 结构体变量的引用 结构体变量的初始化 指针与结构体 用typedef定义类型的别名.
函數 授課:ANT 日期:2011/3/28.
適用於多選一 可減少if 與 else配對混淆的錯誤.
If … else 選擇結構 P27.
C 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
Chap 9 结构 9.1 构建手机通讯录 9.2 结构变量 9.3 结构数组 9.4 结构指针.
Introduction to the C Programming Language
Introduction to the C Programming Language
C++ 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
STRUCTURE 授課:ANT 日期:2010/5/12.
第一章 C語言概論 本章投影片僅供本書上課教師使用,非經同意請勿拷貝或轉載.
Function.
第12章 從C到C++語言 12-1 C++語言的基礎 12-2 C++語言的輸出與輸入 12-3 C++語言的動態記憶體配置
程式撰寫流程.
第3章 變數、常數與資料型態 3-1 C語言的識別字 3-2 變數的宣告與初值 3-3 指定敘述 3-4 C語言的資料型態
Introduction to the C Programming Language
6.4.1指针与二维数组 1、二维数组结构的分析 设有数组定义为:int a[3][4]; 则有: a表示数组在内存中的首地址。
算法的基本概念.
Instructor:Po-Yu Kuo 教師:郭柏佑
計數式重複敘述 for 迴圈 P
切換Dev c++顯示語言 工具->環境選項(V)->介面->language (Chinese TW)
Introduction to the C Programming Language
Programming Languages
第0章作业: 教材P12-练习与实践 1.写出用符号’*’输出描绘汉字”大”的流程图。
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
C++ 程式設計 基礎篇 張啟中 Chang Chi-Chung.
目录 9.1 结构体类型 9.2 共用体类型 9.3 枚举类型 9.4 类型声明符typedef 1.
Java變數 2014/6/24.
C语言复习2----函数.
Introduction to the C Programming Language
Introduction to the C Programming Language
C语言程序设计 教案 崔武子制作
浙江长征职业技术学院—计算机与信息技术系—相方莉制作
Chap 5 函数 5.1 计算圆柱体积 5.2 使用函数编写程序 5.3 变量与函数.
Chap 5 函数 5.1 计算圆柱体积 5.2 数字金字塔 5.3 复数运算.
輸出與輸入(I/O).
第11章 從C到C++語言 11-1 C++語言的基礎 11-2 C++語言的資料型態與運算子 11-3 C++語言的輸出與輸入
C++程式設計入門 變數與運算子 作者:黃建庭.
项目1 C程序设计起步 学习目标: 通过该项目你可以知道: C语言的用途。 C语言的基本符号和关键字。 C语言程序的结构及特点。
第2章 数据类型、运算符与表达式 本章要点: 基本数据类型 常量和变量 算术运算符和算术表达式 关系运算符和关系表达式
第一章 C语言概述 目录 什么是语言、程序 C语言的历史与发展 C语言的书写形式与程序结构 运行C语言的步骤与方法
第二章 类型、对象、运算符和表达式.
Introduction to the C Programming Language
本节内容 指针类型.
Introduction to the C Programming Language
本章主題 C++的程式結構 資料型態與宣告 算術運算 簡易的輸入輸出指令 程式編譯(Compile)的過程與原理.
《数据结构与算法设计》第一部分 面向对象的C++程序设计基础.
Introduction to the C Programming Language
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
第一次上機考參考答案 僅供參考,同學可自行再想更好的方法..
變數與資料型態  綠園.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
本节内容 指针类型 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
函式庫補充資料 1.
C语言基础学习 从外行到入门.
隨機函數.
Presentation transcript:

Introduction to the C Programming Language

程式碼的編譯 一般來說,程式碼編輯完成後,必須轉換成機器所能理解的語言(即機器碼,machine code)後,才能正確的執行。 所有的程式語言中,都附有這種轉換的程式,而轉換程式可概分成兩種,即直譯器(interpreter)與編譯器(compiler)。 C語言是屬於編譯器的一種。

C語言的編譯及連結過程 撰寫程式 編譯器 (Compiler) 連結程式 (Linker) 原始程式 (xxx.c) 函數庫 (Library) 連結程式 (Linker) 目的檔 (xxx.obj) [ 參閱 : C語言教學手冊 1-15 ~ 1-17 , 洪維恩著 ] 利用文字編輯程式(text editor) 撰寫一原始檔案(.c), 所有的原始檔都要有.c的擴充檔名,否則將不會正確 地被編譯程式認出來. 此原始檔案經由編譯程式(complier)產生目的檔(.obj), 1. 編譯程式除了要檢查原始程式的語法,定義的變數名稱 等等是否正確之外,還要將標頭檔讀進來,根據這個標頭檔 的內容所記載之函數的定義,檢查程式中所使用的函數用法 是否合乎規則. ] 2. 目的檔即代表一個已經編譯過且沒有錯誤的程式. 可是雖然 目的檔的內容是正確的,但它不代表執行結果會完全正確, 因為它無法替您檢查出邏輯上的錯誤. 連結程式(linker)會將其他的目的檔及所呼叫的函數庫(library) 連結在一起後,產生一可執行檔(.exe). 函數庫 : C語言已經將許多常用的函數寫好,並將這些函數分門別類 (如數學函數,標準輸出輸入函數等),當你想要使用這些函數時, 只要在程式中載入它所屬的標頭檔就可以使用它們.這些不同 的函數集合在一起,就把他們統稱為函數庫. 執行檔 (xxx.exe)

簡 單 的 C 程 式 範 例 #include<stdio.h> #include<stdlib.h> /* prog1_1 , 第一個C程式碼 */ #include<stdio.h> #include<stdlib.h> void main(void) { printf("First C program!\n"); /*在螢幕上印出 ””內的字串*/ printf("享受C的樂趣\n!"); system("pause"); /*暫停程式的執行*/ } 原始的程式碼 說明: 1. #include<stdio.h> : 將stdio.h這個檔案含括進來,並置於#include這行敘述的地方. 2. main() : 程式執行的起點,所執行的是{ }內的內容. 3. 空格,跳格,換行,對編譯程式來說是看不到的,故可利用“縮排” 來增加 “可讀性”

程式碼的編輯、撰寫 下面視窗為鍵入程式碼之後的情形: 說明: 1. #include<stdio.h> : 將stdio.h這個檔案含括進來,並置於#include這行敘述的地方. 2. main() : 程式執行的起點,所執行的是{ }內的內容. 3. 空格,跳格,換行,對編譯程式來說是看不到的,故可利用“縮排” 來增加 “可讀性”

程式碼的編輯、撰寫 選擇『檔案』功能表裡的『儲存』即可儲存檔案。 存檔類型需存成 .c 檔 說明: 1. #include<stdio.h> : 將stdio.h這個檔案含括進來,並置於#include這行敘述的地方. 2. main() : 程式執行的起點,所執行的是{ }內的內容. 3. 空格,跳格,換行,對編譯程式來說是看不到的,故可利用“縮排” 來增加 “可讀性”

程式碼的編譯、執行 程式碼寫完後,接下來就是要將原始程式碼變成可執行的程式碼。 以Dev C++為例,有下列幾種方式進行編譯與執行: 選擇『執行』功能表中的『編譯』來編譯程式, 然後選擇『執行』功能表裡的『執行』來執行它。 選擇『執行』功能表裡的『編譯並執行』,此時 Dev C++在編譯完程式之後,會自動執行程式。 說明: 1. #include<stdio.h> : 將stdio.h這個檔案含括進來,並置於#include這行敘述的地方. 2. main() : 程式執行的起點,所執行的是{ }內的內容. 3. 空格,跳格,換行,對編譯程式來說是看不到的,故可利用“縮排” 來增加 “可讀性”

簡 單 的 C 程 式 範 例 #include<stdio.h> /* 將stdio.h這個檔案含括(include)進來*/ #include<stdlib.h> void main(void) { int num; /* 宣告一個名為num的整數型態變數 */ num=2; /* 把num的值設為2 */ printf("I have %d dogs\n",num); /* 呼叫printf()函數 */ printf("You have %d dogs,too\n",num); system("pause"); } /* 將stdio.h這個檔案含括(include)進來*/ /*將stdlib.h這個檔案含括(include)進來*/ 定義了main函數,{}內為main的主體 C語言的註解。 C是以 " /* "及 " */ “ 記號來包圍註解文字. 說明: 1.stdio是standard input/output(標準輸入/輸出)的縮寫。C語言裡只要有關輸入與輸出的格式均是 定義在這個檔案裡。 2.因為system()函數是定義在stdlib.h裡,所以要include進來。 2. main() : 所有的C程式都是由main()開始執行,所執行的是{ }內的內容. 3. { }: 代表程式的開始與結束 4. /* */ : C程式的註解,以“/*”及“*/”記號來包圍註解的文字. 5. 分號(;) : 代表敘述(statement)的結束符號. printf函數會先把『%d』這個符號以num的值來取代。 再將雙引號內的文字輸出到螢幕上。

解 析 C 語 言 include指令與標頭檔: main()函數: 大括號、本體 在C語言裡,性質相近的格式定義會放在同一個標頭檔裡。 每ㄧ個C程式都必有一個main()函數,而且只能有一個。 所有C程式都是由main()函數開始執行,所執行的是{ }內的內容。 大括號、本體 以main()函數而言,左大括號({)與右大括號(})之間的程式碼就是main()函數的本體(body)。 本體內的每個指令敘述需以分號『;』做結尾。 1.stdio.h 與 stdlib.h 都稱為標頭檔(header file)。 2.例如:stdio.h 提供了輸入/輸出的函數 math.h提供了數學函數(如平方、立方、開根號)。

變數與常數 變數(variables): 是一個記憶體空間,主要用途是讓程式設計者,暫時存放一個數值,並於需要時可以隨時取用它或改變它. 變數一定要宣告過才能使用,否則將產生錯誤. 當我們宣告一個變數(variable)時,compiler會在記憶體內配置一個空間給此變數。 常數(constant)不同於變數,它的值是固定的。 例如:整數常數12400、浮點常數5.1

變數與常數 變數可用來存放資料。不同類型的資料需要不同型態的 變數來儲存。 使用變數前必須先宣告此變數所欲儲存的資料型態。 例如:班級的人數ㄧ定是整數,因此可利用整數型態的 變數來儲存班級的人數。 例如: int num; num=54; 宣告ㄧ個變數num為整數資料型態 num的值設為54

基本資料型態 C語言常用的四種資料型態: 例如: char name; /*宣告一個變數name為字元資料型態*/ char(字元) character int(整數) integer float(浮點數) single-precision floating point double(倍精度浮點數) double-precision floating point 例如: char name; /*宣告一個變數name為字元資料型態*/ int num; /*宣告一個變數num為整數資料型態*/ float grade; /*宣告一個變數grade為浮點資料型態*/

基本資料型態 C語言練習題: 請將第4、8頁程式整合為一個程式。 (將第4頁程式加入第8頁所顯示變數宣告的應用)