
Ch ng 4ươ
CÁC THÀNH PH N C B NẦ Ơ Ả
C A NGÔN NG L P TRÌNH CỦ Ữ Ậ
http://slide-giaotrinh.tk
Lý thuy t ngôn ng l p trình ế ữ ậ

N i dungộ
T ng quan ổ
B ch vi t ộ ữ ế
T khóa ừ
Đ nh danh ị
Th vi n chu n C ư ệ ẩ
Các hàm toán h c c b n trong Cọ ơ ả
C u trúc m t ch ng trình C ấ ộ ươ

T ng quan ổ
C là ngôn ng l p trình c p cao, đ c s d ng ữ ậ ấ ượ ử ụ
ph bi n đ l p trình h th ng và phát tri n các ổ ế ể ậ ệ ố ể
ng d ng ứ ụ
Vào nh ng năm cu i th p k 60 đ u th p k 70 ữ ố ậ ỷ ầ ậ ỷ
c a th k 20, Dennish Ritchie phát tri n ngôn ng ủ ế ỷ ể ữ
l p trình C d a trên ngôn ng BCPL và ngôn ng Bậ ự ữ ữ
Ban đ u, C đ c thi t k nh m l p trình trong môi ầ ượ ế ế ằ ậ
tr ng c a h đi u hành Unix nh m h tr cho ườ ủ ệ ề ằ ỗ ợ
các công vi c l p trình ph c t p. ệ ậ ứ ạ
Nh ng v sau, v i nh ng nhu c u phát tri n ngày ư ề ớ ữ ầ ể
m t tăng c a công vi c l p trình, C đã v t qua ộ ủ ệ ậ ượ
khuôn kh c a phòng thí nghi m Bell và nhanh ổ ủ ệ
chóng h i nh p vào th gi i l p trìnhộ ậ ế ớ ậ

T ng quan ổ
C là ngôn ng l p trình h th ng r t m nh và ữ ậ ệ ố ấ ạ
“m m d o”ề ẻ
C có m t th vi n g m r t nhi u các hàm đã đ c ộ ư ệ ồ ấ ề ượ
t o s n, ng i l p trình có th t n d ng các hàm ạ ẵ ườ ậ ể ậ ụ
này đ gi i quy t các bài toán mà không c n ph i ể ả ế ầ ả
t o m i. ạ ớ
C h tr r t nhi u phép toán nên phù h p cho vi c ỗ ợ ấ ề ợ ệ
gi i quy t các bài toán k thu t có nhi u công ả ế ỹ ậ ề
th c ph c t p. ứ ứ ạ
C cũng cho phép ng i l p trình t đ nh nghĩa ườ ậ ự ị
thêm các ki u d li u tr u t ng khác. ể ữ ệ ừ ượ
C đ c ph bi n khá r ng rãi và đã tr thành m t ượ ổ ế ộ ở ộ
công c l p trình khá m nh, đ c trong vi c xây ụ ậ ạ ượ ệ
d ng nh ng ph n m m hi n nay.ự ữ ầ ề ệ

T ng quan ổ
Ngôn ng C có nh ng đ c đi m c b n sau: ữ ữ ặ ể ơ ả
Tính cô đ ng (compact): C ch có 32 t khóa chu n và 40 ọ ỉ ừ ẩ
toán t chu n, nh ng h u h t đ u đ c bi u di n b ng ử ẩ ư ầ ế ề ượ ể ễ ằ
nh ng chu i ký t ng n g n ữ ỗ ự ắ ọ
Tính c u trúc (structured): C có m t t p h p nh ng ch th ấ ộ ậ ợ ữ ỉ ị
c a l p trình nh c u trúc l a ch n, l p… ủ ậ ư ấ ự ọ ặ
Tính t ng thích (compatible): d dàng chuy n t máy ươ ễ ể ừ
tính này sang máy tính khác
Tính linh đ ng (flexible): C là m t ngôn ng r t uy n ộ ộ ữ ấ ể
chuy n vể ề cú pháp, ch p nh n nhi u cách th hi n, có ấ ậ ề ể ệ
th thu g n kích th c c a các mã l nh làm ch ng trình ể ọ ướ ủ ệ ươ
ch y nhanh h n. ạ ơ
Biên d ch (compile): C cho phép biên d ch nhi u t p tin ị ị ề ậ
ch ng trình riêng r thành các t p tin đ i t ng (object) ươ ẽ ậ ố ượ
và liên k t (link) các đ i t ng đó l i v i nhau thành m t ế ố ượ ạ ớ ộ
ch ng trình có th th c thi đ c (executable) th ng nh t ươ ể ự ượ ố ấ

