บทที่ 7 เงื่อนไขในภาษาซี
DESCRIPTION
C-Programming. บทที่ 7 เงื่อนไขในภาษาซี. C Programming. C-Programming. มีอะไรบ้างในบทนี้. C Programming. 4.1 การเปรียบเทียบในภาษา C 4.2 เครื่องหมายที่ใช้ในการเปรียบเทียบ 4.3 คำสั่ง if และ else 4.4 ถ้าจะเปรียบเทียบพร้อมๆ กันทำอย่างไร ? - PowerPoint PPT PresentationTRANSCRIPT
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 25552
มี�อะไรบ้�างในบ้ทน�� 41. การเปร�ยบ้เท�ยบ้ในภาษา C 4.2 เคร��องหมีายท��ใช้�ในการเปร�ยบ้เท�ยบ้ 43 ค�าสั่��ง if และ else 4.4 ถ้�าจะเปร�ยบ้เท�ยบ้พร�อมีๆ ก�นท�า
อย$างไร? 4.5 การเปร�ยบ้เท�ยบ้ค$าในช้$วง เช้$น อย&$
ระหว$าง 1 ถ้'ง 30 หร�อไมี$ 46 การใช้� switch แทนการใช้� if
หลายๆ คร��ง
C Programming
C-Programming
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 25553
concept ในการเขี�ยนโปรแกรมีน��น จะต้�องมี�การ
เปร�ยบ้เท�ยบ้อย&$ต้ลอดเวลา ถ้�าเราต้�องการให�โปรแกรมีท�างานต้ามีขี�อก�าหนดท��เราต้�องการ จะต้�องมี�การเปร�ยบ้เท�ยบ้และน�าผลท��ได�จากการเปร�ยบ้เท�ยบ้มีาควบ้ค-มีการท�างานขีองโปรแกรมีต้$อไป
C Programming
C-Programming
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 25554
4.2 เคร��องหมีายเปร�ยบ้เท�ยบ้ เคร��องหมีายเปร�ยบ้เท�ยบ้
(Operational Operator) ใช้�ในการเปร�ยบ้เท�ยบ้ค$า 2 ค$า ว$าเท$าก�น มีากกว$า หร�อน�อยกว$าก�นหร�อไมี$ (โดยอาจเป.นการเปร�ยบ้เท�ยบ้ระหว$างต้�วแปรก�บ้ต้�วเลขี หร�อระหว$างต้�วแปรก�บ้ต้�วแปรก/ได�)
เช้$นการกด ATM จะต้�องมี�การเปร�ยบ้เท�ยบ้รห�สั่ผ$านว$ารห�สั่ผ$านท��ร�บ้มีา ต้รงก�บ้รห�สั่ผ$านท��มี�อย&$หร�อไมี$ เป.นต้�น
C Programming
C-Programming
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 25555
4.2 เคร��องหมีายเปร�ยบ้เท�ยบ้> มีากกว$าหร�อไมี$< น�อยกว$าหร�อไมี$>= มีากกว$าหร�อเท$าก�นหร�อ
ไมี$<= น�อยกว$าหร�อเท$าก�นหร�อ
ไมี$!= ไมี$เท$าก�นหร�อไมี$== เท$าก�นหร�อไมี$
C Programming
C-Programming
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 25556
4.2 เคร��องหมีายเปร�ยบ้เท�ยบ้เมี��อเราเปร�ยบ้เท�ยบ้ค$าใดๆ แล�ว ผลล�พธ์1ท��เป.นไปได�จะมี�อย&$
ด�วยก�นแค$ 2 ค$าเท$าน��นค�อ จร2ง “ ” (True) ก�บ้ เท/จ“” (False) เหมี�อนก�บ้การกดรห�สั่เคร��อง ATM ถ้�ากดถ้&กผลการเปร�ยบ้เท�ยบ้ก/ค�อ True ถ้�ากดผ2ดผลการเปร�ยบ้เท�ยบ้ก/ค�อ False ด�งต้�วอย$างต้$อไปน��
5>3 ผลเป.นจร2ง เพราะ 5 มีากกว$า 3 จร2ง10<34 ผลเป.นจร2ง เพราะ 10 น�อยกว$า 34 จร2ง4 >=3 ผลเป.นจร2ง เพราะ 4 มีากกว$าหร�อเท$าก�บ้ 3
จร2ง4 >=4 ผลเป.นจร2ง เพราะ 4 มีากกว$าหร�อเท$าก�บ้ 46 >=20 ผลเป.นเท/จเพราะ 6 ไมี$ได�มีากกว$าหร�อ
เท$าก�บ้ 20
C Programming
C-Programming
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 25557
4.3 ค�าสั่��ง if และ else ค�าสั่��งท��ใช้�ในการต้รวจสั่อบ้เง��อนไขีในภาษา
ซี� ค�าสั่��งแรกท��เราจะเร�ยนร&�ก�นก/ค�อ if (แปลว$า ถ้�า“ ” ) น��นค�อเราจะใช้� if เพ��อต้รวจสั่อบ้ผลขีองการเปร�ยบ้เท�ยบ้ว$าเป.น จร2ง“
หร�อ เท/จ ” “ ” ถ้�า เป.นจร2ง จะให�ท�าอะไรต้$อไป และถ้�าเป.น
เท/จ จะให�ท�าอะไรต้$อไป
C Programming
C-Programming
If (การ์เปร์�ยบเท�ยบ)สุ��งื่ท��ต้�องื่การ์ให้�กร์ะท"าถ้�าผลการ์เปร์�ยบเท�ยบเป&นจัร์�งื่
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 25558
ต้�วอย$าง if1.c
#include<stdio.h>void main(){
int age;printf(“How old are you ”);scanf(“%d”,&age);if (age>=60)
printf(“You are old\n”);printf(“Good Bye ! ”);
}
C Programming
C-Programming
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 25559
การเปร�ยบ้เท�ยบ้ต้�วแปรแบ้บ้ charโปรแกรมีจะต้�องมี�การร�บ้ต้�วอ�กษร 1 ต้�วหล�งจาก
น��นก/จะมี�การเปร�ยบ้เท�ยบ้ต้�วอ�กษรต้�วน��นๆ เช้$นถ้�าต้�องการเขี�ยนโปรแกรมีถ้ามีเพศ(Gender) โดย
ให�ผ&�ใช้�ต้อบ้ว$า m(Male) หร�อ f(Female) เราจะเขี�ยนได�ด�งน��
#include<stdio.h>void main(){
char gender;gender = ‘m’if (gender ==‘m’)
printf(“Male”);}
C Programming
C-Programming
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 255510
ต้�วอย$าง ifchar2.c
#include<stdio.h>void main(){
char ch1;char ch2;
ch1=‘g’;ch2=‘k’;
printf(“ch1=%d\n”,ch1);printf(“ch2=%d\n”,ch2);if(ch2>ch1)
printf(“ch2 is more than ch1\n”);}
C Programming
C-Programming
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 255511
ต้�วอย$าง ifchar2.cC Programming
C-Programming
If(age>=60)printf(“You are old\n”);
printf(“Good Bye!!”);
If(age>=60)printf(“You are old\n”);
printf(“Good Bye!!”);
ถ้�า age เท$าก�บ้ 70
ถ้�า age เท$าก�บ้ 34
การเปร�ยบ้เท�ยบ้เป.นจร2ง
การเปร�ยบ้เท�ยบ้เป.นเท/จ
มีาท�าบ้รรท�ดน��เลย
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 255512
ต้�วอย$าง if2.c
#include<stdio.h>void main(){
char brother;int age;printf(“Do you have brother?”);scanf(“%c”,&brother);if(brother == ‘y’){
printf(“How old is he?\n”);scanf(“%d”,&age);printf(“He is %d years old.\n”,age);
}printf(“Good bye!”);
}
C Programming
C-Programming
ถ้�าต้อบ้ y ซี'�งหมีายถ้'ง ใช้$ ก/จะท�า ภายในป5กกา
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 255513
4.3 if และ else
#include<stdio.h>void main(){
int age;printf(“How old are you ?”);scanf(“%c”,&age);if(age >= 60)
printf(“You are old \n”);else
printf(“You are young\n”);printf(“Good bye!”);
}
C Programming
C-Programming
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 255514
4.4 การเปร�ยบ้เท�ยบ้พร�อมีๆ ก�น หากต้�องการเปร�ยบ้เท�ยบ้พร�อมีๆ ก�น และท�า
เมี��อการเปร�ยบ้เท�ยบ้เป.นจร2งท-กค$าเท$าน��น ยกต้�วอย$างเช้$น
ใช้� if ต้รวจสั่อบ้ว$าค$าต้�วแปร a ก�บ้ b น��นมีากกว$า 0 ท��งค&$หร�อไมี$ ถ้�าเขี�ยนโปรแกรมีโดยใช้� if จะเขี�ยนได�ด�งน��
Int a=20;Int b=6;If(a>0){
if(b>0){printf(“Yes!! a>0 and b>0”);}
}
C Programming
C-Programming
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 255515
ลดความีซี�บ้ซี�อนขีองโปรแกรมีลง ต้�องใช้� Logical Operator ซี'�งมี� 2 ต้�วค�อ && ค�อ เคร��องหมีาย และ “ ” (AND)
|| ค�อเคร��องหมีาย หร�อ“ ” (OR)
C Programming
C-Programming
A B A && B A || B
True True True True
True False False True
False True False True
False False False False
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 255516
4.4 การเปร�ยบ้เท�ยบ้พร�อมีๆ ก�น
int a=20;
int b=6;
if((a>0) && (b>0))
{
printf(“Yes!! Ok.”);
}
int a=20;
int b=6;
int c=8;
if((a>0) && (b>0) && (c>5))
{
printf(“Yes!! Ok.”);
}
C Programming
C-Programming
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 255517
4.4 การเปร�ยบ้เท�ยบ้พร�อมีๆ ก�น เคร��องหมีาย && น��น ถ้�าค$าใดค$าหน'�ง
เป.นเท/จจะท�าให�ผลล�พธ์1เป.นเท/จด�วย เคร��องหมีาย || น��น จะให�ผลล�พธ์1เป.น
จร2ง ถ้�าค$าใดค$าหน'�งหร�อท��งหมีดเป.นจร2ง
C Programming
C-Programming
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 255518
4.4 ใช้� &&
int a=20;int b=6;if(a>0){
if((a>0) && (b>0) && (c>5)){
printf(“Yes!! Ok.”);}else{
printf(“OH… No!!!”);}
}
C Programming
C-Programming
จร2ง จร2ง เท/จ
ลงมีาท�าค�าสั่��งต้$อไป
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 255519
4.4 ใช้� ||
int a=20;
int b=6;
int c=8;
if((a<0) || (b<0) || (c>5))
{
printf(“Yes!! Ok.”);
}
C Programming
C-Programming
เท/จ เท/จ จร2ง
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 255520
4.4 โปรแกรมี or.c
#include<stdio.h>void main(){
int a,b;printf(“Enter number 1”);scanf(“%d”,&a);printf(“Enter number 2”);scanf(“%d”,&b);if((a<=0)||(b<=0))
printf(“a,b must not less than zero !\n”);else
printf(“ans = %d”,a+b);printf(“\nGood bye!”);
}
C Programming
C-Programming
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 255521
4.4 โปรแกรมี and.c
#include<stdio.h>void main(){
int a,b;printf(“Enter number 1 :”);scanf(“%d”,&a);printf(“Enter number 2 :”);scanf(“%d”,&b);if((a>=100)&&(b>=100))
printf(“ans = %d”,a*b);else
printf(“Both of number must more than 100”);printf(“\nGood bye!”);
}
C Programming
C-Programming
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 255522
4.4 เปร�ยบ้เท�ยบ้ความีเท$าก�นและไมี$เท$าก�น#include<stdio.h>void main(){
int a,b;printf(“Enter number 1 :”);scanf(“%d”,&a);printf(“Enter number 2 :”);scanf(“%d”,&b);if((a==0)||(b==0))
printf(“Error! Zero values.”);else
printf(“ans=%d”,a+b);printf(“\nGood bye!”);
}
C Programming
C-Programming
ลองเปล��ยนเป.นเคร��องหมีาย != แทน
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 255523
4.4 การต้รวจสั่อบ้ค$าแบ้บ้ช้$วง เราสั่ามีารถ้ใช้� && ในการต้รวจสั่อบ้ค$าต้�วแปร
ว$าอย&$ในช้$วงท��ก�าหนดหร�อไมี$ เช้$น ถ้�าต้�องการต้รวจสั่อบ้ค$าต้�วแปร i ว$าอย&$ในช้$วง 60 ถ้'ง 100 หร�อไมี$ ให�เขี�ยนโปรแกรมีด�งน��If((i>=60)&&(i<=100))
{
…
}
ถ้�าค$าในต้�วแปร i มี�ค$าเท$าก�บ้ 74 เง��อนไขีขีอง if จะเป.นจร2ง ท�าให�โปรแกรมีท��อย&$ใน {} ถ้&กกระท�า
C Programming
C-Programming
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 255524
4.4 ค�าสั่��ง if และ else if
If และ else จะใช้�ในกรณี�ท��มี�เง�อนไขีเด�ยวเช้$นif(a==10)
printf(“OK”);else
printf(“Not OK”);
Else if ใช้�ในกรณี�เปร�ยบ้เท�ยบ้หลายๆ ค$า เช้$นif(a==20)
printf(“a is 20”);else if(a==30)
printf(“a is 30”);else if(a==40)
printf(“a is 40”);else
printf(“a is over”);
C Programming
C-Programming
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 255525
4.4 โปรแกรมี grade.c
#include<stdio.h>void main(){
int score;printf(“Score : ”);scanf(“%d”,&score);if((score>=80)&&(score<=100))
printf(“A\n”);else if((score>=70)&&(score<=79))
printf(“B\n”);else if((score>=60)&&(score<=69))
printf(“C\n”);else if((score>=50)&&(score<=59))
printf(“D\n”);else
printf(“You got F !!\n”);
}
C Programming
C-Programming
จั�นทร์�ดาร์า สุ�ขสุาม @Rmuti Surin Campus : 255526
4.4 ค�าสั่��ง switch…case
switch1.c#include<stdio.h>void main(){
char sex;printf(“are you m (male) of f (female) ?”);scanf(“%c”,&sex);switch (sex){
case ‘m’ : printf(“You are male\n”); break;case ‘f’ : printf(“You are female\n”); break;default : printf(“Try again!!\n”);
}}
C Programming
C-Programming