Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 1/31
Chương 2: CẤU TRÚC CỦA MỘT CHƯƠNG
TRÌNH C++
Mục tiêu
Trình bày cấu trúc của một chương trình C++ đầy đủ;
các bước thực hiện chương trình và các thao tác nhập
xuất dữ liệu.
Nội dung
Cấu trúc của một chương trình C++
Các tập tin thư viện thông dụng
Không gian tên
Các bước thực hiện chương trình C++
Nhập/Xuất dữ liệu
Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 2/31
Thông thường một chương trình được viết bằng C++ gồm
các phần chính sau:
Phần khai báo các tệp nguyên mẫu (tệp tiêu đề)
Phần khai báo sử dụng không gian tên
Định nghĩa các kiểu dữ liệu
Phần khai báo các kiểu dữ liệu, biến, hằng, hàm, … do
người lập trình định nghĩa và được sử dụng chung trong
toàn bộ chương trình
Hàm main và thân chương trình
Một số tập tin thư viện thông dụng
iostream: thư viện chứa các hàm nhập xuất dữ liệu như:
cout, cin, …
string: thư viện chứa các hàm thao tác trên chuỗi ký tự:
strcpy(), strcat(), strcmp(), …
cmath: thư viện chứa các hàm toán học: sqrt(), pow(),
fabs(), abs(), …
iomanip: thư viện chứa các hàm định dạng dữ liệu xuất:
setprecision(n), setw(n), setfill(ch), setiosflags(), …
2.2 Các tập tin thư viện thông dụng
Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 6/31
Không gian tên (namespace) là một đặc trưng của ANSI
C++, cho phép chúng ta gộp một nhóm các lớp, các đối
tượng toàn cục và các hàm dưới một cái tên.
Không gian tên là một cơ chế dùng để hạn chế phạm vi
sử dụng của một tên
Cú pháp:
namespace Ten_khong_gian_ten
{
Thân của namespace
}
2.3 Không gian tên
Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 7/31
Ví dụ: Định nghĩa không gian tên General như sau:
namespace General
{
int a, b;
}
Lúc này, để truy xuất vào các biến a, b ta sử dụng toán
tử :: như sau:
Cú pháp: using namespace Ten_khong_gian_ten;
Ví dụ:
using namespace std;
namespace first
{ int a = 5; }
namespace second
{ double a = 2.25; }
void main() { using namespace first;
cout<<first::a<<endl; cout<<a + 2<<endl;
}
2.3 Không gian tên
Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 11/31
Ví dụ: Xét 2 đoạn chương trình sau:
Dùng toán tử phạm vi Dùng chỉ thị using
#include <iostream>
int main()
{
std::cout<<“Hello”<< std::endl;
return 0;
}
#include <iostream>
using namespace std;
int main()
{
cout<< “Hello” << endl;
return 0;
}
2.3 Không gian tên
Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 12/31
Quy trình viết và thực hiện chương trình
Tìm các tập tin nguyên mẫu để thực thi
Tất cả các lệnh tiền xử lý đều bắt đầu bằng ký tự #
Ví dụ: #include <iostream>
Báo cho bộ tiền xử lý tìm trong thư mục chuẩn, gọi tập tin
tiêu đề iostream.h và chèn nội dung của nó vào chương trình
nguồn
Bộ tiền
xử lý
Chương
trình nguồn
Chương trình
nguồn mở
rộng
Trình
biên
dịch
Tiền xử lý
Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 16/31
Biên dịch chương trình là quá trình biến đổi mã nguồn
thành mã máy
Trong quá trình biên dịch chương trình nếu có lỗi thì
trình biên dịch sẽ thông báo lỗi
Nếu không có lỗi thì sẽ cho ra kết quả là một tập tin
thực thi ứng dụng có đuôi .exe gọi là chương trình đích
Biên dịch chương trình
Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 17/31
Các giai đoạn biên dịch chương trình
Viết bằng C++ Ngôn ngữ máy
Ngôn ngữ
máy
cin>>biến 1>>biến 2 . . . >>biến n;
Nhập dữ liệu
Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 21/31
Ví dụ:
Để nhập giá trị vào cho biến a và b ta viết:
cin>>a;
cin>>b;
Lưu ý: Khi sử dụng cin
-
Lệnh sẽ bỏ qua không gán các dấu trắng (dấu cách, tab,
xuống dòng vào cho các biến.
-
Khi nhập vào dãy byte nhiều hơn cần thiết để gán cho
các biến thì số byte còn lại (kể cả dấu xuống dòng) sẽ
nằm trong cin. Và nó sẽ tự động gán cho các biến trong
lần nhập sau.
Nhập dữ liệu
Ngôn ngữ lập trình C++ Chương 2: Cấu trúc của một chương trình C++ 22/31
Ví dụ: Xét đoạn chương trình sau
int a;
float b;
char c;
char *s;
cin>>a>>b>>c>>s
Dữ liệu đầu vào:
12
2.54
Abc
Lap trinh
Dữ liệu ra: a=? b=? c=? s=?
trình
istream
cin
ostream
cout
Xuất dữ liệu