บทที่ 7 เงื่อนไขในภาษาซี

26
บบบบบ 7 บบบบบบบบบบบบบบ บบ C Programming C-Programming

Upload: inga-dixon

Post on 01-Jan-2016

42 views

Category:

Documents


0 download

DESCRIPTION

C-Programming. บทที่ 7 เงื่อนไขในภาษาซี. C Programming. C-Programming. มีอะไรบ้างในบทนี้. C Programming. 4.1 การเปรียบเทียบในภาษา C 4.2 เครื่องหมายที่ใช้ในการเปรียบเทียบ 4.3 คำสั่ง if และ else 4.4 ถ้าจะเปรียบเทียบพร้อมๆ กันทำอย่างไร ? - PowerPoint PPT Presentation

TRANSCRIPT

บทท�� 7 เงื่��อนไขในภาษาซี� C Programming

C-Programming

จั�นทร์�ดาร์า สุ�ขสุาม @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