งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

หน่วยที่ นิพจน์ในภาษา C

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "หน่วยที่ นิพจน์ในภาษา C"— ใบสำเนางานนำเสนอ:

1 หน่วยที่ 3 นิพจน์ในภาษา C

2 ภาษาซี คณิตศาสตร์ x = 2 + 3*4 + 11*7 – 8/5 x = 2 + 12 + 11*7 – 8/5
ความแตกต่างของนิพจน์ทางคณิตศาสตร์กับนิพจน์ในภาษาซี ภาษาซี คณิตศาสตร์ x = 2 + 3*4 + 11*7 – 8/5 x = *7 – 8/5 x = /5 x = – 1 x = – 1 x = 91 – 1 x = 90 x = 2 + 3*4 + 11*7 – 8/5 x = – 1.8 x = 89.2

3 คุณสมบัติของนิพจน์ในภาษาซี
ค่าของนิพจน์ นิพจน์ในภาษาซีจะให้ค่าออกมาค่าหนึ่งเสมอ เช่น 2 + 3*4 + 11*7 – 8/5 /* A program showing a use of expression */ #include <stdio.h> void main(void) { printf("The number is %d.", 2 + 3*4 + 11*7 - 8/5); } The number is 90.

4 /* A program showing the use of expression*/ #include <stdio.h>
void main(void) { int x; x = 2 + 3*4 + 11*7 - 8/5; printf("Value of x is %d.", x); } Value of x is 90.

5 Value of the expression is 90. Value of x is 90.
/* A program showing a use of expression */ #include <stdio.h> void main(void) { int x; printf("Value of the expression is %d.\n", x = 2 + 3*4 + 11*7 - 8/5); printf("Value of x is %d.", x); } Value of the expression is 90. Value of x is 90.

6 ค่าของนิพจน์ขึ้นอยู่กับตัวดำเนินการและตัวถูกกระทำ
หากตัวถูกกระทำเป็นเลขจำนวนเต็มทั้งสองตัว จะได้ผลลัพธ์เป็นเลขจำนวนเต็ม เช่น (3*3)/4 เท่ากับ 9/4 เท่ากับ 2 3*(3/4) เท่ากับ 3*0 เท่ากับ 0 หากตัวถูกกระทำตัวใดตัวหนึ่งเป็นเลขทศนิยม จะได้ผลลัพธ์เป็นเลขทศนิยม เช่น (3*3)/4.0 เท่ากับ 9/4.0 เท่ากับ 2.25 3*(3/4.0) เท่ากับ 3*0.75 เท่ากับ 2.25

7 ค่าของนิพจน์แบบ จริง/เท็จ (True/False)
แต่เมื่อนิพจน์นั้นเป็นการกระทำโดยใช้ตัวดำเนินการเปรียบเทียบ ผลลัพธ์ที่เป็นจริงจะให้ค่าเป็น 1 และผลลัพธ์ที่เป็นเท็จ จะให้ค่าเป็น 0 เช่น 3 > 5 เท่ากับ 0 หรือ false 6 == เท่ากับ 1 หรือ true

8 ในการบวกลบในสมการนั้น จะกระทำจากซ้ายไปขวา
+ - * / % ในการบวกลบในสมการนั้น จะกระทำจากซ้ายไปขวา 1 2 3 1+5-6 4 6-6 5

9 การหารเลขจำนวนเต็ม ผลลัพธ์จะเป็นเลขจำนวนเต็มที่ปัดเศษทิ้ง เช่น
23 / 7 มีค่าเท่ากับ 3 เครื่องหมาย % เรียกว่าการมอดูลัส (Modulus) เป็นการหารเลขจำนวนเต็มที่ผลลัพธ์เป็นเศษของการหาร เช่น 23 % 7 มีค่าเท่ากับ 2 ( 23 หาร 7 เท่ากับ 3 เหลือเศษเท่ากับ 2 ) ในการหารเลขทศนิยม ก็จะได้ผลลัพธ์เป็นเลขทศนิยม เช่น 23.0 / 7.0 มีค่าเท่ากับ การหารเลขประเภทต่างกันนั้น เช่น real/int คอมไพเลอร์จะเปลี่ยน int ให้เป็น real ก่อน แล้วจึงทำการหาร ได้ผลลัพธ์เป็น real เช่น 7/2.0  7.0/2.0  3.5

10 ในการคูณหารและมอดูลัสในสมการนั้น จะกระทำจากซ้ายไปขวา
ขั้นตอน การทำงาน 1 8 * 4 / 3 * 5 % 6 2 32 / 3 * 5 % 6 3 10 * 5 % 6 4 50 % 6 5

11 การใช้เครื่องหมาย +, - , *, /, % ในนิพจน์เดียวกันต้องคำนึงถึงลำดับความสำคัญดังนี้
1 *, /, % ซ้ายไปขวา 2 +, - ขั้นตอน การทำงาน 1 7 * 5 – 24/2 + 8 2 35 – 24/2 + 8 3 4 23 + 8 5 31

12 ให้ผลลัพธ์ของสมการเป็นค่านั้นออกมาด้วย
เครื่องหมาย = ให้ตัวแปรที่อยู่ทางซ้ายมือมีค่าเท่ากับค่าที่อยู่ทางขวามือ ให้ผลลัพธ์ของสมการเป็นค่านั้นออกมาด้วย ขั้นตอน การทำงาน a z y x 1 a = z = y = x = 5 - 2 a = z = y = 5 5 3 a = z = 5 4 a = 5

13 เครื่องหมาย = ลำดับความสำคัญน้อยกว่า +, - , *, /, %
ขั้นตอน การทำงาน 1 x = 7 * * 4 + 8 2 x = * 4 + 8 3 x = 4 x = 5 x = 31 6 31

14 5 < 2 มีค่าเท่ากับ 0 (เป็นเท็จ) 5 <= 7 มีค่าเท่ากับ 1 (เป็นจริง)
ตัวดำเนินการ ความหมาย > มากกว่า < น้อยกว่า >= มากกว่าหรือเท่ากับ <= น้อยกว่าหรือเท่ากับ 5 < 2 มีค่าเท่ากับ 0 (เป็นเท็จ) 5 <= 7 มีค่าเท่ากับ 1 (เป็นจริง)

15 = กำหนดค่า ผลลัพธ์เป็นค่าที่กำหนด
ตัวดำเนินการ ความหมาย == เท่ากับ != ไม่เท่ากับ 5 != 2 มีค่าเท่ากับ 1 (เป็นจริง) 5 == 2 มีค่าเท่ากับ 0 (เป็นเท็จ) เครื่องหมายเท่ากับ = กำหนดค่า ผลลัพธ์เป็นค่าที่กำหนด == เปรียบเทียบ ผลลัพธ์เป็นจริงหรือเท็จ

16 && หมายถึง AND A B A && B 0 (เท็จ) 1 (จริง) 0 < 6 && 100>50*3

17 || หมายถึง OR A B A || B 0 (เท็จ) 1 (จริง) 0 < 6 || 100 > 50*3

18 ! หมายถึง NOT A !A 0(เท็จ) 1(จริง) ! (0 < 6 || 100 > 50 *3)

19 +=, -=, *=, /=, %=, <<=, >>=, &=, ^=, |=
+=, -=, *=, /=, %=, <<=, >>=, &=, ^=, |= x ก่อนกระทำ นิพจน์ x หลังกระทำ หมายเหตุ 10 x += 2 12 คือการทำ x = x + 2 จึงมีค่าเป็น เท่ากับ 12 x -= 2 8 คือการทำ x = x -2 จึงมีค่าเป็น เท่ากับ 8 x *= 2 20 คือการทำ x = x * 2 จึงมีค่าเป็น 10 * 2 เท่ากับ 20 x /= 2 5 คือการทำ x = x / 2 จึงมีค่าเป็น 10 / 2 เท่ากับ 5 x %= 2 คือการทำ x = x % 2 จึงมีค่าเป็น 10 % 2 เท่ากับ 0

20 จะทำให้ x มีค่าเป็น 11 ซึ่งมีความหมายเดียวกับ x = x+1
ตัวดำเนินการ ++ เรียกว่าตัวดำเนินการเพิ่มค่า (Increment) เสมือนการบวกหนึ่งเข้าไปในค่านั้น เช่น สมมติว่า x มีค่าเท่ากับ 10 เมื่อมีการกระทำ x++ หรือ ++x จะทำให้ x มีค่าเป็น 11 ซึ่งมีความหมายเดียวกับ x = x+1 ตัวดำเนินการ - - เรียกว่าตัวดำเนินการลดค่า (Decrement) เสมือนการลบหนึ่งออกจากค่านั้น เช่น สมมติว่า x มีค่าเท่ากับ 10 เมื่อมีการกระทำ x- - หรือ - -x จะทำให้ x มีค่าเป็น 9 ซึ่งมีความหมายเดียวกับ x = x-1

21 ลำดับความสำคัญ เครื่องหมาย ถ้ามีติดกันหลายตัว 1 ฟังค์ชั่นต่างๆ ซ้ายไปขวา 2 ++, - -, และเครื่องหมาย Unary +, -, !, ~ ขวาไปซ้าย 3 *, /, % 4 เครื่องหมายบวกลบ +, - 5 >>, << 6 >, <, <=, >= 7 ==, != 8 & 9 ^ 10 | 11 && 12 || 13 =, *=, /=, %=, +=, -=, &=, ^=, |=, <<=, >>=

22 นิพจน์ในวงเล็บ ( ) ขั้นตอน การทำงาน 1 2+3-4+5-6 2 5-4+5-6 3 1+5-6 4
นิพจน์ในวงเล็บ ( ) ขั้นตอน การทำงาน 1 2 3 1+5-6 4 6-6 5 ขั้นตอน การทำงาน 1 2+3-(4+5)-6 2 5-(4+5)-6 3 5 – 9 -6 4 -4 - 6 5 -10

23 ขั้นตอน การทำงาน หมายเหตุ 1 ( 4 + (5 - 6)) ถูกมองเป็น K1 ซึ่งต้องทำ + ก่อน 2 5 - ( 4 + (5 - 6)) ถูกมองเป็น 5 - K1 ซึ่งต้องหาค่า K1 ก่อน จึงจะทำได้ 3 5- ( ) ถูกมองเป็น 5 – (4+ K2) ซึ่งต้องหาค่า K2 ก่อน ซึ่งเท่ากับ 5-6 4 5 - 3 K1 มีค่าเป็น เท่ากับ 3 5

24 การเปลี่ยนค่าของข้อมูล
(type-name) ( expression ) (int) จะเปลี่ยนค่าเป็น 3 ซึ่งเป็นชนิด int (float) 20 จะเปลี่ยนค่าเป็น 20.0 ซึ่งเป็นชนิด float

25 Please Enter 4 scores: 100 80 90 88  Your average score is 89.
#include <stdio.h> void main(void) { int score1, score2, score3, score4, average1; float average2; printf(“Please enter 4 scores: ”); scanf(“%d %d %d %d”, &score1, &score2, &score3, &score4); average1 = (score1+score2+score3+score4)/4; printf(“Your average score is %d. ”, average1); average2 = ((float)(score1+score2+score3+score4))/4; printf(“Your average score is %0.1f. ”, average2); } Please Enter 4 scores:  Your average score is 89. Your average score is 89.8.


ดาวน์โหลด ppt หน่วยที่ นิพจน์ในภาษา C

งานนำเสนอที่คล้ายกัน


Ads by Google