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 ự ậ