Introduction to C Language ─ C 語言資料型態. 大綱 常數與變數 整數資料型態與變數宣告 浮點數資料型態與變數宣告 字元資料型態與變數宣告 資料的大小 Homework.

Slides:



Advertisements
Similar presentations
1 生物計算期末作業 暨南大學資訊工程系 2003/05/13. 2 compare f1 f2  只比較兩個檔案 f1 與 f2 ,比完後將結果輸出。 compare directory  以兩兩比對的方式,比對一個目錄下所有檔案的相 似程度。  將相似度很高的檔案做成報表輸出,報表中至少要.
Advertisements

6-1 指標簡介 6-2 指標與陣列 6-3 動態配置記憶體 6-4 本章綜合練習
布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
Introduction to Java Programming Lecture 13 Classes I OO Programming.
學習C++的基本語法 認識關鍵字與識別字的不同 學習程式碼偵錯的流程 學習如何提高程式的可讀性
: A-Sequence 星級 : ★★☆☆☆ 題組: Online-judge.uva.es PROBLEM SET Volume CIX 題號: Problem D : A-Sequence 解題者:薛祖淵 解題日期: 2006 年 2 月 21 日 題意:一開始先輸入一個.
Reference, primitive, call by XXX 必也正名乎 誌謝 : 部份文字取於前輩 TAHO 的文章.
What is static?. Static? 靜態 ? class Test { static int staticX; int instanceX; public Test(int var1, int var2) { this.staticX = var1; this.instanceX =
指導教授:陳淑媛 學生:李宗叡 李卿輔.  利用下列三種方法 (Edge Detection 、 Local Binary Pattern 、 Structured Local Edge Pattern) 來判斷是否為場景變換,以方便使用者來 找出所要的片段。
1 Web of Science 利用指引 單元二 瀏覽與處理查詢結果. 2 瀏覽檢索結果 查出的結果,預設以時間排列, 使用者可改變結果的排列方式: 還可以依被引用次數、相關度、 第一作者、刊名、出版年等排序 回到前先查的結果畫面 點選想看資料的完整書目 本館訂購範圍的期刊 全文,便可直接連結.
: OPENING DOORS ? 題組: Problem Set Archive with Online Judge 題號: 10606: OPENING DOORS 解題者:侯沛彣 解題日期: 2006 年 6 月 11 日 題意: - 某間學校有 N 個學生,每個學生都有自己的衣物櫃.
第一章 變數、常數及資料型態. 變數 C 程式語言的變數名稱 第一個字必須是英文字母或底線 (_) 之後可以是數字, 英文字母或底線 (_) 不可以是保留字 例: Num (Ο) _score (Ο) C&C (X) 8num (X)
JAVA 程式設計與資料結構 第二章 JAVA 程式基本概念及操作. 第一個程式 /* * 這是第一個程式 (FirstP.java) */ class FirstP{ public static void main(String args[]){ System.out.println("Whatever.
: Problem E - Beverages ★★★☆☆ 題組: Contest Archive with Online Judge 題號: 11060: Problem E - Beverages 解題者:李重儀 解題日期: 2008 年 3 月 4 日 題意: Dilbert 大學剛畢業,他決定要和朋友出去。他有奇怪的嗜好,
1.1 電腦的特性 電腦能夠快速處理資料:電腦可在一秒內處理數百萬個 基本運算,這是人腦所不能做到的。原本人腦一天的工 作量,交給電腦可能僅需幾分鐘的時間就處理完畢。 電腦能夠快速處理資料:電腦可在一秒內處理數百萬個 基本運算,這是人腦所不能做到的。原本人腦一天的工 作量,交給電腦可能僅需幾分鐘的時間就處理完畢。
STAT0_sampling Random Sampling  母體: Finite population & Infinity population  由一大小為 N 的有限母體中抽出一樣本數為 n 的樣 本,若每一樣本被抽出的機率是一樣的,這樣本稱 為隨機樣本 (random sample)
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
第 18 章 名稱空間與例外處理 18-1 名稱空間 18-1 名稱空間 18-2 例外處理 18-2 例外處理.
第三章 變數與繫結 陳維魁 博士 儒林圖書公司. 2 大綱  變數的定義  變數元件  儲存區配置問題  參考的透明性  完全計算  捷徑計算  繫結 (binding)  繫結時間  精選習題.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
第 3 章 資料和程式表示法.
Chapter 07 低階程式語言.
2009fallStat_samplec.i.1 Chap10 Sampling distribution (review) 樣本必須是隨機樣本 (random sample) ,才能代表母體 Sample mean 是一隨機變數,隨著每一次抽出來的 樣本值不同,它的值也不同,但會有規律性 為了要知道估計的精確性,必需要知道樣本平均數.
南投縣社區大學 Excel 實務應用入門 講師 : 林泉成
資料結構實習-四.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
聯合大學資工系 周念湘 BCC 數字系統. 聯合大學資工系 周念湘 2 r 進位:轉成 10 進位 r 代表「基底」  10 進位: r = 10  2 進位: r = 2 D r : 表示某個 r 進位的數 (r 不寫,表.
Chapter 13 塑模靜態觀點:物件圖 Static View : Object Diagram.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
Chapter 20 塑模動態觀點:狀態圖 Statechart Diagram. 學習目標  說明狀態圖的目的  定義狀態圖的基本記號  展示狀態圖的建構  定義活動、內部事件及遞延事件的狀態 圖記號.
: Tight words ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: : Tight Words 解題者:鐘緯駿、林一帆 解題日期: 2006 年 03 月 14 日 題意: 給定數字 k 與 n (0 ≦ k.
Hung-Hsiang WuWindows Processing Design1 Chapter 3 基本觀念 變數宣告與型態 特殊運算子符號 字串與數值的轉換 類別與物件的觀念 建立新的專案 WinMain 程式進入點 Include Header File.
: Happy Number ★ ? 題組: Problem Set Archive with Online Judge 題號: 10591: Happy Number 解題者:陳瀅文 解題日期: 2006 年 6 月 6 日 題意:判斷一個正整數 N 是否為 Happy Number.
: Fast and Easy Data Compressor ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10043: Fast and Easy Data Compressor 解題者:葉貫中 解題日期: 2007 年 3.
Chapter 2 Getting Started Insertion Sort: 能有效率地排序小數字的演算法 範例 :
: Ahoy, Pirates! ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11402: Ahoy, Pirates! 解題者:李重儀 解題日期: 2008 年 8 月 26 日 題意:有一個海盜島有 N 個海盜,他們的編號 (id)
: Multisets and Sequences ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11023: Multisets and Sequences 解題者:葉貫中 解題日期: 2007 年 4 月 24 日 題意:在這個題目中,我們要定義.
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
資料結構實習-一 參數傳遞.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
: Beautiful Numbers ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11472: Beautiful Numbers 解題者:邱經達 解題日期: 2011 年 5 月 5 日 題意: 若一個 N 進位的數用到該.
Section 4.2 Probability Models 機率模式. 由實驗看機率 實驗前先列出所有可能的實驗結果。 – 擲銅板:正面或反面。 – 擲骰子: 1~6 點。 – 擲骰子兩顆: (1,1),(1,2),(1,3),… 等 36 種。 決定每一個可能的實驗結果發生機率。 – 實驗後所有的實驗結果整理得到。
函式 Function Part.2 東海大學物理系‧資訊教育 施奇廷. 遞迴( Recursion ) 函式可以「呼叫自己」,這種動作稱為 「遞迴」 此程式的執行結果相當於陷入無窮迴圈, 無法停止(只能按 Ctrl-C ) 這給我們一個暗示:函式的遞迴呼叫可以 達到部分迴圈的效果.
JAVA 程式設計與資料結構 第二十章 Searching. Sequential Searching Sequential Searching 是最簡單的一種搜尋法,此演 算法可應用在 Array 或是 Linked List 此等資料結構。 Sequential Searching 的 worst-case.
資料結構實習-二.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
第 17 章 樣板 17-1 樣板的基礎 17-1 樣板的基礎 17-2 樣板函數 17-2 樣板函數 17-3 樣板類別 17-3 樣板類別 17-4 非型態參數的樣板類別 17-4 非型態參數的樣板類別 17-5 樣板類別的繼承 17-5 樣板類別的繼承 17-6 特化樣板與靜態成員 17-6 特化樣板與靜態成員.
Chapter 10 m-way 搜尋樹與B-Tree
What is Computer.
JAVA 程式設計與資料結構 第十六章 Hash Tables. Introduction Hash Tables 結構為一個 Array ,稱之為 Bucket array 。 如果想要新增一個物件,要根據這個物件的特性 將其加入 Hash Table 內。 Bucket Array 用 A 來代替,其.
Probability Distribution 機率分配 汪群超 12/12. 目的:產生具均等分配的數值 (Data) ,並以 『直方圖』的功能計算出數值在不同範圍內出現 的頻率,及繪製數值的分配圖,以反應出該 機率分配的特性。
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
2 C++ 程式概論 2.1 C++ 程式結構 程式註解 // 插入標題檔 #include 2-3
INTRODUCTION TO MATLAB SHAWNNTOU. What Is MATLAB? MATLAB® is a high-performance language for technical computing. MATLAB® is a high-performance language.
VHDL 的物件 (Objects) 宣告 物件種類 (1) 訊號 (2) 變數 (3) 常數 VHDL 的物件 (Objects) 宣告語法 : [ := ] ;
函式 Function 東海大學物理系‧資訊教育 施奇廷. 函式簡介 當程式越來越大、越複雜時,程式的維護、 除錯會變得更困難,此時必須引入函式來 簡化程式或將程式分段,將程式重複的部 分改寫為函式,將程式「模組化」 這種作法有下列優點:節省程式發展的時 間、邏輯容易瞭解、程式容易除錯、可分 工合作完成程式.
Visual C++重點複習.
資料結構實習-六.
1 Introduction to Java Programming Lecture 3 Mathematical Operators Spring 2008.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2010.
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
著作權所有 © 旗標出版股份有限公司 第 14 章 製作信封、標籤. 本章提要 製作單一信封 製作單一郵寄標籤.
幼兒行為觀察與記錄 第八章 事件取樣法.
1 Introduction to Java Programming Lecture 3 Mathematical Operators Spring 2009.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
: How many 0's? ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11038: How many 0’s? 解題者:楊鵬宇 解題日期: 2007 年 5 月 15 日 題意:寫下題目給的 m 與 n(m
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
1 資料表示法 Chien-Chang Chen Hsuan-Chuang University.
Presentation transcript:

Introduction to C Language ─ C 語言資料型態

大綱 常數與變數 整數資料型態與變數宣告 浮點數資料型態與變數宣告 字元資料型態與變數宣告 資料的大小 Homework

常數與變數 常數 (constant) 指固定不變的資料,程式執行當中不能改變 其值 整數常數: 12 、 -234 、 0 、 、 … 字元常數: ‘A’ 、 ‘Z’ 、 … 浮點數常數: 8.23 、 、 、 … C++ 提供三種常數表示法 十進位整數常數:直接寫出數值。 八進位整數常數:以 0 為開頭的數字。 十六進位整數常數:以 0x 為開頭的數字。

常數與變數 ( 續 ) Ex. 計算十進位、八進位與十六進位的 123 、 0123 、 0x123 #include void main() { printf("%d\n",123); printf("%d\n",0123); printf("%d\n",0x123); printf("%o\n",0123); printf("%x\n",0x123); system("PAUSE"); }

常數與變數 ( 續 ) 變數 指程式中可以用來儲存資料的空間的 “ 名字 ” , 如同每個人都有一個名字一樣,當程式中需 要使用某變數時,可以用此名字來稱呼之 Ex. a=10; // 設定變數 a 的值為 10 變數在使用前需先宣告才能使用,其目的在 指定變數的資料型態 配置變數使用的記憶體空間 避免有兩個不同的變數使用相同的名字 為什麼需要宣告變數呢?

常數與變數 ( 續 ) 變數的命名規則 變數的命名沒有長度限制,可以包含英文字、數字 和底線符號 (_) Ex. happydog 、 happy_cat 、 class3 大小寫英文字母不能互通,也就是同一個英文字的 大小寫是不同的兩個符號 Ex. happydog 和 Happydog 是不同的變數 儘量不要以底線符號做為變數的開頭 Ex. _clearscreen 函數可以清除目前的顯示區域 變數不得與 C 語言的關鍵字名稱相同 變數名稱不能有特殊符號 ( 如: ~ 、 \ 、 - 、 …) Ex. George&Mary 、 happy-cat

整數資料型態與變數宣告 整數 int 宣告方法: int v; 或是 int v=120; 整數範圍: ~ (-2 31 ~ ) 短整數 short int 宣告方法: short int v; 整數範圍: ~32767 (-2 15 ~ ) 長整數 long int 宣告方法: long int v; 或是 long v; 整數範圍: ~ (-2 31 ~ )

整數資料型態與變數宣告 ( 續 ) 無符整數 unsigned int 宣告方法: unsigned int v; 整數範圍: 0~

整數資料型態與變數宣告 ( 續 ) Ex. 寫一程式測試短整數能否表示下列數值? 、 、 、 、 #include void main() { short int v1=32767, v2=32768, v3=32769, v4=-32768, v5=-32769; printf("v1=%d\n",v1); printf("v2=%d\n",v2); printf("v3=%d\n",v3); printf("v4=%d\n",v4); printf("v5=%d\n",v5); system("PAUSE"); }

整數資料型態與變數宣告 ( 續 )

浮點數資料型態與變數宣告 浮點數 float 可用來宣告數學裡的實數,也就是具有小數點的數值 宣告方法: float f= ; 兩種表示方法 一般小數點表示法 Ex  printf(“%f”, f); 指數表示法 Ex *10 2  printf(“%e”, f); 浮點數的小數位有 6 位,即便小數部份沒有那麼多位數, 仍會以 0 遞補之,如有超過位數,則會捨棄之 小數顯示位元的控制: %d.df  %8.2f

浮點數資料型態與變數宣告 ( 續 ) 倍精數 double 如果覺得浮點數的精密度不夠,可以將浮點 數宣告為倍精數 記憶體使用: 8 bytes 表示範圍: 1.7E+/-308 宣告方法: double pi= ;

浮點數資料型態與變數宣告 ( 續 ) Ex. 練習以不同的格式輸出浮點數 #include void main() { float f1= ; float f2= ; printf("%f\n",f1); printf("%f\n",f2); printf("%e\n",f2); printf("%2.2f\n",f2); system("PAUSE"); }

浮點數資料型態與變數宣告 ( 續 )

字元資料型態與變數宣告 字元 char 電腦中用來顯示的字,也就是 ASCII 所指的 符號 記憶體使用: 1 byte 宣告方法: char c; 或是 char ch=‘A’;

字元資料型態與變數宣告 ( 續 ) Ex. 讀取使用者輸入的一個字元,接著在螢幕上 顯示該字元的 ASCII 碼及前後兩個字元 #include void main() { char c; printf("Please input a character:"); scanf("%c", &c); printf("The ascii code of %c is %d\n", c, c); printf("The character before %c is %c\n", c, c-1); printf("The character after %c is %c\n", c, c+1); system("PAUSE"); }

字元資料型態與變數宣告 ( 續 )

特殊字元表示法 電腦的字元集中有些字元是控制字元或是特 殊字元 ( 或稱為脫序字元 escape sequence) ,無 法使用鍵盤輸入或顯示字元表達  需使用 兩個字元的表示法來顯示  以 ‘ \ ’ ( 反斜線: backslash) Ex. ‘\n’  換行  ASCII 碼 10

字元資料型態與變數宣告 ( 續 )

Ex. 練習特殊字元的表示法 #include void main() { printf("The dog \has three legs.\n"); printf("\123uper man!\n"); printf("\1234uper man!\n"); printf("\x4Aump to the happy world!\n"); printf("Please save the \"APPLE\"on the directory of \'C:\\pic\'.\n"); system("PAUSE"); }

資料的大小 資料的大小 sizeof 當一個變數被宣告完畢後,編譯器就會分配 適當大小的記憶空間給此變數,如果我們想 知道這個變數佔用多少記憶體,可以使用 sizeof 敍述來求得 Ex. 試觀念下列程式,猜猜其執行結果為何?

#include void main() { int a; float b; double c; char d; unsigned int e; printf("The size of 'int' is %d\n", sizeof(int)); printf("The size of 'float' is %d\n", sizeof(float)); printf("The size of 'double' is %d\n", sizeof(double)); printf("The size of 'char' is %d\n", sizeof(char)); printf("The size of 'unsigned int' is %d\n", sizeof(unsigned int)); printf("The size of 'long int' is %d\n", sizeof(long int)); printf("The size of 'a' is %d\n", sizeof(a)); printf("The size of 'b' is %d\n", sizeof(b)); printf("The size of 'c' is %d\n", sizeof(c)); printf("The size of 'd' is %d\n", sizeof(d)); printf("The size of 'e' is %d\n", sizeof(e)); printf("The size of 'a*b' is %d\n", sizeof(a*b)); printf("The size of 'a*d' is %d\n", sizeof(a*d)); printf("The size of '123' is %d\n", sizeof(123)); printf("The size of \"Jack\" is %d\n", sizeof("Jack")); system("PAUSE"); }

Homework 試讓使用者輸入下述資料並將使用者輸入資料列 印於螢幕上 Please input your id: Please input your age:18 Please input your weight: 73.6 Please input your height: Your resume: id: age:18 height: weight:73.60 使用者輸入資料 輸出結果