Hướng dẫn dùng dev c++

Khi bắt đầu học lập trình, có rất nhiều ngôn ngữ để lựa chọn. C/C++ là một ngôn ngữ lâu đời, có tốc độ nhanh, các kiểu dữ liệu rõ ràng. Nếu như làm chủ được ngôn ngữ nền tảng như C/C++ thì sau này học các ngôn ngữ khác trở nên dễ dàng hơn, do đó rất phù hợp với người mới bắt đầu. Học lập trình C/C++ có rất nhiều ứng dụng và mở ra cho bạn cực kỳ đa dạng các cơ hội để làm việc cho các công ty/tập đoàn lớn.

Theo mình thấy, với người mới học thì C hay C++ không có quá nhiều sự khác biệt trong cú pháp, C++ còn có thể sử dụng để lập trình hướng đối tượng - Phần này sẽ không được giới thiệu vì trong khuôn khổ bài viết là hướng dẫn lập tình C++ cơ bản. Hiện tại Codelearn đã có khóa học C++ cho người mới bắt đầu dành riêng cho các bạn.

Trong bài viết này mình sẽ đưa ra các hướng dẫn để làm quen C++ cơ bản nhé.

Trên thị trường có rất nhiều IDE và Text Editor dành cho lập trình C/C++. Với các bạn mới bắt đầu, mình khuyên các bạn nên sử dụng Dev C++ làm ide chính để học. Bạn chỉ cần tải về và cài đặt như nhiều hướng dẫn trên internet, Khi muốn code một chương trình thì chỉ cần tạo 1 file mới và code là chạy được bình thường, không cần tạo project gì cả, compile cũng nhanh. Ngoài ra các bạn cũng có thể sử dụng codeblock, visual studio code, ...

Hướng dẫn học C++

1. Các kiểu dữ liệu trong C++, khung chương trình và cách khai báo biến

Một chương trình C++ cơ bản thường được bắt đầu bởi dòng include khai báo thư viện, sau đó là hàm


# include 
using namespace std;
int main() {
  int a = 10; // Khai báo biến a kiểu int có giá trị nguyên là 10
  float b = 1.5; // Khai báo biến b kiểu float có giá trị thực là 1.5 
  char c; // khai báo biến c có kiểu dữ liệu là ký tự char
  c = 'a'; // gán giá trị cho biến c là ký tự 'a'
  string d; // khai báo biến d có kiểu dữ liệu là xâu string
  d = "ok" // gán giá trị cho biến d là xâu "ok"
  return 0;
}

3. Tất cả mọi thứ của chương trình đều sẽ chạy dọc theo hàm


# include 
using namespace std;
int main() {
  int a = 10; // Khai báo biến a kiểu int có giá trị nguyên là 10
  float b = 1.5; // Khai báo biến b kiểu float có giá trị thực là 1.5 
  char c; // khai báo biến c có kiểu dữ liệu là ký tự char
  c = 'a'; // gán giá trị cho biến c là ký tự 'a'
  string d; // khai báo biến d có kiểu dữ liệu là xâu string
  d = "ok" // gán giá trị cho biến d là xâu "ok"
  return 0;
}

3 từ trên xuống dưới, có nghĩa là nếu bạn viết một hàm ngoài


# include 
using namespace std;
int main() {
  int a = 10; // Khai báo biến a kiểu int có giá trị nguyên là 10
  float b = 1.5; // Khai báo biến b kiểu float có giá trị thực là 1.5 
  char c; // khai báo biến c có kiểu dữ liệu là ký tự char
  c = 'a'; // gán giá trị cho biến c là ký tự 'a'
  string d; // khai báo biến d có kiểu dữ liệu là xâu string
  d = "ok" // gán giá trị cho biến d là xâu "ok"
  return 0;
}

3 và trong


# include 
using namespace std;
int main() {
  int a = 10; // Khai báo biến a kiểu int có giá trị nguyên là 10
  float b = 1.5; // Khai báo biến b kiểu float có giá trị thực là 1.5 
  char c; // khai báo biến c có kiểu dữ liệu là ký tự char
  c = 'a'; // gán giá trị cho biến c là ký tự 'a'
  string d; // khai báo biến d có kiểu dữ liệu là xâu string
  d = "ok" // gán giá trị cho biến d là xâu "ok"
  return 0;
}

3 không gọi đến hàm đấy có nghĩa là hàm đấy sẽ không chạy trong chương trình, một hàm luôn luôn phải kết thúc bởi dấu chấm phẩy


# include 
using namespace std;
int main() {
  int a = 10; // Khai báo biến a kiểu int có giá trị nguyên là 10
  float b = 1.5; // Khai báo biến b kiểu float có giá trị thực là 1.5 
  char c; // khai báo biến c có kiểu dữ liệu là ký tự char
  c = 'a'; // gán giá trị cho biến c là ký tự 'a'
  string d; // khai báo biến d có kiểu dữ liệu là xâu string
  d = "ok" // gán giá trị cho biến d là xâu "ok"
  return 0;
}

7 . Dưới đây là bộ khung cơ bản của chương trình


# include 
using namespace std;
int main() {
  int a = 10; // Khai báo biến a kiểu int có giá trị nguyên là 10
  float b = 1.5; // Khai báo biến b kiểu float có giá trị thực là 1.5 
  char c; // khai báo biến c có kiểu dữ liệu là ký tự char
  c = 'a'; // gán giá trị cho biến c là ký tự 'a'
  string d; // khai báo biến d có kiểu dữ liệu là xâu string
  d = "ok" // gán giá trị cho biến d là xâu "ok"
  return 0;
}

8 bằng C++.


# include 
using namespace std;
int main() {
  cout << "Hello world !";
  return 0;
}

Có rất nhiều kiểu dữ liệu trong C++, đối với các bạn mới bắt đầu và để làm các bài tập cơ bản thì nên tìm hiểu trước về


# include 
using namespace std;
int main() {
  int a = 10; // Khai báo biến a kiểu int có giá trị nguyên là 10
  float b = 1.5; // Khai báo biến b kiểu float có giá trị thực là 1.5 
  char c; // khai báo biến c có kiểu dữ liệu là ký tự char
  c = 'a'; // gán giá trị cho biến c là ký tự 'a'
  string d; // khai báo biến d có kiểu dữ liệu là xâu string
  d = "ok" // gán giá trị cho biến d là xâu "ok"
  return 0;
}

9,


# include 
using namespace std;
int main() {
  int a;
  cin >> a;
  cout << a;
  return 0;
}

0,


# include 
using namespace std;
int main() {
  int a;
  cin >> a;
  cout << a;
  return 0;
}

1,


# include 
using namespace std;
int main() {
  int a;
  cin >> a;
  cout << a;
  return 0;
}

2,


# include 
using namespace std;
int main() {
  int a;
  cin >> a;
  cout << a;
  return 0;
}

3,


# include 
using namespace std;
int main() {
  int a;
  cin >> a;
  cout << a;
  return 0;
}

4,


# include 
using namespace std;
int main() {
  int a;
  cin >> a;
  cout << a;
  return 0;
}

5,


# include 
using namespace std;
int main() {
  int a;
  cin >> a;
  cout << a;
  return 0;
}

6, về cách biểu diễn và khoảng của mỗi kiểu dữ liệu. Sau khi đã làm các bài tập và hiểu rõ rồi thì có thể tìm hiểu thêm các kiểu dữ liệu khác. Dưới đây là một vài ví dụ về cách khai báo biến trong C++.


# include 
using namespace std;
int main() {
  int a = 10; // Khai báo biến a kiểu int có giá trị nguyên là 10
  float b = 1.5; // Khai báo biến b kiểu float có giá trị thực là 1.5 
  char c; // khai báo biến c có kiểu dữ liệu là ký tự char
  c = 'a'; // gán giá trị cho biến c là ký tự 'a'
  string d; // khai báo biến d có kiểu dữ liệu là xâu string
  d = "ok" // gán giá trị cho biến d là xâu "ok"
  return 0;
}

Dưới đây là một vài kiểu dữ liệu và khoảng lưu trữ của các kiểu dữ liệu đó.

2. Các câu lệnh nhập xuất và cấu trúc các câu lệnh điều khiển

  1. Câu lệnh nhập xuất.

Trong C++ thì một cách đơn giản để nhập là sử dụng câu lệnh


# include 
using namespace std;
int main() {
  int a;
  cin >> a;
  cout << a;
  return 0;
}

7, và xuất sử dụng câu lệnh


# include 
using namespace std;
int main() {
  int a;
  cin >> a;
  cout << a;
  return 0;
}

8.


# include 
using namespace std;
int main() {
  int a;
  cin >> a;
  cout << a;
  return 0;
}

  1. Câu lệnh rẽ nhánh.

Cách 1: Sử dụng


# include 
using namespace std;
int main() {
  int a;
  cin >> a;
  cout << a;
  return 0;
}

9


# include 
using namespace std;
int main() {
  int a;
  cin >> a;
  if (a > 0) {
    cout << "a la so duong";
  }
  else if (a < 0) {
    cout << "a la so am";
  }
  else {
    cout << "a bang khong";
  }
  return 0;
}

Cách 2: Sử dụng


# include 
using namespace std;
int main() {
  int a;
  cin >> a;
  if (a > 0) {
    cout << "a la so duong";
  }
  else if (a < 0) {
    cout << "a la so am";
  }
  else {
    cout << "a bang khong";
  }
  return 0;
}

0


# include 
using namespace std;
int main() {
  int a;
  cin >> a;
  switch(a) {
    case 0:
      cout << "a bang khong";
      break;
    default:
      cout << "a khac khong";
  }
  return 0;
}

  1. Vòng lặp.

Vòng lặp


# include 
using namespace std;
int main() {
  int a;
  cin >> a;
  if (a > 0) {
    cout << "a la so duong";
  }
  else if (a < 0) {
    cout << "a la so am";
  }
  else {
    cout << "a bang khong";
  }
  return 0;
}

1


# include 
using namespace std;
int main() {
  int n = 10;
  for (int i = 0; i < n; i++) {
    cout << i << " ";
  }
  return 0;
}

Vòng lặp


# include 
using namespace std;
int main() {
  int a;
  cin >> a;
  if (a > 0) {
    cout << "a la so duong";
  }
  else if (a < 0) {
    cout << "a la so am";
  }
  else {
    cout << "a bang khong";
  }
  return 0;
}

2


# include 
using namespace std;
int main() {
  int n = 10;
  int i = 0;
  while (i < n) {
    cout << i << " ";
  }
  return 0;
}

Vòng lặp do while


# include 
using namespace std;
int main() {
  int n = 10;
  int i = 0;
  do {
    cout << i << " ";
  } while (i < n);
  return 0;
}

Bình thường thì sẽ sử dụng chủ yếu vòng lặp


# include 
using namespace std;
int main() {
  int a;
  cin >> a;
  if (a > 0) {
    cout << "a la so duong";
  }
  else if (a < 0) {
    cout << "a la so am";
  }
  else {
    cout << "a bang khong";
  }
  return 0;
}

1 và


# include 
using namespace std;
int main() {
  int a;
  cin >> a;
  if (a > 0) {
    cout << "a la so duong";
  }
  else if (a < 0) {
    cout << "a la so am";
  }
  else {
    cout << "a bang khong";
  }
  return 0;
}

2 thôi. Tác dụng chính của vòng lặp for là lặp theo một số lượng mà mình cần, còn vòng lặp while thì sẽ lặp theo một điều kiện nhất định, do đó sẽ linh hoạt hơn vòng lặp for. Tùy mục đích sử dụng mà lựa chọn vòng lặp phù hợp.

3. Mảng

Mảng 1 chiều


# include 
using namespace std;
int main() {
  int a[10];
  for (int i = 0;i < 10; i++) {
    cin >> a[i];
  }
  for (int i = 0;i < 10; i++) {
    cout << a[i] << " ";
  }
  return 0;
}

Mảng 2 chiều:


# include 
using namespace std;
int main() {
  int a[2][3];
  for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 3; j++) {
      cin >> a[i][j];
    }
  }
  for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 3; j++) {
      cout << a[i][j] << " ";
    }
  }
  return 0;
}

Cũng tương tự như mảng 1 chiều và 2 chiều, các mảng nhiều chiều hơn đều có thể sử dụng tùy theo mục đích của bài toán mà các bạn cần giải. Lưu ý là khi cấp phát cho mảng một độ lớn là n thì chỉ được lưu các giá trị vào các vị trí từ 0 đến n-1.

4. Lập trình hàm

Khi viết chương trình, nếu như tất cả mọi thứ đều được viết tuần tự trong hàm main thì rất khó để theo dõi. Nếu như một số hàm và phần việc được sử dụng nhiều lần thì viết một hàm con ra ngoài là một điều hết sức cần thiết, giúp cho code của bạn trở nên gọn gàng và dễ theo dõi cũng như code hơn. Tham khảo đoạn code sau cho hàm tính tổng.


# include 
using namespace std;
int main() {
  int a = 10; // Khai báo biến a kiểu int có giá trị nguyên là 10
  float b = 1.5; // Khai báo biến b kiểu float có giá trị thực là 1.5 
  char c; // khai báo biến c có kiểu dữ liệu là ký tự char
  c = 'a'; // gán giá trị cho biến c là ký tự 'a'
  string d; // khai báo biến d có kiểu dữ liệu là xâu string
  d = "ok" // gán giá trị cho biến d là xâu "ok"
  return 0;
}

0

5. Xử lý xâu trong C++

Trong C++, xâu biểu diễn bởi kiểu dữ liệu là


# include 
using namespace std;
int main() {
  int a;
  cin >> a;
  cout << a;
  return 0;
}

6, mỗi string là một xâu gồm các ký tự (được biểu diễn bằng kiểu char) liên tiếp. Khác với xâu trong C là một mảng các char và có kết thúc mảng bới ký tự NULL. Các phép xử lý trong xâu khác so với các phép toán xử lý logic. Việc sử dụng kiểu string trong C++ khiến cho việc xử lý xâu trở nên dễ dàng hơn so với kiểu mảng các ký tự char trong C.

Nếu các bạn muốn nhập một xâu thì có 2 cách như sau:


# include 
using namespace std;
int main() {
  int a = 10; // Khai báo biến a kiểu int có giá trị nguyên là 10
  float b = 1.5; // Khai báo biến b kiểu float có giá trị thực là 1.5 
  char c; // khai báo biến c có kiểu dữ liệu là ký tự char
  c = 'a'; // gán giá trị cho biến c là ký tự 'a'
  string d; // khai báo biến d có kiểu dữ liệu là xâu string
  d = "ok" // gán giá trị cho biến d là xâu "ok"
  return 0;
}

1

Ngoài ra các bạn có thể tham khảo một số hàm xử lý xâu sau.


# include 
using namespace std;
int main() {
  int a = 10; // Khai báo biến a kiểu int có giá trị nguyên là 10
  float b = 1.5; // Khai báo biến b kiểu float có giá trị thực là 1.5 
  char c; // khai báo biến c có kiểu dữ liệu là ký tự char
  c = 'a'; // gán giá trị cho biến c là ký tự 'a'
  string d; // khai báo biến d có kiểu dữ liệu là xâu string
  d = "ok" // gán giá trị cho biến d là xâu "ok"
  return 0;
}

2

Tạm kết

Qua bài viết, mình đã giới thiệu các kiến thức cơ bản cần phải biết khi mới bắt đầu học lập trình C++. Để hiểu rõ hơn về C++ thì mọi người có thể tìm kiếm các bài tập và luyện tập thêm trên https://codelearn.io/training vì một khi đã xác định theo con đường lập trình viên là luôn phải học hỏi không ngừng. Làm nhiều bài tập thì các bạn sẽ càng hiểu rõ ngôn ngữ hơn. Hy vọng bài viết này hữu ích với các bạn.