Tải bản đầy đủ (.pdf) (11 trang)

Chương 8: Các lệnh điều khiển và vòng lập docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (494.64 KB, 11 trang )

10/26/2009
CBGD: ThS.Trần Anh Dũng
1
CBGD: Th
S
Chương 8
CÁC LỆNH ĐIỀU KHIỂN

S
.Trần Anh Dũng
1

VÒNG LẶP


LỆNH ĐƠN VÀ LỆNH PHỨC
CBGD: ThS.T
r
o Lệnh đơn là mộtbiểuthứcthuộcloạibấtkỳ theo sau nó là
mộtdấuchấmphẩy(;)
Æ lệnh đơncònđượcgọilàlệnh biểuthức.
o Lệnh phức bao hàm mộthaynhiềulệnh đơn đượcbao
bên
trong
cặp
dấu
ngoặc

nhọn
({
})

được
bộ
dịch
C
2
r
ần Anh Dũng
bên

trong
cặp
dấu
ngoặc
nhọn
({
})

được
bộ
dịch
C

xem như là mộtlệnh đơn.
Các lệnh phứcnàythường được dùng trong các câu lệnh
điều khiểnvàvònglặpcủaCđể xác định lệnh thựcthicủa
các lệnh điều khiểnnày.
LỆNH ĐƠN VÀ LỆNH PHỨC
CBGD: ThS.T
r
3
r
ần Anh Dũng
LỆNH IF
CBGD: ThS.T

r
4
r
ần Anh Dũng
10/26/2009
CBGD: ThS.Trần Anh Dũng
2
LỆNH IF
CBGD: ThS.T
r
5
r

ần Anh Dũng
LỆNH IF
CBGD: ThS.T
r
6
r
ần Anh Dũng
LỆNH IF
CBGD: ThS.T
r
7
r

ần Anh Dũng
LỆNH IF
CBGD: ThS.T
r
8
r
ần Anh Dũng
10/26/2009
CBGD: ThS.Trần Anh Dũng
3
LỆNH IF
CBGD: ThS.T

r
9
r
ần Anh Dũng
LỆNH SWITCH - CASE
CBGD: ThS.T
r
Lệnh break cuốimỗicasesẽ chuyển điều
khiểnchương trình ra khỏilệnh switch. nếu
không có break, các lệnh tiếp ngay sau sẽ
đượcthực thi dù các lệnh này có thể là của
một case khác.

10
r
ần Anh Dũng
Lệnh default có thể khôngcótrong
switch và nếucóthìcóthể nằmtùyý:
đầu, giữahoặccuốicáccase.
LỆNH SWITCH - CASE
CBGD: ThS.T
r
11
r
ần Anh Dũng

LỆNH SWITCH - CASE
CBGD: ThS.T
r
12
r
ần Anh Dũng
10/26/2009
CBGD: ThS.Trần Anh Dũng
4
LỆNH WHILE
CBGD: ThS.T
r

13
r
ần Anh Dũng
LỆNH WHILE
CBGD: ThS.T
r
Trong chương trình trên hàm randomize() có
chứcnăng khởi động bộ phát số ngẫu nhiên để
sử dụng hàm random(), hàm random() với đối
số là n sẽ trả về mộttrị ngẫu nhiên trong
khoảng 0 tớin-1
14

r
ần Anh Dũng
LỆNH WHILE
CBGD: ThS.T
r
15
r
ần Anh Dũng
LỆNH DO - WHILE
CBGD: ThS.T
r
While kiểmtrađiềukiệntrước, thựcthilệnh sau

Æ ngay từđầumàđiềukiện đãsaithìlệnh của while không
đượcthựcthi.
Do-while thựcthilệnh trước, kiểmtrađiềukiệnsau.
16
r
ần Anh Dũng
10/26/2009
CBGD: ThS.Trần Anh Dũng
5
LỆNH DO - WHILE
CBGD: ThS.T
r

Chúýrằng mỗi phím mũi tên khi được ấn đều
sinh ra hai ký tự:
-Kýtựđầu luôn là ký tự có mã ASCII là 0
(tứckýtự NUL)
-Kýtự thứ hai là các mã ASII tương ứng với

17
r
ần Anh Dũng
phí
m
LỆNH DO - WHILE

CBGD: ThS.T
r
18
r
ần Anh Dũng
LỆNH DO - WHILE
CBGD: ThS.T
r
19
r
ần Anh Dũng
LỆNH DO - WHILE

CBGD: ThS.T
r
20
r
ần Anh Dũng
10/26/2009
CBGD: ThS.Trần Anh Dũng
6
LỆNH DO - WHILE
CBGD: ThS.T
r
21

r
ần Anh Dũng
LỆNH FOR
CBGD: ThS.T
r
for (i = 1; i <= n; i++)
22
r
ần Anh Dũng
s += i;
LỆNH FOR
CBGD: ThS.T

r
23
r
ần Anh Dũng
LỆNH FOR
CBGD: ThS.T
r
24
r
ần Anh Dũng
10/26/2009
CBGD: ThS.Trần Anh Dũng

7
LỆNH FOR
CBGD: ThS.T
r
25
r
ần Anh Dũng
LỆNH BREAK
CBGD: ThS.T
r
26
r

ần Anh Dũng
LỆNH BREAK
CBGD: ThS.T
r
27
r
ần Anh Dũng
LỆNH BREAK
CBGD: ThS.T
r
28
r

ần Anh Dũng
10/26/2009
CBGD: ThS.Trần Anh Dũng
8
LỆNH CONTINUE
CBGD: ThS.T
r
Continue có tác dụng chuyển điềukhiểnchương trình vềđầu
vòng lặpchuẩnbị cho chu kỳ lặpmới, bỏ qua các lệnh còn lại
nằm ngay sau lệnh continue trong chu kỳ lặphiện hành.
Lệnh này chỉđược dùng trong các vòng lặp, để bỏ qua các
lệnh không cầnthực thi trong vòng lặp trong các trường hợp

đặcbiệtnàođó.
29
r
ần Anh Dũng
LỆNH CONTINUE
CBGD: ThS.T
r
30
r
ần Anh Dũng
LỆNH CONTINUE
CBGD: ThS.T

r
31
r
ần Anh Dũng
LỆNH CONTINUE
CBGD: ThS.T
r
32
r
ần Anh Dũng
10/26/2009
CBGD: ThS.Trần Anh Dũng

9
LỆNH RETURN
CBGD: ThS.T
r
33
r
ần Anh Dũng
LỆNH RETURN
CBGD: ThS.T
r
34
r

ần Anh Dũng
LỆNH GOTO
CBGD: ThS.T
r
Mặc dù không ủng hộ cho việclập trình có goto nhưng C vẫncó
lệnh rẽ nhánh không điềukiện goto, lệnh này cho phép chuyển
điều khiểnchương trình cho mộtlệnh nào đó.
35
r
ần Anh Dũng
LỆNH GOTO
CBGD: ThS.T

r
36
r
ần Anh Dũng
10/26/2009
CBGD: ThS.Trần Anh Dũng
10
LỆNH RỖNG
CBGD: ThS.T
r
Trong C có khái niệmlệnh rỗng, lệnh này chỉ có mộtdấuchấm
phẩy(;)

;
Nó rấtcầnthiết trong nhiềutrường hợp, ví dụ nhưđốivới các vòng lặp, khi
ta đặtcáclệnh biểuthứcthực thi vào trong các biểuthứccủalệnh (nhưđặt
vào trong biểuthức3 của vòng for chẳng hạn) thì ta không cầncóthêmlệnh
thực thi làm thân cho chúng nữa, khi đónếu để trống, C sẽ hiểunhầmrằng
lệnh
kế
tiếp
sẽ

thân
của

vòng
lặp
do
đó
chỉ
còn
cách
cho
một
lệnh
rỗng
37

r
ần Anh Dũng
lệnh
kế
tiếp
sẽ

thân
của
vòng
lặp
,

do
đó
chỉ
còn
cách
cho
một
lệnh
rỗng
làm thân của chúng.
thân của vòng lặp
lệnh kế tiếp

LỆNH RỖNG
CBGD: ThS.T
r
38
r
ần Anh Dũng
BÀI TẬP
CBGD: ThS.T
r
39
r
ần Anh Dũng

BÀI TẬP
CBGD: ThS.T
r
40
r
ần Anh Dũng
10/26/2009
CBGD: ThS.Trần Anh Dũng
11
BÀI TẬP
CBGD: ThS.T
r

41
r
ần Anh Dũng

×