TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÍNH C/C++
Ữ
Ô
Í
GV: Từ thị Xuân Hiền
1
1. Lịch sử của ngôn ngữ C/C++ 1 Lịch sử của ngôn ngữ C/C++
(cid:136) C được tạo bởi Dennis Ritchie ở Bell Telephone (cid:136) C được tạo bởi Dennis Ritchie ở Bell Telephone
Laboratories vào năm 1972.
(cid:136) Vào năm 1983, học viện chuẩn quốc gia Mỹ (cid:136) Vào năm 1983, học viện chuẩn quốc gia Mỹ (American National Standards Institute - ANSI) thành lập một tiểu ban để chuẩn hóa C được biết đến như ANSI Standard C
(cid:136) C++ được xây dựng trên nền tảng ANSI
Standard C S d d C
(cid:136) C++ là một ngôn ngữ lập trình hướng đối
2
tượng, nó bao hàm cả ngôn ngữ C tượ ữ C ó b hà ô ả
2. Kỹ thuật để giải quyết một bài toán 2 Kỹ thuật để giải quyết một bài toán
như những bước
(cid:136) Một chương trình máy tính được thiết kế để giải (cid:136) Một chương trình máy tính được thiết kế để giải quyết một bài toán nào đó. Vì vậy, những bước cần để tìm kiếm lời giải cho một bài toán cũng cần để tìm kiếm lời giải cho một bài toán cũng giống cần để viết một chương trình. g (cid:136) Các bước gồm:
ị y
3
− Xác định yêu cầu của bài toán − Đưa ra thuật toán (dùng mã giả, hoặc lưu đồ) Cài đặt (viết) chương trình − Cài đặt (viết) chương trình − Thực hiện chương trình và kiểm chứng
g
3.Các bước trong chu trình phát triển chương trình
4
g
3.Các bước trong chu trình phát triển chương trình
(cid:137)Nhập mã nguồn (source code) (cid:137)Nhập mã nguồn (source code)
− Mã nguồn là tập lệnh dùng để chỉ dẫn máy lập trình lập trình
tính thực hiện công việc do người tính thực hiện công việc do người đưa ra − Tập tin mã nguồn có phần mở rộng .cpp Tập tin mã nguồn có phần mở rộng cpp (C++)
(cid:137)Biên dịch mã nguồn (compile) (cid:137)Biên dịch mã nguồn (compile)
5
− Chương trình viết bằng ngôn ngữ cấp cao C/C++ được biên dịch sang mã máy bằng C/C++ được biên dịch sang mã máy bằng một chương trình dịch(compiler)
g
3.Các bước trong chu trình phát triển chương trình
(cid:137)Liên kết các tập tin đối tượng tạo các tập tin (cid:137)Liên kết các tập tin đối tượng tạo các tập tin
6
thực thi (executable file). − C/C++ có một thư viện hàm được tạo sẵn C/C++ có một thư viện hàm được tạo sẵn − Tập tin đối tượng do trình biên dịch tạo ra kết hợp với mã đối tượng để tạo tập tin thực kết hợp với mã đối tượng để tạo tập tin thực thi, quá trình này được tạo bởi bộ liên kết ) (Linker) ( (cid:137)Thực hiện chương trình
g
3.Các bước trong chu trình phát triển chương trình
(cid:137)Thực hiện chương trình (cid:137)Thực hiện chương trình
7
− Chương trình nguồn được biên dịch và liên kết sẽ tạo nên tập tin thực thi và thực thi tại kết sẽ tạo nên tập tin thực thi và thực thi tại dấu nhắc hệ thống − Nếu chương trình có lổi phải được chỉnh sửa Nếu chương trình có lổi phải được chỉnh sửa và biên dịch lại. Quá trình 4 bước sẽ được lập lại cho đến khi − Quá trình 4 bước sẽ được lập lại cho đến khi tập tin thực thi thực hiện đúng yêu cầu bài toán
g
4. Khảo sát một chương trình ộ C/C++ đơn giản
// my first program in C/C++
// my first program in C/C++
#include
cout << "Hello World!"; //Output “Hello World!” getch(); getch(); return 0;
8
} }
g
4. Khảo sát một chương trình ộ C/C++ đơn giản
9
//myfirstprograminC/C++:
//myfirstprograminC/C++:
dòng chú thích, không ảnh hưởng đến hoạt động
của chương trình
của chương trình
#include
g
4. Khảo sát một chương trình ộ C/C++ đơn giản
int main(): intmain(): − Hàm main là điểm mà tất cả các chương trình
C/C++ bắt đầu thực hiện. C/C++ bắt đầu thực hiện
− Hàm main không phụ thuộc vào vị trí của hàm Nội d ng t ong hàm main l ôn được thực hiện − Nội dung trong hàm main luôn được thực hiện đầu tiên khi chương trình được thực thi − Chương trình C/C++ phải tồn tại hàm main() Chương trình C/C++ phải tồn tại hàm main() − Nội dung của hàm main() tiếp sau phần khai
10
báo chính thức đặt trong cặp dấu { } báo chính thức đặt trong cặp dấu { }
g
4. Khảo sát một chương trình ộ C/C++ đơn giản
− cout<< HelloWorld!: cout<<"HelloWorld!“: Đây là một lệnh nằm trong phần thân của hàm mainmain
ệ ò ệ
11
− Cout: là một dòng (stream) xuất chuẩn C/C++ được định nghĩa trong thư viện iostream.h Khi dòng lệnh thưc thi thì dòng lệnh Hello Word! ì ò được xuất ra màn hình − getch(): dùng để chờ nhập một ký tự từ bàn getch(): dùng để chờ nhập một ký tự từ bàn phím. return0: lệnh kết thúc hàm main trả về mã đi − return0: lệnh kết thúc hàm main trả về mã đi sau nó.
5. Các chú thích 5 Các chú thích
hú thí h đượ
á lậ t ì h iê
(cid:136) Các chú thích được các lập trình viên sử (cid:136) Cá ử dụng để ghi chú hay mô tả trong các phần của chuong trình. t ì h h
hầ
ủ
(cid:136) Trong C/C++ có hai cách để chú thích: (cid:136) Chú thích dòng: dùng cập dấu //. (cid:136) Chú thích khối (chú thích trên nhiều (cid:136) Chú thích khối (chú thích trên nhiều
dòng) dùng cặp /* ... */.
12
5. Các chú thích 5 Các chú thích
/ My second program in C/C++ with more comments
/* My second program in C/C++ with more comments
Author: Novice programmer
Date: 01/01/2008
*/
#include
cout << "Hello World! "; // output Hello World! cout << "I hate C/C++."; // output I hate C/C++. getch(); getch(); return 0;
13
}
g
ộ
6. Cấu trúc của một chương trình C/C++
(cid:137) Cấu trúc một chương trình C/C++ gồm: các (cid:137) Cấu trúc một chương trình C/C++ gồm: các
14
tiền xử lý, khai báo biến toàn cục, hàm main…
g
ộ
6. Cấu trúc của một chương trình C/C++
15
7. Các tập tin thư viện thông dụng 7 Các tập tin thư viện thông dụng
(cid:136) Đây là các tập tin chứa định nghĩa các (cid:136) Đây là các tập tin chứa định nghĩa các
hàm thông dụng khi lập trình C/C++.
(cid:136) Muốn sử dụng các hàm trong các (cid:136) Muốn sử dụng các hàm trong các thì phải khai
16
tin
tin
tập
tập
header này
báo #include
7. Các tập tin thư viện thông dụng 7 Các tập tin thư viện thông dụng
(cid:136) Các tập tin thư viện thông dụng gồm: (cid:136) Các tập tin thư viện thông dụng gồm:
tự tự
• Stdio.h(C), iostream.h(C++): định nghĩa các hàm vào ra chuẩn như các hàm xuất dữ các hàm vào ra chuẩn như các hàm xuất dữ liệu (printf())/cout), nhập giá trị cho biến từ bàn phím (scanf())/cin), nhận ký từ bàn phím (scanf())/cin), nhận ký (getc()), in ký tự ra màn hình (putc()), nhập một chuỗi ký tự từ bàm phím (gets()), xuất chuỗi ký tự ra màn hình (puts()) ỗ
• Conio.h: định nghĩa các hàm vào ra trong
17
chế độ DOS, như clrscr(), getch(), … ế ộ
7. Các tập tin thư viện thông dụng 7 Các tập tin thư viện thông dụng
log(),
hàm open(), _open(), hàm open(), open(),
18
• math.h: Định nghĩa các hàm toán học như: mathh: Định nghĩa các hàm toán học như: log10(), sin(), cos(), abs(), sqrt(), tan(), acos(), asin(), atan(), pow(), exp(), … tan() acos() asin() atan() pow() exp() • alloc.h:định nghĩa các hàm vào ra cấp thấp read(), gồm các read(), gồm các _read(), close(), _close(), creat(), _creat(), creatnew(), eof(), filelength(), lock(), …