Tải bản đầy đủ (.pdf) (28 trang)

Bài giảng tin học đại cương chương 2 kiểu dữ liệu biến biểu thức

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (621.67 KB, 28 trang )

TIN H C
CH2: KI U D

IC

NG

LI U– BI N – BI U TH C

1 Các ki u d li u c b n
2 Bi n, h ng
gs
3 Bi u th c
4 Các tóan t trong C
5 Th t
u tiên
tiê c a các
á phép
hé toán
t á

Khoa TVTHK. Tin H c

iC

ng

Ph n II. Ch

ng 2: Ki n d li u-bi n-h ng-bi u th c


Trang 1


1. Ki u d li u
Ki u s nguyên:
Giá tr là các s nguyên nh 2912, -1706.
Ki u s th c:
Giá tr là các s th c nh 3.14, 29.2, -17.6
Ki u lu n lý:
Giá tr đúng (Khác 0) ho c sai (B ng 0)
ýt :
Ki u ký
256 ký t trong b ng mã ASCII.

Khoa TVTHK. Tin H c

iC

ng

Ph n II. Ch

ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 2


1. Ki u d li u

Khoa TVTHK. Tin H c


iC

ng

Ph n II. Ch

ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 3


1.1 S nguyên có d u
Ki u
(Type)
char
int
Short int
L
Long
i t
int

l n
(Byte)
1
2
2
4


Khoa TVTHK. Tin H c

iC

ng

Mi n giá tr
(Range)
–128 ~ +127
–32.768
32 768 ~ +32
+32.767
767
–32.768 ~ +32.767
–2.147.483.648
2 147 483 648 ~ +2
+2.147.483.647
147 483 647

Ph n II. Ch

ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 4


1.2 S nguyên không d u
Ki u
(Type)


l n
(Byte)

unsigned char
unsigned int
unsigned
g
short int
unsigned long int

Khoa TVTHK. Tin H c

iC

ng

1
2
2
4

Ph n II. Ch

Mi n giá tr
(Range)

0 … 255
0 … 65.535
0 … 65.535
0 … 4.294.967.295


ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 5


1.3 S th c
S th c (Floating point number)
Ki u
(Type)

l n
(Byte)

Mi n giá tr
(Range)

float (*)

4

3.4*10–38 … 3.4*1038

double (**)
( )

8

308 … 1.7
1 7*10

1.7
10–308
1 7*10
10308

()
(*)
chính xác đ n (Single
(Single-precision)
precision) chính xác đ n 7 s
l .
(**)
chính xác kép (Double-precision) chính xác đ n 19
s l .
Khoa TVTHK. Tin H c

iC

ng

Ph n II. Ch

ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 6


1.4 Ki u d li u: Lu n lý
c đi m
C ng

g m đ nh m t cách không
g t ng
g minh:
false (sai): giá tr 0.
true (đúng): giá tr khác 0, th ng là 1.
Ví d
0 (false), 1 (true), 2 (true), 2.5 (true)
1 > 2 (0,
(0 false),
false) 1 < 2 (1
(1, true)

Khoa TVTHK. Tin H c

iC

ng

Ph n II. Ch

ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 7


1. Ki u d li u: Ký t
c đi m
ê ki u
u: cchar
a

Tên
Mi n giá tr : 256 ký t trong b ng mã ASCII.
Chính là ki u s nguyên do:
L u t t c d li u d ng s .
Không
g l u tr c ti p kýý t mà ch l u mã ASCII c a
ký t đó.

Ví d
L u s 65 t
L u s 97 t
Khoa TVTHK. Tin H c

iC

ng

ng đ

ng

ng v i ký t ‘A’…
ng
g v i kýý t ‘a’.

Ph n II. Ch

ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 8



2. Bi n
c đi m
Tên bi n
iNumber

Ki u d li u
int

Giá tr c a bi n
10

Cú pháp:
ki u> tê bi n>;
<ki u> <tên bi n 1>, <tên bi n 2>;
<ki u> <tên bi n = value> ;
VD:
int i;;
int j, k = 4;
unsigned char dem_so;
float ketqua, delta;
Khoa TVTHK. Tin H c

iC

ng


Ph n II. Ch

ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 9


2. H ng
c đi m

X Tên h ng
X Ki u d li u
X Giá tr c a h ng

Cú pháp:
const <ki u> <tênh ng> = <giá tr >;
#define <tênh ng> <giá tr >

VD:
const int MAX_NUMBER = 100;
const char LETTER
LETTER_A
A = “A”;
A;
const float PI = 3.14;
# define PI 3.14
#d
define
fi MAX
MAX_NUM

NUM 100
Khoa TVTHK. Tin H c

iC

ng

Ph n II. Ch

ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 10


3. Bi u th c
T o thành t các toán t (Operator) và các toán
h ng (Operand).
Toán t tác đ ng lên các giá tr c a toán h ng và
cho giá tr có ki u nh t đ nh.
Toán T

y=2*y+5
Toán h ng
Khoa TVTHK. Tin H c

iC

ng

Ph n II. Ch


ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 11


4. Các tóan t

trong C++

1 Toán t gán (=)
2 Toán t s h c (+, - *, /, % )
3 Các toán t kh i t o (+=, -=, *=, /=, %=)
4 Tóan t t ng / gi m: ++ / -5 Các toán t quan h ( ==, !=, >, <, >=, <= )
6 Các toán t logic ( !, &&, || ).
7 Toán t đi u ki n ( ? ).
8 Toán t ph y (,)
9 Tóan
Tó t chuy
h
n ki u
10
u tiên c a tóan t
Khoa TVTHK. Tin H c

iC

ng

Ph n II. Ch


ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 12


1. Tóan t

gán: =

Th ng đ c s d ng trong l p trình.
Gán giá tr bên ph i d u = cho bi n.
Cú pháp
<bi n> = <giá tr >;
<bi n> = <bi n>;
<bi n> = <bi u th c>;
Toán t gán luôn đ c th c hi n t trái sang ph i và không
đ o ng
g c. Có th th c hi n liên ti p p
phép
pg
gán. L nh g
gán
khác v i d u = trong tóan h c

VD
int a, b, c, d ;
a=b=c=d=5;
a =a+1;
Khoa TVTHK. Tin H c


iC

ng

Ph n II. Ch

ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 13


2 Tóan t tính tóan: +, - , * , / , %
Toán t
+
*
/
%

Tên
C ng
Tr
Nhân
Chia
L y ph n d

Ví d
10 + 5.5 = 15.5
5–3=2
2*3=6

7 / 2 = 3.5
9%4 =1

̌ Tóan t %: Chia l y s d :
VD: a = 7 % 2 ;
//giá tr c a a sau l nh này = 1 vì 7/3=2 d 1

Khoa TVTHK. Tin H c

iC

ng

Ph n II. Ch

ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 14


2 Tóan t tính tóan: +, - , * , / , %
̌ Chú ý phép chia s nguyên, s th
VD: a = 9/2 ;
// bi n a có giá tr
a = 9/2.0
9/2 0
// bi n a có giá tr
a = 9.0/2
// bi n a có giá tr
a = 9.0/2.0 // bi n a có g

giá tr
Tính
a) 2 * 5 * 5 + 3 * 2 -7
a) 2 / 3 / 4 + 5
b) (7 * 3 / 4 - 2) * 5

Khoa TVTHK. Tin H c

iC

ng

Ph n II. Ch

c:
4
45
4.5
4.5
4.5
Toán t
()
* / %
+ =
,

ng 2: Ki n d li u-bi n-h ng-bi u th c

u tiên
LåR

å
å
å
å

Trang 15


3 Các tóan t
Các toán t

gán ph c h p (+=, -=, *=, /=, %=)

Toán T
=
+=
-=
*=
/=
%=

Khoa TVTHK. Tin H c

kh i t o

Ví d
n = 25
n += 25
n -= 25
n *= 25

n /= 25
n %= 25

iC

ng

Ph n II. Ch

T

ng


ng
gv i

n = n + 25
n = n – 25
n = n * 25
n = n / 25
n = n % 25

ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 16


4 Các tóan t
Toán T

++
++
---

T ng m
T ng m
Gi m m
Gi m m

T ng , gi m (1)
Tên
t (ti n t
t (h u t
t (ti
( nt
t (h u t

)
)
)
)

Ví d : k=5;
++k + 10 // đ c 16
k++ + 10 // đ c 15
--k + 10 // đ c 14
k-- + 10 // đ c 15

̌ Ti n t (++a) thì giá tr đ c t ng tr c khi bi u th c
đ c tính và giá tr đã t ng đ c s d ng trong bi u

th c;
̌ H u t (a++) giá tr trong bi n a đ c t ng sau khi đã
tính toán.
Khoa TVTHK. Tin H c

iC

ng

Ph n II. Ch

ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 17


4 Các tóan t

T ng , gi m (2)

Chú ý:
a++ ;
a ;
a-++a ;
--a ;
b = a++

ú
ú
ú

ú
ú

b = ++a

ú

a += 1 ;
a -=
=1;
a += 1 ;
a -= 1 ;
b=a;
a++ ;
a++ ;
b=a;

A = 5;
B = ++A;

A = 5;
B = A++;

K t qu : A=6, B=6

K t qu : A=6, B=5

Khoa TVTHK. Tin H c

iC


ng

Ph n II. Ch

ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 18


5 Tóan t quan h : ==, !=, >, <, >=, <= (1) 
Toán
t
==
!=
<
<=
>
>=

Tên

Ví d

So sánh b ng
So sánh không b ng
S sánh
So
á h nh
h h n

So sánh nh h n ho c b ng
So sánh l n h n
So sánh l n h n ho c b ng

Khoa TVTHK. Tin H c

iC

ng

Ph n II. Ch

5 == 5 // cho 1
5 != 5 // cho 0
5 < 5.5
5 5 // cho
h 1
5 <= 5 // cho 1
5 > 5.5
5 5 // cho 0
6.3 >= 5 // cho 1

ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 19


5 Tóan t quan h : ==, !=, >, <, >=, <= (2) 
0: SAI (false)


<> 0:

ÚNG (true)

T t c các ký t đ c s p x p theo m t th t nh t đ nh
trong b ng mã ASCII. Do đó vi c so sánh 2 ký t chính là
so sánh th t (hay mã) c a chúng.
chúng
Ví d :
a > ‘c’
c => Bi u Th c Logic mang giá tr false
‘a’
‘1’ < ‘A’ => Bi u Th c Logic mang giá tr true
‘$’ > ‘1’ => Bi u Th c Logic mang giá tr false

Khoa TVTHK. Tin H c

iC

ng

Ph n II. Ch

ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 20


6 Các toán t
Toán t

!
&&
||

logic ( !, &&, || )

Tên
Ví d
Ph đ nh lu n lýý ((Not)) !(5
( == 5))
// đ c 0
Và lu n lý (AND)
5 < 6 && 6 < 6 // đ c 0
Ho c lu n lý (OR)
5 < 6 || 6 < 5 // đ c 1

Tính:
a) s1 = (1 > 2) && (3 > 4);
b) s2 = (1 > 2) || (3 > 4);
c) s3 = !(1 > 2);

Khoa TVTHK. Tin H c

iC

ng

Ph n II. Ch

ng 2: Ki n d li u-bi n-h ng-bi u th c


Trang 21


7 Toán t

đi u ki n ( ? ).

condition ? result1 : result2
N u condition là true thì giá tr tr v s là result1,
result1 n u
không giá tr tr v là result2.
7 == 5 ? 4 : 3
7 == 5 +2 ? 4 : 3
5>3 ? a : b
a>b?a:b

Khoa TVTHK. Tin H c

iC

ng

//tr
//tr
//tr
//tr

Ph n II. Ch


v
v
v
v

3 vì 7 không b ng 5.
4 vì 7 b ng 5+2.
a,, vì 5 l n h n 3.
giá tr l n h n, a ho c b.

ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 22


8 Toán t

ph y (,)

Toán t ph y
X Các bi u th c đ t cách nhau b ng d u ,
X Các
Cá bi u th c con l n l t đ c tính
tí h t trái
t ái sang
ph i.
X Bi u th c m i nh n đ c là giá tr c a bi u th c
bên ph i cùng.
Ví d :
int x,

x yy, z ;
x = (a++, b = b + 2);
T ng đ ng: a++; b = b + 2; x = b;
// H n ch
h s d ng ki u này
à vìì không
khô minh
i h b ch.
h Vi t l ii:
a++ ;
b += 2 ;
x=b;
Khoa TVTHK. Tin H c

iC

ng

Ph n II. Ch

ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 23


9 Chuy n đ i ki u trong C: T đ ng
C 2 bi u th c là s nguyên:
• N u 1 trong 2 là long int, k t qu là long int
• N u 1 trong 2 là unsigned int,
int k t qu là unsigned int

Ki u d li u
long double ← highest type
double
float
unsigned
i
d llong
long int
unsigned int
int
short in
char
← lowest type
Khoa TVTHK. Tin H c

iC

ng

Ph n II. Ch

(!)Trong tr ng
h p chuy n đ i t
highå low, d
li u có
ó th không
khô
chính xác.
VD: 4.5 å int s
là 4


ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 24


9 Chuy n đ i ki u: cast
Cho phép chuy n đ i d li u t ki u này sang ki u khác.
Th c hi n = cách đ t tr c bi u th c c n chuy n đ i tên
ki u d li u đ c b c trong c p ngo c đ n ()
VD:
int i;
float f =3.14;
i = int (f) //i=3
int i = 10.5;; // i = 10
sizeof(): Toán t này có m t tham s , đó có th là m t ki u
d li u hay là m t bi n và tr v kích c b ng byte c a ki u
hay đ i t ng đó.
a = sizeof (char); //a=1
Khoa TVTHK. Tin H c

iC

ng

Ph n II. Ch

ng 2: Ki n d li u-bi n-h ng-bi u th c

Trang 25



×