TIN H C I C NG
1 Review
2 L nh if
3 L nh if…else
4 L nh if…else l ng nhau
5 L nh switch
6 Ví d
Trang 2M c tiêu c a bài h c
2 Thành th o l nh if
3 Thành th o l nh if…else
4 Thành th o l nh if…else l ng nhau
5 Thành th o l nh switch
Trang 31 Review: Tóan t So sánh và Logic
> L n h n
>= L n h n ho c =
<= Nh h n ho c =
Logical operator
&& AND
&& AND
Trang 41 Review: u tiên
Level Operator Th c hi n
-1 ! unary - ++ Right to left
4 < <= > >= Left to right
6 && Left to right
7 || || Left to right g
8 = += -= *= /= Right to left
i + 2 == k-1 (i + 2) == ( k –1) 0 false
‘a’ +1 == ‘b’ (‘a’ +1) == ‘b’ 1 true
25 >= x + 1.0 25 >= (x + 1.0) 1 true
num –1 > 20 (num –1) > 20 0 false
Trang 52 L nh r nhánh: if, if…else, switch
1 l nh if
3 L nh if…else l ng nhau
4 L nh switch
Trang 62.1 L nh if
S
<BT Logic>
if (BT Logic)
<L nh 1>
<L nh 1>
<BT Logic>
<L nh 1> có th là l nh đ n
<L nh 1> có th là l nh đ n
ho c l nh ph c
Ki m tra m t s là s ch n ?
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”
Trang 72.1 L nh if
#include <stdio.h>
i t i ()
Ki m tra m t s là s ch n ?
int main()
{
int iNum , iRemain ; printf (“Nhap 1 so nguyen: ”);
scanf(“%d”, &iNum);
iRemain = iNum % 2;
if (iRemain == 0)
printf (“%d La So Chan”, iNum);
return 0;
}
Trang 82.2 L nh if…else
if (BT Logic)
<l nh 1>;
S
<BT Logic>
<l nh 2>
g
<L nh 1>, <L nh 2> có
th là l nh đ n ho c
l nh ph c
<L nh 1>
l nh ph c
Trang 92.2 L nh if…else
Ki m tra m t s là s ch n hay l ?
1) Nh p vào m t s
2) Chia s đó cho 2 đ xác đ nh s d
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 i s d không b ng 0, s đó là “S L
iRemain = iNum % 2;
if (iRemain == 0)
printf (“%d La So Chan”, iNum);
else
printf (“%d La So Le”, iNum);
Trang 102.2 Ví d : if…else
Bài tóan: Tính thu thu nh p b t th ng:
N u thu nh p nh h n ho c b ng 20.000$, thu là 2%;
N u thu nh p l n h n 20.000$, Kh an thu v t tr i là
2.5%
Vi t ch ng trình nh p s thu nh p, in ra s thu ph i tr
và thu nh p sau thu
VD
VD:
XThu nh p = 50.000
XThu ph i tr : 20.000 * 0.02 + (50.000 – 20.000) * 0.025 XThu nh p sau thu = thu nh p – thu ph i tr
Trang 112.3 L nh if…else l ng nhau
Câu l nh if có th l ng vào nhau và else s t ng ng v i if
g n nó nh t
if (expression-1)
statement-1
if (delta < 0)
printf (“Pt Vo Nghiem” );
statement 1 else if (expression-2)
statement-2
printf ( Pt Vo Nghiem );
else if (delta == 0)
printf (“Pt co 1 nghiem” );
else
statement-3
else
printf (“Pt co 2 nghiem” );
Trang 122.4 L nh switch
switch nh y đ n case t ng ng và th c hi n đ n khi nào g p break N u không có case nào t ng ng s
th c hi n trong default ho c cu i switch s k t thúc
switch(expression) {
switch(expression)
{
th c hi n trong default ho c cu i switch s k t thúc
{ case label:
statement(s); break; case label;
{
case label:
statement(s);
statement(s); break; default:
statement(s);
break;
case label;
statement(s);
}
Ghi chú: Giá tr c a expression ph i là ki u d li u s
break;
}
Ghi chú: Giá tr c a expression ph i là ki u d li u s
nguyên: char, int, long int, & short .
Trang 132.4 L nh switch: VD1
it h ( )
switch ( a )
{
case 1 :
printf (“Mot \n”);
break;
case 2 :
printf (“Hai \n”);
break;
case 3 :
printf (“Ba \n”);
p ( ) break;
case 4 :
printf (“Bon \n”);
break;
default:
Trang 142.4 L nh switch: VD2
switch (operator)
{
case '+':
result = operand1 + operand2;
break;
case '-':
result = operand1 operand2;
result = operand1 - operand2;
break;
case '*':
result = operand1 * operand2;
result operand1 operand2;
break;
case '/':
result = operand1 / operand2; p p ; break;
default:
printf ("unknown operator: %c" , operator) ; }
Trang 152.4 Switch và if…else
T t c cách l nh vi t b ng switch đ u vi t l i b ng
if…else đ c
T hiê l h i t b if ó th khô i t l i b
switch ( a ) if (a == 1 2)
Tuy nhiên, l nh vi t b ng if có th không vi t l i b ng switch đ c
switch ( a )
{
case 1.2 :
if (a == 1.2)
printf (“1.2”) ; else if (a <0.5)
printf (“1.2”);
break;
case <10 :
printf (“0.5”) ; else if (a == 2)
printf (“2”) ;
case 10 :
printf (“Mot”) ;
printf ( 2 ) ;
Trang 162.5 M t s l i hay g p trong c u trúc if, switch
1 if ( a=b ): L nh gán
2 if (a > b > c) ; Ph i vi t: if ( (a >b) && (b > c) )
3 L nh switch không có break; g ;
4 != và =! Là khác nhau
5 D u ; ngay sau bi u th c logic c a if: if ( a != 0) ;
6 L i syntax: includes thay vì include,….
7 Không s d ng c u trúc if else đ l ai tr
7 Không s d ng c u trúc if else đ l ai tr
Trang 17Tóm t t
1 Phân bi t l nh đ n, kh i l nh
2 C u trúc r nhánh: if, if…else, switch
3 Bài t p: Hòan t t Lab02
3 Bài t p: Hòan t t Lab02