Noäi dung:
- C laø moät loaïi ngoân ngöõ laäp trình
baäc cao ña duïng phoå bieán nhaát hieän nay.
- C ñöôïc phaùt trieån töø ngoân ngöõ B (K. Thompson, 1967) bôûi Dennis Ritchie
cuûa haõng AT&T Bell Labs vaø baét ñaàu xuaát hieän töø naêm 1972.
- Yeâu caàu cuûa ngoân ngöõ baäc cao: tính deã ñoïc-vieát (readability), tính
deã baûo trì (maintainability) vaø khaû naêng linh ñoäng (portability).
à C laø ngoân ngöõ laäp trình ñoäc laäp vôùi phaàn
cöùng vaø caùc heä ñieàu haønh maùy tính.
- 1978: quyeån saùch The C Programming
Language (Kernighan & Ritchie) laø taøi lieäu kinh ñieån cuûa ngoân
ngöõ C.
- 1983: American National Standards Institute (ANSI) thaønh laäp uûy ban xaây
döïng chuaån cho ngoân ngöõ C.
- 1990: Chuaån ANSI C ra ñôøi.
- 1983: yeáu toá laäp trình höôùng ñoái
töôïng + C à ngoân ngöõ
C++ do Bjarne Stroustrup phaùt trieån ôû Bell Labs.
- C++ laø moät ngoân ngöõ gaàn nhö laø môû roäng cuûa ngoân ngöõ C, ñaõ coù 3
phieân baûn: 1.1 (1986), 2.0 (1989) vaø 3.0 (1991). Chính phieân baûn 3.0 laø
cô sôû ñeå xaây döïng chuaån ANSI C++ .
- Phöông phaùp laäp trình:
* LT tuyeán tính (linear)
* LT thuû tuïc (procedural)à LT caáu truùc (structural) (Chöông trình = Caáu truùc döõ lieäu + Giaûi thuaät)
* LT höôùng ñoái töôïng
(object-oriented)
- Ñaëc ñieåm LTHÑT:
*
Ñoái töôïng (Object): Döõ lieäu +
phöông thöùc à troïng taâm cuûa quaù trình phaùt trieån chöông
trình.
* Lôùp (Class): taäp hôïp caùc ñoái töôïng coù tính chaát chung
gioáng nhau.
* Tính ñoùng goùi döõ lieäu (encapsulation): ñoái töôïng bao goàm döõ
lieäu vaø phöông thöùc ñöôïc ñoùng goùi maø ngöôøi söû duïng coù theå tieáp
caän ñeán döõ lieäu thoâng qua caùc chöùc naêng maø khoâng caàn bieát ñeán noïi
dung laäp trình cuï theå cuûa chuùng.
* Tính keá thöøa (inheritance): Söï keá thöøa cho pheùp ñònh nghóa
caùc lôùp môùi döïa treân caùc lôùp coù saün à cho pheùp söû duïng laïi caùc module chöông trình maø khoâng caàn
thay ñoåi chuùng.
* Tính ña hình (polymorphism): trong caùc lôùp keá thöøa nhau, coù theå
ñònh nghóa phöông thöùc coù cuøng teân hoaëc yù nghóa nhöng hoaøn toaøn khaùc
nhau veà maët laäp trình.
- Öu ñieåm:
* Tính keá thöøa à loaïi boû nhöõng ñoaïn chöông trình phaûi vieát
laïi, môû roäng caùc lôùp nhanh choùng.
* Cô sôû chöông trình laø ñoái
töôïng à vieäc thieát keá vaø laäp trình thöïc hieän theo
quy trình chöù khoâng theo kinh nghieäm hoaëc thuû thuaät à tieát kieäm thôøi gian vaø taêng naêng suaát.
* Tính ñoùng goùi à ñaûm baûo tính baûo maät maø vaãn phaùt trieån
chöông trình ñöôïc.
* Caùch tieáp caän ñaët troïng
taâm ñoái töôïng à coù theå xaây döïng moâ hình chi tieát vaø deã
caøi ñaët.
* Khaû naêng môû roäng heä
thoáng lôùn hôn khaû thi hôn.
- Ngoân ngöõ LTHÑT:
Phaàn cöùng:
*
Caùc loaïi maùy tính coù phaàn meàm bieân dòch ngoân ngöõ C &C++ (töông thích
ANSI C)
* Ñoái vôùi PC, caáu hình maùy
phuø hôïp vôùi chöông trình bieân dòch ngoân ngöõ.
Phaàn meàm:
*
Caùc loaïi maùy söû duïng HÑH Unix, C laø ngoân ngöõ maëc ñònh.
* Ñoái vôùi PC: Turbo C, Turbo
C++, Borland C++, Symantec C, Visual C++, C++ Builder…