Bài giảng Kỹ thuật lập trình - Chương 3: Tổ chức dữ liệu trong chương trình cung cấp cho người học các kiến thức: Dữ liệu cố định, hằng, biến, kiểu dữ liệu, từ khóa, tầm vực biến, phép toán và biểu thức,... Mời các bạn cùng tham khảo nội dung chi tiết.
Ch ng 03 T ch c d li u ch ng trình Tr n Quang © 2016 CuuDuongThanCong.com Ch ng 03: T ch c d li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình 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 bi u th c Ki u enum, struct Chuy n đ i ki u d li u Tr n Quang © 2016 CuuDuongThanCong.com Ch ng 03: T ch c d li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình D li u D li u đ c l u tr RAM c a máy tính q trình ch ng trình th c thi D li u ch ng trình C th ng xu t hi n d i hình th c: Literals hay Fixed Value: giá tr c đ nh Constant: h ng Variable: bi n Tr n Quang © 2016 ć tên (name) giá tr thay th (value) ć tên (name), ki u (type) n i dung ch a bên (value) CuuDuongThanCong.com Ch ng 03: T ch c d li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình Gí tr c đ nh Giá tr s : S nguyên h bát phân (octal): b t đ u b ng s Ví d : 0x3D -0x3AF8 Ví d : 169 ng -2053 S th c d u ch m đ ng: (floating point) Tr n Quang © 2016 -0203 S nguyên h th p phân (decimal): nh bình th 0165 S nguyên h th p l c (hexadecimal): b t đ u b ng 0x Ví d : Ví d : CuuDuongThanCong.com 3.14159 Ch ng 03: T ch c d 13.5f li u ch -83.1E-9 ng trình https://fb.com/tailieudientucntt K thu t l p trình Gí tr c đ nh Giá tr c đ nh ki u s nguyên có th ć ph n h u t (suffix) s k t h p c a U L, cho ki u Unsigned ki u Long Có th ch hoa ho c ch th ng theo b t c th t Ví d : 078 032UU 30 30u 30l 30ul Tr n Quang © 2016 /* Khơng h p l : không ć h bát phân*/ /* Khong hop le: không th l p l i h u t */ /* int */ /* unsigned int */ /* long */ /* unsigned long */ CuuDuongThanCong.com Ch ng 03: T ch c d li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình Gí tr c đ nh Giá tr ki u ḱ t - chu i Ḱ t : đ t d u nháy đ n (') Ć th ḱ t bình th ng (plain character) hay escape sequence ('\n', '\t', …) 'A' '7' '\101' '\t' Chu i: đ t d u nháy kép (“) Tr n Quang © 2016 Ví d : Ví d : CuuDuongThanCong.com "Dai Hoc Bach Khoa" Ch ng 03: T ch c d li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình Escape sequence Escape sequenc e Escape sequence Meaning Meaning \\ \ character \n Newline \' ' character \r Carriage return \" " character \t Horizontal tab \? ? character \v Vertical tab \a Alert or bell \ooo Octal number of one to three digits \b Backspace \f Form feed \xhh Hexadecimal number of one or more digits Tr n Quang © 2016 CuuDuongThanCong.com Ch ng 03: T ch c d li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình H ng H ng 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 : Tr n Quang © 2016 const int MAX = 15; #define MAX 15 CuuDuongThanCong.com Ch ng 03: T ch c d li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình Ví d Ki u ḱ t const char c = ‘a’; const char c = ‘A’; Ki u chu i const char c[] = “LAP TRINH C/C++”; const char c[] = “SAI GON”; Ki u s const int a = 100; const float f = 10.5f; const double d = 10.5; Tr n Quang © 2016 CuuDuongThanCong.com Ch ng 03: T ch c d li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình Bi n Bi n m t v̀ng b nh c a máy tính ć đ c m sau: Tr n Quang © 2016 Ć tên (name): ng i d̀ng t đ t đ d̀ng thay cho đ a ch b nh Ć ki u (type): liên quan đ n lo i đ l n c a giá tr mà bi n ć th ch a Ć d li u: giá tr ch a bi n CuuDuongThanCong.com Ch ng 03: T ch c d li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình 10 Ćc lo i tó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 ĺ Logical Operators Toán t bitwise Bitwise Operators Toán t gán Assignment Operators Các tốn t khác Other Operators Tr n Quang © 2016 CuuDuongThanCong.com Ch ng 03: T ch c d li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình 38 Tón t ǵn (assignment) Dùng đ gán m t giá tr đ́ cho m t bi n Cú pháp: = ; V trái b t bu c ph i m t bi n, v ph i ć th h ng, bi n hay k t qu c a m t bi u th c K t qu tr v c a bi u th c bên v ph i đ c gán vào bi n v trái V ph i ć th ch a phép gán khác Ví d : a = b = c = 5; a = + ( b = 4); Tr n Quang © 2016 CuuDuongThanCong.com Ch ng 03: T ch c d li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình 39 Tón t s h c c ng + tr - Tr n Quang © 2016 * nhân / chia % l y ph n d (trong phép chia), c hai toán h ng s nguyên ++ toán toán CuuDuongThanCong.com Ch ng 03: T ch c d li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình 40 Tốn t t ng / gi m ++ hay tốn t m t ngơi ć th đ ng tr c (prefix) ho c sau (postfix) tên bi n Toán t prefix đ c th c hi n tr c s d ng toán h ng Ví d : dem = ++k; t Toán t postfix đ toán h ng Tr n Quang © 2016 Ví d : dem = k ; t CuuDuongThanCong.com Ch ng đ ng k++; dem = k; c th c hi n sau s d ng ng đ ng 03: T ch c d ng dem = k; k ; li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình 41 Tón t ǵn ph c h p Tố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 += Tr n Quang © 2016 CuuDuongThanCong.com t Ch ng đ ng 03: T ch c d ng x = x + li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình 42 Tón t so śnh Ch tr v giá tr true (khác 0) ho c false (b ng 0) Toán t ́ ngh a == b ng != khác > l nh n < nh h n = l n h n ho c b ng Tr n Quang © 2016 CuuDuongThanCong.com Ch ng 03: T ch c d li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình 43 Tón t lu n ĺ Toán h ng giá tr lu n ĺ true (khác 0) ho c false (b ng 0) Toán t hàm lu n ĺ -! NOT && AND || OR Tr n Quang © 2016 CuuDuongThanCong.com Ch ng 03: T ch c d li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình 44 Tón t lu n ĺ x y !y x && y x || y true true false true true true false true false true false true false false true false false true false false Tr n Quang © 2016 CuuDuongThanCong.com Ch ng 03: T ch c d li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình 45 Tón t bitwise Các phép toán bit (các s đ c chuy nh phân đ tính tốn t ng bit): p q p&q bitwise AND & bitwise OR | 0 bitwise XOR ^ bitwise NOT ~ 0 left shift > nv h p|q p^q 0 1 1 Các phép gán ph c h p: =>> =b ? a : b tr v giá tr l n h n gi a a b Tr n Quang © 2016 CuuDuongThanCong.com Ch ng 03: T ch c d li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình 47 u tiên c a ćc tón t Tr n Quang © 2016 CuuDuongThanCong.com Ch ng 03: T ch c d li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình 48 Chuy n đ i ki u Khi ta gán m t giá tr vào m t bi n c̀ng m t ki u d li u, hay th c hi n phép toán nh phân gi a hai giá tr c̀ng m t ki u d li u khơng c n s chuy n đ i ki u x y Ví d int a = 100; int b; b = a; float f = 10.5f; float fa; fa = f; Tr n Quang © 2016 CuuDuongThanCong.com Ch ng 03: T ch c d li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình 49 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) 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) Ép ki u Tr n Quang © 2016 Ć th gi nguyên giá tr ngu n Ć th bi n đ i giá tr ngu n Ng i l p trình can thi p b ng tốn t đ c bi t: c p d u ”(” “)” CuuDuongThanCong.com Ch ng 03: T ch c d li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình 50 Chuy n đ i ng m Tr ng h p gi nguyên giá tr ngu n Khi ki u ngu n ć s bit th p h n ki u đích Ví d Tr n Quang © 2016 char vào short short vào int Int vào long long Int vào double CuuDuongThanCong.com Ch ng 03: T ch c d li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình 51 Ép ki u (type casting) Là chuy n đ i ki u t t ki u đích Cú pháp ng minh, ng i l p trình đ t 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 © 2016 CuuDuongThanCong.com Ch ng 03: T ch c d li u ch ng trình https://fb.com/tailieudientucntt K thu t l p trình 52 ... Value range Precision size byte 1.2E -3 8 to 3. 4E +38 decimal places byte 2.3E -3 0 8 to 1.7E +30 8 15 decimal places 3. 4E-4 932 to 10 byte 19 decimal places 1.1E+4 932 Thêm #include vào đ u... short bytes -3 2 ,768 to 32 ,767 unsigned short bytes to 65, 535 long bytes -2 ,147,4 83, 648 to 2,147,4 83, 647 unsigned long bytes to 4,294,967,295 Tr n Quang © 2016 CuuDuongThanCong.com Ch ng 03: T ch... char byte -1 28 to 127 or to 255 unsigned char byte to 255 signed char byte -1 28 to 127 int or bytes -3 2 ,768 to 32 ,767 or -2 ,147,4 83, 648 to 2,147,4 83, 647 unsigned int or bytes to 65, 535 or to 4,294,967,295