Operators & Expression ธนวัฒน์ แซ่ เอียบ. Arithmetic Operators OperationOperatorExample Value of Sum before Value of sum after Multiply *sum = sum * 2;

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
บทที่ 2 รหัสควบคุมและการคำนวณ
Advertisements

บทที่ 2 รหัสควบคุมและการคำนวณ
รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
โครงสร้างภาษาซี เบื้องต้น
บทที่ 2 ภาษาปาลคาลเบื้องต้น.
BC320 Introduction to Computer Programming
Introduction to C Programming
ไวยากรณ์ของภาษาการทำโปรแกรม (2) (Syntax of programming languages)
Control Statement if..else switch..case for while do-while.
Control Statement for while do-while.
โครงสร้างการควบคุมการทำงานของโปรแกรม Program control structures
Lecture no. 5 Control Statements
C Programming Lecture no. 4 กราบเรียนท่านอาจารย์ และสวัสดีเพื่อนๆ
ชนิดของข้อมูลและตัวดำเนินการ
บทที่ 2 Operator and Expression
Week 15 C Programming.
Lab 3: คำสั่งพื้นฐานสำหรับการรับและการแสดงผลข้อมูล
Repetitive Instruction
ภาษาปาสคาล ผู้สร้าง Dr.Niklaus Wirth ปี 2513
หน่วยที่ 5 ตัวดำเนินการ (Operators)
Lecture no. 4: Structure Programming
คำสั่งแบบมีเงื่อนไข IF Statement
Repetitive Or Iterative
Relational Operators by Accords (IT SMART CLUB 2006) by Accords 1.
บทที่ 3 ตัวดำเนินการ และ นิพจน์
หน่วยที่ นิพจน์ในภาษา C
หน่วยที่ 4: คำสั่งควบคุมโปรแกรม (Control Flow Command)
ตัวแปร (variable) ตัวแปร เป็นชื่อที่เราตั้งขึ้น เพื่อให้คอมพิวเตอร์เตรียมที่ใน หน่วยความจำไว้สำหรับเก็บข้อมูลที่นำไปประมวลผล การตั้งชื่อตัวแปร ชื่อตัวแปรในภาษา.
คำสั่งควบคุมการทำงาน
การคำนวณทางคณิตศาสตร์ ตัวดำเนินการ
ตัวดำเนินการ(Operator)
การเขียนโปรแกรมภาษาซี
Chapter 5 คำสั่งควบคุมการทำซ้ำ
Chapter 4 คำสั่งควบคุมทิศทาง
โครงสร้างควบคุมการทำงาน
ครูรัตติยา บุญเกิด.
นิพจน์และตัวดำเนินการ
ตัวดำเนินการในภาษาซี
การเขียนผังงาน จุดประสงค์ 1.อธิบายความของผังงานได้
ตัวแปร ชนิดข้อมูล และ ตัวดำเนินการใน PHP
ทบทวน กันก่อน .....กระบวนการแปลโปรแกรม
Week 2 Variables.
Computer Programming for Engineers
Chapter 5 การทำซ้ำโดย while loop และ do while loop
2.3.1 รหัสเทียม (Pseudo code)
องค์ประกอบภาษา C Elements of C Language
คำสั่งควบคุมขั้นตอน Flow control statements
1 Special Operators Special Operators ตัวดำเนินการพิเศษ Increment and decrement operators Conditional Operator.
กองซ้อน ยอดกองซ้อน (stack).
Control Flow.
Download PHP. C:\windows\PHP.ini cgi.force_red irect = 0 พิมพ์แทรก.
บทที่ 7 เงื่อนไขในภาษาซี
บทที่ 5 รหัสควบคุมและ การคำนวณ C Programming C-Programming.
Introduction ธนวัฒน์ แซ่เอียบ.
Function ธนวัฒน์ แซ่ เอียบ. What is a function ฟังก์ชันในภาษา C เป็นโปรแกรมที่ถูกออกแบบมาเพื่อ ใช้แก้ปัญหางานใดงานหนึ่งโดยเฉพาะ ฟังก์ชันจะเปลี่ยน input.
การเขียนโปรแกรม (ภาษาซี)
Syntax and Semantics ธนวัฒน์ แซ่เอียบ.
Computer Programming การเขียนโปรแกรม คอมพิวเตอร์ สัปดาห์ที่ 6 คำสั่งควบคุมการทำงานแบบ เงื่อนไขและคำสั่งควบคุมการ ทำงานแบบวนซ้ำ.
CHAPTER 2 Operators.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์ สัปดาห์ที่ 5 การเขียนโปรแกรมแบบทางเลือก การเขียนโปรแกรมแบบวนซ้ำ.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
การเขียนคำสั่งควบคุม การทำงานขั้นพื้นฐาน
การเขียนโปรแกรมด้วยภาษา C
การควบคุมทิศทางการทำงาน
บทที่ 6 การเขียนโปรแกรมแบบมีเงื่อนไข
Principles of Problem Solving and Basic Programming หลักการแก้ปัญหาและการเขียนโปรแกรมเบื้องต้น2(1-2-3) สัปดาห์ที่ 4 เครื่องหมาย ตรรกะศาสตร์ และการดำเนินการทางตรรกะศาสตร์
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
อัลกอริทึม (Algorithm ) ขั้นตอนวิธี
Chapter 2 ตัวดำเนินการ และนิพจน์.
นิพจน์และตัวดำเนินการ
ใบสำเนางานนำเสนอ:

Operators & Expression ธนวัฒน์ แซ่ เอียบ

Arithmetic Operators OperationOperatorExample Value of Sum before Value of sum after Multiply *sum = sum * 2; 4 Divide /sum = sum / 2; 4 Addition +sum = sum + 2; 4 Subtraction -sum = sum -2; 4 Increment ++++sum; 4 Decrement ----sum; 4 Modulus %sum = sum % 3; 4

Precedence Binary operators –+, - มี precedence เท่ากัน –*, / และ % มี precedence เท่ากัน –(+, -) มี precedence ต่ำกว่า (*, /, %) มี precedence ต่ำกว่า (--, ++) Arithmetic operators associate left to right

Example: Precedence -x+y*-z/w*2-x+y/5 ? จงใส่วงเล็บบอกลำดับการคำนวณของ -x+y*- z/w*2-x+y/5

Example: Modulus % เป็น operator สำหรับหาเศษของการหาร จาก x % y ถ้า y หาร x ลงตัว จะได้คำตอบ เท่ากับ ?

Relation Operators (>, >=, <, <=) มี precedence เท่ากัน และมี precedence ต่ำกว่า (==, !=) Relation Operators มี precedence ต่ำกว่า Arithmetic Operators Ex. i < Iim – 1 จะมีลำดับการทำงานอย่างไร ? OperatorMeaning == equal to != not equal < less than <= less than or equal to > greater than >= greater than or equal to

Example: Relation Operator ถ้ารับค่า X เท่ากับ 5 Y เท่ากับ 7 จะได้ผลลัพธ์ ปรากฏออกทางจอภาพอย่างไร

Logical Operators จงเขียนโปรแกรมแสดงผลลัพธ์ตามตารางข้างบน ( ใช้ printf ในการแสดงผลแบบง่ายๆ ) OperatorMeaning && and || or ! not Operand 1Operand 2 op1 || op2op1 && op2! op1 00 0non-zero 0

Type Conversions Implicit type conversion – เรียกว่า coercion – ถ้า compiler ตรวจพบว่า type ของ operands ไม่ถูกต้องแล้ว compiler จะทำ การแก้ไข type ให้ถูกต้อง –type ที่เล็กกว่า  type ที่ใหญ่กว่า Explicit type conversion – ระบุตามความต้องการของโปรแกรมเมอร์ –Type casting

Implicit Type Conversion กฎสำหรับ binary operators – ถ้ามี operand ตัวใดตัวหนึ่งเป็น long double แล้ว operand ตัวอื่นถูกเปลี่ยนให้ กลายเป็น long double – มิฉะนั้น ถ้า operand ตัวใดตัวหนึ่งเป็น double แล้ว operand ตัวอื่นถูกเปลี่ยนให้ กลายเป็น double – มิฉะนั้น ถ้า operand ตัวใดตัวหนึ่งเป็น float แล้ว operand ตัวอื่นถูกเปลี่ยนให้กลายเป็น float – มิฉะนั้น จะเปลี่ยนจาก char และ short เป็น int – ถ้าไม่เช่นนั้น ถ้า operand ตัวใดตัวหนึ่งเป็น long แล้ว operand ตัวอื่นถูกเปลี่ยนให้ กลายเป็น long

Example: Coercion

Type Casting (type name) expression

Increment and Decrement Operators ++ (Increment Operator) เพิ่มค่า operand 1 ค่า –Prefix: ++n –Postfix: n++ -- (Decrement Operator) ลดค่า operand 1 ค่า –Prefix: --n –Postfix: n-- Prefix จะกระทำกับตัวแปรแล้วจึงนำค่ามาใช้ Posfix จะนำค่ามาใช้ก่อนการกระทำกับตัวแปร

Increment and Decrement Operators ถ้า n เท่ากับ 6 ให้พิจารณาค่า x ต่อไปนี้ x = n++ / x = --n Operators ทั้งคู่สามารถใช้งานได้กับตัวแปร เท่านั้น (i +1)++ ถูกต้องหรือไม่ ? จงแสดงผลลัพธ์ที่ปรากฏออกทางจอภาพ

Assignment Operators and Expressions Expression เช่น i = i + 2 ( ตัวแปร i ปรากฏทั้ง ด้านซ้ายและขวา ) รูปแบบที่มีขนาดเล็กลงคือ i += 2 Operator += เรียกว่า Assignment Operators Binary operators เกือบทั้งหมดสามารถเขียน ในรูปแบบคือ “op=“ เมื่อ op คือ 1 ใน + - * / % > & ^ | expr 1 op= expr 2 เทียบเท่ากับ expr 1 = expr 1 op expr 2 x *= y + 1 มีลำดับการทำงานจริงๆเป็นอย่างไร ?

Assignment Operators OperatorOperation Performed = Simple assignment *= Multiplication assignment /= Division assignment %= Remainder assignment += Addition assignment –= Subtraction assignment <<= Left-shift assignment >>= Right-shift assignment &= Bitwise-AND assignment ^= Bitwise-exclusive-OR assignment |= Bitwise-inclusive-OR assignment

Conditional Expressions if (a > b) z = a; else z = b; ความหมายของ statement นี้คือ ? Condition statement สามารถเขียนให้อยู่ใน รูป ”?:” คือ expr 1 ? expr 2 : expr 3 อันดับแรก expr 1 จะถูกหาค่าว่าเป็นจริงหรือ เท็จ – ถ้าเป็นจริง ค่า expr 2 จะเป็นคำตอบ – ถ้าเป้นเท็จ ค่า expr 3 จะเป็นคำตอบ

Conditional Expressions if (a > b) z = a; else z = b; จะเปลี่ยนไปใช้ ternary operator “?:” ได้อย่างไร Ex. ต้องการแสดงข้อความออกทางจอภาพ ถ้า s มีค่าเท่ากับ 0 คือ ”She” ถ้า s มีค่า เท่ากับ 1 คือ ”He” int s; /* 0:female, 1: male */ s = 1; printf(“%s is good student”, … ); // จงเติม ส่วนที่หายไปของ printf

Precedence and Order of Evaluation OperatorsAssociativity () [] ->. left to right ! ~ * (type) sizeof right to left * / % left to right + - left to right > left to right >= left to right == != left to right & ^ | && left to right || left to right ?: right to left = += -= *= /= %= &= ^= |= >= right to left, left to right

ที่มา The C Programming Language : Brian W. Kernighan, Dennis M. Ritchie