Title: CHUONG 3 BI?N V
1CHUONG 3BI?N VÀ H?NG
2Bi?n
Là noi luu tr? d? li?u trong b? nh? máy tính,
du?c d?t b?i m?t tên.
M?i bi?n ch? có th? luu m?t lo?i giá tr? nh?t
d?nh, tùy thu?c ki?u bi?n (ki?u d? li?u - KDL).
3Bi?n
M?i bi?n ch? có th? luu m?t lo?i giá tr? nh?t
d?nh, tùy thu?c ki?u bi?n (ki?u d? li?u - KDL).
4Bi?n
Giá tr? c?a bi?n có th? thay d?i, nhung t?i m?i
th?i di?m m?t bi?n ch? luu m?t giá tr?.
5Ð?nh nghia bi?n
Là d?t tên và xác d?nh ki?u bi?n (khai báo
bi?n) - M?i bi?n c?n ph?i du?c khai báo trong
chuong trình tru?c khi s? d?ng. - Ð? d?nh
nghia m?t bi?n, d?ng khai báo KDL tenBien -
Ð?nh nghia nhi?u bi?n cùng ki?u KDL bien1,
bien2, bienN - Phép gán d? thay d?i giá tr?
bi?n. tenBien giatri
6Ð?nh nghia bi?n
7Gán kép
Là gán cho nhi?u bi?n cùng lúc sau khi dã khai
báo các bi?n. int a, b a b 6 b (a
3)2
8Kh?i gán
Là gán tr? cho bi?n ngay khi khai báo bi?n
dó. double x 1.1234
9Gán kép và kh?i gán
Chú ý phân bi?t double x 1.0, y 2.0, z
1.5 int a, ba b 6 int a b 6 int m
3, n 3
10Ki?u bi?n (ki?u d? li?u co b?n)
- Xét t?p N, Z, Q, R, C ?!
- KDL du?c xác d?nh b?i
- t?p giá tr?, và
- t?p các phép toán tác d?ng lên các ph?n t? thu?c
t?p giá tr? ?y. - Ðon v? luu tr? là byte. M?i giá tr? thu?c m?t
KDL du?c bi?u di?n b?i m?t s? byte nh?t d?nh. - Các giá tr? bi?u di?n du?c là h?u h?n.
11(No Transcript)
12(1) Ki?u s? nguyên
char unsinged char int unsigned int long
unsigned long
Bi?u di?n h?ng giá tr? 1234 (ki?u
int) 1234U (ki?u unsigned int) 1234L (ki?u
long) 1234UL (ki?u unsigned long)
13(No Transcript)
14(1) Ki?u s? nguyên
Các phép toán trên s? nguyên /
9/4 ? 2 1/2 ? 0 95 ? 4
15(No Transcript)
16(1) Ki?u s? nguyên
Các ti?p d?u ng? long, short, signed, unsigned
v?i ki?u nguyên short int ? short signed int
? ? int unsigned int ? unsigned long int
?long
17(2) Ki?u s? th?c
float double
- Hai cách bi?u di?n s? th?c
- D?ng th?p phân ph?n nguyên ph?n
phân. 12.345 -0.02468 - D?ng ch?m d?ng ph?n d?nh tr? ph?n
mu. 1.2345e01 -2.468e-02 - Bi?u di?n h?ng giá tr?
- 12.34 (ki?u double) 1.234e01
- 12.34F (ki?u float) 1.234e01F
18- Các phép toán trên s? th?c
- /
- Ð? chính xác
- float 7 ch? s? th?p phân
- double 15 ch? s? th?p phân
- Ki?u double du?c luu ý s? d?ng
- Tính toán v?i s? l?n.
- C?n d? chính xác cao.
19(No Transcript)
20(3) Ki?u kí t?
char (1 byte, mã hoá du?c 256 kí t?)
Bi?u di?n h?ng kí t? a, 4, _at_,... T?p giá
tr? Kí t? ch? (a, S,...) Kí t? s?
(0,..,9) D?u (_at_,?,..) Kí t? di?u khi?n
(\n, \a,...) Kí t? d?c bi?t.
21(3) Ki?u kí t?
M?t vài kí t? di?u khi?n
\a alert (bell) \\ backslash
\b backspace \? question mark
\n newline \' single quote
\t horizontal tab \" double quote
\v vertical tab \r carriage return
22(3) Ki?u kí t?
M?i kí t? du?c luu v?i m?t s? nguyên, và theo m?t
th? t? nh?t d?nh g?i là b? mã. B? mã du?c dùng
ph? bi?n là b? mã ASCII. a 97 A
65 0 48 _at_ 64 ...
23B?ng mã ASCII
24(No Transcript)
25(No Transcript)
26(3) Ki?u kí t?
- Các phép toán nhu d?i v?i trên s? nguyên
- /
- Th?c hi?n trên mã ASCII c?a kí t? tuong ?ng.
- char c A //c 65
- coutltltc1 ? 66
- c c1 coutltltc ? B
- c c/2 coutltltc ? !
- coutltlta A ? 32
- coutltlt8 3 ? 5
27H?ng
- Là tên trong chuong trình ?ng v?i m?t v? trí luu
tr? trong máy tính. - Mang m?t giá tr? không d?i và không th? thay d?i
trong su?t quá trình chuong trình th?c thi. - Ð?nh nghia h?ng dùng t? khóa
- const, define, enum
28Ð?nh nghia h?ng dùng t? khóa const
const KDL TenHang giaTriHang
Ví d? const float PI 3.1459 const int
DVHT_m1 10
29(No Transcript)
30(No Transcript)
31Khi không d?nh ki?u h?ng
32Khi không d?nh ki?u h?ng
33Ð?nh nghia h?ng tu?ng trung, dùng t? khóa define
define TenHang giaTriHang
Chú ý Không dùng Không dùng phép gán
M?t d?nh nghia ch? m?t h?ng Ví d? define
PI 3.1459 define DVHT_m1 10 define
DVHT_m2 8
34(No Transcript)
35H?ng li?t kê, dùng t? khóa enum
enum hang1, hang2,, hangN
- Dùng khi có mu?n d?nh nghia nhi?u h?ng nguyên.
- M?c d?nh các giá tr? h?ng liên ti?p nhau, b?t
d?u là 0. - enum false, true
- enum auto, remote, hand
36(No Transcript)
37H?ng li?t kê, dùng t? khóa enum
- Ð?nh tr? b?t d?u c?a danh sách h?ng
- enum auto -1, remote, hand
- enum Mon 2, Tue, Wed, Thu,
- Fri, Sat, Sun
38(No Transcript)
39H?ng li?t kê, dùng t? khóa enum
- Ð?nh tr? cho t?ng tên h?ng
- enum auto-1, remote 2, hand 5
- enum start A, midM, end Z
40(No Transcript)
41Ð?nh nghia ki?u v?i typedef
- M?t khai báo có thêm ti?n t? typedef s? d?nh
nghia m?t tên m?i cho KDL (dã có). - typedef KDL tenMoi
- M?t tên du?c d?nh nghia theo cách này du?c g?i
là d?nh nghia ki?u.
42Ð?nh nghia ki?u v?i typedef
Ví d? typedef long SoNg32 typedef short
int SoNg16 typedef char KITU
43(No Transcript)
44Tham chi?u
Là m?t tên g?i khác d? truy c?p d?n cùng d?a ch?
(vùng nh?) v?i bi?n dã có.
M?u khai báo KDL ref var Ví d? int n
3 int r n
n
r
3
45Tham chi?u
- Ðu?c s? d?ng chính
- Ð?i v?i tham s? c?a hàm.
- Trong ki?u tr? v? c?a hàm.
- Cho các phép toán n?p ch?ng.
46(No Transcript)
47(No Transcript)
48(No Transcript)
49Tham chi?u
Không tham chi?u d?n bi?n khác ki?u. double
x int n x //??? Không tham chi?u d?n
h?ng. const int a 5 int r a //??? int
t 7 //???
50Tham chi?u d?n bi?n khác
51Bài t?p 1
xx 2vars var-2 ban_kinh x2
BANKINH dong_ chieu dai chieu rong DienTich
52Bài t?p 2
int a, b, dienTich, chuVi const double Pi
3.14159 const long rate 16019L float chieu
dai, chieu rong char t a char ho
nguyen int a b 2, S, C
53Bài t?p 2
define PI 3.14159 double R 2, dT, cV double
diem_m_1, diem-mon-2, dTB const dvht 1 3, dvht
2 4 char ten nam long tien 100000