C++ cơ bản và nâng cáo
Tài liệu “Lập trình C# từ cơ bản đến nâng cao “ được biên soạn nhằm đáp ứng nhu cầu tìm hiểu, học tập của sinh viên các ngành kỹ thuật, kinh tế nói chung và của các sinh viên ngành CNTT.Lý thuyết, bài tập và lời giải " được dùng cho các sinh viên, học sinh phổ thông, học sinh các lớp chuyên tin học, học viên các lớp cao học thuộc các...
Updatesofts.com Ebooks Team
C++ Căn b n và nâng cao
M c l c:
I. Cơ b n v C++ (2)
I. C u trúc c a m t trương trình C++ (2)
II. Các bi n ki u và h ng s (5)
III. Các toán t (13)
IV. Giao ti p v i Console (19)
II. Các c u trúc ñi u khi n và Hàm (22)
I. C u trúc d li u ñi u khi n (22)
II. Hàm I (29)
III. Hàm II (34)
III. D li u nâng cao (41)
I. M ng (41)
II. Sâu ký t (48)
III. Con tr (54)
IV. B nh ñ ng (65)
V. Các c u trúc (69)
VI. Các ki u d li u do ngư i dùng ñ nh nghĩa. (typedef, union, enum) (75)
Trang 1
Updatesofts.com Ebooks Team
C u trúc c a m t chương trình C++
Có l m t trong nh ng cách t t nh t ñ b t ñ u h c m t ngôn ng l p trình là b ng m t
chương trình. V y ñây là chương trình ñ u tiên c a chúng ta :
// my first program in C++ Hello World!
#include
int main ()
{
cout Updatesofts.com Ebooks Team
(không b t bu c). N i dung c a hàm main ti p ngay sau ph n khai báo chính th c ñư c
bao trong các ngo c nh n ( { } ) như trong ví d c a chúng ta
cout Updatesofts.com Ebooks Team
with more comments */
#include
int main ()
{
cout Updatesofts.com Ebooks Team
Các bi n, ki u và h ng s
Identifiers
M t tên (indentifiers) h p l là m t chu i g m các ch cái, ch s ho c kí t g ch dư i.
Chi u dài c a m t tên là không gi i h n.
Kí t tr ng, các kí t ñánh d u ñ u không th có m t trong m t tên. Ch có ch cái, ch
s và kí t g ch dư i là ñư c cho phép. Thêm vào ñó, m t tên bi n luôn ph i b t ñ u
b ng m t ch cái. Chúng cũng có th b t ñ u b ng kí t g ch dư i ( _ ) nhưng kí t này
thư ng ñư c dành cho các liên k t bên ngoài (external link). Không bao gi chúng b t
ñ u b ng m t ch s .
M t lu t n a mà b n ph i quan tâm ñ n khi t o ra các tên c a riêng mình là chúng không
ñư c trùng v i b t kì t khoá nào c a ngôn ng hay c a trình d ch, ví d các tên sau ñây
luôn luôn ñư c coi là t khoá theo chu n ANSI-C++ và do v y chúng không th ñư c
dùng ñ ñ t tên
asm, car, bool, break, marry, catch, to char, class, const,
const_cast, continue, default, delete, do, double,
dynamic_cast, else, enum, explicit, extern, false, float,
for, friend, goto, if, inline, int, long, mutable,
namespace, new, operator, private, protected, public, to
register, reinterpret_cast, return, short, signed, sizeof,
static, static_cast, struct, switch, template, this, throw,
true, try, typedef, typeid, typename, union, unsigned,
using, virtual, void, volatile, wchar_t
Thêm vào ñó, m t s bi u di n khác c a các toán t (operator) cũng không ñư c dùng
làm tên vì chúng là nh ng t ñư c dành riêng trong m t s trư ng h p.
and, and_eq, bitand, bitor, compl, not, not_eq, or, or_eq,
xor, xor_eq
Trình d ch c a b n có th thêm m t t dành riêng ñ c trưng khác. Ví d , r t nhi u trình
d ch 16 bit (như các trình d ch cho DOS) còn có th các t khoá far, huge và near.
Chú ý: Ngôn ng C++ là "case sensitive" có nghĩa là phân bi t ch hoa ch thư ng. Do
v y bi n RESULT khác v i result cũng như Result.
Các ki u d li u
Khi l p trình, chúng ta lưu tr các bi n trong b nh c a máy tính nhưng máy tính ph i
bi t chúng ta mu n lưu tr gì trong chúng vì các ki u d li u khác nhau s c n lư ng b
nh khác nhau.
Trang 5
Updatesofts.com Ebooks Team
B nh c a máy tính chúng ta ñư c t ch c thành các byte. M t byte là lư ng b nh
nh nh t mà chúng ta có th qu n lí. M t byte có th dùng ñ lưu tr m t lo i d li u nh
như là ki u s nguyên t 0 ñ n 255 hay m t kí t . Nhưng máy tính có th x lý các ki u
d li u ph c t p hơn b ng cách g p nhi u byte l i v i nhau, như s nguyên dài hay s
th p phân. Ti p theo b n s có m t danh sách các ki u d li u cơ b n trong C++ cũng
như mi n giá tr mà chúng có th bi u di n
S
Tên Mô t Mi n giá tr
byte
có d u: -128 to 127
char 1 Kí t hay ki u s nguyên 8-bit
không d u: 0 to 255
có d u: -32763 to 32762
short 2 ki u s nguyên 16-bit
không d u: 0 to 65535
có d u:-2147483648 to
long 4 ki u s nguyên 32-bit 2147483647
không d u: 0 to 4294967295
S nguyên. ð dài c a nó ph thu c vào h
int * th ng, như trong MS-DOS nó là 16-bit, trên Xem short, long
Windows 9x/2000/NT là 32 bit...
float 4 D ng d u ph y ñ ng 3.4e + / - 38 (7 digits)
D ng d u ph y ñ ng v i ñ chính xác g p
double 8 1.7e + / - 308 (15 digits)
ñôi
long D ng d u ph y ñ ng v i ñ chính xác hơn
10 1.2e + / - 4932 (19 digits)
double n a
Giá tr logic. Nó m i ñư c thêm vào chu n
bool 1 ANSI-C++. B i v y không ph i t t c các true ho c false
trình d ch ñ u h tr nó.
Ngoài các ki u d li u cơ b n nói trên còn t n t i các con tr và các tham s không ki u
(void) mà chúng ta s xem xét sau.
Khai báo m t bi n
ð có th s d ng m t bi n trong C++, ñ u tiên chúng ta ph i khai báo nó, ghi rõ nó là
ki u d li u nào. Chúng ta ch c n vi t tên ki u (như int, short, float...) ti p theo sau ñó
là m t tên bi n h p l . Ví d
int a;
float mynumber;
Dòng ñ u tiên khai báo m t bi n ki u int v i tên là a. Dòng th hai khai báo m t bi n
ki u float v i tên mynumber. Sau khi ñư c khai báo, các bi n trên có th ñư c dùng
trong ph m vi c a chúng trong chương trình.
Trang 6
Updatesofts.com Ebooks Team
N u b n mu n khai báo m t vài bi n có cùng m t ki u và b n mu n ti t ki m công s c
vi t b n có th khai báo chúng trên m t dòng, ngăn cách các tên b ng d u ph y. Ví d
int a, b, c;
khai báo ba bi n ki u int (a,b và c) và hoàn toàn tương ñương v i :
int a;
int b;
int c;
Các ki u s nguyên (char, short, long and int) có th là s có d u hay không d u tuỳ
theo mi n giá tr mà chúng ta c n bi u di n. Vì v y khi xác ñ nh m t ki u s nguyên
chúng ta ñ t t khoá signed ho c unsigned trư c tên ki u d li u. Ví d :
unsigned short NumberOfSons;
signed int MyAccountBalance;
N u ta không ch rõ signed or unsigned nó s ñư c coi là có d u, vì v y trong khai báo
th hai chúng ta có th vi t :
int MyAccountBalance
cũng hoàn toàn tương ñương v i dòng khai báo trên. Trong th c t , r t ít khi ngư i ta
dùng ñ n t khoá signed. Ngo i l duy nh t c a lu t này ki u char. Trong chu n ANSI-
C++ nó là ki u d li u khác v i signed char và unsigned char.
ð có th th y rõ hơn vi c khai báo trong chương trình, chúng ta s xem xét m t ño n mã
C++ ví d như sau:
// operating with variables 4
#include
int main ()
{
// declaring variables:
int a, b;
int result;
// process:
a = 5;
b = 2;
a = a + 1;
result = a - b;
// print out the result:
cout Updatesofts.com Ebooks Team
return 0;
}
ð ng lo l ng n u như vi c khai báo có v hơi l lùng v i b n. B n s th y ph n chi ti t
còn l i trong ph n ti p theo
Kh i t o các bi n
Khi khai báo m t bi n, giá tr c a nó m c nhiên là không xác ñ nh. Nhưng có th b n s
mu n nó mang m t giá tr xác ñ nh khi ñư c khai báo. ð làm ñi u ñó, b n ch c n vi t
d u b ng và giá tr b n mu n bi n ñó s mang:
type identifier = initial_value ;
Ví d , n u chúng ta mu n khai báo m t bi n int là a ch a giá tr 0 ngay t khi kh i t o,
chúng ta s vi t :
int a = 0;
B xung vào cách kh i t o ki u C này, C++ còn có thêm m t cách m i ñ kh i t o bi n
b ng cách b c m t c p ngo c ñơn sau giá tr kh i t o. Ví d :
int a (0);
C hai cách ñ u h p l trong C++.
Ph m vi ho t ñ ng c a các bi n
T t c các bi n mà chúng ta s s d ng ñ u ph i ñư c khai báo trư c. M t ñi m khác bi t
gi a Cvà C++ là trong C++ chúng ta có th khai báo bi n b t kì nơi nào trong chương
trình, th m chí là ngay gi a các l nh th c hi n ch không ch là ñ u kh i l nh như
trong C.
M c dù v y chúng ta v n nên theo cách c a ngôn ng C khi khai báo các bi n b i vì nó
s r t h u d ng khi c n s a ch a m t chương trình có t t c các ph n khai báo ñư c g p
l i v i nhau. B i v y, cách thông d ng nh t ñ khai báo bi n là ñ t nó trong ph n b t ñ u
c a m i hàm (bi n c c b ) hay tr c ti p trong thân chương trình, ngoài t t c các hàm
(bi n toàn c c).
Global variables (bi n toàn c c) có th ñư c s d ng b t kì ñâu trong chương trình,
ngay sau khi nó ñư c khai báo.
T m ho t ñ ng c a local variables (bi n c c b ) b gi i h n trong ph n mã mà nó ñư c
khai báo. N u chúng ñư c khai báo ñ u m t hàm (như hàm main), t m ho t ñ ng s là
toàn b hàm main. ði u ñó có nghĩa là trong ví d trên, các bi n ñư c khai báo trong
Trang 8
Updatesofts.com Ebooks Team
hàm main() ch có th ñư c dùng trong hàm ñó, không ñư c dùng b t kì ñâu khác.
Thêm vào các bi n toàn c c và c c b , còn có các bi n ngoài (external). Các bi n này
không nh ng ñư c dùng trong m t file mã ngu n mà còn trong t t c các file ñư c liên
k t trong chương trình.
Trong C++ t m ho t ñ ng c a m t bi n chính là kh i l nh mà nó ñư c khai báo (m t
kh i l nh là m t t p h p các l nh ñư c g p l i trong m t b ng các ngo c nh n { } ). N u
nó ñư c khai báo trong m t hàm t m ho t ñ ng s là hàm ñó, còn n u ñư c khai báo
trong vòng l p thì t m ho t ñ ng s ch là vòng l p ñó....
Các h ng s
M t h ng s là b t kì m t bi u th c nào mang m t giá tr c ñ nh, như:
Các s nguyên
1776
707
-273
chúng là các h ng mang giá tr s . Chú ý r ng khi bi u di n m t h ng ki u s chúng ta
không c n vi t d u ngo c kép hay b t kì d u hi u nào khác.
Thêm vào nh ng s h cơ s 10 ( cái mà t t c chúng ta ñ u ñã bi t) C++ còn cho phép
s d ng các h ng s cơ s 8 và 16. ð bi u di n m t s h cơ s 8 chúng ta ñ t trư c nó
kí t 0, ñ bi u di n s h cơ s 16 chúng ta ñ t trư c nó hai kí t 0x. Ví d :
75 // Cơ s 10
0113 // cơ s 8
0x4b // cơ s 16
Các s th p phân (d ng d u ph y ñ ng)
Chúng bi u di n các s v i ph n th p phân và/ho c s mũ. Chúng có th bao g m ph n
th p phân, kí t e (bi u di n 10 mũ...).
3.14159 // 3.14159
6.02e23 // 6.02 x 1023
1.6e-19 // 1.6 x 10-19
3.0 // 3.0
Kí t và xâu kí t
Trong C++ còn t n t i các h ng không ph i ki u s như:
'z'
'p'
"Hello world"
"How do you do?"
Trang 9
Updatesofts.com Ebooks Team
Hai bi u th c ñ u tiên bi u di n các kí t ñơn, các kí t ñư c ñ t trong d u nháy ñơn ('),
hai bi u th c ti p theo bi u th c các xâu kí t ñư c ñ t trong d u nháy kép (").
Khi vi t các kí t ñơn hay các xâu kí t c n ph i ñ chúng trong các d u nháy ñ phân
bi t v i các tên bi n hay các t khoá. Chú ý:
x
'x'
x tr ñ n bi n x trong khi 'x' là kí t h ng 'x'.
Các kí t ñơn và các xâu kí t có m t tính ch t riêng bi t là các mã ñi u khi n. Chúng là
nh ng kí t ñ c bi t mà không th ñư c vi t b t kì ñâu khác trong chương trình như là
mã xu ng dòng (\n) hay tab (\t). T t c ñ u b t ñ u b ng d u x ngư c (\). Sau ñây là
danh sách các mã ñi u khi n ñó:
\n xu ng dòng
\r lùi v ñ u dòng
\t kí t tab
\v căn th ng theo chi u d c
\b backspace
\f sang trang
\a Kêu bíp
\' d u nháy ñơn
\" d u nháy kép
\ d uh i
\\ kí t x ngư c
Ví d :
'\n'
'\t'
"Left \t Right"
"one\ntwo\nthree"
Thêm vào ñó, ñ bi u di n m t mã ASCII b n c n s d ng kí t x ngư c (\) ti p theo
ñó là mã ASCII vi t trong h cơ s 8 hay cơ s 16. Trong trư ng h p ñ u mã ASCII ñư c
vi t ngay sau d u s ngư c, trong trư ng h p th hai, ñ s d ng s trong h cơ s 16
b n c n vi t kí t x trư c s ñó (ví d \x20 hay \x4A).
Các h ng chu i kí t có th ñư c vi t trên nhi u dòng n u m i dòng ñư c k t thúc b ng
m t d u s ngư c (\):
Trang 10
Updatesofts.com Ebooks Team
"string expressed in \
two lines"
B n có th n i m t vài h ng xâu kí t ngăn cách b ng m t hay vài d u tr ng, kí t tab,
xu ng dòng hay b t kì kí t tr ng nào khác.
"we form" "a unique" "string" "of characters"
ð nh nghĩa các h ng (#define)
B n có th ñ nh nghĩa các h ng v i tên mà b n mu n ñ có th s d ng thư ng xuyên mà
không m t tài nguyên cho các bi n b ng cách s d ng ch th #define. ðây là d ng c a
nó:
#define identifier value
Ví d :
#define PI 3.14159265
#define NEWLINE '\n'
#define WIDTH 100
chúng ñ nh nghĩa ba h ng s m i. Sau khi khai báo b n có th s d ng chúng như b t kì
các h ng s nào khác, ví d
circle = 2 * PI * r;
cout Updatesofts.com Ebooks Team
Trong trư ng h p ki u không ñư c ch rõ (như trong ví d cu i) trình d ch s coi nó là
ki u int
Trang 12
Updatesofts.com Ebooks Team
Các toán t
Qua bài trư c chúng ta ñã bi t ñ n s t n t i c a các bi n và các h ng. Trong C++, ñ
thao tác v i chúng ta s d ng các toán t , ñó là các t khoá và các d u không có trong
b ng ch cái nhưng l i có trên h u h t các bàn phím trên th gi i. Hi u bi t v chúng là
r t quan tr ng vì ñây là m t trong nh ng thành ph n cơ b n c a ngôn ng C++.
Toán t gán (=).
Toán t gán dùng ñ gán m t giá tr nào ñó cho m t bi n
a = 5;
gán giá tr nguyên 5 cho bi n a. V trái b t bu c ph i là m t bi n còn v ph i
có th là b t kì h ng, bi n hay k t qu c a m t bi u th c.
C n ph i nh n m nh r ng toán t gán luôn ñư c th c hi n t trái sang ph i
và không bao gi ñ o ngư c
a = b;
gán giá tr c a bi n a b ng giá tr ñang ch a trong bi n b. Chú ý r ng
chúng ta ch gán giá tr c a b cho a và s thay ñ i c a b sau ñó s
không nh hư ng ñ n giá tr c a a.
M t thu c tính c a toán t gán trong C++ góp ph n giúp nó vư t lên các
ngôn ng l p trình khác là vi c cho phép v ph i có th ch a các phép gán
khác. Ví d :
a = 2 + (b = 5);
tương ñương v i
b = 5;
a = 2 + b;
Vì v y bi u th c sau cũng h p l trong C++
a = b = c = 5;
gán giá tr 5 cho c ba bi n a, b và c
Các toán t s h c ( +, -, *, /, % )
Năm toán t s h c ñư c h tr b i ngôn ng là:
+ c ng
- tr
* nhân
/ chia
Trang 13
Updatesofts.com Ebooks Team
% l y ph n dư (trong phép chia)
Th t th c hi n các toán t này cũng gi ng như chúng ñư c th c hi n trong toán
h c. ði u duy nh t có v hơi l ñ i v i b n là phép l y ph n dư, ký hi u b ng d u
ph n trăm (%). ðây chính là phép toán l y ph n dư trong phép chia hai s nguyên
v i nhau. Ví d , n u a = 11 % 3;, bi n a s mang giá tr 2 vì 11 = 3*3 +2.
Các toán t gán ph c h p (+=, -=, *=, /=, %=, >>=, Updatesofts.com Ebooks Team
Sau ñây là các toán t quan h b n có th s d ng trong C++
== B ng
!= Khác
> L n hơn
< Nh hơn
> = L n hơn ho c b ng
< = Nh hơn ho c b ng
Ví d :
(7 == 5) s tr giá tr false
(6 >= 6) s tr giá tr true
t t nhiên thay vì s d ng các s , chúng ta có th s d ng b t c bi u
th c nào. Cho a=2, b=3 và c=6
(a*b >= c) s tr giá tr true.
(b+4 < a*c) s tr giá tr false
C n chú ý r ng = (m t d u b ng) lf hoàn toàn khác v i == (hai d u b ng).
D u ñ u tiên là m t toán t gán ( gán giá tr c a bi u th c bên ph i cho bi n
bên trái) và d u còn l i (==) là m t toán t quan h nh m so sánh xem hai
bi u th c có b ng nhau hay không.
Trong nhi u trình d ch có trư c chu n ANSI-C++ cũng như trong ngôn ng C,
các toán t quan h không tr v giá tr logic true ho c false mà tr v giá tr
int v i 0 tương ng v i false còn giá tr khác 0 (thư ng là 1) thì tương ng v i
true.
Các toán t logic ( !, &&, || ).
Toán t ! tương ñương v i toán t logic NOT, nó ch có m t ñ i s phía bên
ph i và vi c duy nh t mà nó làm là ñ i ngư c giá tr c a ñ i s t true sang
false ho c ngư c l i. Ví d :
!(5 == 5) tr v false vì bi u th c bên ph i (5 == 5) có giá tr true.
!(6 Updatesofts.com Ebooks Team
( (5 == 5) && (3 > 6) ) tr v false ( true && false ).
( (5 == 5) || (3 > 6)) tr v true ( true || false ).
Toán t ñi u ki n ( ? ).
Toán t ñi u ki n tính toán m t bi u th c và tr v m t giá tr khác tuỳ thu c
vào bi u th c ñó là ñúng hay sai. C u trúc c a nó như sau:
condition ? result1 : result2
N u condition là true thì giá tr tr v s là result1, n u không giá tr tr
v là result2.
7==5 ? 4 : 3 tr v 3 vì 7 không b ng 5.
7==5+2 ? 4 : 3 tr v 4 vì 7 b ng 5+2.
5>3 ? a : b tr v a, vì 5 l n hơn 3.
a>b ? a : b tr v giá tr l n hơn, a ho c b.
Các toán t thao tác bit ( &, |, ^, ~, ).
Các toán t thao tác bit thay ñ i các bit bi u di n m t bi n, có nghĩa là thay
ñ i bi u di n nh phân c a chúng
toán t asm Mô t
& AND Logical AND
| OR Logical OR
^ XOR Logical exclusive OR
~ NOT ð o ngư c bit
> SHR D ch bit sang ph i
Các toán t chuy n ñ i ki u
Các toán t chuy n ñ i ki u cho phép b n chuy n ñ i d li u t ki u này sang
ki u khác. Có vài cách ñ làm vi c này trong C++, cách cơ b n nh t ñư c
th a k t ngôn ng C là ñ 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 (), ví d :
int i;
float f = 3.14;
i = (int) f;
ðo n mã trên chuy n s th p phân 3.14 sang m t s nguyên (3). ñây, toán
t chuy n ñ i ki u là (int). M t cách khác ñ làm ñi u này trong C++ là s
d ng các constructors ( m t s sách thu t ng này ñư c d ch là c u t
nhưng tôi th y nó có v không xuôi tai l m) thay vì dùng các toán t : ñ t
trư c bi u th c c n chuy n ñ i ki u tên ki u m i và bao b c bi u th c gi a
m t c p ngo c ñơn.
i = int ( f );
Trang 16
Updatesofts.com Ebooks Team
C hai cách chuy n ñ i ki u ñ u h p l trong C++. Thêm vào ñó ANSI-C++
còn có nh ng toán t chuy n ñ i ki u m i ñ c trưng cho l p trình hư ng ñ i
tư ng.
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 s mang giá tr 1 vì ki u char luôn có kích c 1 byte trên m i h th ng. Giá
tr tr v c a sizeof là m t h ng s vì v y nó luôn luôn ñư c tính trư c khi
chương trình th c hi n.
Các toán t khác
Trong C++ còn có m t s các toán t khác, như các toán t liên quan ñ n con
tr hay l p trình hư ng ñ i tư ng. Chúng s ñư c nói ñ n c th trong các
ph n tương ng.
Th t ưu tiên c a các toán t
Khi vi t các bi u th c ph c t p v i nhi u toán h ng các b n có th t h i toán h ng
nào ñư c tính trư c, toán h ng nào ñư c tính sau. Ví d như trong bi u th c sau:
a = 5 + 7 % 2
có th có hai cách hi u sau:
a = 5 + (7 % 2) v i k t qu là 6, ho c
a = (5 + 7) % 2 v i k t qu là 0
Câu tr l i ñúng là bi u th c ñ u tiên. Vì nguyên nhân nói trên, ngôn ng C++ ñã
thi t l p m t th t ưu tiên gi a các toán t , không ch riêng các toán t s h c mà
t t c các toán t có th xu t hi n trong C++. Th t ưu tiên c a chúng ñư c li t kê
trong b ng sau theo th t t cao xu ng th p.
Th
Toán t Mô t Associativity
t
1 :: scope Trái
2 () [ ] -> . sizeof Trái
++ -- tăng/gi m
~ ð o ngư c bit
! NOT
3 Ph i
&* Toán t con tr
(type) Chuy n ñ i ki u
+- Dương ho c âm
4 */% Toán t s h c Trái
Trang 17
Updatesofts.com Ebooks Team
5 +- Toán t s h c Trái
6 > D ch bit Trái
7 < >= Toán t quan h Trái
8 == != Toán t quan h Trái
Toán t thao tác
9 &^| Trái
bit
10 && || Toán t logic Trái
11 ?: Toán t ñi u ki n Ph i
= += -= *= /= %=
12 >>= Updatesofts.com Ebooks Team
Giao ti p v i console.
Console là giao di n cơ b n c a máy tính. Bàn phím là thi t b vào cơ b n còn màn hình
là thi t b ra cơ b n.
Trong thư vi n iostream c a C++, các thao tác vào ra cơ b n c a m t chương trình ñư c
h tr b i hai dòng d li u : cin ñ nh p d li u và cout ñ xu t. Thêm vào ñó, còn có
cerr và clog là hai dòng d li u dùng ñ hi n th các thông báo l i trên thi t b ra chu n
(thư ng là màn hình) ho c ra m t file. Thông thư ng cout ñư c gán v i màn hình còn
cin ñư c gán v i bàn phím.
S d ng hai dòng d li u này b n s có th giao ti p v i ngư i s d ng vì b n có th hi n
th các thông báo lên màn hình cũng như nh n d li u t bàn phím.
Xu t d li u (cout)
Dòng cout ñư c s d ng v i toán t ñã quá t i