Bài giảng Kỹ thuật lập trình - Chương 03: Tổ chức dữ liệu trong chương trình - Trần Quang
Nội dung
- Dữ liệu cố định • Hằng • Biến
Kiểu dữ liệu
- Từ khoá
Tầm vực biến
Phép toán và biểu thức • Kiểu enum, struct
Chuyển đổi kiểu dữ liệu
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kỹ thuật lập trình - Chương 03: Tổ chức dữ liệu trong chương trình - Trần Quang", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
- bai_giang_ky_thuat_lap_trinh_chuong_03_to_chuc_du_lieu_trong.pdf
Nội dung text: Bài giảng Kỹ thuật lập trình - Chương 03: Tổ chức dữ liệu trong chương trình - Trần Quang
- Nội dung Dữ liệu cố định Hằng Biến Kiểu dữ liệu Từ khoá Tầm vực biến Phép toán và biểu thức Kiểu enum, struct Chuyển đổi kiểu dữ liệu Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 2
- Giá trị cố định Giá trị số: Số nguyên hệ bát phân (octal): bắt đầu bằng số 0 Ví dụ: 0165 -0203 Số nguyên hệ thập lục(hexadecimal): bắt đầu bằng 0x Ví dụ: 0x3D -0x3AF8 Số nguyên hệ thập phân (decimal): như bình thường Ví dụ: 169 -2053 Số thực dấu chấm động: (floating point) Ví dụ: 3.14159 13.5f -83.1E-9 Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 4
- Giá trị cố định Giá trị kiểu ký tự - chuỗi Ký tự: đặt trong 2 dấu nháy đơn ('). Có thể ký tự bình thường (plain character) hay escape sequence ('\n', '\t', ) Ví dụ: 'A' '7' '\101' '\t' Chuỗi: đặt trong 2 dấu nháy kép (“) Ví dụ: "Dai Hoc Bach Khoa" Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 6
- Hằng Hằng là một giá trị được đặt tên (thường dùng chữ in hoa) Cú pháp định nghĩa hằng: const = ; hay #define Ví dụ: const int MAX = 15; #define MAX 15 Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 8
- Biến Biến là một vùng trong bộ nhớ của máy tính và có các đặc điểm sau: Cótên (name): do người dùng tựđặ t ra để dùng thay cho địa chỉ trong bộ nhớ Cókiể u (type): liên quan đến loại và độ lớn của giá trị mà biến có thể chứa. Códữ liệu: là giá trị chứa trong biến. Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 10
- Khai báo biến Cú pháp: [= ]; trong đó: : kiểu cósẵn hay người dùng tự định nghĩa : tên biến do người dùng tự đặt : giá trị ban đầu, có thể có hoặc không Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 12
- Khai báo biến Khai báo biến đã được định nghĩa trong module khác: extern ; Ví dụ: extern int so; Khai báo biến tĩnh: static [= ]; Ví dụ: static long dem; Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 14
- Từ khoá Là từ có ý nghĩa đặc biệt đã được quy định trước bởi ngôn ngữ lập trình. Người lập trình không được dùng từ khoá để đặt tên cho các tên mình tạo ra như tên biến, tên kiểu, tên hàm, tên hằng, v.v. Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 16
- Kiểu dữ liệu Dữ liệu mà chương trình lưu trữ có thể thuộc nhiều dạng khác nhau, gọi là kiểu dữ liệu (data type) Ký tự (character) Kiểu số Số nguyên (integer) Số thực (float) Kiểu chuỗi Kiểu mảng (array) Kiểu cấu trúc (struct) Kiểu kiệt kê (enum) Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 18
- Các loại kiểu dữ liệu Kiểu dữ liệu cơ bản (fundamental data type) Ngôn ngữ C/C++ cung cấp sẵn mộtsố các tên kiểu Tên các kiểu này cũng là từ khoá Kiểu dữ liệu do người lập trình định nghĩa (user- defined data type) Tên kiểu do người lập trình tự đặt ra Một số kiểu như: struct, enum Kiểu dữ liệu dẫn xuất (derived data type) Mảng (array) Con trỏ (pointer) Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 20
- Hàm sizeof() Hàm sizeof() trả về số byte của kiểu dữ liệu Ví dụ: printf("%d", sizeof(int)); Số bytes của kiểu dữ liệu tuỳ thuộc vào phiên bản, tuy nhiên sẽ thoả mãn: 1 == sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long) Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 22
- Kiểu enum enum dùng để định nghĩa các giá trị thuộc kiểu số nguyên nhưng được gán cho tên gợi nhớ Cú pháp: enum enumName { enumeration list } ví dụ: enum colors {RED, GREEN, BLUE}; enum months {JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC}; Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 24
- Kiểu enum enum có thể xem như một tập hợp các hằng số. Ở các ví dụ trên ta có các tập hợp: colors, months Với tập colors có các hằng: RED, GREEN, BLUE như đã khai báo Với tập months có các hằng: JAN, FEB, MAR, v.v Về bản chất, các giá trị trong tập hợp (enum) được TỰ ĐỘNG gán một con số nguyên. Mặc định hằng đầu tiên là 0, kế tiếp là 1, v.v . Tuy nhiên ta có thể gán các giá trị này Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 26
- Kiểu void Kiểu void chỉ rằng không có giá trị Được dùng trong 3 trường hợp: 1. Hàm trả về kiểu void Ví dụ: void exit (int status); 2. Hàm có tham số là void (không có tham số) Ví dụ: int rand(void); 3. Pointer trỏ đến void Ví dụ: hàm void *malloc( size_t size ); Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 28
- Kiểu struct struct HinhChuNhat { int dai; int rong; }; void main() { struct HinhChuNhat h1; h1.dai = 10; h1.rong = 5; cout << "Dien tich h1 = " << h1.dai * h1.rong << endl; system("pause"); } Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 30
- typedef Từ khóa typedef có thể sử dụng để định nghĩa một tên kiểu mới. Ví dụ: typedef unsigned char BYTE; Sau đó ta có thể sử dụng BYTE như là tên viết tắt cho các kiểu unsigned char Ví dụ: BYTE b1, b2; Theo quy ước, người ta thường dùng chữ cái viết hoa cho những định nghĩa này Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 32
- Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 34
- Biểu thức (expression) Biểu thức cũng giống như công thức toán học, dùng để mô tả quy trình tính toán nào đó trên các dữ liệu Các thành phần của biểu thức : Các toán hạng (operand): biến, hằng, dữ liệu, Các toán tử (operator): +, -, *, /, Quy trình tính biểu thức, độ ưu tiên của toán tử Kiểu kết quả sau khi tính biểu thức. Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 36
- Các loại toán tử Toán tử số học Arithmetic Operators Toán tử so sánh Comparison Operators (Toán tử quan hệ) (Relational Operators) Toán tử luận lý Logical Operators Toán tử bitwise Bitwise Operators Toán tử gán Assignment Operators Các toán tử khác Other Operators Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 38
- Toán tử số học + cộng - trừ * nhân / chia lấy phần dư (trong phép chia), % cả hai toán hạng là số nguyên ++ toán tử tăng toán tử giảm Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 40
- Toán tử gán phức hợp Toán tử Ví dụ Ý nghĩa += x += a x = x + a -= x -= a x = x - a *= x *= a x = x * a /= x /= a x = x / a %= x %= a x = x % a Ví dụ: x += 5 tương đương x = x + 5 Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 42
- Toán tửluậ n lý Toán hạng là các giá trị luận lý true (khác 0) hoặc false (bằng 0) Toán tử hàm luận lý ! NOT && AND || OR Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 44
- Toán tử bitwise Các phép toán trên bit (các số được chuyển về hệ nhị phân để tính toán trên từng bit): bitwise AND & p q p & q p | q p ^ q bitwise OR | 0 0 0 0 0 bitwise XOR ^ 0 1 0 1 1 bitwise NOT ~ 1 0 0 1 1 left shift > . Các phép gán phức hợp: =>> =<< &= ^= |= Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 46
- Độ ưu tiên của các toán tử Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 48
- Chuyển đổi kiểu Khi người lập trình thực hiện phép gán mà kiểu của bên phải phép gán (kiểu nguồn) và kiểu bên trái phép gán (kiểu đích) khác nhau, cần chuyển đổi giá trị từ kiểu nguồn sang kiểu đích Các dạng chuyển đổi Chuyển đổi ngầm (mặc nhiên) Có thể giữ nguyên giá trị nguồn Có thể biến đổi giá trị nguồn Ép kiểu Người lập trình can thiệp bằng toán tử đặc biệt: cặp dấu ”(” và “)” Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 50
- Ép kiểu (type casting) Là chuyển đổi kiểu tường minh, người lập trình đặt tả kiểu đích Cú pháp Dạng hàm double x = 10.5; int a = int(x); Dạng c double x = 10.5; int a = (int) x; Trần Quang Kỹ thuật lập trình Chương 03: Tổ chức dữ liệu trong chương trình © 2016 52