SlideShare a Scribd company logo
1 of 65
Download to read offline
電腦概述
何謂電腦?
• 電腦是人們對「計算機(Computer)」的
俗稱。
• 計算機是協助人們計算(Compute)的機
械。
大綱
• 數位資料表示法
• 硬體
• 軟體
• C語言教學
二進位
• bit(位元): 二進位中的一位,是資訊的最小
單位
• Byte(位元組): 1 Byte = 8 bits
十進位 二進位
(0)10 (0000)2
(1)10 (0001)2
(2)10 (0010)2
(3)10 (0011)2
(4)10 (0100)2
(5)10 (0101)2
二進位
• 二進位: 0 1 0 1
• 換成十進位:
0 × 23 + 1 × 22 + 0 × 21 + 1 × 20 = 4 + 1 = 5
20212223
K M G T ?
• K : 表示 210 或 103
• M: 表示 220 或 106 = 1024 K 或 1000K
• G : 表示 230 或 109 = 1024 M 或 1000M
• T : 表示 240 或 109 = 1024 G 或 1000G
• 通常使用第一個定義,只有計算硬碟容量
時使用第二個定義
十六進位
十進位 十六進位 二進位
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111
16 10 10000
17 11 10001
例: (11)16 = 1 × 161 + 1 × 160 = 16 + 1 = 17
十六進位<->二進位
• 二進位每四個bits可換成一個十六進位符號
• 例: 1 0 1 0 0 0 1 1 1 1 1 1
A 3 F
硬體&軟體
• 硬體(Hardware)
• 軟體(Software)
– 程式
硬體
電腦基本架構
記
憶
體
(
Memory
)
控制單元
(Control
Unit, CU)
算術邏輯單元
(ALU)
Datapath
輸入(Input)
輸出(Output)
中央處理器 (Central
Processing Unit, CPU)
輸入
輸出
記憶體
CPU
控制單元
(Control
Unit, CU)
算術邏輯單元
(ALU)
Datapath
中央處理器 (Central
Processing Unit, CPU)
CPU
•又稱為處理器(Processor)
CPU內部電路
CPU特色
• High Clock Rate(高時脈)
– 以GHz為單位 (G~10億,109)
• Parallelism(平行處理)
– 透過Pipelining(同一個時間可以做超過一件事)
多核心(Multi-core) CPU
•Dual-core (雙核心)
•Quad-core(四核心)
單核心 雙核心
Cache
• CPU內部的小型記憶體
• 通常分成幾個階級:
– L1: 容量最小,但速度最快
– L2: 容量次之,速度次之
– L3: 容量最大,速度最慢,多個核心(Core)共用
Cache
Memory
記
憶
體
(
Memory
)
控制單元
(Control
Unit, CU)
算術邏輯單元
(ALU)
Datapath
中央處理器 (Central
Processing Unit, CPU)
Memory
• 揮發性(Volatile):
 關機後資料會消失
 Main memory-執行程式用
– RAM
• 非揮發性(Non-volatile):
Secondary memory-儲存資料用
– CD-ROM(光碟)
– Flash Memory(隨身碟)
– Hard Drive(硬碟)
RAM
• Random-access memory
• 存取速度僅次於Cache,但容量較大
Flash Memory
• 隨身碟
• 記憶卡
USB
Hard Disk Drive(HDD)
• 機械式
• 容量最大,存取速度最慢
Solid-state Disk(SSD)
• 固態硬碟(非機械式)
• 使用類似Flash memory的技術
HDD vs SSD
HDD(傳統硬碟) SSD(固態硬碟)
耗電量 高 低(HDD的5%)
存取速度 慢 快(HDD的兩倍)
噪音 有 無
抗震動 差 較好
成本 較低 高(HDD的兩、三倍)
寫入次數 多 較少 (礙於Flash
Memory 的限制)
Win
Win
Win
Win
Win
Win
Memory
•容量愈大,存取速度愈慢,但愈便宜
I/O
記
憶
體
(
Memory
)
控制單元
(Control
Unit, CU)
算術邏輯單元
(ALU)
Datapath
輸入(Input)
輸出(Output)
中央處理器 (Central
Processing Unit, CPU)
I/O
I/O
• Video Card(顯示卡):連接電腦系統與螢幕
I/O
• Internet(網際網路)
Mother Board
• 主機板: 連接CPU、Memory、I/O
軟體
硬體(Hardware)
作業系統
(Operating System)
應用程式
(Application)
使用者(User)
Operating Systems(OS)
• 作業系統
– 管理硬體資源
– 提供上層應用程式服務
• 例子:
– Windows
– Mac OS X 、 iOS
– Linux
– Chrome OS/ Android
Windows
• 開發者: 微軟(Microsoft)
• 優點: 普及度高、應用程式支援度高
• 缺點: 架構不透明、安全漏洞多、$$
Mac OS X
• 開發者: 蘋果(Apple)
• 優點: 設計感十足、直覺式操作、不易中毒
• 缺點: 硬體限制多、支援的應用程式較少
、 $$$
Linux
• 開發者: 因版本多元、有許多開發社群
• 優點: 開放原始碼、可自行修改系統、 免費
• 缺點: 較難上手、娛樂性應用程式支援度低
Chrome OS
• 開發者: Google
• 優點: 開放原始碼、網路應用程式豐富
• 缺點: 部分功能需付費、部分軟體綁定
32-bit OS / 64-bit OS?
8 bits = 1 byte
Applications
• 應用程式
• 針對使用者某種目的而撰寫的軟體
• 種類:文書處理、數學計算、多媒體播放、
網頁瀏覽、電腦遊戲、即時通訊、資料庫、
檔案管理、檔案分享……
語言教學
Why C ?
• C 是其他程式語言(如: C++、Java)的基石
• 執行速度快
• 學習難度適中
Hello World!
Comment(註解)
• 增加程式的可讀性、維護性
1. 單行註解
2. 多行註解
/*This is your first program in C*/
//This is your first program in C
/*Hello, everyone!
Welcome to the world of Computer Science!
I hope you will like this course.
*/
White Space(空白)
• 包括空白行、空白字
• 增加程式的可讀性
Variable(變數)
• 每個變數有四個屬性:
– 名稱(name):有特殊規定!!
– 型態(type)
– 大小(size)
– 數值(value)
10
number1 number2
2030
integer
整數
• 必須由英文字母大寫(A – Z)、小寫
(a – z)、數字(0 – 9)和底線(_)組
成。但第一個字元不可為數字。
變數名稱限制
識別字 是否合法?
this_Is_A_Long_Variable_Name
識別字 是否合法?
TLC_2013
識別字 是否合法?
2013_TLC
識別字 是否合法?
Hello!
識別字 是否合法?
number1
識別字 是否合法?
@
識別字 是否合法?
a
變數名稱 是否合法?
A Yes
No
Yes
No
Yes
No
Yes
Yes
• 不能用來取變數名稱的字
保留字(Reserved word )
/ 關鍵字(Keyword)
char short int unsigned long float double struct
union void enum signed const volatile typedef auto
register static extern break case continue default do
else for goto if return switch while sizeof
常見變數型態
資料型態名稱 說明 位元數
char [0, 255], ASCII 8
int [-2147483648,
2147483647]
32
資料型態名稱 說明 位元數
float [3.4×10-38, 3.4×1038]
[-3.4×1038, -3.4×10-38]
有效位數 7位
32
double [1.7×10-308, 1.7×10308]
[-1.7×10308, -1.7×10-308]
有效位數 15位
64
資料型態名稱 說明 位元數
bool true/false 8
資料型態名稱 說明 位元數
void 表示「沒有值」
不得用作變數宣告
無意義
Q1
if
grade>=60
if(grade >= 60){
printf("Passed");
}
if (條件判斷)
{執行某件事}
Passed
trueyes
false no
grade>=
60
Passed
true
Failed
false
if(grade >= 60){
printf("Passed");
}
else{
printf("Failed");
}
if(條件判斷)
{做某件事}
else
{做另一件事}
算術運算子 說明 優先順序 關聯性
() 括號 1 →
- 負號 2 →
* 乘 3 →
/ 除 3 →
% 餘數 3 →
+ 加 4 →
- 減 4 →
運算子(Operators)
關係運算子 說明 優先順序 關聯性
> 大於 5 →
>= 大於等於 5 →
< 小於 5 →
<= 小於等於 5 →
== 相等 6 →
!= 不等 6 →
邏輯運算子 說明 優先順序 關聯性
! 非 2 →
&& 且 7 →
|| 或 8 →
指派運算子 說明 優先順序 關聯性
= 等於 9 ←
+= 加…等於 9 ←
-= 減…等於 9 ←
*= 乘…等於 9 ←
/= 除…等於 9 ←
運算子 優先順序 運算子 優先順序 運算子 優先順序
() 1 - 4 && 7
- 2 > 5 || 8
! 2 >= 5 = 9
* 3 < 5 += 9
/ 3 <= 5 -= 9
% 3 == 6 *= 9
+ 4 != 6 /= 9
執行特定運算的符號
Q2
讓電腦秀出數字1到10
while loop
while(條件判斷)
{一直做某件事}
count <=
10
printf
count = count + 1
true
false
int count = 1;
while(count <= 10){
printf("count = %dn", count);
count = count + 1;
}
for loop
for(初始值設定; 條件判斷式; 遞增/遞減)
{一直做某件事}
count = 1
count
< =10
count = count + 1printf
true
false
for(count = 1;count <= 10;count = count + 1)
{
printf("count = %dn", count);
}
Q3
Q&A

More Related Content

Similar to [科科營]電腦概述

張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版
張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版
張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版逸 張
 
Mysql开发与优化
Mysql开发与优化Mysql开发与优化
Mysql开发与优化isnull
 
TensorFlow 深度學習講座
TensorFlow 深度學習講座TensorFlow 深度學習講座
TensorFlow 深度學習講座Mark Chang
 
TENSORFLOW深度學習講座講義(很硬的課程) 4/14
TENSORFLOW深度學習講座講義(很硬的課程) 4/14TENSORFLOW深度學習講座講義(很硬的課程) 4/14
TENSORFLOW深度學習講座講義(很硬的課程) 4/14NTC.im(Notch Training Center)
 
[Crypto Course] Block Cipher Mode
[Crypto Course] Block Cipher Mode[Crypto Course] Block Cipher Mode
[Crypto Course] Block Cipher ModeWEI CHIEH CHAO
 
我对后端优化的一点想法
我对后端优化的一点想法我对后端优化的一点想法
我对后端优化的一点想法mysqlops
 
Arduino L2
Arduino L2Arduino L2
Arduino L2mmiwwcom
 
快快樂樂SIMD
快快樂樂SIMD快快樂樂SIMD
快快樂樂SIMDWei-Ta Wang
 
04 计算机的运算方法01
04 计算机的运算方法0104 计算机的运算方法01
04 计算机的运算方法01Huaijin Chen
 
電腦常識(含計算機大意) 中油.台水.捷運.中華電學儒
電腦常識(含計算機大意) 中油.台水.捷運.中華電學儒電腦常識(含計算機大意) 中油.台水.捷運.中華電學儒
電腦常識(含計算機大意) 中油.台水.捷運.中華電學儒TAAZE 讀冊生活
 
我对后端优化的一点想法 (2012)
我对后端优化的一点想法 (2012)我对后端优化的一点想法 (2012)
我对后端优化的一点想法 (2012)james tong
 
复习第八章
复习第八章复习第八章
复习第八章lqarenas
 
TQC+ 程式語言 Python 01:變數與輸出入
TQC+ 程式語言 Python  01:變數與輸出入TQC+ 程式語言 Python  01:變數與輸出入
TQC+ 程式語言 Python 01:變數與輸出入neochen2701
 
實數表示法與運算
實數表示法與運算實數表示法與運算
實數表示法與運算encoret
 
01 课程介绍与计算机系统概述
01 课程介绍与计算机系统概述01 课程介绍与计算机系统概述
01 课程介绍与计算机系统概述Huaijin Chen
 

Similar to [科科營]電腦概述 (20)

張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版
張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版
張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版
 
Mysql开发与优化
Mysql开发与优化Mysql开发与优化
Mysql开发与优化
 
Python 温故
Python 温故Python 温故
Python 温故
 
TensorFlow 深度學習講座
TensorFlow 深度學習講座TensorFlow 深度學習講座
TensorFlow 深度學習講座
 
TENSORFLOW深度學習講座講義(很硬的課程) 4/14
TENSORFLOW深度學習講座講義(很硬的課程) 4/14TENSORFLOW深度學習講座講義(很硬的課程) 4/14
TENSORFLOW深度學習講座講義(很硬的課程) 4/14
 
TENSORFLOW深度學習講座講義(很硬的課程)
TENSORFLOW深度學習講座講義(很硬的課程)TENSORFLOW深度學習講座講義(很硬的課程)
TENSORFLOW深度學習講座講義(很硬的課程)
 
[Crypto Course] Block Cipher Mode
[Crypto Course] Block Cipher Mode[Crypto Course] Block Cipher Mode
[Crypto Course] Block Cipher Mode
 
我对后端优化的一点想法
我对后端优化的一点想法我对后端优化的一点想法
我对后端优化的一点想法
 
Tcfsh bootcamp day2
 Tcfsh bootcamp day2 Tcfsh bootcamp day2
Tcfsh bootcamp day2
 
Arduino L2
Arduino L2Arduino L2
Arduino L2
 
快快樂樂SIMD
快快樂樂SIMD快快樂樂SIMD
快快樂樂SIMD
 
04 计算机的运算方法01
04 计算机的运算方法0104 计算机的运算方法01
04 计算机的运算方法01
 
電腦常識(含計算機大意) 中油.台水.捷運.中華電學儒
電腦常識(含計算機大意) 中油.台水.捷運.中華電學儒電腦常識(含計算機大意) 中油.台水.捷運.中華電學儒
電腦常識(含計算機大意) 中油.台水.捷運.中華電學儒
 
Essential C/C++
Essential C/C++Essential C/C++
Essential C/C++
 
我对后端优化的一点想法 (2012)
我对后端优化的一点想法 (2012)我对后端优化的一点想法 (2012)
我对后端优化的一点想法 (2012)
 
复习第八章
复习第八章复习第八章
复习第八章
 
Glider
GliderGlider
Glider
 
TQC+ 程式語言 Python 01:變數與輸出入
TQC+ 程式語言 Python  01:變數與輸出入TQC+ 程式語言 Python  01:變數與輸出入
TQC+ 程式語言 Python 01:變數與輸出入
 
實數表示法與運算
實數表示法與運算實數表示法與運算
實數表示法與運算
 
01 课程介绍与计算机系统概述
01 课程介绍与计算机系统概述01 课程介绍与计算机系统概述
01 课程介绍与计算机系统概述
 

[科科營]電腦概述