• ในการเขียนโปรแกรมสำหรับงานส่วนใหญ่ จำเป็นต้องมีการทดสอบเงื่อนไขบางอย่างก่อน เพื่อตัดสินในเลือกการทำงานของโปรแกรมในอันดับถัดไป
• คำสั่งควบคุมการทำงานของโปรแกรมที่นิยมใช้มีอยู่ 2 คำสั่ง คือ คำสั่ง if และ คำสั่ง else ซึ่งจะพิจารณาเลือกกระทำหรือไม่กระทำจากการพิสูจน์นิพจน์ว่าเป็น จริง หรือ เท็จ
• โดยจะใช้ควบคู่กับเครื่องหมายเปรียบเทียบ และเครื่องหมายทางตรรกะศาสตร์
int num1 = 10, num2 = 20, num3 = 30;
num1 == num2 False
num1 > num2 False
(num1<num2) && (num2<num3) True
(num1>num2) || (num1>num3) False
(num1>num2) || (num2<num3) True
if (expression)
statement;
------------------------------------------------------
if (expression)
{
statement-1.1;
statement-1.2;
...
statement-1.n;
}
#include<stdio.h>
int main()
{
char first[20], last[20], id[9];
float point,full;
printf ("Enter your Name : ");
scanf ("%s",first);
printf ("Enter your Surname : ");
scanf ("%s",last);
printf ("Enter your ID : ");
scanf ("%s",id);
printf ("Enter your examination points : ");
scanf ("%f",&point);
printf ("Enter your total points : ");
scanf ("%f",&full);
if ((point/full) >= 0.6)
{
printf ("Name : %s %s\n",first,last);
printf ("ID : %s\n",id);
printf ("Examination points : %f / %f\n",point,full);
printf ("You passed, Congratulation\n");
}
return 0;
}
if (expression)
statement-1;
else
statement-2;
-------------------------------------------
if (expression)
{
statement–1.1;
statement-1.2;
...
statement-1.n;
}
else
{
statement-2.1;
statement-2.2;
...
statement-2.n;
}
#include<stdio.h>
int main()
{
float num1,num2;
printf ("Enter number 1 : ");
scanf ("%f",&num1);
printf ("Enter number 2 : ");
scanf ("%f",&num2);
if (num2 != 0)
printf ("%.2f / %.2f = %.2f",num1,num2,num1/num2);
else
printf ("Error divided by zero\n");
return 0;
}
if (expression-1)
statement-1;
else if (expression-2)
statement-2;
...
...
else if (expression-m)
statement-m;
else
statement-m+1;
--------------------------------------------------
if (expression-1)
{
statement-1.1;
...
statement-1.n;
}
else if (expression-2)
{
statement-2.1;
...
statement-2.n;
}
...
...
else if (expression-m)
{
statement-m.1;
...
statement-m.n;
}
else
{
statement-m+1.1;
...
statement-m+1.n;
}
#include<stdio.h>
int main()
{
char first[20], last[20], id[9];
float point;
printf ("Enter your Name : ");
scanf ("%s",first);
printf ("Enter your Surname : ");
scanf ("%s",last);
printf ("Enter your ID : ");
scanf ("%s",id);
printf ("Enter your examination points : ");
scanf ("%f",&point);
printf ("Name : %s %s\n",first,last);
printf ("ID : %s\n",id);
printf ("Examination points : %f\n",point);
if (point >= 90)
printf ("Grade : A\n");
else if(point >= 80)
printf ("Grade : B\n");
else if(point >= 70)
printf ("Grade : C\n");
else if(point >= 60)
printf ("Grade : D\n");
else
printf ("Grade : F\n");
return 0;
}
switch (expression-1)
{
case constant-expr-1:
statement-1.1;
statement-1.2;
...
statement-1.n;
break;
case constant-expr-2:
statement-2.1;
statement-2.2;
...
statement-2.n;
break;
...
...
case constant-expr-m:
statement-m.1;
statement-m.2;
...
statement-m.n;
break;
default:
statement-m.1;
statement-m.2;
...
statement-m.n;
}
#include<stdio.h>
#include<conio.h>
int main()
{
int d;
printf("Enter a number from 1 to 9: ");
scanf("%d", &d);
switch (d)
{
case 1: puts("A stitch in time saves nine.");
break;
case 2: break;
case 6: break;
case 9: puts("Handsome is as handsome does.");
break;
default: puts("Very clever. Try again.");
}
getch();
}