<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
<b>N</b>
<b>GƠN NG</b>
<b>Ữ</b>
<b>L</b>
<b>Ậ</b>
<b>P TRÌNH</b>
<b>Bài 2:</b>
<b>Các c</b>
<b>ấ</b>
<b>u trúc đi</b>
<b>ề</b>
<b>u khi</b>
<b>ể</b>
<b>n, </b>
<b>m</b>
<b>ả</b>
<b>ng và con tr</b>
<b>ỏ</b>
<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
1.
C
ấ
u trúc r
ẽ
nhánh
2.
C
ấ
u trúc l
ặ
p
3.
M
ả
ng (Array)
</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 IF
-
ELSE
<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>
</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>
<i>cout << "I wish these were golf scores.\n";</i>
<i>wager = 0;</i>
</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>
MỘ
T VÀI L
Ư
U Ý
<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>
<i>cout << "You’re speeding.";</i>
</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8></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>Viết một chương trình C++ để nhắc người dùng nhập 3</i>
<i>số nguyên và tìm giá trị lớn nhất.</i>
<b>Câu h</b>
<b>ỏ</b>
<b>i</b>
:
N
ế
u có q nhi
ề
u nhánh r
ẽ
thì ngồi s
ử
d
ụ
ng
if-else, C++ cịn cung c
ấ
p cách nào n
ữ
a không?
</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10></div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>
RẼ
NHÁNH V
Ớ
I L
Ệ
NH WITCH
(2/2)
</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>
LỆ
NH SWITCH
:
CÂU H
Ỏ
I
<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>
</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>
(C
ONDITIONAL
/
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>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: vi</b>
ế
t hàm tr
ả
l
ạ
i s
ố
l
ớ
n nh
ấ
t trong hai s
ố
<i>#define MAX(a, b) ((a > b) ? a : b)</i>
<i>#define MIN(a, b) ((a < b) ? a : b)</i>
</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++
<i>1.</i>
<i>While</i>
<i>2.</i>
<i>do-while</i>
<i>3.</i>
<i>for</i>
</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>
CẤ
U TRÚC L
Ặ
P V
Ớ
I WHILE
</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17>
CẤ
U TRÚC L
Ặ
P V
Ớ
I DO
-
WHILE
(1/2)
</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)
<i>int count = 0;</i>
<i>// Initialization</i>
<i>do </i>
<i>{</i>
<i>cout << "Hi ";</i>
<i>// 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>
S
O SÁNH WHILE VÀ DO
-
WHILE
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 bên trong
</div>
<span class='text_page_counter'>(20)</span><div class='page_container' data-page=20>
CẤ
U TRÚC L
Ặ
P V
Ớ
I FOR
Cú pháp
<i>for (Init_Action; Bool_Expression; Update_Action)</i>
<i>Body_Statement</i>
Ví d
ụ
:
<i>for (count=0; count<3; count++) </i>
<i>{</i>
</div>
<!--links-->