A Quick Start of C Introduction. 2 Terminology Program 程式 Programming language 程式語言 Code 程式碼 Compiler 編譯器 –cc, GNU gcc, g++,… –IDE: MS Visual C++, Dev.

Slides:



Advertisements
Similar presentations
Divide-and-Conquer. 什麼是 divide-and-conquer ? Divide 就是把問題分割 Conquer 則是把答案結合起來.
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 日 題意:一開始先輸入一個.
Section 1.2 Describing Distributions with Numbers 用數字描述分配.
3Com Switch 4500 切VLAN教學.
T-SQL 運算子介紹 11/29. 運算子的總類 指定運算子 算術運算子 比較運算子 邏輯運算子 位元運算子 字串連結運算子 單一運算元運算子.
What is static?. Static? 靜態 ? class Test { static int staticX; int instanceX; public Test(int var1, int var2) { this.staticX = var1; this.instanceX =
: Boxes ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11003: Boxes 解題者:蔡欣燁 解題日期: 2007 年 3 月 19 日.
五小專案 黃詩晴 章乃云. 目錄 計算機 智慧盤 拼圖 記憶大挑戰 數學題庫 心得 參考文獻.
Graph V(G 1 )={0, 1, 2, 3, 4, 5, 6, 7, 8, 9} E(G 1 )={(0, 2), (0, 3), (1, 4), (2, 3), (2, 5), (2, 6), (3, 6), (3, 7), (4, 7), (5, 6), (5,
第一章 變數、常數及資料型態. 變數 C 程式語言的變數名稱 第一個字必須是英文字母或底線 (_) 之後可以是數字, 英文字母或底線 (_) 不可以是保留字 例: Num (Ο) _score (Ο) C&C (X) 8num (X)
JAVA 程式設計與資料結構 第二章 JAVA 程式基本概念及操作. 第一個程式 /* * 這是第一個程式 (FirstP.java) */ class FirstP{ public static void main(String args[]){ System.out.println("Whatever.
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
例外處理. 內 容 大 綱 例外的產生 捕捉例外 丟出例外 例外的產生 (1/4) 一般常見的執行時期錯誤包括整數除法分母為 0(divide by zero) ,陣列索引值越限 (array index out of range) ,輸入輸出錯誤 (I/O error) 、檔案 不存在或無法存取.
1 Introduction to Java Programming Lecture 7 Flow Control : Boolean expressions and the if statement.
 Pearson Education, Inc. All rights reserved Displaying Text with printf System.out.printf – Displays formatted data ( 格式化的資料 ) – Format.
: Exact Change ★★★☆☆ 題組: Contest Archive with Online Judge 題號: 11517: Exact Change 解題者:李重儀 解題日期: 2008 年 11 月 3 日 題意: 會給你一個東西的價格,以及你所擁有的鈔票和 硬幣的面額,你的程式要輸出以你的那些鈔票和.
 Pearson Education, Inc. All rights reserved break and continue Statements Break and continue statements – Alter flow of control break.
南投縣社區大學 Excel 實務應用入門 講師 : 林泉成
Java class Outline for loop while loop do while loop How to choose? Nested loop.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
:Problem D: Bit-wise Sequence ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10232: Problem D: Bit-wise Sequence 解題者:李濟宇 解題日期: 2006 年 4 月 16.
: The largest Clique ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11324: The largest Clique 解題者:李重儀 解題日期: 2008 年 11 月 24 日 題意: 簡單來說,給你一個 directed.
第 6 章 迴圈結構 6-1 計數迴圈 6-1 計數迴圈 6-2 條件迴圈 6-2 條件迴圈 6-3 巢狀迴圈 6-3 巢狀迴圈 6-4 While/End While 迴圈 6-4 While/End While 迴圈 6-5 跳出與繼續迴圈 6-5 跳出與繼續迴圈 6-6 錯誤處理 6-6 錯誤處理.
Introduction to Java Programming Lecture 10 Array I Declaring, Creating, and Initializing Arrays.
: War on Weather ★★☆☆☆ 題組: Contest Volumes Archive with Online Judge 題號: 10915: War on Weather 解題者:陳明凱 題意:題目總共會給你 k 個點座標代表殺手衛星的位置, 距離地球表面最少 50 公里以上,並且會給你.
: Happy Number ★ ? 題組: Problem Set Archive with Online Judge 題號: 10591: Happy Number 解題者:陳瀅文 解題日期: 2006 年 6 月 6 日 題意:判斷一個正整數 N 是否為 Happy Number.
短缺,盈餘與均衡. 遊戲規則  老師想出售一些學生喜歡的小食。  老師首先講出價錢,有興趣買的請舉手。
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
4 堆疊與佇列 4.1 前言 四種基本的資料結構 (可儲存資料的容器) 陣列 (Array)、串列(List): 最基本
: Problem G e-Coins ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10306: Problem G e-Coins 解題者:陳瀅文 解題日期: 2006 年 5 月 2 日 題意:給定一個正整數 S (0
: GCD - Extreme II ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11426: GCD - Extreme II 解題者:蔡宗翰 解題日期: 2008 年 9 月 19 日 題意: 最多 20,000 組測資,題目會給一個數字.
資料結構實習-二.
: Expect the Expected ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11427: Expect the Expected 解題者:李重儀 解題日期: 2008 年 9 月 21 日 題意:玩一種遊戲 (a game.
-Antidifferentiation- Chapter 6 朝陽科技大學 資訊管理系 李麗華 教授.
Visual Basic 簡介 Visual Basic 基礎語法 東海大學物理系‧施奇廷 《程式設計》
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
Introduction to Java Programming Lecture 9 Flow Control : while do-while and for loops II.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
計算機概論 第6章 數位邏輯設計.
2005/7 Linear system-1 The Linear Equation System and Eliminations.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
電腦的基本單位 類比訊號 (analog signal) 指的是連續的訊號 數位訊號 (digital signal) 指的是以預先定義的符號表示不連續 的訊號 one bit 8 bits=one byte 電腦裡的所有資料,包括文 字、數據、影像、音訊、視 訊,都是用二進位來表示的。
電腦的基本單位 類比訊號 (analog signal) 指的是連續的訊號
函式 Function 東海大學物理系‧資訊教育 施奇廷. 函式簡介 當程式越來越大、越複雜時,程式的維護、 除錯會變得更困難,此時必須引入函式來 簡化程式或將程式分段,將程式重複的部 分改寫為函式,將程式「模組化」 這種作法有下列優點:節省程式發展的時 間、邏輯容易瞭解、程式容易除錯、可分 工合作完成程式.
: Searching for Nessy ★☆☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 11044: Searching for Nessy 解題者:王嘉偉 解題日期: 2007 年 5 月 22 日 題意: 給定 case 數量.
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.
C 語言練習題 2010/12/2. C 程式的格式 一、 C 程式的格式 (1). /* …. */ 是 C 程式的 ______ main() 的內容是由敘述構成的 (2). 敘述要以 __ 為結束符號 (3). 變數、函數都要做 ____ 的宣告 (4). ‘=’ 是 ____ 用的算符 (5).
7.4 程式範例 在螢幕上寫出“Hello” 的程式 (參考 code/pep-p200.odc).
:Count the Trees ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10007:Count the Trees 解題者:楊家豪 解題日期: 2006 年 3 月 題意: 給 n 個點, 每一個點有自己的 Label,
數字系統與資料表示法 教師: 陳炯勳 數系轉換 r進制數字 稱為 base r或 radix r 有r個計數符號,計數順序逢r歸零(進位) A n A n - 1 ‥‥A 2 A 1 A 0 ﹒A -1 A -2 ‥‥A -m 其中A n 及A.
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
1 Introduction to Java Programming Lecture 3 Mathematical Operators Spring 2009.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
VHDL語法(3).
: How many 0's? ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11038: How many 0’s? 解題者:楊鵬宇 解題日期: 2007 年 5 月 15 日 題意:寫下題目給的 m 與 n(m
©2010 Cengage Learning SLIDES FOR CHAPTER 1 INTRODUCTION NUMBER SYSTEMS AND CONVERSION Click the mouse to move to the next page. Use the ESC key to exit.
C++ Control Structures 程式的控制、運算、判斷跟你之前學過的程式語言是類 似的,所以這裡我們只用程式碼來說明。 你應該而且必須能看得懂這些程式 !!
Chapter 3 Visual Basic.Net Visual Basic, like most programming languages, uses variables for storing values. Variables have a name (the word you use to.
PHP5&MySQL 程式設計 第 3 章 控制結構. 3-1 認識控制結構 判斷結構 (decision structures) 判斷結構 (decision structures) if (if … 、 if … else … 、 if … elseif … ) if (if … 、 if …
Discrete Mathematics Chapter 2 Basic Structures : Sets, Functions, Sequences, and Sums 大葉大學 資訊工程系 黃鈴玲 (Lingling Huang)
! !美洲華語 李雅莉老師製作 TextVocabularyidiomStoryChallenge $100 $200 $300 $400 $500 $600 $100 $200 $300 $400 $500 $600 $100 $200 $300 $400 $500 $600 $100 $200.
Arrays Chap 8. 2 Without Array If you want to create Lottery winning numbers… –You need 7 variables (6 for winning numbers and 1 for the special number)
Group 2 Block 胡貴蓉 Project 2 JMVC code tracing.
Presentation transcript:

A Quick Start of C Introduction

2 Terminology Program 程式 Programming language 程式語言 Code 程式碼 Compiler 編譯器 –cc, GNU gcc, g++,… –IDE: MS Visual C++, Dev C++, Turbo C,…

3 Terminology Variable 變數 Statement 敍述 –Assignment 給值 –Selection 條件判斷 –Iteration (loop) 迴圈 Array 陣列 Function 函式 Pointer 指標

4 Writing a Simple Program #include int main() { printf("Hello World!\n"); return 0; } directives statementsfunction call

5 Printing a Pun #include int main() { printf("To C, or not to C: that is the question.\n"); return 0; } To C, or not to C: that is the question.

6 2.4 Variables ( 變數 ) Type  A variable of type int can store an integer, e.g. 1392, 0,  A variable of type float can store a real number (stored in the floating-point fashion), e.g , , 0,  NOTE: float is just an approximation of the number  0.1 would become

7 Variable Declaration ( 宣告變數 ) Variables must be declared. Declaration: varType varName; Ex: int score;  score: name of the variable  int declares that score is an integer

8 Variable Declaration A variable must be declared before using it.  Ex: int score; score = 95; ( )  Ex: score = 95; int score; (  )

9 Variable Declaration (Cont.) Declare two or more variables  int price; int tip; int total;  int price, tip, total; Case sensitive –a1 and A1 are different.

10 Assignment a = 5; a = b + c; d = 3 * 5 + sum / 2; d = max(a,b);// return value of max function a = a + 2;  CError 2.6  CError 2.6 放結果的變數是在等號左邊,不能寫成 b + c = a 。

11 Print Out an Integer #include int main() { int score; score = 85; printf(" 成績是: %d\n", score); return 0; } 用 %d 來印出整數資料 逗號 要印出的變數

12 Print Out an Integer #include int main() { int price, tip, total; price = 500; tip = 50; total = price + tip; printf(" 總共要付: %d\n", total); return 0; }

13 Print Out an Integer #include int main() { int price, tip, total; price = 500; tip = 50; printf(" 總共要付: %d\n", price + tip); return 0; }

14 Print Out Many Integers #include int main() { int price, tip, total; price = 500; tip = 50; total = price + tip; printf(" 原價 %d 元, 小費 %d 元 \n", price, tip); printf(" 總共要付: %d 元 \n", total); return 0; }

15 Print Out Real Numbers #include int main() { float radius = 2; float area; area = f * radius * radius; printf(" 半徑 %f,\n", radius); printf(" 面積 %.2f\n", area); return 0; }

Reading Input Syntax: scanf("%d", &varName); –Ex: scanf("%d", &score); The program will read in an integer from the keyboard, then set it as the value of the variable. & An integer variable

Reading Input Syntax: scanf("%f", &varName); –Ex: scanf("%f", &radius); & A floating-point variable

Arithmetic Operators Unary operators –For positive/negative numbers Binary operators –For addition, subtraction, multiplication, division, and remainder (modular)

19 Binary Arithmetic Operators + ( 加 ) – ( 減 ) * ( 乘 ) / ( 除 ) % ( 餘數, mod) –14%5 is 14 mod 5, which answer is 4 Precedence: * = / = % > + = - – 也就是說,先乘除後加減 – 所以, a = 3*5+6%4; 表示 a = (3*5)+(6%4);

20 Unary Arithmetic Operators + ( 正 ) – ( 負 ) Precedence: + = - > binary operators – 也就是說,正負號優先於加減乘除 – 所以, a = 3*-5; 表示 a = 3*(-5);

21 Arithmetic ( 四則運算 ) Use ( ) to make it clear.  x=a+b+c+d+e/5; 最好表示為 x=a+b+c+d+(e/5);  x=(a+b+c+d+e)/5;

22 Examples a = 3 * b + 5 ; a = 6 * x * x – 3 ; a = k * (-2 * x + 1) ; a = 4 + (y - 2) / 5 ; a = (p % m) + 2 ;

23 Practices

24 The if -Selection Statement C code if (score >= 60) { printf(" 恭喜及格了 !\n"); } score >=60 print " 恭喜 " yes no

25 if…else… Statement Ex. if (score >= 60) { printf(" 恭喜及格了 !\n"); } else { printf(" 很抱歉,你被當了。 \n"); printf(" 那麼,明年見了! \n"); } >=60 " 及格 " yes " 被當 " no // score < 60 的情形

26 Conditional Operators Equality Operators  == 代表 =  != 代表  Relational Operators  > 代表 >  < 代表 <  >= 代表   <= 代表 

27 Conditions score is 100 score == 100 score is not 100 score != 100 score is larger than 60 score > 60 score is larger than or equal to 60 score >= 60

28 Operatormeaningexample && and( i>0) && (i<10) || or( i 10) ! not !(i>0) && : true iff both conditions are true || : true as long as one condition is true ! : true if the inner condition is false Logical Operators

29 Truth Tables

30 Condition Examples i is not equal to 0 and j mod i > 4 (i != 0) && (j % i > 4) a > 6 or b > 4 (a > 6) || (b > 4) 0  a  100 (a >= 0) && (a <= 100) a is not between 0 and 100 !( (a >= 0) && (a <= 100) ) Or (a 100)

31 Condition Examples a is not a multiple of 3 !(a%3==0) Or (a%3)!=0 a is 1 or 2 (a==1) || (a==2) a is not 1 or 2 !( (a==1) || (a==2) ) Or (a!=1) && (a!=2) (a is neither 1 nor 2)

32 練習 看分數給等級 – 優等: 90~100 ,優良學生 (bestStudent) – 甲等: 80~89 – 乙等: 70~79 – 丙等: 60~69 – 戊等: 59~ ,補救學生 (toBeTutored)

33 for ( initial ; condition ; update ){ actions if in condition ; } The for Statement Syntax: Example: Print out 1 to 6 for (i=1; i<=6; i++){ printf("%d ",i); } _ condition statement true false Initial update

34 The for Statement int i; for (i=1; i<=6; i++){ printf("%d ",i); } * $ _1_1 2_1 2 3_ _ _ _

35 _$_$$_$$$_$$$$_$$$$$_$$$$$$_ Examples Print out 6 $'s int i; for (i = 0; i < 6; i++) { printf("$"); } * $

36 for Statement Idioms The for statement is usually the best choice for loops counting up or down: Counting up from 0 to n –1: for (i = 0; i < n; i++) … Counting up from 1 to n : for (i = 1; i <= n; i++) … Counting down from a to b : for (i = a; i >= b; i--) … Repeat n times: for (i = 0; i < n; i++) …

37 Examples Print out odd numbers between 1 and 10. Print out 1 to 20 with an interval 3. Print out 10 to 1. Print out 6 $'s in a line. (See next slide.)