1
LP TRÌNH CĂN BN
CÁC LNHCÓCU TRÚC
2
Nidung chươngnày
lKhi lnh trongC
lCu trúc rnhánh
lCu trúc la chn
lCu trúc vòng lp
lCác câu lnh“đặc bit”
3
Khi lnh trongC (1)
lLà1 dãy các khai báo cùng vi các câu lnh nm
trong cp du ngoc móc { }.
4
Khi lnh trongC (2)
l1khi lnh cóthcha nhiu khi lnh khác gi
khi lnh lng nhau (không hn chế).
5
Phm vi các biến
lCóthkhai báo các biến cùng
tên trong các khi.
lNếu mt biến được khai báo bên
ngoài khi lnh vàkhông trùng
tên vi biến bên trong khi lnh
thìnócũng dùng đượcbên trong
khi.
lMt khi lnh con cóths
dng các biến bên ngoài, nhưng
điu ngược li không đúng.
6
Cu trúc rnhánh(if)
lStatement được thc hin nếu boolean_expression cógiátr
đúng (true), !=0.
lKhi else làtùy chn
boolean_expression !=0 => Statement1 được thc hin
boolean_expression ==0 => Statement2 được thc hin
7
Víd-Lnh if
#include <stdio.h>
#include <conio.h>
int main (){
float a;
printf("Nhapa = ");scanf("%f",&a);
if (a !=0 )
printf("Nghich dao cua%f la %f",a,1/a);
getch();
return 0;
}
8
Víd-Lnh if-else
#include <stdio.h>
#include <conio.h>
int main (){
float a;
printf("Nhap a = "); scanf("%f",&a);
if (a !=0 )
printf("Nghich dao cua %f la %f",a,1/a);
else
printf(“Khong the tim duoc nghich dao cua a);
getch();
return 0;
}
9
Câu lnh vàkhi lnh
lC cho phép nm các u lnh liên tiếp vào 1 khi.
l1 khi lnh cóth được dùng như 1 lnh đơn.
lVíd:
10
Nhm ln khi ng if
lChương trình trên sai đâu?
11
Chúý khi dùng if-else
lCâu lnh if-else lng nhau
lelse skết hp vi if gn nht cha cóelse
lTrong trường if bên trong không else thìphi viết
trong cp du {} để tránh skết hp else if sai.
lVíd
12
Cu trúc la chn
(switch-case) (1)
lC cung cp 1 cu trúc đẹp -dùng 1 dãy các câu lnh if.
13
Cu trúc la chn
(switch-case) (2)
lswitch-case cóth đưa đến mã máy (machine code) hiu qu
hơn (vìjump tables cóth đưc ng)
14
Cu trúc la chn
(switch-case) (3)
lCúpháp:
lnh giátrca biu thc expr trước.
lNếu giátrexpr bng value1 thìthc
hin statement_sequence1 ri thoát.
lNếu giátrexpr khác value1 thìso
sánh nóvi value2, nếu bng value2
thìthc hin statement_sequence2 ri
thoát.
lC như thế, so sánh ti giátrn.
lNếu tt ccác phép so sánh trên đều
sai thìthc hin default_statements
ca trường hp default.
15
Cu trúc la chn
(switch-case) (4)
lCác chúý:
lKiu ca expr vàcác valuei phi làkiu snguyên
(int, chat, long, ).
lNếu break/return vng mt, câu lnh trong các case
bên dưới cóth đưc thc hin cho đến khi gp
break/return hoc kết thúc lnh switch.
16
Víd-switch-case (1)
17
Víd-switch-case (2)
In ra sngày
ca 1 tháng
18
Cu trúc lp
lCho phép lp li thc hin 1 công vic nhiu ln.
lCó2 loi:
lLp vi sln xác định
lfor
lLp vi sln không xác định
lwhile
ldo-while
19
Vòng lp for (1)
lThtthc hin:
B1: Tính giátrbiu thc 1
B2: Tính giátrbiu thc 2
lNếu giátrbiu thc 2
sai (==0) => thoát khi for
lNếu giátrbiu thc 2
đúng (!=0) => thc hin
<Công vic>
B3: Tính giátrbiu thc 3
ri quay li B2
for (Biu thc 1; biu thc 2; biu thc 3) <Công vic>;
20
Vòng lp for (2)