1
LP TRÌNH C
ThS. Nguyn ThThúy Loan
BÀI GI
NG
5/3/2013 Nguyn ThThúy Loan 2
Tài liu tham kho
Trn Minh Thái, tp bài ging KTLT, 2005
Phm Văn t: “ thut lp trình C: cơ s
nâng cao. NXB KHKT – 1996
Nguyn Đình Tê – Hoàng Đức Hi: Giáo trình lý
thuyết & Bài tp ngôn ng C. Nhà Xut Bn Mũi
Cà Mau.
Hunh Tn Dũng Hoàng Đức Hi, Bài tp
ngôn ng C t A đến Z, NXB Lao Động – Xã
Hi.
5/3/2013 Nguyn ThThúy Loan 3
Cách đánh giá
Lý thuyết: 50%
Thc hành: 30%
Bài tp: 20%
5/3/2013 Nguyn ThThúy Loan 4
Ni dung chương trình
Kiến thc cơ bn
Tng quan v lp trình C.
Biu thc, toán t, vào ra dliu.
Cu trúc điu kin và lưu đồ thut toán.
Hàm
Mng – chui kí t.
2
KIN THC CƠ BN
ThS. Nguyn ThThúy Loan
Chương I:
5/3/2013 Nguyn ThThúy Loan 6
NI DUNG
Chuyn đổi cơ s
K thut để gii quyết bài toán
Các bước để viết chương trình.
Mt chương trình đơn gin.
5/3/2013 Nguyn ThThúy Loan 7
Biu din thông tin
Đơn v đo thông tin: bit- BInary digiT
Mt bit tương ng vi mt chthhoc mt
thông báo nào đóvskin, có 1 trong 2
trng thái là Tt (Off) / M (On) hay Đúng
(True)/Sai (False).
5/3/2013 Nguyn ThThúy Loan 8
Biu din thông tin
Biu din strong các h đếm:
H đếm là tp hp các ký hiu và qui tc
sdng tp ký hiu đó. Mi h đếm có
mt ský s(digits) hu hn. Tng s
sca mi h đếm gi là cơ s(base hay
radix), ký hiu là b.
3
5/3/2013 Nguyn ThThúy Loan 9
Biu din thông tin
H đếm cơ sb (b 2, b là s nguyên
dương) mang tính cht sau:
o b ký s để thhin giá trs. Ký snh
nht là 0 và ln nht là b-1.
oGiá trvtrí thn ca mt strong h đếm
bng cơ sb lũy tha n: bn
5/3/2013 Nguyn ThThúy Loan 10
Biu din thông tin
SN(b) trong h đếm cơ s (b) được biu
din bi:
oN(b)=anan-1an-2a1a0a-1a-2a-m
5/3/2013 Nguyn ThThúy Loan 11
Biu din thông tin
oTrong đó, sN(b) có n+1 ký sbiu din
cho phn nguyên và m ký slbiu din
cho phn b_phân, và giá trlà:
oN(b) = an.bn+ an-1.bn-1 + an-2.bn-2 + …+
a1.b1+a0.b0+ a-1.b-1+a-2.b-2+…+a-m.b-m
5/3/2013 Nguyn ThThúy Loan 12
Biu din thông tin
Hoc dưới dng công thc tng quát:
n
mi
i
i
bba
N.
)(
4
5/3/2013 Nguyn ThThúy Loan 13
Biu din thông tin
Các h đếm:
oNhphân
oBát phân
oThp phân
oThp lc phân
5/3/2013 Nguyn ThThúy Loan 14
H đếm thp phân (b = 10)
H đếm thp phân b = 10 là mt trong các
phát minh ca người rp c, bao gm
10 ký stheo ký hiu sau: 0, 1, 2, 3, 4,
5, 6, 7, 8, 9
5/3/2013 Nguyn ThThúy Loan 15
H đếm thp phân (b = 10)
Bt ks nguyên dương trong hthp
phân có thbiu din như mt tng các
shng, mi shng là tích ca mt s
vi 10 lũy tha, trong đósmũlũy tha
được tăng thêm 1 đơn vktsmũlũy
tha phía bên phi nó. Smũlũy tha
ca hàng đơn vtrong hthp phân là 0.
5/3/2013 Nguyn ThThúy Loan 16
H đếm thp phân (b = 10)
d:
S 123 được biu din như sau:
123 = 1 * 102+ 2 * 101+ 3*100
S5246 có th được biu din như sau:
5246 = 5 * 103+ 2 *102+ 4 * 101+ 6 * 100
= 5 * 1000 + 2 * 100 + 4 * 10 + 6 * 1
5
5/3/2013 Nguyn ThThúy Loan 17
H đếm thp phân (b = 10)
Phn thp phân trong hthp phân sau
du chm phân cách thp phân (theo qui
ước ca M) thhin trong ký hiu m
rng bi 10 lũy tha âm, tính tphi sang
trái ktdu chm phân cách.
d: 254.68 = 2 * 102+ 5 * 101+ 4 * 100
+ 6 * 10-1 + 8 * 10-2
5/3/2013 Nguyn ThThúy Loan 18
H đếm nhphân (b = 2)
Vi b = 2, là h đếm đơn gin nht vi 2
chs 0 và 1. Mi chsnhphân gi
BIT.
Cách chuyn đổi hnhphân sang h
thp phân:
5/3/2013 Nguyn ThThúy Loan 19
H đếm nhphân (b = 2)
d: 10101(2) = ? (10)
Snhphân :11101
Svtrí: 43210
Trvtrí : 2423222120
H10 là: 168421
10101(2) = 1*24+ 0*23+ 1*22+ 0*21+ 1*20
= 16 + 0 + 4 + 0 + 1 = 21(10)
5/3/2013 Nguyn ThThúy Loan 20
H đếm nhphân (b=2)
11101.11(2)= ? (10)
Snhphân 11101.11
Svtrí 43210-1-2
Trvtrí 24232221202-1 2-2
H10 là 16 8 4 2 1 0.5 0.25
11101.11(2) = 1*16 + 1*8 + 1*4 + 0*2 + 1*1 +
1*0.5 + 1*0.25 = 29.75 (10)