[PHẦN 2] TỰ HỌC LẬP TRÌNH - Lập trình C++ cơ bản – Cấu trúc chương trình
1. Cấu trúc tổng thể của một chương trình
Một chương trình được viết bằng ngôn ngữ lập trình bậc cao, nhìn chung sẽ gồm hai phần: phần khai báo và phần thân:
- Phần khai báo: Hình dung chúng ta chuyển nhà tới một địa điểm mới, và sau đó cần khai báo các thông tin cá nhân cho công an địa phương. Tương tự như vậy, trước khi đi vào lập trình một chương trình, ta cần khai báo những thứ mà mình sẽ sử dụng trong chương trình đó, bao gồm: Tên chương trình, thư viện, các hằng, biến và chương trình con. Đối với ngôn ngữ C/C++, có một cải tiến rất thuận lợi đó là người dùng được quyền khai báo ở bất kỳ đâu trong chương trình, miễn là khai báo trước khi sử dụng một thứ gì đó.
- Phần thân: Bao gồm các dãy lệnh được đặt trong một cặp kí hiệu mở đầu và kết thúc. Các câu lệnh phải được phân tách với nhau bằng dấu
;. Đối với C/C++, các lệnh được đặt trong cặp dấu ngoặc nhọn{}.
2. Các thành phần của một chương trình C++
2.1. Phần khai báo
Khai báo thư viện
Định nghĩa thư viện: Một ngôn ngữ lập trình thường có sẵn một số thư viện cung cấp các chương trình đã được xây dựng sẵn. Để sử dụng chúng, cần khai báo thư viện chứa các chương trình đó.
Cú pháp khai báo:
#include <{Tên_thư_viện}>
Ví dụ:
#include <iostream>Trong C++ có rất nhiều thư viện khác nhau, mỗi thư viện có tác dụng riêng. Tuy nhiên, đối với lập trình thi đấu chúng ta chỉ sử dụng một số thư viện. Một cách nhanh để khai báo tất cả các thư viện trong C++, đó là cú pháp#include <bits/stdc++.h>.
Khai báo không gian tên (namespace)
Định nghĩa namespace: Về bản chất, namespace định nghĩa một phạm vi sử dụng hàm. Giả sử trong khi lập trình, người dùng gọi ra một hàm FF nào đó, nhưng có tới 22 thư viện có chung hàm tên là FF (tất nhiên với chức năng khác nhau). Vậy làm sau để chương trình biết rằng người dùng cần sử dụng hàm FF nào? Khái niệm namespace ra đời để phục vụ cho mục đích phân biệt ngữ cảnh sử dụng một hàm, một cái tên nào đó. C/C++ cung cấp một namespace tiêu chuẩn (std) đã được xây dựng sẵn để giúp người dùng sử dụng các hàm và lệnh trong thư viện chuẩn của C++.
Cú pháp khai báo:
using namespace {Tên_namespace}
Ví dụ:
using namespace std;
2.2. Phần thân
Bao gồm các hàm của chương trình, trong đó bắt buộc có duy nhất một hàm main(), hay còn gọi là hàm thực thi. Trong quá trình biên dịch, chương trình dịch sẽ đi vào dịch các câu lệnh trong hàm main() đầu tiên, vì vậy mọi hàm con của chương trình đều phải được gọi ra trong hàm main() nếu như muốn được thực thi.
Các câu lệnh trong phần thân chương trình luôn luôn kết thúc bằng dấu ;.
Trong các hàm sẽ bao gồm các lệnh đơn hoặc các khối lệnh. Một khối lệnh là một cụm gồm các lệnh liên quan tới nhau, được đặt trong một cặp ngoặc {}. Thuật ngữ câu lệnh được sử dụng để chỉ chung cho câu lệnh đơn và khối lệnh.
Đôi khi chúng ta cần chú thích cho một đoạn chương trình nào đó để diễn giải cho người đọc, khi đó ta sử dụng comment. Có hai dạng comment: Dạng khối - được đặt trong cặp dấu /* và */, và dạng dòng đơn - bắt đầu bằng cặp dấu //. Khi biên dịch, những gì viết trong comment sẽ được trình biên dịch bỏ qua.