©2004 Trn Minh Châu. FOTECH. VNU
1
Chương 1.
Ngôn ng Lp trình C++
Chương I - Gii thiu ngôn ng C++
©2004 Trn Minh Châu. FOTECH. VNU
2
Chương 1.
Ni dung chính
•Mã máy, Hp ng, và ngôn ng bc cao
•Mt s ngôn ng lp trình bc cao
•Lch s C và C++
•H thng và môi trường lp trình C++
•Gii thiu v C++
–ví d v chương trình C++ đơn gin
khái nim biến
vào ra d liu
các phép toán s hc
ra quyết định - các phép toán quan h
©2004 Trn Minh Châu. FOTECH. VNU
3
Chương 1.
1.1 Mã máy, Hp ng, và Ngôn ng bc cao
1. Mã máy (machine language)
Là ngôn ng duy nht máy tính trc tiếp hiu được, là “ngôn
ng t nhiên” ca máy tính
Được định nghĩa bi thiết kế phn cng, ph thuc phn cng
–Gm các chui s, => chui các s 0 và 1
Dùng để lnh cho máy tính thc hin các thao tác cơ bn, mi
ln mt thao tác
–Nng n, khó đọc đối vi con người
–Ví d:
+1300042774
+1400593419
+1200274027
©2004 Trn Minh Châu. FOTECH. VNU
4
Chương 1.
1.1 Mã máy, Hp ng, và Ngôn ng bc cao
2. Hp ng (assembly)
–Nhng t viết tt kiu tiếng Anh, đại din cho các thao tác
cơ bn ca máy tính
–D hiu hơn đối vi con người
Máy tính không hiu
•Cn đến các chương trình dch hp ng (assembler) để
chuyn t hp ng sang mã máy
–Ví d:
LOAD BASEPAY
ADD OVERPAY
STORE GROSSPAY
©2004 Trn Minh Châu. FOTECH. VNU
5
Chương 1.
1.1 Mã máy, Hp ng, và Ngôn ng bc cao
3. Các ngôn ng bc cao (high-level languages)
–Tương t vi tiếng Anh, s dng các ký hin toán hc thông dng
–Mt lnh thc hin được mt công vic mà hp ng cn nhiu
lnh để thc hin được.
–Ví d:
grossPay = basePay + overTimePay
–Các chương trình dch (compiler) để chuyn sang mã máy
–Các chương trình thông dch (interpreter program) trc tiếp chy
các chương trình viết bng ngôn ng bc cao.
•Chm hơn
•Thun tin khi đang phát trin chương trình
©2004 Trn Minh Châu. FOTECH. VNU
6
Chương 1.
1.2 Mt s ngôn ng lp trình bc cao
FORTRAN
FORmula TRANslator (1954-1957: IBM)
Tính toán toán hc phc tp, thường dùng trong các ng dng khoa hc và k
thut
COBOL
COmmon Business Oriented Language (1959)
Thao tác chính xác và hiu qu đối vi các khi lượng d liu ln,
Các ng dng thương mi
Pascal
Tác gi: Niklaus Wirth
Dùng trong trường hc.
Java
Tác gi: Sun Microsystems (1991)
Ngôn ng điu khin theo s kin (event-driven), hoàn toàn hướng đối tượng,
tính kh chuyn (portable) rt cao.
Các trang Web vi ni dung tương tác động
Phát trin các ng dng quy mô ln
©2004 Trn Minh Châu. FOTECH. VNU
7
Chương 1.
1.2 Mt s ngôn ng lp trình bc cao
•BASIC
Beginner’s All-Purpose Symbolic Instruction Code
–T gia nhng năm1960
Visual Basic
GUI, x lý s kin (event handling), s dng Win32 API, lp trình hướng
đối tượng (object-oriented programming), bt li (error handling)
Visual C++
C++ ca Microsoft và m rng
•Thư vin ca Microsoft (Microsoft Foundation Classes -MFC)
•Thư vin chung
GUI, đồ ha, lp trình mng, đa lung (multithreading), …
Dùng chung gia Visual Basic, Visual C++, C#
•C#
–Bt ngun t C, C++ và Java
Ngôn ng điu khin theo s kin (event-driven), hoàn toàn hướng đối
tượng, ngôn ng lp trình trc quan (visual programming language)
©2004 Trn Minh Châu. FOTECH. VNU
8
Chương 1.
1.3 Lch s ngôn ng C và C++
•C
Dennis Ritchie (Bell Laboratories)
Là ngôn ng phát trin ca h điu hành UNIX
Độc lp phn cng => có th viết các chương trình kh chuyn
–Chun hóa năm 1990 – ANSI C
Kernighan & Ritchie “The C Programming Language”, 2nd, 1988
•C++
–Là m rng ca C
Đầu nhng năm 1980: Bjarne Stroustrup (phòng thí nghim Bell)
Cung cp kh năng lp trình hướng đối tượng.
Ngôn ng lai
•Lp trình cu trúc kiu C
•Lp trình hướng đối tượng
•C hai
Có cn biết C trước khi hc C++?
©2004 Trn Minh Châu. FOTECH. VNU
9
Chương 1.
1.4 H thng C++
–Môi trường phát trin chương trình (Program-development
environment)
Ngôn ng
–Thư vin chun (C++ Standard Library)
©2004 Trn Minh Châu. FOTECH. VNU
10
Chương 1.
1.4 Môi trường cơ bn cho lp trình C++
Các giai đon ca
chương trình C++:
1. Son tho - Edit
2. Tin xlý - Preprocess
3. Biên dch - Compile
4. Liên kết - Link
5. Np - Load
6. Chy - Execute
Loader
Primary
Memory
Chương trình được viết
bng chương trình son
tho và lưu trên đĩa.
Chương trình tin x
thc hin xlý mã ngun
Trình np np chương
trình vào bnh
CPU nhn tng lnh, thc
thi lnh đó, cóth lưu các
giátrdliu mi khi
chương trình chy.
Compiler
Trình biên dch to object
code và lưu trên đĩa.
Trình kết ni kết hp
objectcode vi các thư vin,
to file chy được và lưu
lên đĩa
Editor
Preprocessor
Linker
CPU
Primary
Memory
.
.
.
.
.
.
.
.
.
.
.
.
Disk
Disk
Disk
Disk
Disk