Professional Documents
Culture Documents
วิชา การเขียนโปรแกรมเบื้องต้น 1
รหัสวิชา ง 30204
หน่วยการเรียนรู้ที่ 3 นิพจน์และตัวดาเนินการ
สาระการเรี ยนรู้
1. ตัวดาเนินการ (Operator)
2. ตัวถูกดาเนินการ (Operand)
3. นิพจน์ (Expression)
4. เครื่ องหมายและตัวดาเนินการทางคณิ ตศาสตร์
5. การเปลี่ยนชนิดข้อมูล
จุดประสงค์ การเรียนรู้
1. บอกประวัติความเป็ นมา และลักษณะของภาษา C ได้
2. สามารถค้นหาและดาวน์โหลดโปรแกรมภาษา C ได้
3. สามารถใช้งานโปรแกรมภาษา C ได้
1
ตัวดาเนินการ (Operator)
ตัวดาเนินการ คือ เครื่ องหมายหรื อสัญลักษณ์พิเศษที่ใช้ในการดาเนินการทางคณิ ตศาสตร์ การ
ดาเนินการทางตรรกศาสตร์ หรื ออื่น ๆ
ตัวถูกดาเนินการ (Operand)
ข้อมูลที่ทางานกับตัวดาเนินการจะเรี ยกว่า ตัวถูกดาเนินการ ตัวดาเนิ นการบางตัวจะใช้ตวั ถูก
ดาเนินการเพียงตัวเดียว ขณะที่ตวั ดาเนินการบางตัวจะต้องใช้ตวั ถูกดาเนินการถึง 2 ตัว และตัวดาเนินการ
จะใช้ประกอบกับตัวถูกดาเนิ นการในการสร้างนิพจน์
นิพจน์ (Expression)
นิพจน์ หมายถึง การนาค่าคงที่ หรื อตัวแปร มาสัมพันธ์กนั โดยใช้ตวั ดาเนิ นการทาง
คณิ ตศาสตร์ เป็ นตัวเชื่อม ตัวอย่างเช่น
ตัวอย่าง
count + 1
ตัวถูกดาเนินการตัวที่ 1 (ตัวแปร) ตัวดาเนินการ ตัวถูกดาเนินการตัวที่ 2 (ค่าคงที่)
เครื่ องหมายและตัวดาเนินการทางคณิตศาสตร์
ในภาษาซีมีตวั ดาเนินการ (Operator) อยูห่ ลายประเภท ซึ่งตัวดาเนินการเหล่านี้สามารถ
นามาสร้างเป็ นนิพจน์ได้ อันได้แก่
1. ตัวดาเนินการทางคณิ ตศาสตร์ (Arithmetic Operator)
2. ตัวดาเนินการยูนารี (Unary Operator)
3. ตัวดาเนินการเชิงสัมพันธ์ (Relational Operator)
4. ตัวดาเนินการเชิงตรรกะ (Logical Operator)
ตัวดาเนินการ ความหมาย
+ บวก (addition)
- ลบ (subtraction)
* คูณ (multiplication)
/ หาร(division)
% หารเอาเศษ (Modulo)
กิจกรรมเสริมทักษะ
ตัวดาเนินการ ความหมาย
++ เพิ่มค่าขึ้นอีกหนึ่ง (increment)
-- ลดค่าลงอีกหนึ่ง (decrement)
4
ตัวอย่าง z = x++
หมายถึง กาหนดค่าของตัวแปร x ให้กบั ตัวแปร z ก่อนที่จะเพิ่มค่า
ให้กบั ตัวแปร x อีก 1
กิจกรรมเสริมทักษะ
ตัวอย่าง บวกแบบลดรู ป
z += 5; หรื ออีกความหมาย คือ z=z+5;
ตัวอย่าง ลบแบบลดรู ป
z -= 2; หรื ออีกความหมาย คือ z=z+x;
ตัวอย่าง คูณแบบลดรู ป
z *= x; หรื ออีกความหมาย คือ z=z*x;
ตัวอย่าง หารแบบลดรู ป
z /= 4; หรื ออีกความหมาย คือ z=z/x;
ตัวอย่าง หารเอาเศษแบบลดรู ป
z %= x; หรื ออีกความหมาย คือ z=z%x;
ตัวดาเนินการ ผล ค่ าทีไ่ ด้
a<b จริ ง 1
(b+c)>(a+50) เท็จ 0
c!=30 เท็จ 0
c==20 จริ ง 1
7
กิจกรรมเสริมทักษะ
1 #include <stdio.h>
2 #include <conio.h>
3 main( )
4 {
5 printf(“10 > 5 = %d\n”,10 > 5);
6 printf(“10 < 5 =%d\n”,10 < 5);
7 getch( );
รู ปภาพ แสดงผลลัพธ์ที่ได้จากการทางานของ
8 }
โปรแกรมex04_3.exe
ตัวดาเนินการ ความหมาย
&& และ (and)
|| หรื อ (or)
! ปฏิเสธ (not)
โดยผลลัพธ์สามารถแสดงเป็ นตารางแสดงการเปรี ยบเทียบผลลัพธ์ของการเปรี ยบเทียบ
ตัดสิ นใจได้ดงั นี้
ตัวเปรี ยบเทียบ ผลลัพธ์
a b a && b a || b !a
T T T T F
T F F T F
F F F T T
F F F F T
8
กิจกรรมเสริมทักษะ
1 #include <stdio.h>
2 #include <conio.h>
3 main( )
4 {
5 int score=85;
6 printf(“%d\n”,score>=80 && score<90);
7 printf(“%d\n”,score< 80 || score>50);
8 printf(“%d\n”,score==80); รู ปภาพ แสดงผลลัพธ์ที่ได้จากการทางานของ
getch( );
โปรแกรม ex04_4.exe
}
ตัวดาเนินการกับความสาคัญ
ตัว ด าเนิ น การแต่ ล ะตัว มี ล าดับ ความส าคัญ ก่ อ นหลัง ที่ แ ตกต่ า งกัน โดยการประมวลผล
จะกระทากับตัวดาเนินการที่มีลาดับความสาคัญสู งก่อน แต่ถา้ กรณี ที่มีลาดับความสาคัญเท่ากัน ตามปกติ
จะกระทากับตัวดาเนินการที่พบก่อนนัน่ เอง และต่อไปนี้เป็ นลาดับความสาคัญของตัวดาเนินการพื้นฐาน
กิจกรรมเสริมทักษะ
1 #include <stdio.h>
2 #include <conio.h>
3 float x = 20;
4 int ans;
5 main( )
6 {
7 ans = (int) x / 5;
8 printf(“ans = %d\n”,ans);
9 getch( ); รู ปภาพ แสดงผลลัพธ์ที่ได้จากการทางานของโปรแกรม ex04_5.exe
10 }
10
การเขียนโปรแกรมคานวณ
เราสามารถคานวณหาผลลัพธ์ของนิพจน์คณิ ตศาสตร์ ดว้ ยการเขียนโปรแกรมภาษาซี ตัวอย่าง
ต่อไปนี้ เป็ นการแสดงลาดับการประมวลผลทางคณิ ตศาสตร์ ของนิพจน์ต่าง ๆ
ตัวอย่าง การเขียนโปรแกรมคานวณหาพื้นที่รูปสี่ เหลี่ยม ให้นกั เรี ยนทดลองเขียนโปรแกรม
ทดสอบการเปลี่ยนชนิดข้อมูลต่อไปนี้ แล้วสังเกตผลลัพธ์ที่ได้
1 #include <stdio.h>
2 #include <conio.h>
3 int x,y,sum;
4 main()
5 {
6 printf("Enter The Length is : ");
7 scanf ("%d", &x);
8 printf("Enter The Width is : "); รู ปภาพ แสดงผลลัพธ์ที่ได้จากการทางานของ
9 scanf ("%d", &y); โปรแกรม ex04_6.exe
10 sum = x*y;
11 printf("The area is : %d", sum);
12 getche( );
}
11
กิจกรรมเสริมทักษะ
1 #include <stdio.h>
2 #include <conio.h>
3 main( )
4 {
5 int a,b,c,d,e;
6 a=(3+4)*5;
7 b=3+4*5;
8 c=(2+7)*4%10;
9 d=2+7*4%10;
10 e=10+2*8/4*3-5;
11 printf("(3 + 4) * 5 =%d\n", a); รู ปภาพ แสดงผลลัพธ์ที่ได้จากการทางานของ
12 printf("3 + 4 * 5 =%d\n", b); โปรแกรม ex04_7.exe
13 printf("(2 + 7) * 4 % 10 =%d\n", c);
14 printf("(2 + 7) * 4 % 10 =%d\n", d);
15 printf("10 + 2 * 8 / 4 * 3- 5 =%d\n", e);
16 getch();
17 }
12
กิจกรรมท้ ายบทเรียน
จุดประสงค์ 4. บอกลาดับความสาคัญของตัวดาเนินการได้
4. จงเขียนนิพจน์ทางคณิ ตศาสตร์ ต่อไปนี้ ให้อยูใ่ นรู ปนิพจน์ที่ถูกต้องตามหลักการของภาษา C โดยให้
ใส่ วงเล็บเพื่อจัดลาดับการทางานที่ถูกต้องด้วย
1) a2 + b 2 ผลลัพธ์ที่ได้ คือ
2) a2 + bc /d ผลลัพธ์ที่ได้ คือ
3) a + b / ++cd ผลลัพธ์ที่ได้ คือ
4) a mod b + c / d2 ผลลัพธ์ที่ได้ คือ
5) b/cd++a ผลลัพธ์ที่ได้ คือ