Cú pháp một chương trình C++

1/ Cú pháp

Chúng ta cùng nhau phân tích đoạn mã ví dụ bên dưới để hiểu tốt hơn.

#include <iostream>
using namespace std;

int main() {
  cout << "Hello World!";
  return 0;
}

Dòng 1: #include <iostream> (lưu ý là không có dấu chấm phẩy ; ở cuối) là một thư viện tệp tin tiêu đề (header file library) cho phép chúng ta làm việc với các đối tượng đầu vào và đầu ra (input and output objects), chẳng hạn như cout. Tệp tin tiêu đề giúp bổ sung thêm chức năng cho các chương trình C++.

Dòng 2: using namespace std; có nghĩa là chúng ta có thể sử dụng tên cho các đối tượng và biến từ thư viện chuẩn.

Đừng lo lắng nếu các em chưa hiểu được 2 dòng này, cứ nghĩ chúng là một thứ gì đó mà luôn luôn (hoặc hầu hết) xuất hiện trong một chương trình C++.

Dòng 3: Một dòng trống. Trình biên dịch C++ sẽ bỏ qua dòng trống. Ở đây chúng ta sử dụng nó với mục địch làm cho mã nhìn thoáng đãng, dễ đọc hơn.

Dòng 4: int main() được gọi là một hàm (function), nó luôn luôn xuất hiện trong một chương trình C++. Bất kỳ mã nào bên trong dấu ngoặc nhọn {} của nó sẽ được thực thi.

Dòng 5: cout (phát âm là “see-out”) là một đối tượng được sử dụng cùng với toán tử chèn (insertion operator) << để xuất/in ra văn bản (text). Trong ví dụ này, nó sẽ xuất ra “Hello World!“.

 Lưu ý: Mọi câu lệnh C++ đều kết thúc bằng dấu chấm phẩy ;

Dòng 6: return 0; kết thúc hàm main().

Dòng 7: Đừng quên thêm dấu ngoặc nhọn đóng } để thực sự kết thúc hàm main().

Thông qua ví dụ trên thì chúng ta thấy rằng cú pháp một chương trình C++ gồm các phần chính là: khai báo thư viện tệp tin tiêu đề với #include, khai báo sử dụng không gian tên của đối tượng với using namespace và hàm main().

2/ Bỏ qua không gian tên

namespace

Các em có thể thấy một số chương trình C++ chạy mà không sử dụng không gian tên của đối tượng. Dòng using namespace std; có thể được bỏ qua và thay thế bằng từ khóa std, theo sau là toán tử :: cho một số đối tượng, ví dụ ở trên có thể viết lại như sau:

#include <iostream>

int main() {
  std::cout << "Hello World!";
  return 0;
}