Professional Documents
Culture Documents
CPP02 VarAndType
CPP02 VarAndType
Biến và kiểu
Khai bá o biến
Cá c kiểu dữ liệu thô ng dụ ng
3
Từ khó a (Reserved words)
Từ khó a: ++ quy định mộ t số từ dà nh riêng, phả i sử dụ ng đú ng vớ i cú phá p, dù ng cho mộ t số mụ c
đích nhấ t định, khô ng đượ c dù ng và o mụ c đích khá c.
Danh mụ c từ khó a: alignas, alignof, and, and_eq, asm, auto, bitand, bitor, bool, break, case, catch,
char, char16_t, char32_t, class, compl, const, constexpr, const_cast, continue, decltype, default,
delete, do, double, dynamic_cast, else, enum, explicit, export, extern, false, float, for, friend, goto,
if, inline, int, long, mutable, namespace, new, noexcept, not, not_eq, nullptr, operator, or, or_eq,
private, protected, public, register, reinterpret_cast, return, short, signed, sizeof, static,
static_assert, static_cast, struct, switch, template, this, thread_local, throw, true, try, typedef,
typeid, typename, union, unsigned, using, virtual, void, volatile, wchar_t, while, xor, xor_eq
4
Tên (Identifiers)
Tên
Cá ch thô ng dụ ng nhấ t để truy cậ p cá c hằ ng, biến, kiểu, hà m…
Quy tắ c đặ t tên
Bắ t đầ u bằ ng chữ cá i (a..z, A..Z, _)
Tiếp theo là chữ cá i hoặ c chữ số (a..z, A..Z, _, 0..9)
Khô ng trù ng vớ i từ khoá
Chú ý: C++ phâ n biệt chữ hoa và chữ thườ ng
5
Đặ t tên đú ng
Tên Đú ng/Sai
Birthday
Too_hot? (Khô ng đượ c có dấ u “?”)
First_Initial
1stprogram (Khô ng đượ c bắ t đầ u bằ ng số )
down.to.earth (Khô ng đượ c có dấ u “.”)
see you (Khô ng đượ c có dấ u cá ch)
OldName (Tố t, nên viết hoa đầ u từ tiếng Anh)
case (Trù ng từ khoá )
One+Two (Khô ng đượ c có dấ u “+”)
6
Dữ liệu và kiểu dữ liệu
Dữ liệu
Là tấ t cả nhữ ng gì đượ c máy tính lưu trữ và xử lý
Tồ n tạ i dướ i nhiều dạ ng khá c nhau, khô ng nhấ t thiết phả i là số
Thể hiện cá c đố i tượ ng cụ thể cầ n xử lý (giá tiền, tên, tuổ i, vă n bả n, tín hiệu...)
Kiểu dữ liệu
Mộ t tậ p hợ p cá c giá trị mà mộ t biến thuộ c kiểu đó có thể nhậ n
Trên tậ p hợ p đó xá c định mộ t số phép toá n.
+, -, *, / vớ i kiểu số thự c
/, % vớ i kiểu số nguyên
&&, ||, !, ^^ vớ i kiểu logic mệnh đề
>, < vớ i kiểu ký tự
7
Nhữ ng kiểu dữ liệu chuẩ n
Cá c kiểu ký tự : Biểu diễn mộ t ký tự trong mộ t bả ng mã nà o đó , chẳ ng hạ n ‘A’
hay ‘$’… Phổ biến nhấ t là kiểu char, biểu diễn cá c ký tự trong bả ng mã ASCII
Cá c kiểu số nguyên: Biểu diễn mộ t số nguyên, cá c kiểu số nguyên đượ c phâ n
loạ i bở i kích thướ c và miền giá trị (có dấ u hay khô ng dấ u)
Cá c kiểu số thự c: Biểu diễn mộ t số thự c, cá c kiểu số thự c đượ c phâ n loạ i bở i
kích thướ c và độ chính xá c
Cá c kiểu logic: Chỉ nhậ n mộ t trong hai giá trị Đú ng (true) hoặ c Sai (false)
8
Cá c kiểu ký tự
Kiểu Kích thước (GCC) Bảng mã
char 8 bit ASCII
wchar_t 16 bit UNICODE
9
Cá c kiểu số nguyên
Kiểu Kích thước ± Khoảng
signed int và unsigned
unsigned char 8 bit = 1 byte Khô ng 0…28-1
int
signed char 8 bit = 1 byte Có -27…27-1
Hai kiểu số nguyên phổ biến.
unsigned short int 16 bit = 2 bytes Khô ng 0…216-1 Luô n đượ c á nh xạ và o kiểu
signed short int 16 bit = 2 bytes Có -215…215-1 số nguyên tính nhanh nhấ t
unsigned long int 32 bit = 4 bytes Khô ng 0…232-1 Trong GCC 32 bit
signed long int 32 bit = 4 bytes Có -231…231-1 signed int = signed long int
unsigned long long int 64 bit = 8 bytes Khô ng 0…264-1 unsigned int = unsigned
long int
singed long long int 64 bit = 8 bytes Có -263…263-1
10
Cá c kiểu số thự c
Kiểu Kích thướ c Số chữ số Khoả ng
(GCC) có nghĩa
float 32 bit = 4 bytes 7-8 -1.5×1045 … 3.4×1038
double 64 bit = 8 bytes 15-16 -5.0×10324 … 1.7×10308
long double 96 bit = 12 bytes 19-20 -3.6×104951 … 1.1×104932
11
Kiểu logic
Dữ liệu kiểu logic chỉ là mộ t ô nhớ lưu trữ hai
giá trị ứ ng vớ i hai trạ ng thá i đú ng (true) hoặ c
sai (false)
Kiểu logic trong C++ là bool, chiếm 8 bit (1
byte)
12
Kiểu void
void: Khô ng là kiểu gì cả
void là mộ t kiểu dữ liệu đặ c biệt trong C++, có
thể coi void là kiểu mà ngườ i ta khô ng quan
tâ m tớ i giá trị lưu trong kiểu đó .
13
Khai bá o biến
Biến
Nhậ n giá trị thuộ c mộ t kiểu dữ liệu nà o đó , chiếm lượ ng bộ nhớ do kiểu dữ liệu quy định
Có thể thay đổ i giá trị trong chương trình
Mỗ i khai bá o có dạ ng:
T v1, v2, …, vn;
Trong đó
T: Tên kiểu dữ liệu
v1, v2, …, vn: Cá c tên biến cá ch nhau bở i dấ u phẩy “,”
Khai bá o biến trong C++ có thể nằ m ở bấ t cứ đâ u trong chương trình. Tuy nhiên:
Biến khai bá o bên ngoà i hà m là biến toà n cụ c, có thể dù ng mọ i nơi trong chương trình
Biến khai bá o trong hà m chỉ đượ c dù ng bên trong hà m.
14
Ví dụ về khai bá o biến
int i, j, k; i, j, k là cá c biến số nguyên
double x, y, z; x, y, z là cá c biến số thự c
char ch; ch là mộ t biến ký tự , nhậ n giá
15
Khai bá o biến vớ i giá trị khở i tạ o
Đô i khi ngườ i ta muố n mộ t biến khi khai //Kiểu 1
bá o nhậ n luô n mộ t giá trị khở i tạ o. Khi đó
có thể đưa giá trị khở i tạ o và o trong khai
int x = 2, y = 9;
bá o biến //Kiểu 2
Ví dụ muố n khai bá o mộ t biến số nguyên x
ban đầ u nhậ n giá trị 2 và biến số nguyên y
int x(2), y(9);
ban đầ u nhậ n giá trị 9 //Kiểu 3
Thự c ra ba kiểu khở i tạ o này khá c nhau về
int x{2}, y{9};
bả n chấ t (họ c sau)
16
Ví dụ
#include <iostream>
Yêu cầ u nhớ số thứ nhấ t bằ ng 6 using namespace
std;
18
Xuấ t số thự c theo khuô n dạ ng
#include <iostream>
Cá c kiểu dữ liệu số thự c có khuô n #include <iomanip>
dạ ng mặ c định khi in ra mà n hình using namespace std;
19
Thư viện cmath
Đây là thư viện chứ a hà ng ngà n hà m số toá n
họ c dù ng trong lậ p trình
Muố n dù ng cá c hà m toá n họ c đó chỉ cầ n khai
bá o sử dụ ng thư viện cmath
20
Ví dụ
#include <iostream>
Nhậ
p và o ba số thự c a, b, c là #include <iomanip>
#include <cmath>
độ dà i ba cạ nh củ a mộ t tam using namespace std;
21
Hà m Cô ng dụ ng Kiểu tham số Kiểu kết quả
(CSTDLIB) abs() Tính Số
Số nguyên
nguyên Số
Số nguyên
nguyên
(CMATH) abs() Tính Số
Số thự
thự cc Số
Số thự
thự cc
Cá c hà m lượ ng giá c Số thự c Số thự c **
Cá c hà m lượ ng giá c Số thự c Số thự c **
Hà m ngượ c củ a hà m lượ ng giá c Số thự c ** Số thự c
Hà m ngượ c củ a hà m lượ ng giá c Số thự c ** Số thự c
(*)Tính Số thự c Số thự c
Số thự
thự cc Số thự
thự cc
Tính Số Số
Tính Số
Số thự
thự cc Số
Số thự
thự cc
(*)Tính Số thự c Số thự c
Tính Số thự c Số thự c
Tính Số
Số thự
thự cc Số
Số thự
thự cc
Tính Số
Số thự
thự cc Số
Số thự
thự cc
Tính phầ n nguyên củ a Số thự c Số thự c
Số thự c Số thự c
Là m trò n củ a Số thự c Số thự c
Số thự c Số thự c
Số thự c Số thự c
(*) e ≈ 2.71828182845904523536 (**) Đơn vị đo bằ ng Radian
22
Thư viện bits/stdc++
C++ đi kèm vớ i rấ t nhiều thư viện hỗ trợ
Việc #include <từ ng thư viện> hơi khó nhớ vớ i ngườ i mớ i họ c
GCC cho mộ t header file chung, chỉ cầ n đưa khai bá o
#include<bits/stdc++.h>
để sử dụ ng tấ t cả thư viện chuẩ n
Nhượ c điểm:
Khô ng chuẩ n (chỉ dù ng cho GCC)
Rấ t dễ xung độ t tên khi dù ng chung vớ i using namespace std;
Dịch chậ m, có thể tă ng kích thướ c mã máy.
23
Mộ t số lưu ý về nhậ p/xuấ t
#include <iostream>
Khô ng đồ ng bộ luồ ng nhậ p xuấ t củ a C/C++
using namespace std;
std::ios_base::sync_with_stdio(false);
Khi đã bỏ đồ ng bộ , khô ng đượ c dù ng lẫ n cá ch
int main()
nhậ p xuấ t củ a C và C++ trong cù ng mộ t chương
{
trình.
Khô ng đồ ng bộ luồ ng đọ c/ghi ios_base::sync_with_stdio(fal
std::cin.tie(nullptr) se);
Cô ng dụ ng: Khô ng bắ t buộ c cout phả i đẩy ra hết cin.tie(nullptr);
dữ liệu khi gặ p lệnh đọ c từ cin …
}
24