Có th có default ho c không.
Trang 1Ch ng 5: Câu l nh
5.0 Kh i câu l nh
C p d u { } đ c dùng đ nhóm các câu khai báo và câu l nh thành câu l nh ghép hay kh i câu l nh
5.1 Câu l nh l a ch n
a) L nh if
if (bi u_th c) {
kh i l nh 1
}
if (bi u_th c) {
kh i l nh 1 } else {
kh i l nh 2 }
N u bi u th c là đúng (bi u th c có giá tr
khác 0), kh i l nh 1 đ c th c hi n N u bi u th c là th c hi n; n u đi u ki n là sai (bi u th c có đúng, kh i l nh 1 đ c
giá tr b ng 0), kh i l nh 2 đ c th c hi n
− Chú ý:
o i u ki n ph i n m trong ngo c đ n ( )
o Có m t s cách vi t t t: if(bi u_th c) thay cho if(bi u_th c != 0) ho c if(!bi u_th c) thay cho if(bi u_th c == 0)
o Nên luôn s d ng c p ngo c { } m i khi có các l nh if l ng nhau đ tránh hi u l m
b) L nh else if
if (bi u_th c_1) {
kh i l nh 1 } else if (bi u_th c_2) {
kh i l nh 2 } else if (bi u_th c_3) {
kh i l nh 3 }
else {
kh i l nh n }
Trang 2c) L nh ch n (r nhánh) switch
switch (bi u_th c) {
case v1: Nhóm câu l nh 1
case v2: Nhóm câu l nh 2
case vn: Nhóm câu l nh n
default: Nhóm câu l nh n+1;
} // vi: h ng s nguyên (i=1 n)
− Giá tr c a bi u th c trùng v i nhãn nào, nhóm câu l nh t ng ng s đ c th c hi n
− M i tr ng h p ph i khác nhau đ phân bi t v i nhau
− Tr ng h p default đ c th c hi n n u giá tr c a bi u th c không r i vào tr ng h p nào trong s các tr ng h p đã xác đ nh trên Có th có default ho c không
− Chú ý:
o Các case và tr ng h p default có th đ ng theo b t k tr t t nào
o Câu l nh break t o ra vi c thoát ngay kh i kh i l nh switch N u không có break, các nhóm câu l nh c a case ti p theo s v n đ c th c thi
o ôi khi ng i ta có th g p m t vài case l i v i nhau khi chúng có chung m t hành
đ ng
5.2 L nh chu trình
a Vòng l p xác đ nh for
for(bth c1; bth c2; bth c3) {
kh i l nh }
− Chú thích:
o Bth c1: c th c hi n m t l n duy nh t Th ng đ c dùng đ kh i t o bi n l p
o Bth c2: Bi u th c này đ c ki m tra tr c khi th c hi n m t b c l p N u đúng::
kh i l nh đ c th c hi n, n u sai: ng ng l p
o Bth c3: c th c hi n khi k t thúc m t vòng l p
− Chú ý:
o bth c3 có th là m t bi u th c b t k , ho c không có
o Các bi u th c có th là bi u th c ghép
o Vòng l p for có th thi u m t ho c t t c các bi u th c
o Khi thi u bth c2 ( for (;;) ) vòng l p tr thành vòng l p vô t n
Trang 3b Vòng l p không xác đ nh while
− So sánh while v i for:
For While for (bth c1; bth c2; bth c3) {
kh i l nh
}
while (bth c2) {
kh i l nh bth c3;
}
− Hai lo i vòng l p while:
while (bi u_th c) {
kh i l nh
}
do {
kh i l nh } while (bi u_th c)
Ki m tra đi u ki n tr c, trong khi đi u ki n
còn đúng thì th c hi n kh i l nh r i l p l i Th c hi n kh i l nh trđi u ki n, n u th y còn đúng thì l p c, sau đó ki m tra
− L p vô t n: while (1)
5.3 L nh ng t ( break)
− Khi g p câu l nh break, ch ng trình thoát ngay kh i vòng l p g n nh t ch a break
− ng d ng: dùng đ thoát kh i vòng l p vô t n
5.4 L nh ti p t c (continue)
− Khi g p câu l nh continue, các l nh đ ng phía sau continue đ c b qua đ b t
đ u vòng l p ti p theo
− ng d ng: đ c dùng cùng v i if đ thay th cho các bi u th c logic ph c t p
5.5 Câu l nh nh y (goto)
LABEL_A: {
kh i l nh
}
goto LABEL_A;
− i u ki n ch ng trình tr v nhãn đi tr c kh i l nh;
− Không nên dùng goto, do phá h ng tính c u trúc c a ch ng trình