Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Page 1
Cú pháp C++ cơ bản
Khi chúng ta xem xét một chương trình C++, nó có thể được định nghĩa như là một tập hợp của
các đối tượng, mà giao tiếp thông qua việc triệu hồi các phương thức của mỗi đối tượng đó. Dưới
đây, chúng tôi miêu tả ngắn gọn ý nghĩa của class (lớp), object (đối tượng), method (phương thức)
và các biến đối tượng:
Object - Đối tượng có các trạng thái và hành vi. Ví dụ: một đối tượng dog có các trạng thái
là color, name, breed, và các hành vi là wagging, barking, eating. Một đối tượng là một
minh họa của một lớp.
Class - Một lớp có thể được định nghĩa như là một template/blueprint, mà miêu tả hành
vi/trạng thái mà đối tượng hỗ trợ.
Methods - Về cơ bản, một phương thức là một hành vi. Một lớp có thể chứa nhiều phương
thức. Phương thức là nơi tính logic được viết, dữ liệu được thao tác và tất cả action được
thực thi.
Instant Variables - Mỗi đối tượng có tập hợp biến đối tượng duy nhất của nó. Trạng thái
của một đối tượng được tạo ra bởi các giá trị được gán cho các biến đối tượng của nó.
Cấu trúc chương trình C++
Bạn theo dõi một đoạn code đơn giản sẽ in Hello World.
#include
using namespace std;
// main() is where program execution begins.
int main()
{
cout << "Hello World"; // prints Hello World
return 0;
}
Chương trình trên có các phần sau:
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Page 2
Ngôn ngữ C++ định nghĩa một số header, mà chứa tong tin cần thiết và hữu ích cho
chương trình của bạn. Với chương trình này, header là là cần thiết.
Dòng using namespace std; nói cho compiler sử dụng std namespace. Namespce là phần
bổ sung gần đây cho C++.
Dòng tiếp theo // main() is where program execution begins. là một comment đơn dòng
trong C++. Các comment đơn dòng bắt đầu với // và kết thúc ở cuối dòng.
Dòng int main() là hàm main, tại đây việc thực thi chương trình bắt đầu.
Dòng tiếp theo cout << "This is my first C++ program."; làm thông báo “This is my first
C++ program” được hiển thị trên màn hình.
Dòng tiếp theo return 0; kết thúc hàm main() và làm nó trả về giá trị 0 tới tiến trình đang gọi.
Biên dịch và thực thi chương trình C++
Dưới đây là cách lưu file, biên dịch và chạy chương trình. Bạn theo các bước sau:
Mở một text editor và thêm đoạn code trên.
Lưu file với tên: hello.cpp.
Mở một dòng nhắc lệnh (command prompt) và tới thư mục nơi bạn lưu file đó.
Soạn 'g++ hello.cpp ' và nhấn Enter để biên dịch code trên. Nếu không có lỗi xảy ra trong
code của bạn thì dòng nhắc lệnh sẽ đưa bạn tới dòng tiếp theo và tạo a.out file có thể thực
thi.
Bây giờ, bạn soạn 'a.out' để chạy chương trình.
Bạn sẽ thấy 'Hello World' được in trên cửa sổ.
$ g++ hello.cpp
$ ./a.out
Hello World
Bạn chắc chắn rằng g++ là trong path của bạn và bạn đang chạy nó trong thư mục mà chứa
hello.cpp file.
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Page 3
Bạn có thể biên dịch chương trình C/C++ bởi sử dụng makefile. Để biết thêm chi tiết, bạn có thể
truy cập: Makefile Tutorial.
Dấu chấm phảy và khối (block) trong C++
Trong C++, dấu chấm phảy là ký tự kết thúc lệnh (statement terminator). Nghĩa là, mỗi lệnh đơn
phải kết thúc bởi một dấu chấm phảy. Nó chỉ dẫn sự kết thúc của một thực thể logic.
Dưới đây là ví dụ về 3 lệnh khác nhau:
x = y;
y = y+1;
add(x, y);
Một khối (block) là một tập hợp các lệnh được kết nối một cách logic, mà được bao quanh bởi các
dấu ngoặc móc mở và đóng. Ví dụ:
{
cout << "Hello World"; // prints Hello World
return 0;
}
Hai dạng sau là tương đương, C++ không quan tâm bạn đặt bao nhiêu lệnh trên một dòng. Ví dụ:
x = y;
y = y+1;
add(x, y);
Là giống với:
x = y; y = y+1; add(x, y);
Định danh (Identifier) trong C++
Một Định danh (Identifier) trong C++ là một tên được sử dụng để nhận diện một biến, hàm, lớp,
module, hoặc bất kỳ user-defined item nào (người dùng tự định nghĩa). Một Định danh (Identifier)
bắt đầu với một chữ cái từ A tới Z hoặc từ a tới z hoặc một dấu gạch dưới (_) được theo sau bởi 0
hoặc nhiều chữ cái, dấu gạch dưới và ký số (từ 0 tới 9).
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Page 4
C++ không cho phép các ký tự như @, $ và % bên trong các Identifier. C++ là ngôn ngữ lập trình
phân biệt kiểu chữ. Vì thế, Manpower và manpower là hai Identifier khác nhau trong C++.
Dưới đây là một số ví dụ về Identifier (Định danh) thích hợp:
mohd zara abc move_name a_123
myname50 _temp j a23b9 retVal
Từ khóa trong C++
Bảng dưới liệt kê các từ được dự trữ (dành riêng) trong C++. Những từ này không thể được sử
dụng như là constant hoặc biến hoặc bất kỳ tên Identifier (Định danh) nào.
asm else new this
auto enum operator throw
bool explicit private true
break export protected try
case extern public typedef
catch false register typeid
char float reinterpret_cast typename
class for return union
const friend short unsigned
const_cast goto signed using
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Page 5
continue if sizeof virtual
default inline static void
delete int static_cast volatile
do long struct wchar_t
double mutable switch while
dynamic_cast namespace template
Trigraph trong C++
Một Trigraph là một dãy 3 ký tự mà biểu diễn một ký tự đơn và dãy này luôn luôn bắt đầu với 2 dấu
hỏi.
Các Trigraph được mở rộng bất cứ nơi đâu chúng xuất hiện, bao gồm bên trong String literal và
Character literal, trong comment, và trong các preprocessor directive (các directive tiền xử lý).
Dưới đây là các dãy trigraph được sử dụng thường xuyên nhất:
Trigraph Thay thế cho
??= #
??/ \
??' ^
??( [
Copyright © vietjack.com
Trang chia sẻ các bài học online miễn phí Page 6
??) ]
??! |
??< {
??> }
??- ~
Tất cả compiler không hỗ trợ Trigraph và chúng được khuyên là không nên sử dụng bởi vì tính khó
hiểu của nó.
Khoảng trắng (Whitespace) trong C++
Một dòng mà chỉ chứa khoảng trắng (Whitespace), có thể là một comment, được biết đến như là
một dòng trống, và C++ hoàn toàn bỏ qua nó.
Khoảng trắng (Whitespace) là khái niệm được sử dụng trong C++ để miêu tả blank, tab, ký tự
newline, và comment. Khoảng trắng (Whitespace) phân biệt các phần của lệnh và giúp compiler
nhận diện vị trí một phần tử trong một lệnh, ví dụ như int, vị trí phần kết thúc và vị trí phần tử tiếp
theo bắt đầu. Do đó, trong lệnh sau:
int age;
Phải có ít nhất một Whitespace (thường là khoảng trống) giữa int và age để compiler có thể phân
biệt chúng. Trong lệnh:
fruit = apples + oranges; // Get the total fruit
Các ký tự khoảng trắng (Whitespace) giữa fruit và =, hoặc giữa = và apples là không cần thiết; tuy
nhiên, để giúp cho code của bạn dễ đọc hơn, bạn có thể thêm chúng vào.
Tài liệu đính kèm: