Bài giảng Giới thiệu lập trình - Kiểu dữ liệu cơ bản - Lê Nguyên Khôi

Kiểu Số Nguyên Trong C++

 Khi sử dụng kiểu dữ liệu, ví dụ int, cần biết

miền giá trị biểu diễn được

 Kiểu dữ liệu int biểu diễn số nguyên

từ -2.147.483.648 đến +2.147.483.647

 Có ảnh hưởng gì không?

 Cơ quan Vũ trụ châu Âu phóng tên lửa đẩy

ngày 04/06/1996, trị giá 7 tỷ đô la Mỹ

 Ariane 5 dùng lại mã của hệ thống điều khiển

đẩy của Ariane 4

 Tốc độ A5 lớn hơn A4, nhưng khi thiết kế

không kiểm tra miền dữ liệu biểu diễn

 Khi A5 đạt tới tốc độ nhất định, xảy ra lỗi tràn

bộ nhớ, bộ xử lý tắt

 A5 bị mất điều khiển, sau đó gây n

pdf 30 trang kimcuc 6620
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Giới thiệu lập trình - Kiểu dữ liệu cơ bản - Lê Nguyên Khôi", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Giới thiệu lập trình - Kiểu dữ liệu cơ bản - Lê Nguyên Khôi

Bài giảng Giới thiệu lập trình - Kiểu dữ liệu cơ bản - Lê Nguyên Khôi
Giới Thiệu Lập Trình
Kiểu Dữ Liệu Cơ Bản
TS. Lê Nguyên Khôi
Trường Đại học Công nghệ, ĐHQGHN
Nội Dung
1
 Kiểu dữ liệu cơ bản
 Phép toán
 Biến số
 Hằng số
 Hàm số toán học
Giới Thiệu Lập Trình
Kiểu Số Nguyên Trong C++
2
 Khi sử dụng kiểu dữ liệu, ví dụ int, cần biết
miền giá trị biểu diễn được
 Kiểu dữ liệu int biểu diễn số nguyên
từ -2.147.483.648 đến +2.147.483.647
 Có ảnh hưởng gì không?
Giới Thiệu Lập Trình
Tên Lửa Đẩy Ariane 5
3
 Cơ quan Vũ trụ châu Âu phóng tên lửa đẩy
ngày 04/06/1996, trị giá 7 tỷ đô la Mỹ
 Ariane 5 dùng lại mã của hệ thống điều khiển
đẩy của Ariane 4
 Tốc độ A5 lớn hơn A4, nhưng khi thiết kế
không kiểm tra miền dữ liệu biểu diễn
 Khi A5 đạt tới tốc độ nhất định, xảy ra lỗi tràn
bộ nhớ, bộ xử lý tắt
 A5 bị mất điều khiển, sau đó gây nổ
Giới Thiệu Lập Trình
Hệ Thống Số
4
 Số nguyên dương
 Số nguyên âm: sử dụng bit trái ngoài cùng để biểu diễn
Giới Thiệu Lập Trình
Cơ số 10 (3 chữ số)
  
  
   =  ∗  +  ∗  + ( ∗ )
Cơ số 2 (3 chữ số)
  
  
   =  ∗  +  ∗  + ( ∗ )
 =  ∗ − +  ∗  + ( ∗ ) = −

 =  ∗ − 	+ 	  ∗  	+ ( ∗ ) = −
Kiểu Số Nguyên char
5
 Trong C++ kiểu dữ liệu char là kiểu nhỏ nhất
 Sử dụng 1 byte bộ nhớ
 1 byte trong máy tính gồm 8 bit
 Như vậy, khoảng biểu diễn từ -128 đến +127
 10000000 = −128 và 01111111 = 127
 Khoảng biểu diễn từ −2 đến +2 − 1
Giới Thiệu Lập Trình
−2 2 2 2 2 2 2 2
−128 64 32 16 8 4 2 1
Kiểu Cơ Bản Trong C++ - Số Nguyên
6
Kiểu Độ Lớn Miền Giá Trị
char 1 byte -128 đến
+127
(−2, +2 − 1)
short 2 byte -32.768 đến
+32.767
(−2, +2 − 1)
int 4 byte -2.147.483.648 đến
+2.147.483.647
(−2, +2 − 1)
Giới Thiệu Lập Trình
Kiểu Cơ Bản Trong C++ - Số Thực
7
Kiểu Độ Lớn Miền Giá Trị
float 4 byte (−10 , +10 )
double 8 byte (−10 , +10 )
long 
double
10 byte (−10!, +10!)
Giới Thiệu Lập Trình
Phép Toán Số Học Trong C++
kiểu của toán hạng, xác định phép toán tương ứng
8
Phép Toán Toán Tử Ví Dụ Áp Dụng
Cộng +
a + b
1 + 2
1.1 + 2.2
số nguyên & 
số thực
Trừ -
a - b
1 – 2
1.1 – 2.2
số nguyên & 
số thực
Nhân *
a * b
1 * 2
1.1 * 2.2
số nguyên & 
số thực
Chia /
a / b
1 / 2
1.1 / 2.2
số nguyên & 
số thực
Phần dư % a % b1 % 2 chỉ số nguyên
Giới Thiệu Lập Trình
Phép Chia Số Học Trong C++
9
 Chia nguyên: cả hai toán hạng là số nguyên
 Chia thực: một trong hai toán hạng là số thực
1 int main()
2 {
3 int i = 1, j = 2, k;
4 double f = 1.0, g = 2.0, h;
5 k = i / j; // chia nguyên k = 0
6 k = j / i; // chia nguyên k = 2
7 h = f / g; // chia thực h = 0.5
8 h = i / g; // chia thực h = 0.5
9 h = f / j; // chia thực h = 0.5
10 return 0;
11 }
Giới Thiệu Lập Trình
Biến Số - Đặc Tính
10
 Để sử dụng hiệu quả kết quả của các phép
toán, cần lưu kết quả sau khi tính toán vào các
biến số
 Biến số dùng để lưu giá trị thuộc một kiểu dữ
liệu nhất định, ví dụ: int, double
 Mỗi biến số có 03 thuộc tính: tên, kiểu, giá trị
 Để sử dụng biến số, phải đặt tên hợp lệ bằng
cách khai báo biến số
 Phải khai báo biến số trước khi sử dụng
 Nếu không trình biên dịch sẽ báo lỗi chưa khai báo
error:  was not declared in this scope
Giới Thiệu Lập Trình
Biến Số - Khai Báo
11
 Cú pháp: kiểuDL tênBiến;
 Ý nghĩa: tạo một biến số có tên là tênBiến để
lưu dữ liệu kiểu kiểuDL
 Ví dụ: int x;
 Ý nghĩa : khai báo biến số nguyên x kiểu int
 Chú ý: ngay sau khai báo, biến số đã có giá trị!
 sử dụng mệnh lệnh cout << in ra giá trị biến
 Lưu ý: khi nào sử dụng biến số mới khai báo
Giới Thiệu Lập Trình
Biến Số - Phép Gán
12
 Cú pháp: tênBiến = giáTrị;
tênBiến = biểuThức;
 Ý nghĩa: lưu giáTrị hoặc kết quả của biểuThức
vào biến số có tên là tênBiến
 Ví dụ: x = 24;
x = (x * 24) / y;
 Chú ý: bên trái của phép gán (dấu =) là giá trị
trái (gt-T), bên phải là giá trị phải (gt-P)
 x có thể vừa là gt-T và gt-P trong cùng một phép gán
Giới Thiệu Lập Trình
Biến Số - Khởi Tạo (Khai Báo & Gán)
13
 Cú pháp: kiểuDL tênBiến = giáTrị;
kiểuDL tênBiến = biểuThức;
 Ý nghĩa: tạo một biến số có tên là tênBiến để
lưu dữ liệu kiểu kiểuDL, sau đó lưu giáTrị hoặc
kết quả của biểuThức vào biến số đó
 Ví dụ: int x = 24;
int x = (x * 24) / y;
 Chú ý: đây là phong cách lập trình tốt, do khi
chỉ khai báo, biến vẫn có một giá trị nào đó
int x; int x;
x = x + 1; cout << x;
Giới Thiệu Lập Trình
Biến Số - Quy Tắc Đặt Tên
14
 Tên biến số dùng để định danh
 Bắt đầu bằng chữ cái hoặc dấu gạch chân “_”
 Tiếp đến là chữ cái, chữ số, dấu gạch chân
 Không có dấu cách “ “ trong tên biến số
 C++ phân biệt chữ hoa và chữ thường
 Tên biến số không được trùng với từ khóa C++
 Ví dụ: i, k62, X, x, soPT, soThu1, soThu2 , 
tong, hieu
 Chú ý: tên biến số nên gợi nghĩa và ngắn gọn
Giới Thiệu Lập Trình
Hằng Số
15
 Biến số: giá trị có thể thay đổi trong quá trình
chạy chương trình
 Hằng số: giá trị không được phép thay đổi như
biến số, nếu thay đổi, dịch báo lỗi
 Ví dụ: số ngày trong một tuần, số năm trong
một tháng, tốc độ ánh sáng, số pi, số e
 Hằng số phải có giá trị ngay khi khai báo và sử
dụng từ khóa const
const double PI = 3.14159;
const double SOL = 1.079e+9;
Giới Thiệu Lập Trình
Phép Gán Trong C++
16
 Cú pháp: tênBiến = giáTrị;
tênBiến = biểuThức;
 Ví dụ: x = 24;
x = (x * 24) / y;
 Thực hiện xác định gt-P của phép gán (tính
toán giá trị của biểuThức) sau đó gán giá trị đó
cho gt-T của phép gán
 Chú ý:
 gt-T của phép gán phải là một biến số
 Kiểu dữ liệu của gt-P phải giống kiểu dữ liệu gt-T
Giới Thiệu Lập Trình
Chuyển Đổi Kiểu Dữ Liệu Trong C++
17
 Giá trị thuộc một kiểu dữ liệu có thể được
chuyển sang giá trị thuộc một kiểu dữ liệu khác
 Ví dụ: 1 → 1.0 hoặc 1.0 → 1
 2 cách:
 Tự động bởi C++
int x = 1.0; double y = 1.0; 
double y = 1; int x = y;
 Chủ động bởi lập trình viên
int x = (int)1.0; double y = 1.0;
double y = (double)1; int x = (int)y;
 Lưu ý: chuyển đổi kiểu làm thay đổi độ chính
xác của giá trị. Sử dụng cẩn thận
Giới Thiệu Lập Trình
Kiểu Cơ Bản Trong C++ - Lô-gic
18
 Các phép toán so sánh và các phép toán lô-gic
trả về giá trị kiểu lô-gic.
Giới Thiệu Lập Trình
Kiểu Độ Lớn Miền Giá Trị
bool 1 byte đúng hoặc sai
(true, false)
Phép Toán So Sánh Trong C++
19
Phép Toán Toán Tử Ví Dụ Kết quả
Nhỏ hơn < a < b1 < 2 true
Nhỏ hơn
hoặc bằng <=
a <= b
1 <= 2 true
Lớn hơn > a > b1 > 2 false
Lớn hơn
hoặc bằng >=
a >= b
1 >= 2 false
Bằng == a == b1 == 2 false
Không bằng
(khác) !=
a != b
1 != 2 true
Giới Thiệu Lập Trình
Phép Toán Lô-gic Trong C++
20
Phép Toán Toán Tử Ví Dụ Kết quả
Và && a && btrue && true true
Hoặc || a || bfalse || false false
Phủ định ! !a!true false
Giới Thiệu Lập Trình
Bảng Lô-gic (Toán Tử Lười)
21
int a = 0; bool b;
b = (false) && (1/a); cout << b;
b = (true) || (1/a); cout << b;
Giới Thiệu Lập Trình
a b a && b
false false false
false true false
true false false
true true true
a b a || b
false false false
false true true
true false true
true true true
Độ Ưu Tiên Các Phép Toán
22
 Xác định thứ tự để tính giá trị biểu thức
 Sử dụng cặp dấu ngoặc () để dễ đọc
Giới Thiệu Lập Trình
Độ Ưu Tiên Toán Tử
Cao nhất ++, --, !
*, /, %
+, -
, >=
==, !=
&&
||
Thấp nhất =, +=, -=, *=, /=, %=
Hàm Số Toán Học Trong C++
23
 Nhiều hàm số toán học được định nghĩa sẵn
 Ví dụ: khai căn (sqrt), số mũ (pow), trị tuyệt
đối (abs)
 Để sử dụng các hàm toán học cần tải các thư
viện tương ứng
#include 
#include 
double x = sqrt(9); // x = 3.0
double y = pow(3, 2); // y = 9.0
int z = rand();
Giới Thiệu Lập Trình
Hàm Số Toán Học Tự Định Nghĩa
24
 Trong toán học có thể tự định nghĩa hàm số
, -, . = - + 2-. + 3-. + 4.
 Từ định nghĩa của hàm và giá trị của biến số, 
có thể tính được giá trị của hàm
, - = 2, . = 1 = - + 2-. + 3-. + 4. = 26
 Chuyển sang ngôn ngữ lập trình, cần có
 Tên hàm, danh sách biến số
 Kiểu dữ liệu của hàm và biến số
 Định nghĩa của hàm dựa trên danh sách biến số
 Sử dụng câu lệnh return để trả về giá trị của hàm
sau khi tính
Giới Thiệu Lập Trình
Hàm Tự Định Nghĩa Trong C++
25
, -, . = - + 2-. + 3-. + 4.
 Tên hàm: f
 Danh sách biến số: a, b
 Kiểu dữ liệu: int
 Định nghĩa của hàm:
 Sử dụng câu lệnh return để trả về giá trị của
hàm sau khi tính
Giới Thiệu Lập Trình
int f(int a, int b)
{
return a^3 + 2*a^2*b + 3*a*b^2 + 4*b^3;
}
Hàm Tự Định Nghĩa Trong C++
26
 Lập trình viên có thể tự định nghĩa các hàm
hữu ích, phục vụ mục đích cụ thể dựa trên yêu
cầu bài toán
 Các hàm tự định nghĩa nằm ở:
 Ngoài và trước int main()
Giới Thiệu Lập Trình
1 #include 
2
3 int hieu(int a, int b)
4 {
5 return a – b;
6 }
7 int main() {      }
Hàm Tự Định Nghĩa
27Giới Thiệu Lập Trình
1 #include 
2 
3 int hieu(int a, int b) { return a – b; }
4
5 int main()
6 {
7 int a, b;
8 std::cin >> a; std::cin >> b;
9 while (a != b)
10 {
11 if (a > b) a = hieu(a, b);
12 else b = hieu(b, a);
13 }
14 std::cout << "UCLN: " << a << std::endl;
15 return 0;
16 }
Tự Đọc
28
 Sử dụng cout >, cerr <<
 In dữ liệu ở các định dạng khác nhau
 Sử dụng kiểu số nguyên char để quản lý các
ký tự (xem bảng mã ASCII)
 Số nguyên trong các hệ cơ số khác (8, 16)
 Các toán tử gán phức hợp +=, -=, *=, /=, %=
 Các toán tử tăng/giảm một đơn vị ++, --
 Các hàm toán học trong cmath, cstdlib
 Tự định nghĩa một số hàm đơn giản
Giới Thiệu Lập Trình
Tham Khảo
29
 Làm quen với CodeBlock và các chức năng hỗ
biên soạn của CodeBlock
 Làm các bài tập trên codehub.now-ip.org
 Đọc sách:
 Chương 2, Lập Trình Cơ Bản C++
Giới Thiệu Lập Trình

File đính kèm:

  • pdfbai_giang_gioi_thieu_lap_trinh_kieu_du_lieu_co_ban_le_nguyen.pdf