Lập trình C++ cơ bản, giải thích không thể dễ hiểu hơn

Lập trình C++, chà, ngôn ngữ thì lâu đời rồi nhưng giờ vẫn còn nhiều anh em học. Thật lòng mà nói thì bắt đầu với C++ lúc làm quen với lập trình không phải không tốt.

Yên tâm là bài viết này giải thích tường tận và không thể nào chi tiết hơn nha.

Lập trình C++
Nên là dễ vì lập trình C++ không đơn giản đâu nha

1. Cú pháp và chương trình đầu tiên

Bắt đầu với toàn lý thuyết khi muốn lập trình C++ cũng không phải là ý hay, chi bằng ta đi tới luôn với cú pháp và biên dịch. Sau đó cùng đi với anh em qua các thuật ngữ cơ bản.

  • Viết chương trình mã code trong editor, anh em có thể dùng notepad hoặc bất cứ thứ gì nha. Lưu lại nó với format là .CPP, .C, .CP. Chỉ vậy là đủ
  • Cho anh em beginner thì không cần phức tạp, cứ up lên với online IDE nha (cái này là trình biên dịch online) dùng để chạy code của anh em. Link IDE đây nha anh em
  • Hiểu các thuật ngữ cơ bản

// Chương trình C++ in ra dòng chữ "Xin chao"
#include <iostream>
using namespace std;
  
// Main() function: nơi chương trình được thực thi
int main()
{
    // prints "Xin chao
    cout << "Xin chao";
  
    return 0;
}

Cứ code ở notepad chứ chưa cần cài IDE gì nha

Lập trình C++

Chương trình hello world (xin chào) là chương trình đầu tiên thường được viết khi học ngôn ngữ lập trình mới. Sau khi chạy và thấy kết quả output rồi.

Giờ tới lúc giải thích chi tiết cho anh em từng dòng code nha. Đừng hoang mang, mọi sự đều có lý do

2. Giải thích từng dòng code.

Dòng đầu tiên,

2.1 Dòng đầu tiên – comment

// Chương trình C++ in ra dòng chữ “Xin chao”: Dòng này là dòng comment (bình luận). Bình luận là cách mà anh em thêm nội dung bổ trợ để giải nghĩa cho code của mình. Dòng comment khi biên dịch chương trình sẽ không được để tâm tới. Nói chung là trình biên dịch sẽ bỏ qua nó, không quan tâm tới dòng này. Về khú pháp vì với lập trình C++, dòng comment luôn bắt đầu với ‘//’, không có ‘ nha anh em, hoặc có một cách khác là /*…*/, cái này là comment một khối.

// Chương trình C++ in ra dòng chữ "Xin chao"

Kiểu blog

/* Chương trình C++ in ra dòng chữ "Xin chao" */

2.2 Cần gì order giúp

#include: Trong ngôn ngữ lập trình C++ tất cả những dòng bắt đầu bằng dầu # sẽ được gọi bởi bộ tiền xử lý (gọi là biên dịch), thứ đọc code của anh em. Dòng #include này nói với trình biên dịch là cần iostream #include<iostream>. Trình biên dịch lúc nà hiểu lệnh này là, lúc mà biên dịch chương trình này á, làm ơn biên dịch giúp t luôn cả iostream. Về preprocessors anh em có thể tham khảo thêm More on Preprocessors.

#include <iostream>

À, vậy là với # thì cần gì mình cứ order với trình biên dịch, về sau anh em còn work nhiều với cái khác cần compile ha.

Tuyển dụng Fresher IT tại đây!

2.3 Viết nhiều không anh gì ơi?

Sau khi đã chuẩn bị nhiều thứ để sẵn sàng viết code, anh em vẫn thấy cái dòng số 3. Dòng này mới nhìn thì vô cùng khó hiểu.

using namespace std;

Bình tĩnh tui nói anh em nghe, trong Lập trình C++ á, namespace được dùng để khai báo sử dụng một tên không gian nào đó. Vẫn khó hiểu, ok

// file1.h
class LapTrinhCCongCong
{
};

// file1.h
class LapTrinhCCongCong
{
};

Phía trên đây ta thấy có 2 lớp có chung tên là LapTrinhCCongCong, trình biên dịch của C++ không thể hiểu được cái nào mới là đúng, lúc này namespace là thứ ta cần sử dụng tới.

#include <iostream>
using namespace std;
 
// Namespace n1
namespace LapTrinhCCongCong {
  void fun()
  {
      cout << "Xin Chao"
           << endl;
  }
}
 
// Sử dụng những thứ đã có ở namespace LapTrinhCCongCong
using namespace LapTrinhCCongCong;
 
// Driver Code
int main()
{
    // Gọi hàm fun đã khai báo sẵn trong namespace LapTrinhCCongCong
    fun();
    return 0;
}

2.4 Zô Zô, code thôi chứ khai báo đăng ký nhiều quá rồi

int main(): Dòng này khia báo một hàm có tên là main, chữ int đầu tiên có nghĩa là kiểu trả về và int này là integer (số). Hàm này bao gồm một loạt câu lệnh đằng sau nó. Anh em chú ý là tất cả các chương trình C++ đều phải bằng đầu với hàm main(), không quan trọng là hàm này nằm đâu, nhưng bắt buộc phải có hàm này.

int main()

2.5 Mở đóng, mở đóng mở

{ và }

Mở ngoặc là bắt đầu cho những gì sắp code ‘{‘ và dấu đóng ngoặc ‘}’ là kết thúc của hàm, ở đây là hàm main. Tất những gì anh em viết bên trong đóng và mở ngoặc đều là những câu lệnh sẽ được thực thi trong hàm main()

2.6 In xin chào đi thôi, lâu quá rồi

Bình tĩnh, giải thích từng dòng thì nó lâu, nhưng mà đã hiểu là hiểu sâu, hiểu rõ.

std::cout<<“Xin chao”;:  Dòng này nó nói với compiler là in ra đi, in giúp tao cái dòng “Xin chao” ở màn hình đi. Trong lập trình C++ thì xong này là một câu lệnh. Anh em nhớ tất cả câu lệnh trong C++ đều kết thúc bằng dấu chấm phẩy. Dấu chấm phẩy này sử dụng để trình compiler biết là nó kết thúc một câu lệnh. Dòng std::cout sử dụng để in ra những nội dung trong màn hình, nội dung này nằm trong hai dấu hai chấm.

Còn dấu bé?. Ok cái dấu bé này cho biết “<<” tất cả những gì sau nó sẽ hiển thị ra ngoài màn hình.

cout << "Xin chao";

2.7 Trả về gì đây? Trả về gì đây?

return 0; : Dòng này cũng là một câu lệnh nha anh em. Dòng này trả về giá trị cho hàm đã định nghĩa, ở đây là hàm name. Cứ thấy return, trả về là anh em hiểu là kết thúc một hàm. Có viết code vào đây thì cũng không chạy nữa. Câu lệnh này thường được sử dụng khi kết thúc một hàm

return 0;

Cuối cùng cũng xong, compile thành công nha anh em

Lập trình C++

3. Lưu ý

Bằng giải thích từng dòng code phía trên cho anh em mới bắt đầu bằng lập trình C++, có một số điểm anh em cần lưu ý .

  • Luôn luôn sử dụng include ở đầu file để thực thi các hàm dễ hàng hơn. Trong ví dụ này là <iostream>, nếu không có nó, câu lệnh trong hàm main như std::cinstd::cout sẽ không thể được gọi. Trình biên dịch sẽ báo lỗi
  • Thực thi của code luôn bắt đầu trong hàm main, bất kể là import thứ gì, không có hàm main() thì code sẽ không đươc thực thi.
  • It is a good practice to use Indentation and comments in programs for easy understanding.
  • cout is used to print statements and cin is used to take inputs.

Cảm ơn anh em đã đọc bài – Thank you for your time. Happy coding!

Tác giả: Kiên Nguyễn

Xem thêm:

Tham khảo ngay việc làm IT mọi cấp độ trên TopDev!