<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
Ngơn ng
ữ
l
ậ
p trình
Bài 2:
Các c
ấ
u trúc đi
ề
u khi
ể
n,
m
ả
ng và con tr
ỏ
<b>Giảng viên: Lê Nguyễn Tuấn Thành </b>
<b>Email: </b>
</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>
N
ộ
i dung
2
1.
Cấu trúc rẽ nhánh
2.
Cấu trúc lặp
3.
Mảng (Array)
4.
Con trỏ (Pointer)
</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3></div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>
1.1. C
ấ
u trúc r
ẽ
nhánh v
ớ
i
<b>if-else </b>
4
<b>M</b>
<b>ụ</b>
<b>c đích </b>
Di
ễ
n đ
ạ
t s
ự
l
ự
a ch
ọ
n m
ộ
t trong nhi
ề
u nhánh, ph
ụ
thu
ộ
c vào
giá tr
ị
c
ủ
a câu đi
ề
u ki
ệ
n
Cú pháp:
<i>if (<boolean_expression>) </i>
<i><yes_statement> </i>
<i>else </i>
<i><no_statement> </i>
Ví d
ụ
:
<i>if (hrs > 40) </i>
<i>grossPay = rate*40 + 1.5*rate*(hrs-40); </i>
<i>else </i>
</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>
Câu l
ệ
nh ph
ứ
c h
ợ
p
M
ỗ
i nhánh trong if-else
ở
slide tr
ướ
c ch
ỉ
có m
ộ
t câu l
ệ
nh
Đ
ể
ghép nhi
ề
u câu l
ệ
nh trong m
ộ
t nhánh, s
ử
d
ụ
ng
{ }
.
T
ậ
p l
ệ
nh khi đó đ
ượ
c g
ọ
i là m
ộ
t kh
ố
i (block)
Ví d
ụ
:
<i>if (myScore > yourScore) </i>
<i>{ </i>
<i>cout << "I win!\n"; </i>
<i>wager = wager + 100; </i>
<i>} </i>
<i>else </i>
<i>{ </i>
</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>
M
ộ
t vài l
ư
u ý
6
<b>Toán t</b>
<b>ử</b>
<b> “=” khác toán t</b>
<b>ử</b>
<b> “==” nh</b>
<b>ư</b>
<b> th</b>
<b>ế</b>
<b> nào? </b>
“=” dùng đ
ể
gán giá tr
ị
cho các bi
ế
n
“==” dùng đ
ể
so sánh hai bi
ể
u th
ứ
c
<b>M</b>
<b>ệ</b>
<b>nh đ</b>
<b>ề</b>
<b> else có b</b>
<b>ắ</b>
<b>t bu</b>
<b>ộ</b>
<b>c khơng? </b>
Ví d
ụ
:
<i>if (sales >= minimum) </i>
<i> salary = salary + bonus; </i>
</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>
Câu l
ệ
nh l
ồ
ng nhau (nested)
Chúng ta có th
ể
l
ồ
ng m
ộ
t c
ặ
p if-else trong m
ộ
t nhánh
c
ủ
a c
ặ
p if-else khác
Ví d
ụ
:
<i>if (speed > 55) </i>
<i> if (speed > 80) </i>
<i> cout << "You’re really speeding!"; </i>
<i> else </i>
</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>
Đa r
ẽ
nhánh (if - else if - else)
</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>
Bài t
ậ
p v
ớ
i c
ấ
u trúc r
ẽ
nhánh if-else
<i>Bài 1: </i>
<i>Viết một chương trình C++ để nhắc người dùng </i>
<i>nhập 3 số nguyên và tìm giá trị lớn nhất.</i>
<i>Bài 2: Nh</i>
<i>ậ</i>
<i>p vào m</i>
<i>ộ</i>
<i>t s</i>
<i>ố</i>
<i> nguyên t</i>
<i>ươ</i>
<i>ng </i>
<i>ứ</i>
<i>ng v</i>
<i>ớ</i>
<i>i m</i>
<i>ộ</i>
<i>t tháng </i>
<i>trong năm và in ra màn hình s</i>
<i>ố</i>
<i> ngày trong tháng đó. </i>
<i> ví d</i>
<i>ụ</i>
<i>: </i>
<i> input: 1 </i>
<i> output: tháng 1 có 31 ngày </i>
</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>
1.2. R
ẽ
nhánh v
ớ
i l
ệ
nh witch (1/2)
</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11></div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>
L
ệ
nh switch: câu h
ỏ
i
12
<i>switch (aChar) </i>
<i>{ </i>
<i> case "A": </i>
<i>case "a": </i>
<i> cout << "Excellent: you got an "A"!\n"; </i>
<i> break; </i>
<i>case "B": </i>
<i>case "b": </i>
<i> cout << "Good: you got a "B"!\n"; </i>
<i> break; </i>
<i>} </i>
</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>
(Conditional/ternary operator)
Thay thế cho mệnh đề if-else đơn giản với hai toán tử
“?” và “:”
Cấu trúc:
<i>if (condition) </i>
<i>if_true; </i>
<i>else </i>
<i> </i>
<i>if_false; </i>
Có thể thay bằng một lệnh
<i>(condition) ? (if_true) : (if_false) </i>
<b>Bài t</b>
<b>ậ</b>
<b>p: </b>
vi
ế
t hàm tr
ả
l
ạ
i s
ố
l
ớ
n nh
ấ
t trong hai s
ố
</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14></div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>
2. C
ấ
u trúc l
ặ
p (loop)
Các cấu trúc lặp trong C++
</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>
C
ấ
u trúc l
ặ
p v
ớ
i while
16
<i>int count = 0; </i> <i>// Initialization </i>
<i>while (++count < 3) </i> <i>// Loop Condition </i>
<i>{ </i>
<i>cout << "Hi "; </i> <i>// Loop Body </i>
<i>} </i>
</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17></div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18>
C
ấ
u trúc l
ặ
p v
ớ
i do-while (2/2)
18
<i>int count = 0; </i>
<i>// Initialization </i>
<i>do </i>
<i>{ </i>
<i>cout << "Hi "; // Loop Body </i>
<i>} while (++count < 3); </i>
<i>// Loop Condition </i>
</div>
<span class='text_page_counter'>(19)</span><div class='page_container' data-page=19>
So sánh
<b>while</b>
và
<b>do-while </b>
Khá gi
ố
ng nhau, nh
ư
ng m
ộ
t khác bi
ệ
t quan tr
ọ
ng
<b>while</b>
: ki
ể
m tra đi
ề
u ki
ệ
n logic TR
ƯỚ
C KHI th
ự
c thi l
ệ
nh
bên trong
<b>do-while</b>
: ki
ể
m tra đi
ề
u ki
ệ
n logic SAU KHI đã th
ự
c thi l
ệ
nh
</div>
<span class='text_page_counter'>(20)</span><div class='page_container' data-page=20>
C
ấ
u trúc l
ặ
p v
ớ
i
<b>for </b>
20
Cú pháp
<i>for (</i>
<i>Init_Action</i>
<i>; </i>
<i>Bool_Expression</i>
<i>; </i>
<i>Update_Action</i>
<i>) </i>
<i> Body_Statement </i>
Ví d
ụ
:
<i>for (count=0; count<3; count++) </i>
<i>{ </i>
<i> cout << "Hi "; </i>
<i>// Loop Body </i>
<i>}</i>
Chu
ỗ
i “Hi” s
ẽ
đ
ượ
c in ra màn hình bao nhiêu l
ầ
n?
Đi
ề
u gì x
ả
y ra v
ớ
i câu l
ệ
nh sau:
</div>
<!--links-->