Làm gì để học tốt lập trình? Đó chắc chắn là câu hỏi của nhiều người khi mới học lập trình, hay thậm chí với những người đã làm quen một thời gian khá dài. Cần học gì? Học như thế nào và bắt đầu từ đâu?
Thật khó để bắt đầu một thứ gì đó mới mẻ, khó xác định phương hướng, khó hiểu, khó nhớ… đó là cảm giác chung của tất cả mọi người nhưng trên thực tế, việc học lập trình không quá khó khăn như bạn vẫn nghĩ. Đặc biệt nếu bạn bắt đầu học lập trình với C++ thì càng dễ hơn bởi vì C với lượng từ khóa nhỏ gọn, cú pháp khai báo chương trình dễ hiểu dễ nhớ, biên dịch dễ dàng nên rất phù hợp cho người mới bắt đầu.
Những kiến thức quan trọng cho người mới bắt đầu với C/C++ dưới đây sẽ giúp các bạn tiếp cận với C/C++ một cách nhanh chóng và hiệu quả nhất. Để từ đó bạn sẽ tìm ra một phương pháp học tập đúng đắn cho mình.
- Chương trình đầu tiên
Có lẽ một trong những cách tốt nhất để bắt đầu học một ngôn ngữ lập trình là bằng một chương trình. Vậy đây là chương trình đầu tiên của chúng ta :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// my first program in C++ #include <iostream.h> int main () { cout << "Hello World!"; return 0; } Hello World! |
Chương trình trên đây là chương trình đầu tiên mà hầu hết những người học nghề lập trình viết đầu tiên và kết quả của nó là viết câu “Hello, World” lên màn hình. Đây là một trong những chương trình đơn giản nhất có thể viết bằng C++ nhưng nó đã bao gồm những phần cơ bản mà mọi chương trình C++ có.
- Các kiểu dữ liệu, quy tắc đặt tên biến, từ khóa trong C/C++, toán tử,….
Trong khi học lập trình C++ cơ bản, để thao tác với chúng, ta sử dụng các kiểu dữ liệu, quy tắc đặt tên biến, từ khóa trong C/C++, toán tử,….. Hiểu biết về chúng là rất quan trọng vì đây là một trong những thành phần cơ bản của ngôn ngữ C/C++.
- Lập trình cấu trúc
Gần như tất cả các ngôn ngữ lập trình đều có chung các câu lệnh rẽ nhánh, điều kiện, vòng lặp. Nếu học tốt phần lập trình cấu trúc với C/C++ thì các ngôn ngữ khác không còn là vấn đề.
Ví dụ: Hiển thị thông báo: “Biến khác 0” nếu biến var khác = và ngược lại
Viết bằng C/C++:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
if(var == 0) { cout<<"Bien = 0"<<endl; } else { cout<<"Bien khac 0"<<endl; } |
Viết bằng vb.net:
1 2 3 4 5 6 7 8 9 |
If var = 0 Then Console.WriteLine("Bien = 0") Else Console.WriteLine("Bien khac 0") End If |
Qua ví dụ trên chúng ta thấy không có sự khác nhau nhiều giữa các ngôn ngữ trong lập trình cấu trúc. Nếu các bạn học tốt 1 ngôn ngữ lập trình thì các ngôn ngữ khác không quá khó và phức tạp.
Trong phần lập trình cấu trúc, chúng ta quan tâm tới các câu lệnh điều kiện(if…else…, switch…case…), vòng lặp(for()…, while()…, do…while())
- Mảng và chuỗi trong C/C++
Được coi là kiểu dữ liệu nâng cao, mảng cho phép người dùng khai báo 1 lần cho nhiều biến với cùng 1 kiểu dữ liệu và truy xuất thuận tiện tới các biến đó.
Ví dụ: Bạn khai báo 5 biến kiểu số tự nhiên
int BienThuNhat, BienThuHai, BienThuBa, BienThuTu, BienThuNam;
Thật phiền phức nếu số lượng biến nhiều, vì lý do đó mà người sử dụng nên dùng mảng để khai báo:
int BienSo[5];
Đơn giản và thuận tiện hơn đúng không? Và truy xuất tới từng biến cũng dễ hơn, người lập trình không phải nhớ tên tất cả các biến mà mình đã khai báo.
- 5. Con trỏ
Nếu như người lập trình coi con trỏ là 1 phần khó nhất của C/C++ thì đây cũng là 1 phần thú vị nhất. Nếu 1 biến có kiểu dữ liệu là int, float… khi khai báo thì biến sẽ được cấp phát 1 vùng nhớ để lưu trữ biến đó, người lập trình không cần quan tâm tới địa chỉ của biến, khi muốn truy nhập giá trị của biến chỉ cần sử dụng tên biến(đã khai báo). Với mỗi biến được khai báo sẽ bao gồm 2 thành phần: địa chỉ và giá trị, người lập trình chỉ thay đổi được giá trị của biến mà không thể thay đổi được địa chỉ của biến.
Với con trỏ cũng như thế, nó cũng có địa chỉ và giá trị, nhưng giá trị của con trỏ lại là địa chỉ của biến nó trỏ tới, và thông qua địa chỉ của biến đó con trỏ có thể thay đổi giá trị của biến đó.
Ví dụ: khai báo các biến
1 2 3 4 5 6 7 8 9 10 11 12 13 |
int a = 4, *p; p = &a; cout<<&a<<endl; cout<<a<<endl; cout<<&p<<endl; cout<<p<<endl; cout<<*p<<endl; |
Tiền tố: & hiển thị địa chỉ của biến, * hiển thị giá trị của biến mà con trỏ trỏ tới. Trong ví dụ trên cout<<*p<<endl;sẽ hiển thị giá trị 4 và bằng với câu lệnh cout<<a<<endl;
Trong khi học lập trình C++ còn rất nhiều kiến thức khác nữa bạn chú ý nhưng ở mức độ người bắt đầu thì chúng tôi chỉ giới thiệu một số kiến thức cơ bản nhất mà người bắt đầu cần nhớ. Nếu như các bạn nắm vững kiến thức cơ bản thì các kiến thức nâng cao cũng sẽ dễ dàng tiếp thu.