Bài giảng Nhập môn về lập trình - Chương 3: Tổ chức dữ liệu trong chương trình

Tổ chức dữ liệu trong chương trình C

Phân loại

Dữ liệu dùng trong các chương trình C thường

xuất hiện dưới 3 hình thức:

• Giá trị tức thời (value).

• Hằng (constant): có tên (name) và giá trị thay thế

(value).

• Biến (variable): có tên (name), kiểu (type) và nội dung

chứa bên trong (value).

Bài giảng Nhập môn về lập trình - Chương 3: Tổ chức dữ liệu trong chương trình trang 1

Trang 1

Bài giảng Nhập môn về lập trình - Chương 3: Tổ chức dữ liệu trong chương trình trang 2

Trang 2

Bài giảng Nhập môn về lập trình - Chương 3: Tổ chức dữ liệu trong chương trình trang 3

Trang 3

Bài giảng Nhập môn về lập trình - Chương 3: Tổ chức dữ liệu trong chương trình trang 4

Trang 4

Bài giảng Nhập môn về lập trình - Chương 3: Tổ chức dữ liệu trong chương trình trang 5

Trang 5

Bài giảng Nhập môn về lập trình - Chương 3: Tổ chức dữ liệu trong chương trình trang 6

Trang 6

Bài giảng Nhập môn về lập trình - Chương 3: Tổ chức dữ liệu trong chương trình trang 7

Trang 7

Bài giảng Nhập môn về lập trình - Chương 3: Tổ chức dữ liệu trong chương trình trang 8

Trang 8

Bài giảng Nhập môn về lập trình - Chương 3: Tổ chức dữ liệu trong chương trình trang 9

Trang 9

Bài giảng Nhập môn về lập trình - Chương 3: Tổ chức dữ liệu trong chương trình trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 26 trang xuanhieu 9260
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Nhập môn về lập trình - Chương 3: Tổ chức dữ liệu trong chương trình", để 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 Nhập môn về lập trình - Chương 3: Tổ chức dữ liệu trong chương trình

Bài giảng Nhập môn về lập trình - Chương 3: Tổ chức dữ liệu trong chương trình
 Chương 3 
 Tổ chức dữ liệu trong chương 
 trình 
 Presenter: 
Nhập môn về lập trình (C3) Slide 1 
 Learning outcomes 
 L.O.2.1 – Biết được tên và các thuộc tính của các kiểu dữ 
 liệu cơ bản về số, ký tự, enum và logic (logic trong 
 mở rộng của C, C++). 
 L.O.2.2 – Khai báo được các biến và hằng. 
 L.O.2.3 – Xác định và giải thích rõ các kiểu lưu trữ biến. 
 L.O.2.4 – Sử dụng được các toán tử có thể thực hiện được 
 với các kiểu dữ liệu để thành lập biểu thức. 
 L.O.2.5 – Nhập được giá trị của các biến từ bàn phím và 
 xuất được giá trị của các biến ra màn hình (nhắc 
 lại có nâng cao). 
 L.O.2.6 – Định nghĩa được các kiểu có cấu trúc và sử dụng 
 chúng. 
Nhập môn về lập trình (C3) Slide 2 
 Tổ chức dữ liệu trong chương trình C 
 Phân loại 
 Dữ liệu dùng trong các chương trình C thường 
 xuất hiện dưới 3 hình thức: 
 • Giá trị tức thời (value). 
 • Hằng (constant): có tên (name) và giá trị thay thế 
 (value). 
 • Biến (variable): có tên (name), kiểu (type) và nội dung 
 chứa bên trong (value). 
Nhập môn về lập trình (C3) Slide 3 
 Giá trị tức thời 
 Cách viết 
  Dữ liệu số: 
 • Số nguyên hệ8 : bắt đầu bằng chữ„O‟ (Octal) 
 Ví dụ: O165 -O203 
 • Số nguyên hệ16 : bắt đầu bằng 0x (Hexadecimal) 
 Ví dụ: 0x3D -0x3AF8 
 • Số nguyên hệ10 : (Decimal) 
 Ví dụ: 169 -2053 
 • Số thực chấm động: (floating point) 
 Ví dụ: 3.14159 -0.31459e1 -83.1E-9 
  Dữ liệu ký tự / chuỗi 
 • Ký tự: đặt trong 2 dấu nháy đơn („) 
 Ví dụ: „A‟ „7‟ „\064‟ „\t‟ 
 • Chuỗi: đặt trong 2 dấu nháy kép (“) 
 Ví dụ: “Nhap so: “ “%-10.3f\n” 
Nhập môn về lập trình (C3) Slide 4 
 Hằng 
  Hằng là một giá trị được đặt tên (thường dùng chữ lớn) 
  Cú pháp định nghĩa hằng gợi nhớ cơ bản : 
 const = ; 
 hay 
 #define 
 Ví dụ: const int VMAX = 15; 
 #define VMAX 15 
 Lưu ý : dấu chỉđể miêu tả phần tử do người sử dụng đặt 
 tên chứ không viết ra. 
Nhập môn về lập trình (C3) Slide 5 
 Biến 
 Định nghĩa 
  Biến dùng trong chương trình C++ chính là bộ nhớ của 
 máy tính và có các đặc điểm sau: 
 • Có tên (name): do người sử dụng đặt ra để dùng thay cho địa chỉ 
 (address). =& 
 • 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ó nội dung: là giá trị chứa trong biến. 
  Kiểu dữ liệu cung cấp bởi C++ chia ra thành kiểu có sẳn 
 (tên kiểu do C++ qui định) và kiểu của người sử dụng (tên 
 kiểu do người sử dụng đặt thông qua đặc tả kiểu). 
Nhập môn về lập trình (C3) Slide 6 
 Kiểu dữ liệu có sẳn của C++ 
  void : 0 byte (không có giá trị nào), được dùng để miêu tả kiểu trả về
 của hàm mà không muốn trả về giá trị. 
  char : 1 byte (-128 127) 
  unsigned char : 1 byte (0 255) 
  short / short int : 2 bytes (-32,768 32,767) 
  unsigned short : 2 bytes (0 to 65535) 
  int / long (long integer) : 4 bytes (-2,147,483,648 2,147,483,647) 
  unsigned int / unsigned long : 4 bytes (0 to 4,294,967,295) 
  float (single-precision floating-point) :4 bytes [6 chữ số] 
 (1.175494351E-38F 3.402823466E+38) 
  double (double-precision floating-point) : 8 bytes [15 chữ số] 
 (2.2250738585072014E-308 1.7976931348623158E+308) 
Nhập môn về lập trình (C3) Slide 7 
 Biến 
 Định nghĩa và khai báo 
  Định nghĩa biến theo cú pháp: 
 [=]; 
 trong đó có thể là kiểu có sẳn hay kiểu của người sử dụng. 
 là trị ban đầu, có thể không có. 
 Ví dụ: int so=3; 
 char kytu; float x1,x2; 
 hoso sv1; 
  Khai báo biến (đã được định nghĩa trong module khác): 
 extern ; 
 Ví dụ: extern int so; 
 extern char gioitinh; 
  Định nghĩa biến tĩnh: 
 static [=]; 
 Ví dụ: static long dem; 
 Biến automatic là biến cục bộ 
 Biến static là biến toàn cục 
 Biến dynamic cấp phát lúc chạy 
Nhập môn về lập trình (C3) Slide 8 
 Biểu thức 
 Các thành phần của biểu thức 
  Biểu thức thể hiện cách xử lý dữ liệu trong chương trình. 
  Biểu thức là cách tính toán của chương trình. 
  Các thành phần xác định biểu thức : 
 • Các toán hạng : các biến, hằng dữ liệu,... 
 • Các toán tử tham gia biểu thức : +,-,*,/,... 
 • Qui tắc kết hợp toán tử và toán hạng để tạo biểu thức. 
 • Qui trình tính biểu thức của phần mềm. 
 • Kiểu kết quả sau khi tính biểu thức. 
Nhập môn về lập trình (C3) Slide 9 
 Biểu thức 
 Biểu thức cơ bản 
  Biểu thức cơ bản là phần tử nhỏ nhất tạo ra biểu thức. 
  Các biểu thức cơ bản gồm : 
 • Biến. [ nội dung biến ] 
 • Hằng gợi nhớ. [ giá trị iđạ diện của hằng ] 
 • Giá trị( kiểu nguyên, thực, chuỗi, ...). [ chính giá trị ] 
 • Gọi hàm. [ trị trả về hàtừ m ] 
 • ( Biểu thức) . [ giá trịBiể u thức ] 
  Biểu thức cơ bản là biểu thức. 
  Nhiều biểu thức cơ bản kết hợp với nhau bằng các toán 
 tử cũng là biểu thức. 
Nhập môn về lập trình (C3) Slide 10 
 Biểu thức 
 Các toán tử 
  Phân loại theo số lượng toán hạng : 
 • Toán tử1 ngôi : chỉ cần1 toán hạng. [ &, *, +, -, ~, ! ] 
 Ví dụ: toán tử -' ' (số âm), toán tử „!‟ (not luận lý). 
 • Toán tử2 ngôi : cần dùng2 toán hạng. 
 Ví dụ: toán tử *' ' (nhân 2 số), „%‟ (chia lấy phần dư), ... 
 • Toán tử3 ngôi : cần dùng3 toán hạng. 
 Ví dụ: toán tử c' ?v1:v2' (kiểm tra điều kiệnc, nếu c đúng trả về 
 v1, c sai trả về v2). 
  VC++ thường dùng các ký tự đặc biệt để miêu tả toán tử.
 Ví dụ: '+' làcộng, '-' là trừ, '*' lànhân, '/' làchia, ... 
Nhập môn về lập trình (C3) Slide 11 
 Biểu thức 
 Qui trình tính biểu thức 
  Qui trình tính : Từ trái sang phải, mỗi lần gặp 1 toán tử 
 (CurrentOp) thì phải nhìn tiếp toán tử đi ngay sau nó 
 (SussesorOp), so sánh độ ưu tiên của 2 toán tử và ra 
 quyết định như sau : 
 • Nếu không có SussesorOp thì tính ngay toán tử CurrentOp (trên 
 1, 2 hay 3 toán hạng của nó). 
 • Nếu toán tử CurrentOp có độ ưu tiên cao hơn hay bằng toán tử 
 SussesorOp thì tính ngay toán tử CurrentOp (trên 1, 2 hay 3 
 toán hạng của nó). 
 • Các trường hợp còn lại thì cố gắng thực hiện toán tử 
 SussesorOp trước. Đổi SussesorOp thành CurrentOp và trở lại 
 bước đầu, ... 
Nhập môn về lập trình (C3) Slide 12 
 Biểu thức 
 Nhóm toán tử và độưu tiên (1) 
  Bảng liệt kê độ ưu tiên các toán tử từ cao xuống thấp :
 Operator Name or Meaning Associativity 
 [ ] Array subscript Left to right 
 ( ) Function call Left to right 
 ( ) Conversion None 
 . Member selection (object) Left to right 
 -> Member selection (pointer) Left to right 
 ++ Postfix increment None 
 -- Postfix decrement None 
 ++ Prefix increment None 
 -- Prefix decrement None 
Nhập môn về lập trình (C3) Slide 13 
 Biểu thức 
 Nhóm toán tử và độưu tiên (2) 
 Operator Name or Meaning Associativity 
 * Dereference None 
 & Address-of None 
 + Unary plus None 
 – Arithmetic negation (unary) None 
 ! Logical NOT None 
 ~ Bitwise complement None 
 sizeof Size of object None 
 sizeof ( ) Size of type None 
 typeid( ) type name None 
 * Multiplication Left to right 
 / Division Left to right 
 % Remainder (modulus) Left to right 
 + Addition Left to right 
 – Subtraction Left to right 
Nhập môn về lập trình (C3) Slide 14 
 Biểu thức 
 Nhóm toán tử và độưu tiên (3) 
 Operator Name or Meaning Associativity 
 << Left shift Left to right 
 >> Right shift Left to right 
 < Less than Left to right 
 > Greater than Left to right 
 <= Less than or equal to Left to right 
 >= Greater than or equal to Left to right 
 == Equality Left to right 
 != Inequality Left to right 
 & Bitwise AND Left to right 
 ^ Bitwise exclusive OR Left to right 
 | Bitwise OR Left to right 
 && Logical AND Left to right 
 || Logical OR Left to right 
 e1?e2:e3 Conditional Right to left 
Nhập môn về lập trình (C3) Slide 15 
 Biểu thức 
 Nhóm toán tử và độưu tiên (4) 
 Operator Name or Meaning Associativity 
 = Assignment Right to left 
 *= Multiplication assignment Right to left 
 /= Division assignment Right to left 
 %= Modulus assignment Right to left 
 += Addition assignment Right to left 
 -= Subtraction assignment Right to left 
 <<= Left-shift assignment Right to left 
 >>= Right-shift assignment Right to left 
 &= Bitwise AND assignment Right to left 
 |= Bitwise inclusive OR assignment Right to left 
 ^= Bitwise exclusive OR assignment Right to left 
 , Comma Left to right 
Nhập môn về lập trình (C3) Slide 16 
 Biểu thức 
 Kiểu của biểu thức 
  Kiểu của biểu thức lấy theo kiểu của toán hạng lớn nhất. 
  So sánh các kiểu số dựa trên độ lớn (10x) vàđộ chính xác 
 (số chữ số có nghĩa). 
 Kiểu Số byte Độ chính xác Độ lớn 
 ----------------------------------------------------------------------------------------- 
 char 1 2 102 
 short 2 4 104 
 int / long 4 9 109 
 float 4 6 1032 
 double 8 15 10302 
  char < short < int/long < double 
  char < short < float < double 
  Ngoại lệ: float gặp int/long đổi ra double. 
Nhập môn về lập trình (C3) Slide 17 
 Biểu thức 
 Toán tử gán 
 Toán tử Sử dụng Giải thích 
 ----------------------------------------------------------------------------------- 
 = iNum1 = iNum2 
 += iNum1 += iNum2 iNum1 = iNum1 + iNum2 
 -= iNum1 -= iNum2 iNum1 = iNum1 - iNum2 
 *= iNum1 *= iNum2 iNum1 = iNum1 * iNum2 
 /= iNum1 /= iNum2 iNum1 = iNum1 / iNum2 
 %= iNum1 %= iNum2 iNum1 = iNum1 % iNum2 
 Ví dụ : tính tổng S=1+2+3+...+7 
 tong=0; 
 for (dem=1; dem<=7; dem++) tong += dem; 
Nhập môn về lập trình (C3) Slide 18 
 Biểu thức 
 Toán tử tăng / giảm 
 Toán tử Chức năng 
 ---------------------------------------------------------------------------------- 
 ++ Cộng 1 vào toán hạng 
 -- Trừ 1 vào toán hạng 
  ++ hay -- là các toán tử một toán hạng có thể dùng ở trước (prefix) 
 hoặc sau (postfix) tên biến. 
  Toán tửprefix sẽ được thực hiện trước khi sử dụng toán hạng. 
 Ví dụ : dem = ++tridau; tương đương 
 tridau++; dem=tridau; 
  Toán tửpostfix sẽ được thực hiệnsau khi sử dụng toán hạng. 
 Ví dụ : dem = tridau--; tương đương 
 dem=tridau; tridau--; 
Nhập môn về lập trình (C3) Slide 19 
 Biểu thức 
 Biểu thức số học 
  Toán tử số học gồm các nhóm: 
 • Một ngôi : + (dương), - (âm) 
 • Nhân/Chia : *, /, % 
 • Cộng/Trừ : +, - 
 • Bit : ~ (not), & (and), | (or), ^ (xor) 
  Biểu thức số học là biểu thức gồm các biểu thức cơ bản 
 kết hợp với nhau chỉ bằng toán tử số học. 
  Toán hạng đầu vào kiểu số, kết quả đầu ra kiểu số. 
  Thường dùng để tính toán dữ liệu số. 
Nhập môn về lập trình (C3) Slide 20 
 Biểu thức 
 Biểu thức so sánh 
  Toán tử so sánh trả về trị true (khác 0) hay false (bằng 0). 
 Toán tử phép so sánh 
 ------------------------------------------------------------ 
 == bằng 
 != khác 
 > lớn hơn 
 < nhỏ hơn 
 <= nhỏ hơn hoặc bằng 
 >= lớn hơn hoặc bằng 
  Biểu thức so sánh có dạng 
  Toán hạng đầu vào kiểu số, kết quả đầu ra kiểu đúng/sai. 
  Thường dùng làm điều kiện trong lệnh. 
Nhập môn về lập trình (C3) Slide 21 
 Biểu thức 
 Biểu thức luận lý 
  Toán tử luận lýthự c hiện phép toán luận lý dựa trên trị luận lýđú ng 
 (khác 0) vàsai (bằng 0). 
 Toán tử hàm luận lý 
 --------------------------------------------------------------- 
 ! NOT 
 && AND 
 || OR 
  Biểu thức luận lý có dạng 
  Toán hạng đầu vào kiểu đúng/sai, kết quả đầu ra kiểu đúng/sai. 
  Dùng để ghép các điều kiện tronglệ nh. 
Nhập môn về lập trình (C3) Slide 22 
 Biểu thức 
 Nguyên tắc hoạt động của toán tử luận lý 
  Các toán tử luận lý hoạt động theo bảng sự thật sau: 
 Th1 Th2 ! Th2 Th1 & Th2 Th1 | Th2 
 Sai Sai Đúng Sai Sai 
 Sai Đúng Sai Sai Đúng 
 Đúng Sai Đúng Sai Đúng 
 Đúng Đúng Sai Đúng Đúng 
Nhập môn về lập trình (C3) Slide 23 
 Biểu thức 
 Ví dụ 
Nhập môn về lập trình (C3) Slide 24 
 Lệnh gán 
 Cú pháp và mục đích 
  Cú pháp lệnh gán dùng toán tử gán '=' : 
 = ; 
  Sau khi thực hiện, giá trị sẽ được tính và cất 
 vào , nội dung cũ của sẽ bị mất. 
  Ta có thể thực hiện phép gán liên tiếp như sau :
 a = b = c = 25; // a,b,c đều chứa số25 
Nhập môn về lập trình (C3) Slide 25 
 Lệnh gán 
 Ví dụ 
 radius 
 height
Nhập môn về lập trình (C3) Slide 26 

File đính kèm:

  • pdfbai_giang_nhap_mon_ve_lap_trinh_chuong_3_to_chuc_du_lieu_tro.pdf