ề ề
ệ ệ Đi u ki n Đi u ki n
ươ
Ch
ng 5
ụ ụ
ọ ọ M c tiêu bài h c M c tiêu bài h c
ự Tìm hi u v c u trúc l a ch n ọ ề ấ
ể • L nh ệ if • L nh ệ if – else • L nh nhi u ề if ệ • L nh ệ ồ if l ng nhau
Elementary Programming with C/Session 5/ 2 of 19
ệ L nh switch
ệ ệ
ề ề
ệ ệ
Câu l nh đi u ki n Câu l nh đi u ki n
Các câu l nh đi u ki n cho phép chúng ta ự
ề ệ
ệ ủ ươ ng th c hi n c a ch ng
M t câu l nh đi u ki n tr v giá tr đúng
ệ ả ề ề ệ ị
ị
ố ẻ
ố ẵ
Ví d : ụ Đ xác đ nh m t s là s ch n hay s l ư
ậ
ể
ị
ố
ằ
Ố Elementary Programming with C/Session Ố i s d không b ng 0, s đó là “S 5/ 3 of 19
ộ ố ể ế chúng ta ti n hành nh sau : ộ ố 1) Nh p vào m t s ố ư ố 2) Chia s đó cho 2 đ xác đ nh s d Ẵ ế ố ư 3) N u s d là 0, s đó là “S CH N” ố ượ ạ ố ư 4) Ng c l L ”Ẻ
ệ ổ ướ thay đ i h trình ộ ặ ho c sai
ự ự
ấ ấ
ọ ọ Các c u trúc l a ch n Các c u trúc l a ch n
Elementary Programming with C/Session 5/ 4 of 19
ự ệ ấ ạ ọ C cung c p hai d ng câu l nh l a ch n
ệ
ệL nh if L nh if
Cú pháp:
if (expression)
statement;
N u bi u th c c a l nh if có giá tr đúng
ế ể
ố ệ ệ ự c th c
Elementary Programming with C/Session 5/ 5 of 19
ị ứ ủ ệ ượ (true), kh i l nh theo sau l nh if đ thi
ệ
ệL nh if (tt.) L nh if (tt.)
ề
ể
ộ
ươ
ị ự
ệ . ng trình hi n th các giá tr d a vào m t đi u ki n
Ch
ị
#include
void main(){
int x, y;
char a = ‘y’;
x = y = 0;
if (a == ‘y’){
x += 5;
printf(“The numbers are %d and \t
%d”,x,y); }
}
Elementary Programming with C/Session 5/ 6 of 19
ệ
ệL nh if – else L nh if – else
if (expression) statement;
else
statement;
Elementary Programming with C/Session 5/ 7 of 19
ệ
ệL nh if – else (tt.) L nh if – else (tt.)
ể ị true, kh i ố
ể ế ệ l nh theo sau l nh if đ N u bi u th c c a if ế
ượ ệ ọ
N u bi u th c c a if tr v giá tr ả ề ứ ủ ượ ự ệ c th c thi ị ả ề ứ ủ không tr v giá tr ự ượ ệ c th c thi true thì các l nh theo sau else đ L nh else là m t tùy ch n. L nh else đ ệ ộ c ứ ể ự ể
Elementary Programming with C/Session 5/ 8 of 19
ệ dùng đ th c thi các l nh khi bi u th c trong ả ề if tr v giá tr ị false
ệ
ệL nh if – else (tt.) L nh if – else (tt.)
ố ẵ ộ ố ị ng trình xác đ nh m t s là s ch n hay Ch
ươ lẻ
#include
void main(){
int num ,res ; printf(“Enter a number :”); scanf(“%d”,&num); res = num % 2; if (res == 0)
printf(“Then number is Even”);
else
printf(“The number is Odd”);
Elementary Programming with C/Session 5/ 9 of 19
}
ệ
ệL nh if–else–if L nh if–else–if
Cú pháp:
if (expression)
statement;
else if (expression)
statement;
else if (expression)
Elementary Programming with C/Session 5/ 10 of 19
statement; … else statement;
ệ
ệL nh if–else–if (tt.) L nh if–else–if (tt.)
ượ ọ ệ L nh ệ c g i là l nh if else if còn đ if
ậ elseif b c thang
ị ị c xác đ nh giá tr theo
Elementary Programming with C/Session 5/ 11 of 19
ướ ừ Các bi u th c đ ể ng t ứ ượ ố trên xu ng h
ệ
ệL nh if–else–if (tt.) L nh if–else–if (tt.)
ự
ộ
ị
ị
ươ
ể
ng trình hi n th thông báo d a vào m t giá tr :
Ch
#include
#include
main() {
int x; x = 0; clrscr (); printf(“Enter Choice (1 - 3) : “); scanf(“%d”, &x); if (x == 1)
printf (“\nChoice is 1”);
else if ( x == 2)
printf (“\nChoice is 2”);
else if ( x == 3)
printf (“\nChoice is 3”);
else printf (“\nInvalid Choice “);
}
Elementary Programming with C/Session 5/ 12 of 19
ệ ệ
ồ ồ L nh if l ng nhau L nh if l ng nhau
L nh ệ
ượ ặ c đ t if l ng nhau là m t l nh
ồ ộ ệ ộ ệ if đ if ho c ặ else khác
ớ ế ệ ộ ế ợ else luôn k t h p v i m t else
ộ ệ ố ệ if g n nh t cùng kh i l nh n u l nh ớ ư ượ ế ợ c k t h p v i m t l nh if nào
Elementary Programming with C/Session 5/ 13 of 19
trong m t l nh ộ ệ Trong C, m t l nh ấ ầ l nh ệ đó ch a đ khác
ồ ồ
ệ ệ
L nh if l ng nhau (tt.) L nh if l ng nhau (tt.)
Cú pháp:
ệ
c k t h p v i
ị
L nh else bên trong đ ớ if(exp3) ượ ế ợ Theo chu n ANSI, m t trình biên d ch h tr ỗ ợ ộ ẩ
ứ ồ
ấ
ít nh t là 15 m c l ng nhau
Elementary Programming with C/Session 5/ 14 of 19
ồ ồ
ệ ệ
L nh if l ng nhau (tt.) L nh if l ng nhau (tt.)
#include
#include
void main (){
int x, y; x = y = 0; clrscr (); printf (“Enter Choice (1 - 3) : “); scanf (“%d”, &x); if (x == 1){ printf(“\nEnter value for y (1 - 5) : “); scanf (“%d”, &y); if (y <= 5)
printf(“\nThe value for y is : %d”, y); else printf(“\nThe value of y exceeds 5 “);
printf (“\nChoice entered was not 1”);
} else
}
Elementary Programming with C/Session 5/ 15 of 19
ệ
ệL nh switch L nh switch
L nh ệ
ướ ng, nó ộ
ị ủ ằ ặ ằ
ộ ộ ự ọ switch là m t b l a ch n đa h ứ ớ ể ộ so sánh giá tr c a m t bi u th c v i m t ố danh sách các h ng s nguyên ho c h ng ký tự
ệ
Elementary Programming with C/Session 5/ 16 of 19
Khi g p m t s so sánh kh p, các l nh k t ế ượ ộ ự ằ ặ ớ ớ ự c th c thi ợ h p v i h ng đó đ
ệ
ệL nh switch (tt.) L nh switch (tt.)
Cú pháp:
Elementary Programming with C/Session 5/ 17 of 19
ệ
ệL nh switch (tt.) L nh switch (tt.)
ể
Ch
ự ườ th
ng trình ki m tra m t ký t ộ
ng đ ộ
ự
ộ ươ là m t nguyên âm, là ký t
ậ ượ c nh p vào ụ ‘z’ hay là m t ph âm
#include
#include
main (){
char ch; clrscr (); printf (“\nEnter a lower cased alphabet (a - z) : “);
scanf(“%c”, &ch);
còn tiếp …
Elementary Programming with C/Session 5/ 18 of 19
ệ
ệL nh switch (tt.) L nh switch (tt.)
if (ch < ‘a’ || ch > ‘z’)
printf(“\nCharacter not a lower cased alphabet”);
else
switch (ch) {
case ‘a’ : case ‘e’ : case ‘i’ : case ‘o’ : case ‘u’ :
printf(“\nCharacter is a vowel”); break;
case ‘z’ :
printf (“\nLast Alphabet (z) was entered”); break;
default :
printf(“\nCharacter is a consonant”); break;
}
}
Elementary Programming with C/Session 5/ 19 of 19