Professional Documents
Culture Documents
Bài 4 Các kiểu dữ liệu cơ sở PDF
Bài 4 Các kiểu dữ liệu cơ sở PDF
NHP MN LP TRNH
CC KIU D LIU C S
VC
&
BB
Ni dung
Cc kiu d liu c s
Mt s v d minh ha
Cc kiu d liu c s
VC
&
BB
Cc kiu d liu c s
Cc kiu d liu c s
VC
&
BB
Kiu s nguyn
ln
(Byte)
Min gi tr
(Range)
char
128 +127
int
32.768 +32.767
short
32.768 +32.767
long
2.147.483.648 +2.147.483.647
Cc kiu d liu c s
VC
&
BB
Kiu s nguyn
ln
(Byte)
Min gi tr
(Range)
unsigned char
0 255
unsigned int
0 65.535
unsigned short
0 65.535
unsigned long
0 4.294.967.295
Cc kiu d liu c s
VC
&
BB
Kiu s thc
ln
(Byte)
Min gi tr
(Range)
float (*)
3.4*1038 3.4*1038
double (**)
1.7*10308 1.7*10308
VC
&
BB
Kiu lun l
c im
C ngm nh mt cch khng tng minh:
false (sai): gi tr 0.
true (ng): gi tr khc 0, thng l 1.
C++: bool
V d
0 (false), 1 (true), 2 (true), 2.5 (true)
1 > 2 (0, false), 1 < 2 (1, true)
Cc kiu d liu c s
VC
&
BB
Kiu k t
c im
Tn kiu: char
Min gi tr: 256 k t trong bng m ASCII.
Chnh l kiu s nguyn do:
Lu tt c d liu dng s.
Khng lu trc tip k t m ch lu m ASCII ca
k t .
V d
Lu s 65 tng ng vi k t A
Lu s 97 tng ng vi k t a.
Cc kiu d liu c s
VC
&
BB
Bin
Bin
V d
int i;
int j, k;
unsigned char dem;
float ketqua, delta;
C php
<kiu> <tn bin>;
<kiu> <tn bin 1>, <tn bin 2>;
Cc kiu d liu c s
VC
&
BB
Hng s
Hng
thng
V d
int a = 1506;
int b = 01506;
int c = 0x1506;
float d = 15.06e-3;
C php
<kiu> <tnhng> = <gi tr>;
// 150610
// 15068
// 150616 (0x hay 0X)
// 15.06*10-3 (e hay E)
Cc kiu d liu c s
10
VC
&
BB
Hng s
Hng
k hiu
V d
#define MAX 100
#define PI 3.14
const int MAX = 100;
const float PI = 3.14;
C php
#define <tnhng> <gi tr>
hoc s dng t kha const.
// Khng c ;
// Khng c ;
Cc kiu d liu c s
11
VC
&
BB
Biu thc
Khi nim
To thnh t cc ton t (Operator) v cc
ton hng (Operand).
Ton t tc ng ln cc gi tr ca ton hng
v cho gi tr c kiu nht nh.
Ton t: +, , *, /, %.
Ton hng: hng, bin, li gi hm...
V d
2 + 3, a / 5, (a + b) * 5,
Cc kiu d liu c s
12
VC
&
BB
Ton t gn
Khi nim
Thng c s dng trong lp trnh.
Gn gi tr cho bin.
C php
<bin> = <gi tr>;
<bin> = <bin>;
<bin> = <biu thc>;
C th thc hin lin tip php gn.
Cc kiu d liu c s
13
VC
&
BB
Ton t gn
V d
void main()
{
int nA, nB, nC, nD, nE, nThuong;
nA = 10;
nB = nA;
nThuong = nA / nB;
nA = nB = nC = nD = nE = 156;
nE = 156;
nD = nE;
nC = nD;
nB = nC;
nA = nB;
}
Cc kiu d liu c s
14
VC
&
BB
Cc ton t ton hc
Ton t 1 ngi
Ch c mt ton hng trong biu thc.
++ (tng 1 n v), -- (gim 1 n v)
t trc ton hng
V d ++x hay --x: thc hin tng/gim trc.
V d
x = 10; y = x++;
x = 10; y = ++x;
// y = 10 v x = 11
// x = 11 v y = 11
Cc kiu d liu c s
15
VC
&
BB
Cc ton t ton hc
Ton t 2 ngi
C hai ton hng trong biu thc.
+, , *, /, % (chia ly phn d)
x = x + y x += y;
V d
a = 1 + 2; b = 1 2; c = 1 * 2; d = 1 / 2;
e = 1*1.0 / 2; f = float(1) / 2; g = float(1 / 2);
h = 1 % 2;
x = x * (2 + 3*5); x *= 2 + 3*5;
Cc kiu d liu c s
16
VC
&
BB
Cc kiu d liu c s
17
VC
&
BB
V d
void main()
{
int nA = 5;
int nB = 6;
int
nZ1
nZ2
nZ3
nZ4
nZ5
nZ6
0100
0111
0011
1010
0001
0100
}
Cc kiu d liu c s
18
VC
&
BB
Cc ton t quan h
Cc ton t quan h
So snh 2 biu thc vi nhau
Cho ra kt qu 0 (hay false nu sai) hoc 1
(hay true nu ng)
==, >, <, >=, <, <=, !=
V d
s1 = (1 == 2);
s2 = (1 != 2);
s3 = (1 > 2);
s4 = (1 >= 2);
s5 = (1 < 2);
s6 = (1 <= 2);
Cc kiu d liu c s
19
VC
&
BB
Cc ton t lun l
Cc ton t lun l
T hp nhiu biu thc quan h vi nhau.
&& (and), || (or), ! (not)
&&
||
V d
s1 = (1 > 2) && (3 > 4);
s2 = (1 > 2) || (3 > 4);
s3 = !(1 > 2);
Cc kiu d liu c s
20
VC
&
BB
Ton t iu kin
Ton t iu kin
y l ton t 3 ngi (gm c 3 ton hng)
<biu thc 1> ? <biu thc 2> : <biu thc 3>
<biu thc 1> ng th gi tr l <biu thc 2>.
<biu thc 1> sai th gi tr l <biu thc 3>.
V d
s1 = (1 > 2) ? 2912 : 1706;
int s2 = 0;
1 < 2 ? s2 = 2912 : s2 = 1706;
Cc kiu d liu c s
21
VC
&
BB
Ton t phy
Ton t phy
Cc biu thc t cch nhau bng du ,
Cc biu thc con ln lt c tnh t tri
sang phi.
Biu thc mi nhn c l gi tr ca biu
thc bn phi cng.
V d
x = (a++, b = b + 2);
a++; b = b + 2; x = b;
Cc kiu d liu c s
22
VC
&
BB
u tin ca cc ton t
Ton t
() [] -> .
! ++ -- - + * (cast) & sizeof
* / %
+ << >>
< <= > >=
== !=
&
|
^
&&
||
?:
= += -= *= /= %= &=
,
u tin
Cc kiu d liu c s
23
VC
&
BB
u tin ca cc ton t
24
VC
&
BB
x ln hn hay bng 3
x >= 3
a v b cng du
((a>0) && (b>0)) || ((a<0) && (b<0))
(a>0 && b>0) || (a<0 && b<0)
p bng q bng r
(p == q) && (q == r) hoc (p == q && q == r)
5 < x < 5
(x > 5) && (x < 5) hoc (x > 5 && x < 5)
Cc kiu d liu c s
25
VC
&
BB
Cu lnh
Khi nim
L mt ch th trc tip, hon chnh nhm ra
lnh cho my tnh thc hin mt s tc v
nht nh no .
Trnh bin dch b qua cc khong trng (hay
tab hoc xung dng) chen gia lnh.
V d
a=2912;
a = 2912;
a
=
2912;
Cc kiu d liu c s
26
VC
&
Cu lnh
BB
Phn loi
Cu lnh n: ch gm mt cu lnh.
Cu lnh phc (khi lnh): gm nhiu cu
lnh n c bao bi { v }
V d
a = 2912;
// Cu lnh n
}
Cc kiu d liu c s
27
VC
&
BB
Cu lnh xut
Th vin
#include <stdio.h> (standard input/output)
C php
printf(<chui nh dng>[, <s1>, <s2>, ]);
<chui nh dng> l cch trnh by thng tin
xut v c t trong cp nhy kp .
Vn bn thng (literal text)
K t iu khin (escape sequence)
c t (conversion specifier)
Cc kiu d liu c s
28
VC
&
BB
Chui nh dng
29
VC
&
BB
Chui nh dng
ngha
\a
\b
\n
\t
\\
\?
\
Ting chung
Li li mt bc
Xung dng
Du tab
In du \
In du ?
In du
V d
printf(\t); printf(\n);
printf(\t\n);
Cc kiu d liu c s
30
VC
&
BB
Chui nh dng
c t (conversion specifier)
Gm du % v mt k t.
Xc nh kiu ca bin/gi tr mun xut.
Cc i s chnh l cc bin/gi tr mun xut,
c lit k theo th t cch nhau du phy.
c t
ngha
%c
%d, %ld
%f, %lf
%s
%u
K t
S nguyn c du
S thc
Chui k t
S nguyn khng du
char
char, int, short, long
float, double
char[], char*
unsigned int/short/long
Cc kiu d liu c s
31
VC
&
BB
Chui nh dng
V d
int a = 10, b = 20;
Xut ra 10
printf(%d, b);
Xut ra 20
printf(%d %d, a, b); Xut ra 10 20
printf(%d, a);
float x = 15.06;
printf(%f, x);
printf(%f, 1.0/3);
Xut ra 15.060000
Xut ra 0.333333
Cc kiu d liu c s
32
VC
&
nh dng xut
BB
C php
nh dng xut s nguyn: %nd, %nld
nh dng xut s thc: %n.kf, %n.lf
int a = 1706;
float x = 176.85;
printf(%10d, a); printf(\n);
printf(%10.2f, x); printf(\n);
printf(%.2f, x); printf(\n);
Cc kiu d liu c s
33
VC
&
BB
Chui nh dng
printf(%d, a);
// Xut gi tr ca bin a
printf( cong );
// Xut chui cong
printf(%d, b);
// Xut gi tr ca bin b
printf( bang );
// Xut chui bang
printf(%d, a + b); // Xut gi tr ca a + b
printf(\n);
// Xut iu khin xung dng \n
34
VC
&
BB
Cu lnh nhp
Th vin
#include <stdio.h> (standard input/output)
C php
scanf(<chui nh dng>[, <s1>, <s1>, ]);
<chui nh dng> ging nh dng xut
nhng ch c cc c t.
Cc i s l tn cc bin s cha gi tr
nhp v c t trc du &
Cc kiu d liu c s
35
VC
&
BB
Cu lnh nhp
scanf(%d, a);
// Thiu du &
scanf(%d, &a, &b);
// Thiu %d cho bin b
scanf(%f, &a); // a l bin kiu s nguyn
scanf(%9d, &a); // khng c nh dng
scanf(a = %d, b = %d, &a, &b);
Cc kiu d liu c s
36
VC
&
BB
Mt s hm hu ch khc
37
VC
&
BB
Mt s hm hu ch khc
V d
int x = 4, y = 3, z = -5;
float t = -1.2;
float kq1 = sqrt(x);
int kq2 = pow(x, y);
float kq3 = pow(x, 1/3);
float kq4 = pow(x, 1.0/3);
int kq5 = abs(z);
float kq6 = fabs(t);
Cc kiu d liu c s
38
VC
&
BB
Bi tp
39
VC
&
BB
Bi tp
Cc kiu d liu c s
40
VC
&
BB
Bi tp
Cc kiu d liu c s
41