i 1 : 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++
#include <iostream.h>
int main ()
{
cout << "Hello World!";
return 0;
}
Hello World!
Ch ng trình trên đây là ch ng trình đ u tiên mà h u h t nh ng ng i h c ngh l pươ ươ ế ườ
trình vi t đ u tiên và k t qu c a nó là vi t câu "Hello, World" lên màn hình. Đây làế ế ế
m t trong nh ng ch ng trình đ n gi n nh t có th vi t b ng C++ nh ng nó đã bao ươ ơ ế ư
g m nh ng ph n c b n mà m i ch ng trình C++ có. Hãy cùng xem xét t ng dòng ơ ươ
m t :
// my first program in C++
Đây là dòng chú thích. T t c các dòng b t đ u b ng hai d u s (//) đ c coi là chút ượ
thích mà chúng không có b t kì m t nh h ng nào đ n ho t đ ng c a ch ng trình. ưở ế ươ
Chúng có th đ c các l p trình viên dùng đ gi i thích hay bình ph m bên trong mã ượ
ngu n c a ch ng trình. Trong tr ng h p này, dòng chú thích là m t gi i thích ng n ươ ườ
g n nh ng gì mà ch ng trình chúng ta làm. ươ
#include <iostream.h>
Các câu b t đ u b ng d u (#) đ c dùng cho preprocessor (ai d ch h tôi t này v i). ượ
Chúng không ph i là nh ng dòng mã th c hi n nh ng đ c dùng đ báo hi u cho trình ư ượ
d ch. đây câu l nh #include <iostream.h> báo cho trình d ch bi t c n ph i ế
"include" th vi n ư iostream. Đây là m t th vi n vào ra c b n trong C++ và nó ph i ư ơ
đ c "include" vì nó s đ c dùng trong ch ng trình. Đây là cách c đi n đ sượ ư ươ
d ng th vi n ư iostream
int main ()
Dòng này t ng ng v i ph n b t đ u khai báo hàm ươ main. Hàm main là đi m mà t t
c các ch ng trình C++ b t đ u th c hi n. Nó không ph thu c vào v trí c a hàm ươ
này ( đ u, cu i hay gi a c a mã ngu n) mà n i dung c a nó luôn đ c th c hi n ượ
đ u tiên khi ch ng trình b t đ u. Thêm vào đó, do nguyên nhân nói trên, m i ch ng ươ ươ
trình C++ đ u ph i t n t i m t hàm main.
Theo sau main là m t c p ngo c đ n b i vì nó là m t hàm. Trong C++, t t c các hàm ơ
mà sau đó là m t c p ngo c đ n () thì có nghĩa là nó có th có ho c không có tham s ơ
(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 << "Hello World";
Dòng l nh này làm vi c quan tr ng nh t c a ch ng trình. ươ cout là m t dòng (stream)
output chu n trong C++ đ c đ nh nghĩa trong th vi n ượ ư iostream và nh ng gì mà dòng
l nh này làm là g i chu i kí t "Hello World" ra màn hình.
Chú ý r ng dòng này k t thúc b ng d u ch m ph y ( ; ). Kí t này đ c dùng đ k t ế ượ ế
thúc m t l nh và b t bu c ph i có sau m i l nh trong ch ng trình C++ c a b n (m t ươ
trong nh ng l i ph bi n nh t c a nh ng l p trình viên C++ là quên m t d u ch m ế
ph y).
return 0;
L nh return k t thúc hàm main và tr v mã đi sau nó, trong tr ng h p này là 0. Đâyế ườ
là m t k t thúc bình th ng c a m t ch ng trình không có m t l i nào trong quá trình ế ườ ươ
th c hi n. Nh b n s th y trong các ví d ti p theo, đây là m t cách ph bi n nh t ư ế ế
đ k t thúc m t ch ng trình C++. ế ươ
Ch ng trình đ c c u trúc thành nh ng dòng khác nhau đ nó tr nên d đ c h nươ ượ ơ
nh ng hoàn toàn không ph i b t bu c ph i làm v y. Ví d , thay vì vi t ư ế
int main ()
{
cout << " Hello World ";
return 0;
}
ta có th vi t ế
int main () { cout << " Hello World "; return 0; }
cũng cho m t k t qu chính xác nh nhau. ế ư
Trong C++, các dòng l nh đ c phân cách b ng d u ch m ph y ( ;). Vi c chia ch ng ượ ươ
trình thành các dòng ch nh m đ cho nó d đ c h n mà thôi. ơ
Các chú thích.
Các chú thích đ c các l p trình viên s d ng đ ghi chú hay mô t trong các ph n c aượ
ch ng trình. Trong C++ có hai cách đ chú thíchươ
// Chú thích theo dòng
/* Chú thích theo kh i */
Chú thích theo dòng b t đ u t c p d u x (//) cho đ n cu i dòng. Chú thích theo kh i ế
b t đ u b ng /* và k t thúc b ng ế */ và có th bao g m nhi u dòng. Chúng ta s thêm
các chú thích cho ch ng trình : ươ
/* my second program in C++ Hello World! I'm a C++ program
with more comments */
#include <iostream.h>
int main ()
{
cout << "Hello World! ";
// says Hello World!
cout << "I'm a C++ program";
// says I'm a C++ program
return 0;
}
N u b n vi t các chú thích trong ch ng trình mà không s d ng các d u //, /* hay */,ế ế ươ
trình d ch s coi chúng nh là các l nh C++ và s hi n th các l i. ư
i 1 : 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++
#include <iostream.h>
int main ()
{
cout << "Hello World!";
return 0;
}
Hello World!
Ch ng trình trên đây là ch ng trình đ u tiên mà h u h t nh ng ng i h c ngh l pươ ươ ế ườ
trình vi t đ u tiên và k t qu c a nó là vi t câu "Hello, World" lên màn hình. Đây làế ế ế
m t trong nh ng ch ng trình đ n gi n nh t có th vi t b ng C++ nh ng nó đã bao ươ ơ ế ư
g m nh ng ph n c b n mà m i ch ng trình C++ có. Hãy cùng xem xét t ng dòng ơ ươ
m t :
// my first program in C++
Đây là dòng chú thích. T t c các dòng b t đ u b ng hai d u s (//) đ c coi là chút ượ
thích mà chúng không có b t kì m t nh h ng nào đ n ho t đ ng c a ch ng trình. ưở ế ươ
Chúng có th đ c các l p trình viên dùng đ gi i thích hay bình ph m bên trong mã ượ
ngu n c a ch ng trình. Trong tr ng h p này, dòng chú thích là m t gi i thích ng n ươ ườ
g n nh ng gì mà ch ng trình chúng ta làm. ươ
#include <iostream.h>
Các câu b t đ u b ng d u (#) đ c dùng cho preprocessor (ai d ch h tôi t này v i). ượ
Chúng không ph i là nh ng dòng mã th c hi n nh ng đ c dùng đ báo hi u cho trình ư ượ
d ch. đây câu l nh #include <iostream.h> báo cho trình d ch bi t c n ph i ế
"include" th vi n ư iostream. Đây là m t th vi n vào ra c b n trong C++ và nó ph i ư ơ
đ c "include" vì nó s đ c dùng trong ch ng trình. Đây là cách c đi n đ sượ ư ươ
d ng th vi n ư iostream
int main ()
Dòng này t ng ng v i ph n b t đ u khai báo hàm ươ main. Hàm main là đi m mà t t
c các ch ng trình C++ b t đ u th c hi n. Nó không ph thu c vào v trí c a hàm ươ
này ( đ u, cu i hay gi a c a mã ngu n) mà n i dung c a nó luôn đ c th c hi n ượ
đ u tiên khi ch ng trình b t đ u. Thêm vào đó, do nguyên nhân nói trên, m i ch ng ươ ươ
trình C++ đ u ph i t n t i m t hàm main.
Theo sau main là m t c p ngo c đ n b i vì nó là m t hàm. Trong C++, t t c các hàm ơ
mà sau đó là m t c p ngo c đ n () thì có nghĩa là nó có th có ho c không có tham s ơ
(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 << "Hello World";
Dòng l nh này làm vi c quan tr ng nh t c a ch ng trình. ươ cout là m t dòng (stream)
output chu n trong C++ đ c đ nh nghĩa trong th vi n ượ ư iostream và nh ng gì mà dòng
l nh này làm là g i chu i kí t "Hello World" ra màn hình.
Chú ý r ng dòng này k t thúc b ng d u ch m ph y ( ; ). Kí t này đ c dùng đ k t ế ượ ế
thúc m t l nh và b t bu c ph i có sau m i l nh trong ch ng trình C++ c a b n (m t ươ
trong nh ng l i ph bi n nh t c a nh ng l p trình viên C++ là quên m t d u ch m ế
ph y).
return 0;
L nh return k t thúc hàm main và tr v mã đi sau nó, trong tr ng h p này là 0. Đâyế ườ
là m t k t thúc bình th ng c a m t ch ng trình không có m t l i nào trong quá trình ế ườ ươ
th c hi n. Nh b n s th y trong các ví d ti p theo, đây là m t cách ph bi n nh t ư ế ế
đ k t thúc m t ch ng trình C++. ế ươ
Ch ng trình đ c c u trúc thành nh ng dòng khác nhau đ nó tr nên d đ c h nươ ượ ơ
nh ng hoàn toàn không ph i b t bu c ph i làm v y. Ví d , thay vì vi t ư ế
int main ()
{
cout << " Hello World ";
return 0;
}
ta có th vi t ế
int main () { cout << " Hello World "; return 0; }
cũng cho m t k t qu chính xác nh nhau. ế ư
Trong C++, các dòng l nh đ c phân cách b ng d u ch m ph y ( ;). Vi c chia ch ng ượ ươ
trình thành các dòng ch nh m đ cho nó d đ c h n mà thôi. ơ
Các chú thích.
Các chú thích đ c các l p trình viên s d ng đ ghi chú hay mô t trong các ph n c aượ
ch ng trình. Trong C++ có hai cách đ chú thíchươ
// Chú thích theo dòng
/* Chú thích theo kh i */
Chú thích theo dòng b t đ u t c p d u x (//) cho đ n cu i dòng. Chú thích theo kh i ế
b t đ u b ng /* và k t thúc b ng ế */ và có th bao g m nhi u dòng. Chúng ta s thêm
các chú thích cho ch ng trình : ươ
/* my second program in C++
with more comments */
#include <iostream.h>
int main ()
{
cout << "Hello World! ";
// says Hello World!
cout << "I'm a C++ program";
// says I'm a C++ program
return 0;
}
Hello World! I'm a C++ program
N u b n vi t các chú thích trong ch ng trình mà không s d ng các d u //, /* hay */,ế ế ươ
trình d ch s coi chúng nh là các l nh C++ và s hi n th các l i. ư
i 3 : 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. ế ế