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
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
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:
- bai_giang_gioi_thieu_lap_trinh_kieu_du_lieu_co_ban_le_nguyen.pdf