Updatesofts.com Ebooks Team
Trang 8
return 0;
}
ðừng lo lng nếu như vic khai báo có v hơi l lùng vi bn. Bn s thy phn chi tiết
còn li trong phn tiếp theo
Khi to các biến
Khi khai báo mt biến, giá tr ca nó mc nhiên là không xác ñịnh. Nhưng có th bn s
mun nó mang mt giá tr xác ñịnh khi ñược khai báo. ðể làm ñiu ñó, bn ch cn viết
du bng và giá tr bn mun biến ñó s mang:
type identifier = initial_value ;
Ví d, nếu chúng ta mun khai báo mt biến inta cha giá tr 0 ngay t khi khi to,
chúng ta s viết :
int a = 0;
B xung vào cách khi to kiu C này, C++ còn có thêm mt cách mi ñể khi to biến
bng cách bc mt cp ngoc ñơn sau giá tr khi to. Ví d :
int a (0);
C hai cách ñều hp l trong C++.
Phm vi hot ñộng ca các biến
Tt c các biến mà chúng ta s s dng ñều phi ñược khai báo trước. Mt ñim khác biết
gia Cvà C++ là trong C++ chúng ta có th khai báo biến bt kì nơi nào trong chương
trình, thm chí là ngay gia các lnh thc hin ch không ch ñầu khi lnh như
trong C.
Mc dù vy chúng ta vn nên theo cách ca ngôn ng C khi khai báo các biến bi vì nó
s rt hu dng khi cn sa cha mt chương trình có tt c các phn khai báo ñược gp
li vi nhau. Bi vy, cách thông dng nht ñể khai báo biến là ñặt nó trong phn bt ñầu
ca mi hàm (biến cc b) hay trc tiếp trong thân chương trình, ngoài tt c các hàm
(biến toàn cc).
Global variables
(biến toàn cc) có th ñược s dng bt kì ñâu trong chương trình,
ngay sau khi nó ñược khai báo.
Tm hot ñộng ca local variables (biến cc b) b gii hn trong phn mã mà nó ñược
khai báo. Nếu chúng ñược khai báo ñầu mt hàm (như hàm main), tm hot ñộng s
toàn b hàm main. ðiu ñó có nghĩa là trong ví d trên, các biến ñược khai báo trong
Updatesofts.com Ebooks Team
Trang 9
hàm main() ch có th ñược dùng trong hàm ñó, không ñược dùng bt kì ñâu khác.
Thêm vào các biến toàn cc và cc b, còn có các biến ngoài (external). Các biến này
không nhng ñược dùng trong mt file mã ngun mà còn trong tt c các file ñược liên
kết trong chương trình.
Trong C++ tm hot ñộng ca mt biến chính là khi lnh mà ñược khai báo (mt
khi lnh là mt tp hp các lnh ñược gp li trong mt bng các ngoc nhn { } ). Nếu
ñược khai báo trong mt hàm tm hot ñộng s là hàm ñó, còn nếu ñược khai báo
trong vòng lp thì tm hot ñộng s ch là vòng lp ñó....
Các hng s
Mt hng s là bt kì mt biu thc nào mang mt giá tr c ñịnh, như:
Các s nguyên
1776
707
-273
chúng là các hng mang giá tr s. Chú ý rng khi biu din mt hng kiu s chúng ta
không cn viết du ngoc kép hay bt kì du hiu nào khác.
Thêm vào nhng s h cơ s 10 ( cái mà tt c chúng ta ñều ñã biết) C++ còn cho phép
s dng các hng s cơ s 8 và 16. ðể biu din mt s h cơ s 8 chúng ta ñặt trước nó
kí t 0, ñể biu din 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 thp phân (dng du phy ñộng)
Chúng biu din các s vi phn thp phân và/hoc s mũ. Chúng có th bao gm phn
thp phân, kí t e (biu din 10 mũ...).
3.14159 // 3.14159
6.02e23 // 6.02 x 10
23
1.6e-19 // 1.6 x 10
-19
3.0 // 3.0
Kí t và xâu kí t
Trong C++ còn tn ti các hng không phi kiu s như:
'z'
'p'
"Hello world"
"How do you do?"
Updatesofts.com Ebooks Team
Trang 10
Hai biu thc ñầu tiên biu din các kí t ñơn, các kí t ñược ñặt trong du nháy ñơn (
'
),
hai biu thc tiếp theo biu thc các xâu kí t ñược ñặt trong du nháy kép (
"
).
Khi viết các kí t ñơn hay các xâu kí t cn phi ñặ chúng trong các du nháy ñể phân
bit vi 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 hng 'x'.
Các kí t ñơn và các xâu kí t có mt tính cht riêng bit là các mã ñiu khin. Chúng là
nhng kí t ñặc bit mà không th ñược viết bt kì ñâu khác trong chương trình như
mã xung dòng (
\n
) hay tab (
\t
). Tt c ñều bt ñầu bng du x ngược (
\
). Sau ñây
danh sách các mã ñiu khin ñó:
\n
xung dòng
\r
lùi v ñầu dòng
\t
kí t tab
\v
căn thng theo chiu dc
\b
backspace
\f
sang trang
\a
Kêu bíp
\'
du nháy ñơn
\"
du nháy kép
\
du hi
\\
kí t x ngược
Ví d:
'\n'
'\t'
"Left \t Right"
"one\ntwo\nthree"
Thêm vào ñó, ñể biu din mt mã ASCII bn cn s dng 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 hp ñầu mã ASCII ñược
viết ngay sau du s ngược, trong trường hp th hai, ñể s dng s trong h cơ s 16
bn cn viết kí t x trước s ñó (ví d
\x20
hay
\x4A
).
Các hng chui kí t có th ñược viết trên nhiu dòng nếu mi dòng ñược kết thúc bng
mt du s ngược (
\
):
Updatesofts.com Ebooks Team
Trang 11
"string expressed in \
two lines"
Bn có th ni mt vài hng xâu kí t ngăn cách bng mt hay vài du trng, kí t tab,
xung dòng hay bt kì kí t trng nào khác.
"we form" "a unique" "string" "of characters"
ðịnh nghĩa các hng (
#define
)
Bn có th ñịnh nghĩa các hng vi tên mà bn mun ñể có th s dng thường xuyên mà
không mt tài nguyên cho các biến bng cách s dng ch th
#define
. ðây là dng ca
nó:
#define identifier value
Ví d:
#define PI 3.14159265
#define NEWLINE '\n'
#define WIDTH 100
chúng ñịnh nghĩa ba hng s mi. Sau khi khai báo bn có th s dng chúng như bt kì
các hng s nào khác, ví d
circle = 2 * PI * r;
cout << NEWLINE;
Trong thc tế vic duy nht mà trình dch làm khi nó tìm thy mt ch th
#define
thay thế các tên hng ti bt kì ch nào chúng xut hin (như trong ví d trước,
PI
,
NEWLINE
hay
WIDTH
) bng giá tr mà chúng ñược ñịnh nghĩa. Vì vy các hng s
#define
ñược coi là các hng s macro
Ch th
#define
không phi là mt lnh thc thi, nó là ch th tin x lý (preprocessor),
ñó là lý do trình dch coi c dòng là mt ch th và dòng ñó không cn kết thúc bng du
chm phy. Nếu bn thêm du chm phy vào cui dòng, nó s ñược coi là mt phn ca
giá tr ñịnh nghĩa hng.
Khai báo các hng (const)
Vi tin t
const
bn có th khai báo các hng vi mt kiu xác ñịnh như là bn làm vi
mt biến
const int width = 100;
const to char tab = '\t';
const zip = 12440;
Updatesofts.com Ebooks Team
Trang 12
Trong trường hp kiu không ñược ch rõ (như trong ví d cui) trình dch s coi nó là
kiu int