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: