1/ Các kiểu dữ liệu cơ bản

Kiểu dữ liệu chỉ định kích thước và kiểu thông tin mà biến sẽ lưu trữ:

Kiểu dữ liệu Kích thước Mô tả
boolean 1 byte Lưu trữ các giá trị true hay false
char 1 byte Lưu trữ một ký tự/chữ cái/số hoặc các giá trị ASCII
int 2 hay 4 byte Lưu trữ số nguyên
float 4 byte Lưu trữ số thập phân. Phần thập phân lưu được 7 số
double 8 byte Lưu trữ số thập phân. Phần thập phân lưu được 15 số

2/ Kiểu số

Sử dụng int khi các em cần lưu trữ một số nguyên như 35 hoặc 1000, và float hoặc double khi các em cần lưu một số thập phân như 9.99 hoặc 3.14515.

Ví dụ về kiểu int

int myNum = 1000;
cout << myNum;

Ví dụ về kiểu float

float myNum = 5.75f; // dau cham "." la dau thap phan, khong dung dau phay ","
float myNum1 = 10.35F; // f = F
cout << myNum;

Ví dụ về kiểu double

double myNum = 19.99;
float myNum1 = 10.35; // neu khong co f (hoac F) o cuoi, trình bien dich se hieu myNum1 la kieu double
cout << myNum;

Kích thước kiểu double là 8 byte, nên có thể lưu trữ được giá trị số lớn hơn kiểu float 4 byte. Độ chính xác của float chỉ là sáu hoặc bảy chữ số thập phân, trong khi các biến kiểu double có độ chính xác khoảng 15 chữ số. Do đó sẽ an toàn hơn khi sử dụng double cho hầu hết các phép tính.

Số thập phân cũng có thể là một số khoa học, với chữ "e" để biểu thị lũy thừa của 10:

float f1 = 35e3;
double d1 = 12E4;
cout << f1;
cout << d1;

Bàn thêm
1 byte = 8 bit, như vậy:
- Kiểu float sẽ có 4 byte x 8 = 32 bit, 1 bit lưu dấu (âm hoặc dương), 8 bit cho số mũ và 23 bit cho giá trị, số có thể lưu giữ trong khoảng ±3.40282347E+38F.
- Kiểu double sẽ có 8 byte x 8 = 64 bit, 1 bit lưu dấu (âm hoặc dương), 11 bit cho số mũ và 52 bit cho giá trị, số có thể lưu giữ trong khoảng ±1.79769313486231570E+308

3/ Kiểu boolean

Kiểu dữ liệu boolean được khai báo với từ khóa bool và chỉ có thể nhận các giá trị true hoặc false.

Khi giá trị được trả về, true = 1false = 0.

Ví dụ

bool isCodingFun = true;
bool isFruitTasty = false;
cout << isCodingFun;  // In ra 1 (true)
cout << isFruitTasty;  // In ra 0 (false)

4/ Kiểu ký tự

Kiểu ký tự char được sử dụng để lưu trữ một ký tự. Ký tự phải được đặt trong cặp ngoặc đơn như 'A' hoặc '@':

char myGrade = 'B';
cout << myGrade;

Ngoài ra, bạn có thể sử dụng các giá trị ASCII để hiển thị các ký tự nhất định:

char a = 65, b = 66, c = 67;
cout << a; // in ra A (vi trong bang ma ASCII, A = 65)
cout << b; // in ra B
cout << c; // in ra C

5/ Kiểu chuỗi

Kiểu chuỗi string được sử dụng để lưu trữ một chuỗi ký tự (văn bản). Giá trị chuỗi phải được đặt trong cặp ngoặc kép:

string greeting = "Hello";
cout << greeting;

Để sử dụng kiểu chuỗi, các em phải khai báo thư viện <string>:

#include <iostream>
#include <string>
using namespace std;

int main() {
  string greeting = "Hello";
  cout << greeting;
  return 0;
}

6/ Xuất ra số thập phân

Trong bài “Xuất trong C++”, các em đã được học cout để xuất ra các giá trị, nhưng có một vấn đề nhỏ, với số thập phân, phần thập phân mặc định chỉ được xuất ra 3 số.

Ví dụ:

double x = 124.1254567893224;
cout << x; // ket qua: 124.125

Phần thập phân là .1254567893224 nhưng chỉ .125 được xuất ra.

Để xuất ra đầy đủ, các em cần sử dụng hàm precision,

Cú pháp: cout.precision(p)

  • p: độ chính xác

Ví dụ:

#include <iostream>
using namespace std;

int main()
{
    double x = 124.1254567893224;
    cout << x; // ket qua: 124.125
    cout << "\n";
    cout.precision(7);
    cout << x; // ket qua (dem tu dau x, lay 7 so): 124.1254
    cout << "\n";
    cout.precision(8); // ket qua (dem tu dau x, lay 8 so): 124.12545
    cout << x;

    return 0;
}
  • p càng lớn thì số xuất ra càng chính xác
  • p = 8 trong ví dụ trên tương ứng với phần số bôi đỏ 124.1254567893224

Các em cũng có thể dùng hàm printf để làm được điều tương tự.

Ví dụ

#include <iostream>
using namespace std;
 
int main() {
   int soNguyen = 123;
   float soThapPhan = 456.90;
   printf("So nguyen: %i\n", soNguyen);
   printf("So thap phan: %4.2f\n", soThapPhan);
}

Kết quả

So nguyen: 123
So thap phan: 456.90
  • %i: là chuỗi định dạng để in được số nguyên
  • %4.2f: là chuỗi định dạng để in được số thập phân, 4 là số lượng số tối đã sẽ hiển thị ở phần trước dấu thập phân (trong ví dụ là 456), và 2 là số lượng số tối đa sẽ hiển thị ở phần thập phân (trong ví dụ là 90)

7/ sizeof

sizeof là một toán tử trả về kích thước byte của kiểu dữ liệu, cú pháp

sizeof(x)

  • x: là tên kiểu dữ liệu hoặc biến

Ví dụ

#include <iostream>
using namespace std;
 
int main() {
   cout << "Kich thuoc cua kieu boolean: " << sizeof(bool) << " byte" << endl;
   cout << "Kich thuoc cua kieu char: " << sizeof(char) << " byte" << endl;
   cout << "Kich thuoc cua kieu int: " << sizeof(int) << " byte" << endl;
   cout << "Kich thuoc cua kieu float: " << sizeof(float) << " byte" << endl;
   cout << "Kich thuoc cua kieu double: " << sizeof(double) << " byte" << endl;
   cout << "Kich thuoc cua kieu string: " << sizeof(string) << " byte" << endl;
   string x;
   cout << "Kich thuoc cua x kieu string: " << sizeof(x) << " byte" << endl;
   x = "Toi la string";
   cout << "Kich thuoc cua x kieu string: " << sizeof(x) << " byte";
   
   return 0;
}

Kết quả

Kich thuoc cua kieu boolean: 1 byte
Kich thuoc cua kieu char: 1 byte
Kich thuoc cua kieu int: 4 byte
Kich thuoc cua kieu float: 4 byte
Kich thuoc cua kieu double: 8 byte
Kich thuoc cua kieu string: 32 byte
Kich thuoc cua x kieu string: 32 byte
Kich thuoc cua x kieu string: 32 byte