Ch
ươ
ng 2. Các ki u d li u c s ể
ữ ệ
ơ ở
ệ
ữ ệ ể
I. Khái ni m v ki u d li u ề ệ ể II. Các ki u d li u c s
ơ ở
ể 1. Khái ni m v ki u d li u ữ ệ ề 2. Các ki u d li u trong C ữ ệ ữ ệ ự
ể 1. Ki u ký t ể 2. Ki u s nguyên ố ể 3. Ki u s th c (s d u ph y đ ng) ố ể
ố ấ
ự
ộ
ẩ
1
Bài gi ng Ngôn ng C - Ch
ng 02 - GV. Ngô Công Th ng
ữ
ả
ươ
ắ
I.1. Khái ni m v ki u d li u
ữ ệ
ệ
ề
ể
ộ
ữ ệ
ộ ậ
ị ị
ộ
M t ki u d li u là m t t p giá tr mà có th ể ể l u tr trong máy, trên đó xác đ nh m t s ố ữ ư phép toán.
Các ki u d li u trong C g m có
ồ
ể
Các ki u d li u c s
ơ ở
ữ ệ ữ ệ ự
ố ấ
ự
ộ
ẩ
2
Bài gi ng Ngôn ng C - Ch
ng 02 - GV. Ngô Công Th ng
ữ
ả
ươ
ắ
ể Ki u ký t ể Ki u s nguyên ố ể Ki u s th c (s d u ph y đ ng) ố ể
2. Các ki u d li u trong C
ữ ệ
ể
Các ki u d li u có c u trúc ữ ệ
ấ
ả
ể Ki u m ng ể Ki u xâu ký t ể ự Ki u c u trúc ấ ể Ki u t p ệ ể Ki u do ng
i l p trình t đ nh nghĩa: Ki u
ườ ậ
ự ị
ể
ể li t kê ệ
3
Bài gi ng Ngôn ng C - Ch
ng 02 - GV. Ngô Công Th ng
ữ
ả
ươ
ắ
II. Các ki u d li u c s (chu n) ữ ệ
ơ ở
ẩ
ể
ự
1. Ki u ký t ể 2. Ki u s nguyên ố ể 3. Ki u s th c (ki u s ph y đ ng) ố ể
ố
ộ
ự
ẩ
ể
4
Bài gi ng Ngôn ng C - Ch
ng 02 - GV. Ngô Công Th ng
ữ
ả
ươ
ắ
II.1. Ki u ký t ự ể
ị ể
H ng ký t là m t ký t c th đ t gi a 2 d u ph y trên.
Ki u ký t đ ồ ký t trong b ng mã ASCII. Ki u ký t có kích th ự byte. ằ
c C đ nh nghĩa v i tên là char, g m 256 c 1 ự ượ ả ớ ể ướ ự
M t s h ng ký t đi u khi n:
ự ụ ể ặ ữ ấ ẩ
ụ ộ ố ằ ề
ỏ
ố
ầ
ế
ộ ự Ví d : ’A’, ’b’, ’9’ ự ặ
ề ầ
ư
ỏ
5
Bài gi ng Ngôn ng C - Ch
ng 02 - GV. Ngô Công Th ng
ữ
ả
ươ
ắ
ể ’\n’ New line, đ t con tr màn hình xu ng đ u dòng ti p theo ’\t’ Tab ’\b’ Backspace ’\r’ Carriage return, đ a con tr màn hình v đ u dòng
II.1. Ki u ký t ự ể
ự
ự ặ
ằ ấ
ể
c dùng nh ki u s ố ư
T t c các ký t đ u l u tr trong b nh d
i
ớ ướ
ư
ữ
ộ
ả
H ng xâu ký t là m t dãy ký t đ t gi a hai ữ ộ d u nháy kép. Ví d : ”Nhap vao mot so” ụ Ki u ký t có th đ ể ể ượ ự nguyên v i các tên sau: ớ char: có giá tr -128 – 127 ị unsigned char: có giá tr 0 – 255 ị ự ề ấ d ng s là mã ASCII c a ký t đó. ạ
ố
ủ
ự
6
Bài gi ng Ngôn ng C - Ch
ng 02 - GV. Ngô Công Th ng
ữ
ả
ươ
ắ
II.2. Ki u s nguyên
ố
ể
Ki u s nguyên đ ố
ượ ớ ề
ể ấ
c C++ đ nh nghĩa v i nhi u tên, ị c chia thành hai nhóm: ki u s nguyên có d u ố ấ ể ố
ể đ ượ và ki u s nguyên không d u. Ki u s nguyên có d u g m có: ồ ố ể ấ
cướ ả
7
Bài gi ng Ngôn ng C - Ch
ng 02 - GV. Ngô Công Th ng
ữ
ả
ươ
ắ
Tên ki uể short int long Kích th 2 byte 2 ho c 4 byte ặ 4 byte Kho ng giá tr ị -32768 - 32767 -32768 - 32767 -231 – 231-1
ể
ể ố ồ
cướ ị
Kho ng giá tr ả 0 - 65535 0 - 65535 Kích th 2 byte 2 ho c 4 byte ặ
ặ
4 byte
t ra ngoài kho ng c a int
ố
ủ
ả
0 - 232-1 ng ườ ằ ế
2. Ki u s nguyên ố Ki u s nguyên không d u g m có: ấ Tên ki uể unsigned short unsigned int ho c unsigned unsigned long Các h ng s nguyên vi t bình th ố Ví d : -45 2056 345 ụ Chú ý: Các h ng s nguyên v ượ ằ c xem là h ng long đ ằ ượ
8
Bài gi ng Ngôn ng C - Ch
ng 02 - GV. Ngô Công Th ng
ữ
ả
ươ
ắ
3. Ki u s th c ự
ố
ể
ị
ả
ộ
cướ
Kho ng gía tr 3.4E-38–3.4E38 1.7E-308–1.7E308 3.4E-4932–1.1E4932
ượ c C đ nh nghĩa v i nhi u tên khác ớ ề ị ự
Kích th 4 byte 8 byte 10 byte
Đ chính xác 7-8 ch sữ ố 15-16 ch sữ ố 18-19 ch sữ ố
Ki u s th c đ ố ề nhau: Tên ki uể float double long double
ỗ ố ự ệ ị
ả ủ
i đ ị ủ ự ệ ữ ậ ố ị ượ ướ
9
Bài gi ng Ngôn ng C - Ch
ng 02 - GV. Ngô Công Th ng
ữ
ả
ươ
ắ
Kho ng giá tr c a m i ki u s th c trên là giá tr tuy t ể đ i c a s th c mà có th l u tr trên máy. Giá tr nào ị ể ư ố có giá tr tuy t đ i nh h n c n d c xem nh ư ỏ ơ ố b ng 0. ằ
3. Ki u s th c ự
ố
ể
H ng s th c có 2 cách vi t:
ố
ồ
ạ
ầ
ấ
ấ
ậ
phân và ph n th p phân. ầ
ậ
ị
ạ
ọ
ầ
ị
ể
ầ
ộ
ầ ố ặ
ủ ự ầ
ươ
ộ
ở
ữ
ặ
-3 = 0.12534
ụ
ố
3 = 120
Ví d : 34.75 -124.25 ụ D ng mũ (d ng khoa h c): g m ph n tr và ph n mũ c a ồ ạ c s 10, ph n tr có th là m t s nguyên ho c th c, ơ ố ặ ph n mũ là m t s nguyên âm ho c d ng. Hai ph n ố ầ cách nhau b i ch e ho c E. Ví d : 125.34E-3 là s 125.34x10 0.12E3 là s 0.12x10 ố 3 = 1000 1E3 là s 10ố
10
Bài gi ng Ngôn ng C - Ch
ng 02 - GV. Ngô Công Th ng
ữ
ả
ươ
ắ
ế ằ D ng th p phân: g m có ph n nguyên, d u ch m th p ự ậ