Transcript ppt

่ั อ
คำสงเงื
่ นไข
ง30212 การเขียนโปรแกรม
ภาษาคอมพิวเตอร ์
ศู นย ์คอมพิวเตอร ์
โรงเรียนปลวกแดงพิทยาคม
่
่
คาสังเงือนไขใน
ภาษาซี




คาสัง่ if
คาสัง่ if…else
คาสัง่ if…else if…else
คาสัง่ switch
่
คาสัง if



่ ใช้
่ ในกรณี ทมี
เป็ นคาสังที
ี่
ทางเลือกในการกระทา
ทางเลือกเดียว
ถ้าเงื่อนไขเป็ นจริงก็ให้ทา
่ ก
่ าหนด
คาสังที
แต่ถา้ เงื่อนไขเป็ นเท็จให้ทา
รู ปแบบ







if (condition)
{
statement 1;
statement 2;
…
statement n;
}
ผังการทางานของ
่
คาสัง if
condit
ion
true
statement
false
่
ตวั อย่างที 7.1

่ ับข้อมู ล
จงเขียนโปรแกรมเพือร
จานวนเต็มจากผู ใ้ ช้ แล้วทาการ
เปรียบเทียบถ้าจานวนทีร่ ับ
มากกว่าหรือเท่าก ับ 0 ให้ทาการ
แสดงข้อความว่า “positive
number” ทางจอภาพ
1:
4:
5:
6:
7:
8:
9:
10:
11:
#include <stdio.h>
main()
{
int a;
printf(“Enter integer number : “);
scanf(“%d”,&a);
getchar();
if (a >= 0)
{
printf(“POSITIVE NUMBER \n”);
}
getchar();
}
Enter integer
number : 12
POSITIVE
่
คาสัง if…else

้
เป็ นคำสงั่ ทีใ่ ชในกรณี
ทดสอบเงือ
่ นไขแล ้วมี
ทำงเลือก 2 ทำงเลือก เป็ น
จริงทำอย่ำงหนึง่ เป็ นเท็จทำ
อย่ำงหนึง่
่
รู ปแบบคาสัง if-else











if (condition)
{
statement 1;
}
else
{
statement 2;
}
โดยที่
condition
หมำยถึง
ิ
ตัดสน
statement 1 หมำยถึง
เมือ
่ เงือ
่ นไขเป็ นจริง
statement 2 หมำยถึง
เมือ
่ เงือ
่ นไขเป็ นเท็จ
เงือ
่ นไขทีใ่ ช ้
คำสงั่ ทีก
่ ำหนดให ้ทำ
คำสงั่ ทีก
่ ำหนดให ้ทำ
ผังการทางานของ
่
คาสัง if-else
true
false
conditi
on
statemen
t1
statemen
t2
่
ตวั อย่างที 7.2

่ ับข้อมู ลจานวนเต็ม
จงเขียนโปรแกรมเพือร
จากผู ใ้ ช้ แล้วทาการเปรียบเทียบถ้า
ั 0 ให้ทา
จานวนทีร่ ับมากกว่าหรือเท่ากบ
การแสดงข้อความว่า “POSITIVE
NUMBER” ทางจอภาพแต่ถา้ ไม่จริงให้
แสดงข้อความ “NEGATIVE NUMBER”
1:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
#include <stdio.h>
main()
{
int a;
printf(“Enter integer number : “);
scanf(“%d”,&a);
getchar();
if (a >= 0)
{
printf(“POSITIVE NUMBER \n”);
}
else
{
printf(“NEGATIVE NUMBER \n”);
}
getchar();
}
่
คาสัง if…else
if…else


้
เป็ นคำสงั่ ทีใ่ ชในกรณี
ทม
ี่ ก
ี ำร
ทดสอบเงือ
่ นไข แล ้วมี
ทำงเลือกให ้ทำคำสงั่ มำกกว่ำ
2dทำง
โดยแต่ละทำงเลือก มีเงือ
่ นไข
ต่ำงกัน ลักษณะจะเป็ นคำสงั่
้
else if ซอนกั
นหลำยๆครัง้
if (condition 1)
{
statement 1;
}
else if (condition 2)
{
statement 2;
}
…
else if (condition n)
{
statement n;
}
else
{
statement n + 1;
}
่
ตวั อย่างที 7.3






การใช้คาสัง่ if…else if…else จงเขียน
โปรแกรม ต ัดเกรด โดยร ับข้อมู ลเป็ นจานวน
ไม่เกิน 100 แล้วให้โปรแกรมคิดเกรดให้ตาม
เกณฑ ์คือ
คะแนน >= 80
เกรด 4
คะแนน >= 70
เกรด 3
คะแนน >= 60
เกรด 2
คะแนน >= 50
เกรด 1
่
อืนๆ
เกรด 0
1:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
#include <stdio.h>
main()
{
int score;
printf(“Enter score : “);
scanf(“%f”,&score);
getchar();
if (score >= 80)
printf(“4”);
else if (score >= 70)
printf(“3”);
else if (score >= 60)
printf(“2”);
else if (score >= 50)
printf(“1”);
else
printf(“0”);
getchar();
}
่
คาสัง switch

้
เป็ นคำสงั่ ทีใ่ ชทดสอบเงื
อ
่ นไขใน
กรณีทม
ี่ ท
ี ำงเลือกมำกกว่ำ 2 ทำง
่ เดียวกับคำสงั่ if…else
เชน
if…else มีรป
ู แบบดังนี้












switch (variable)
{
case
constant 1 :
statement 1;
break;
case constant 2 :
statement 2;
break;
…
default :
statements;
}
่
คาสัง switch





โดยที่ variable หมำยถึง ตัวแปรประเภท int
หรือ char ทีส
่ ร ้ำงขึน
้ หรือนิพจน์ทใี่ ห ้ค่ำออกมำ
เป็ น int หรือ char
constant
หมำยถึง ค่ำคงทีป
่ ระเภท int หรือ
char แต่ต ้องเป็ นข ้อมูลประเภทเดียวกับ variable
statement หมำยถึงคำสงั่ ทีต
่ ้องกำรให ้ทำ จะ
เป็ นคำสงั่ เดียวหรือหลำยคำสงั่ ก็ได ้
break เป็ นคำสงั่ ทีบ
่ อกว่ำจบชุดคำสงั่ ใน case
นัน
้
default เป็ นกรณีทค
ี่ ำ่ ของ variable ไม่ตรงกับ
1:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
#include <stdio.h>
int main()
{
int day;
printf(“Enter day number : “);
scanf(“%d”,&day);
getchar();
switch (day)
{
case 1 :
printf(“Sunday\n”);
break;
case 2 :
printf(“Monday\n”);
break;
case 3 :
printf(“Tuesday\n”);
break;
case 4 :
printf(“Wednesday\n”);
break;
case 5 :
printf(“Thursday\n”);
break;
case 6 :
printf(“Friday\n”);
break;
case 7 :
printf(“Saturday\n”);
break;
default :
printf(“Error\n”);
}
getchar();
return 0;
}