CHƯƠNG 3CHƯƠNG 3
Á Ấ Ú Ề ỂÁ Ấ Ú Ề Ể
C
Á
C C
Ấ
U TR
Ú
C ĐI
Ề
U KHI
Ể
NC
Á
C C
Ấ
U TR
Ú
C ĐI
Ề
U KHI
Ể
N
(Control structures)(Control structures)
(Control
structures)
(Control
structures)
c
á
c
lệ
n
h
c
ủ
a
chương trình.
Cấu
trúc
tuần
tự
(sequence)
:
thực
hiện
các
Cấu
trúc
tuần
tự
(sequence)
:
thực
hiện
các
1.
Giới
thiệu1.
Giới
thiệu
Cấutrúclặp
(repetition or loop): lặplại1hay
ể
nhiềulệnh cho đếnkhibi
ể
uthức điềukiệncó
giá trị sai. Các cấutrúclặpgồm:
− fo
r
− while
− do while.
Tuy
nhiên,
thứ
tự
thực
hiện
các
lệnh
của
Lệnh (statement):
mộtbiểuthứckếtthúc
ẩ
bởi1dấuchấmph
ẩ
y
g
ọilà1lệnh.
Ví dụ:
int a, b, c ;
a=10 ;
a++;
2. Lệnh và khốilệnh2. Lệnh và khốilệnh
2.
Lệnh
và
khối
lệnh2.
Lệnh
và
khối
lệnh
ột
khối
lệnh. Về mặtcúpháp,khốilệnh tương đương
1
câu
lệnh
đơn
.
1
câu
lệnh
đơn
.
Ví dụ:
if
(
a<b
)
()
{
temp=a;
a=b;
b=temp;
}
Các cấutrúclựachọnCác cấutrúclựachọn
Các
cấu
◦ Cú pháp:
if(expression)
if(expression)
statement;
Ýnghĩa
:
●
Ý
nghĩa
:
Expression được định trị. Nếu
kết quả là true thì statement được thực thi,
ngược lại, không làm gì cả.
3. CấutrúcIF3. CấutrúcIF
3.
Cấu
trúc
IF3.
Cấu
trúc
IF
n
t
ma
i
n
()
{
int a;
cout << "Input a = "; cin>>a;
if(a>=0)
cout << a <<
"
is a positive
”
;
cout
<<
a
<<
is
a
positive
.
n
g
hĩa:
g
− Nếu Expression được định là true thì
statement1 được thực thi.
− Ngược lại, thì statement2 được thực thi.
3. CấutrúcIF3. CấutrúcIF
3.
Cấu
trúc
IF3.
Cấu
trúc
IF
Ví dụ:Viếtchương trình nhậpvàomộtsố nguyên a. In ra
màn
hình
kết
quả
kiểm
tra
a
là
<<
a
<<
"
is
a
positive
”
;
cout
<<
a
<<
is
a
positive
.
;
else
cout<<a<<"isanegative.”;
getch(); return 0;
}
3. CấutrúcIF3. CấutrúcIF
3.
Cấu
trúc
IF3.
switch
4.
Cấu
trúc
switch
y Cấu trúc switch là một cấu trúc lựa chọn có
hiề há h đượ ử d khi ó hiề lự
n
hiề
u n
há
n
h
,
đượ
c s
ử
d
ụn
g
khi
c
ó
Cấu
trúc
switch
4.
Cấu
trúc
switch
4. Cấu trúc switch4. Cấu trúc switch
4.
Cấu
trúc
switch
4.
Cấu
trúc
.
4. Cấu trúc switch4. Cấu trúc switch
4.
Cấu
trúc
switch
4.
Cấu
trúc
switch
y
Lưuý
:
−Expression trong switch() phảicókếtquả
là giá trị kiểusố nguyên (int, char, long).
−Các giá trị sau case phảilàhằng nguyên.
−
Không
bắt
buộc
phải
có
Cấu
trúc
switch
4.
Cấu
trúc
switch
Ví dụ:Nhậpvàomộtsố nguyên, chia số nguyên này cho 2 lấyphần
dư
Kiểm
tra
nếu
phần
dư
bằng
0
thì
in
ra
thông
báo
“là
i
o.
h
>
void main () {
int n
,
remainder
;
,;
cout<<”Input an number: "; cin>>n; remainder = (n % 2);
switch(remainder)
{
{
case 0: cout << n << ” is an even."; break;
case 1: cout << n << ” is an odd."; break;
}
getch(); }
Các cấutrúclặpCác cấutrúclặp
Các
cấu
trúc
lặpCác
cấu
thi
và
quay
lại B1
●
B3: Nếukếtquả là
false
thì
●
B3:
Nếu
kết
quả
là
false
thì
thoát khỏi vòng lặp while.
5. Cấu trúc while5. Cấu trúc while
5.
{
int i, n, sum;
cout<<
”
Input n=
”
;cin>>n;
cout<< Input
n=
;
cin
>>
n;
i = 1; sum = 0;
while(i<=n)
{
sum += i; i++;
}
}
getch();
}
6. Cấu trúc do … while6. Cấu trúc do … while
6.
statement;
}while(expression);
●
Ý
n
g
hĩa:
g
− Statement được thực hiện
− Ex
p
ression đư
ợ
c đ
ị
nh tr
ị
.
p ợ ị ị
− Nếu expression là true thì
quay lại bước 1
− Nếu expression là false thì
thoát khỏi vòng lặp.
6. Cấu trúc do … while6. Cấu trúc do … while
6.
Cấu
trúc
{
cout << setw(3) << i;
i+=1;
} while(i<=10);
getch();
}
7. Cấutrúcfor7. Cấutrúcfor
7.
Cấu
trúc
for
7.
Cấu
trúc
for
y Cú
p
há
p
:
pp
for (Exp1; Exp2; Exp3)
− Exp3: biểuthức điềukhiển
lặp
7. Cấutrúcfor7. Cấutrúcfor
7.
Cấu
trúc
for
7.
Cấu
trúc
for
Ví dụ: Viết chương trình tính tổng các số nguyên từ 1
đếnn
đến
n
.
#include <iostream.h>
#include <conio.h>
id i ()
vo
id
}
7. Cấutrúcfor7. Cấutrúcfor
7.
Cấu
trúc
for
7.
Cấu
trúc
for
y C/C++ cho phép Exp1 là một định nghia biến
Ví dụ: for(int i=1; i<=n; ++i)
y
Bất
kỳ
biểu
thức
nào
trong
3
biểu
thức
i
!=
0
;
)
statement
;
y Xóa tấtcả các biểuthức trong vòng lặpforsẽ
cho
một
vòng
lặp
vô
tận
cho
một
vòng
lặp
vô
tận
.
Ví dụ:
for (;;) statement;
Các lệnh rẽ nhánh Các lệnh rẽ nhánh
v
à l
ệ
nh nhảy
v
à l