Moät soá kieán thöùc cô sôû veà laäp trình baèng ngoân ngöõ C

Muïc luïc | Phaàn sau

I. Phaàn môû ñaàu

Noäi dung:

 

Giôùi thieäu ngoân ngöõ C & C++

- 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++ .

Laäp trình höôùng ñoái töôïng (Object Oriented Programming)

- 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:

  sôû veà phaàn cöùng vaø phaàn meàm ñeå thöïc hieän chöông trình C

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…

Muïc luïc | Phaàn sau