ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
การคำนวณทางคณิตศาสตร์ ตัวดำเนินการ
การทดลองที่ 5 การคำนวณทางคณิตศาสตร์ ตัวดำเนินการ
2
ทบทวน โปรแกรม อย่างน้อยมีส่วนประกอบดังนี้ #include <stdio.h>
preprocessor void main() { int a, b, c; a = 10; b = 20; c = a + b; printf(“c = %d\n”, c); } int a, b, c; declaration a = 10; input b = 20; c = a + b; process printf(“c = %d\n”, c); output
3
ทบทวน โปรแกรม อย่างน้อยมีส่วนประกอบดังนี้ #include <stdio.h>
preprocessor void main() { } int a, b, c; declaration scanf(“%d”, &a); input scanf(“%d”, &b); c = a + b; process printf(“c = %d\n”, c); output
4
ต้องการคำนวณว่าพื้นที่ x ไร่ y งาน มีกี่ตารางวา
#include <stdio.h> void main() { int x, y, va; x = 5; y = 3; va = x * * 100; printf(“area in square va = %d\n”, va); } preprocessor declaration input process output
5
ต้องการคำนวณว่าพื้นที่ x ไร่ y งาน มีกี่ตารางวา
#include <stdio.h> void main() { int x, y, va; scanf(“%d”, &x); scanf(“%d”, &y); va = x * * 100; printf(“area in square va = %d\n”, va); } preprocessor declaration scanf(“%d”, &x); input scanf(“%d”, &y); process output
6
นิพจน์ (expression) การรวมกันของ อาจมีไม่ครบทุกส่วนก็ได้
ข้อมูล (values) ตัวแปร (variables) ตัวดำเนินการ (operators) ฟังก์ชัน (functions) อาจมีไม่ครบทุกส่วนก็ได้ เมื่อประมวลผลตามกฎการทำก่อน แล้วจะได้ค่าใหม่ออกมา
7
นิพจน์ (expression) ตัวอย่าง 2, 3 + 4, 5 + 3 * 2 a, a + b, a * b + c
2, , * 2 a, a + b, a * b + c cos(x) + sin(y)
8
การกำหนดค่า (assignment)
ใช้ตัวดำเนินการ “=” หมายถึงการนำผลลัพธ์ของนิพจน์ทางซ้าย มาเก็บในตัวแปรทางขวา x = y + z; salary = salary + ot; inch = cm / 2.54; cm = m * 100;
9
ตัวดำเนินการทางคณิตศาสตร์
การคำนวณ ตัวดำเนินการ ตัวอย่าง การทำงาน บวก + c = a + b; นำค่าในตัวแปร a และค่าในตัวแปร b มาบวก กันแล้วเก็บผลลัพธ์ไว้ที่ตัวแปร c ลบ - c = a - b; นำค่าในตัวแปร b มาลบออกจากค่าใน ตัวแปร a แล้วเก็บผลลัพธ์ไว้ที่ตัวแปร c คูณ * c = a * b; นำค่าในตัวแปร a และค่าในตัวแปร b มาคูณ หาร / c = a / b; นำค่าในตัวแปร a เป็นตัวตั้งและนำค่าใน ตัวแปร b เป็นตัวหารแล้วเก็บผลลัพธ์ไว้ที่ ตัวแปร c มอดูลัส % c = a % b; นำค่าที่เก็บไว้ในตัวแปร a เป็นตัวตั้งและค่า ในตัวแปร b เป็นตัวหาร โดยเก็บเศษไว้ที่
10
ตัวอย่างการพิมพ์ข้อมูลจากตัวแปรหรือผลลัพธ์การคำนวณ
#include <stdio.h> void main() { int a=4, b=5; printf(“ a = %d\n”, a); printf(“ b = %d\n”, b); printf(“ Sum = %d\n”, a+b); } ข้อมูลของตัวแปรหรือผลลัพธ์การคำนวณจะถูกดนำไปพิมพ์ที่ตำแหน่งการกำหนดรูปแบบการพิมพ์ (“%d, %f,…”) a = 4 b = 5 Sum = 9
11
ตัวอย่างการพิมพ์ข้อมูลหรือผลลัพธ์การคำนวณ
#include <stdio.h> void main() { int a=4, b=5; printf(“ a = %d b = %d\n”, a, b); printf(“ Sum = %d\n”, a+b); } ข้อมูลของตัวแปรหรือผลลัพธ์การคำนวณจะถูกดึงไปพิมพ์ที่ตำแหน่งการกำหนดรูปแบบการพิมพ์ (“%d, %f,…”) a = 4 b = 5 Sum = 9
12
จำนวนใดเป็นจำนวนเต็ม
√ 0.0 0.2 1 1.0 1. .0 x x √ x x x
13
ข้อควรระวังในการหาร จำนวนเต็ม หาร จำนวนเต็ม ได้ผลลัพธ์เป็นจำนวนเต็ม
จำนวนทศนิยม หารกัน ได้ผลลัพธ์เป็นจำนวนทศนิยม 3/2 = 1 2/3 = 0 22/7 = 3 3/4 = 0 5/2 = 2 3/2.0 = 1.5 2.0/3.0 = … 22/7.0 = … 3.0/4 = 0.75 5/ = 2.5
14
การกำหนดชนิดไม่ถูกต้อง
ภาษาซีไม่เข้มงวดในการกำหนดชนิดข้อมูลตัวเลข int a = 1.5; //OK แต่เมื่อพิมพ์ข้อมูลจะไม่ถูกต้อง printf(“%d\n”, a); 1 Printf(“%f\n”, a); ควรประกาศเป็น float a = 1.5
15
การกำหนดชนิดไม่ถูกต้อง
ภาษาซีไม่เข้มงวดในการกำหนดชนิดข้อมูลตัวเลข int a = 3*2.5; //OK แต่เมื่อพิมพ์ข้อมูลจะไม่ถูกต้อง printf(“%d\n”, a); 6 Printf(“%f\n”, a); ควรประกาศเป็น float a = 3*2.5
16
ถ้า x%y เท่ากับ 0 แสดงว่า
ตัวดำเนินการ % (mod) หมายถึงการคำนวณหาเศษจากการหาร เช่น 3%2 1 5%3 2 7%2 1 3%5 3 4%2 0 10%3 1 5%1 0 ถ้า x%y เท่ากับ 0 แสดงว่า x หารด้วย y ลงตัว
17
ลำดับการทำก่อนของนิพจน์คณิตศาสตร์
กฎของการดำเนินการ ลำดับสูงกว่า ทำก่อน ลำดับเท่ากัน ทำงานจากซ้ายไปขวา สูง ( ) *, /, % +, - ต่ำ
18
ตัวอย่างแสดงลำดับการทำก่อน
* 5 – 20 / 2 – 20 / 2 – 10 170 – 10 160
19
ตัวอย่างแสดงลำดับการทำก่อน
10 % 3 * ( 50 – 200 % 20 / 10 ) * 5 10 % 3 * ( 50 – 0 / 10 ) * 5 10 % 3 * ( 50 – 0 ) * 5 10 % 3 * 50 * 5 1 * 50 * 5 250
20
ลองทำดู 20 – 3 * 3 – 9 / 3 + 3 * 2 14 12 – 3 + 3 % 9 / (3 + 3 * 2) 9
2 % 5 * 3 / 3 / * 2 6 (2 * 5 – (10 + 3)) / * 3 6
21
ตัวดำเนินการเอกภาค(Unary Operator)
ได้แก่ตัวดำเนินการ ++ และ -- การทำงานคือเพิ่ม หรือ ลดค่าตัวแปรครั้งละ 1 รูปแบบการใช้งานมีสองแบบ Prefix Unary Operator (เติมหน้า) เช่น ++a; --x; Postfix Unary Operator (เติมหลัง) เช่น b--; y++;
22
ตัวดำเนินการเอกภาค(Unary Operator)
postfix จะทำงานในส่วนของนิพจน์ให้เสร็จสิ้นก่อน จากนั้นจึงทำการเพิ่มหรือลดค่าให้กับตัวถูกดำเนินการ prefix จะทำการเพิ่มหรือลดค่าให้กับตัวถูกดำเนินการก่อน จากนั้นจึงทำงานในส่วนของนิพจน์
23
ตัวอย่าง #include <stdio.h> void main() { int a=0 ;
printf(“ Value of a is %d\n”,a); a++; } Value of a is 0 Value of a is 1
24
ตัวอย่าง #include <stdio.h> void main() { int a=0 ;
printf(“ Value of a is %d\n”,a); ++a; } Value of a is 0 Value of a is 1
25
ตัวอย่าง #include <stdio.h> void main() { int a=10 ;
printf(“ Value of a is %d\n”,a); a--; } Value of a is 10 Value of a is 9
26
ตัวอย่าง #include <stdio.h> void main() { int a=10 ;
printf(“ Value of a is %d\n”,a); --a; } Value of a is 10 Value of a is 9
27
ตัวอย่าง int a = 10; int b = ++a; int c = ++a; int d = ++a;
a = 11, b = 11 a = 12, c = 12 a = 13, d = 13 int a = 10; int b = a++; int c = a++; int d = a++; b = 10, a = 11 c = 11, a = 12 d = 12, a = 13
28
ตัวอย่าง int a = 10, b = 20; int x = ++a + b++; x = 31, a = 11, b = 21
29
ตัวอย่าง int a = 10, b = 20, c = 30; int y = ++c + ++a + b--;
y = 62, a = 11, b = 19, c = 31
30
ตัวอย่าง int a = 10, b = 20; printf(“a = %d b = %d\n”, ++a, b++);
31
ตัวอย่าง int a = 10, b = 20; printf(“a = %d b = %d\n”, a--, --b);
32
ลองทำดู x = 1 y = 39 int a = -10, b = 10, c = 50; int x = a++ + ++b;
int y = --c - --b; printf(“x = %d y = %d\n”, x, y); x = 1 y = 39
33
ตัวดำเนินการประกอบ (compound operator)
ตัวอย่าง การทำงาน += x+=5 x=x+5 -= x-=5 x=x-5 *= x*=5 x=x*5 /= x/=5 x=x/5 %= x%=5 x=x%5
34
ตัวดำเนินการประกอบ (compound operator)
int x = 10; x += 5; x = x x = 15 x -= 5; x = x x = 10 x *= 2; x = x * 2 x = 20 x /= 10; x = x / 10 x = 2 x %= 2; x = x % 2 x = 0
35
ลำดับการทำก่อน สูง ( ) ++ -- * / % + - += *= /= -= %= ต่ำ
36
ตัวอย่าง #include <stdio.h> void main() { int a=0 , sum=0 ;
printf (“Value a is %d\n”,a); sum+=1; printf(“Value sum is %d\n”,sum); } Value a is 1 Value sum is 1
37
ตัวอย่าง 10 20 20 19 19 19 18 38 17 18 #include <stdio.h>
void main() { int x=10, y=20; printf(“\n%d %d”,x,y); x+=10 ; --y ; printf(“\n%d %d”,x,y); y = --x ; y = x-- + y ; printf(“\n%d %d”,x,y) ; y = x-- ; } 10 20 20 19 19 19 18 38 17 18
38
ตัวอย่าง คำสั่ง ค่า x ค่า y int x=10, y=20; 10 20 x+=10 ; --y ; 19
18 38 y = x-- ; 17
39
Go to Laboratory Room now !
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.