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 = 1
và false = 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ácp = 8
trong ví dụ trên tương ứng với phần số bôi đỏ124.12545
67893224
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