C++ programming language
Authors: Trần Đức Mạnh, Trần Đức Khánh, Nguyễn Ngọc Đức, Lê Ngọc Thiện
Buổi 3: Các kiểu dữ liệu số học, string, hàm
Kiểu dữ liệu số học
Định nghĩa:
Trong C++ có 2 dạng dữ liệu số học chính là số nguyên (Integer) và số thực (Floating point).
Khai báo:
<kiểu dữ liệu> <tên biến>;
Ví dụ:
int a;
float b = 0.5;
Category | Type | Minimum size |
Integer | short | 2 bytes |
int | 2 bytes | |
long | 4 bytes | |
long long | 8 bytes | |
Floating point | float | 4 bytes |
double | 8 bytes | |
long double | 8 bytes |
Kiểu số nguyên
Số nguyên có dấu (signed): gồm các số nguyên dương (1,2,3,...), số âm (-1, -2, -3) và số 0.
Số nguyên không dấu (unsigned): gồm các số nguyên dương (1,2,3,...) và số 0.
Ví dụ:
signed int a;
unsigned float b;
Chú ý: nếu không khai báo rõ là số nguyên có dấu hay không thì mặc định sẽ là có dấu (signed)
Type | Size | Range (Min) | Range (Max) |
signed short/int | 2 bytes | -32 768 | 32 768 |
unsigned short/int | 2 bytes | 0 | 65 535 |
signed long | 4 bytes | -2 147 483 648 (~ -2*109) | 2 147 483 648 (~ 2*109) |
unsigned long | 4 bytes | 0 | 4 294 967 295 (~ 4*109) |
signed long long | 8 bytes | ~ -9*1018 | ~ 9*1018 |
unsigned long long | 8 bytes | 0 | ~ 18*1018 |
Kiểu số thực
Cấu trúc lưu trữ bên trong của số thực được thiết kế theo chuẩn số chấm động (floating-point) của IEEE.
Ví dụ:
long double a = 4.0;
float b = 6.9e4;
double c = 6.9e-4;
Chú ý:
Type | Size | Range (Min) | Range (Max) |
float | 4 bytes | ± 1.18*10-38 | ± 3.4*1038 |
double | 8 bytes | ± 2.23*10-308 | ± 1.80*10308 |
long double | 16 bytes | ± 3.36*10-4932 | ± 1.18*104932 |
Xử lý số học
Chuyển đổi giữa các kiểu dữ liệu:
(<tên kiểu dữ liệu>) <tên biến>
Độ chính xác của số thập phân:
cout << std::setprecision(<số lượng>);
Các hàm làm tròn:
<tên hàm>(<tên biến>)
Xử lý số học
Các hàm xử lý số học khác
String
Định nghĩa:
Chuỗi ký tự (string) là tập hợp các ký tự được đặt trong dấu ngoặc kép.
Khai báo:
string <tên biến>;
Ví dụ:
string greeting = "Hello";
string clb_tinhoc("ITMO BRAIN");
Nhập xuất chuỗi ký tự
Xuất chuỗi ký tự:
cout << <tên biến>;
Nhập chuỗi ký tự liền nhau ko có dấu cách:
cin >> <tên biến>;
Nhập chuỗi ký tự gồm 1 dòng:
getline(cin, <tên biến>);
Nhập chuỗi ký tự gồm nhiều dòng:
getline(cin, <tên biến>, <ký tự kết thúc>);
Các toán tử, method của String
Các hàm cơ bản String
Hàm (functions)
Ưu điểm
Phân loại
Cấu trúc của hàm
Userful link
From Boss to Sen
https://www.cplusplus.com/reference/string/string/
https://github.com/arduino/ArduinoCore-API/blob/master/api/String.cpp
https://itmobrain.github.io/function-cpp
https://www.javatpoint.com/cpp-strings