“Ngôn ng lp trình C và C++” Nguyn Trng Giang 1 Chng 5: Câu lnh 5.0. Khi câu lnh Cp du { } đc dùng đ nhóm các câu khai báo và câu lnh thành câu lnh ghép hay khi câu lnh. 5.1. Câu lnh la chn a) Lnh if if (biu_thc) { khi lnh 1 } if (biu_thc) { khi lnh 1 } else { khi lnh 2 } Nu biu thc là đúng (biu thc có giá tr khác 0), khi lnh 1 đc thc hin. Nu biu thc là đúng, khi lnh 1 đc thc hin; nu điu kin là sai (biu thc có giá tr bng 0), khi lnh 2 đc thc hin . − Chú ý: o iu kin phi nm trong ngoc đn ( ) o Có mt s cách vit tt: if(biu_thc) thay cho if(biu_thc != 0) hoc if(!biu_thc) thay cho if(biu_thc == 0). o Nên luôn s dng cp ngoc { } mi khi có các lnh if lng nhau đ tránh hiu lm. b) Lnh else if if (biu_thc_1) { khi lnh 1 } else if (biu_thc_2) { khi lnh 2 } else if (biu_thc_3) { khi lnh 3 } else { khi lnh n } “Ngôn ng lp trình C và C++” Nguyn Trng Giang 2 c) Lnh chn (r nhánh) switch switch (biu_thc) { case v1: Nhóm câu lnh 1 case v2: Nhóm câu lnh 2 case vn: Nhóm câu lnh n default: Nhóm câu lnh n+1; } // vi: hng s nguyên (i=1 n) − Giá tr ca biu thc trùng vi nhãn nào, nhóm câu lnh tng ng s đc thc hin. − Mi trng hp phi khác nhau đ phân bit vi nhau. − Trng hp default đc thc hin nu giá tr ca biu thc không ri vào trng hp nào trong s các trng hp đã xác đnh trên. Có th có default hoc không. − Chú ý: o Các case và trng hp default có th đng theo bt k trt t nào. o Câu lnh break to ra vic thoát ngay khi khi lnh switch. Nu không có break, các nhóm câu lnh ca case tip theo s vn đc thc thi. o ôi khi ngi ta có th gp mt vài case li vi nhau khi chúng có chung mt hành đng. 5.2. Lnh chu trình a. Vòng lp xác đnh for for(bthc1; bthc2; bthc3) { khi lnh } − Chú thích: o Bthc1: c thc hin mt ln duy nht. Thng đc dùng đ khi to bin lp. o Bthc2: Biu thc này đc kim tra trc khi thc hin mt bc lp. Nu đúng:: khi lnh đc thc hin, nu sai: ngng lp. o Bthc3: c thc hin khi kt thúc mt vòng lp. − Chú ý: o bthc3 có th là mt biu thc bt k, hoc không có. o Các biu thc có th là biu thc ghép. o Vòng lp for có th thiu mt hoc tt c các biu thc. o Khi thiu bthc2 ( for (;;) ) vòng lp tr thành vòng lp vô tn. “Ngôn ng lp trình C và C++” Nguyn Trng Giang 3 b. Vòng lp không xác đnh while − So sánh while vi for: For While for (bthc1; bthc2; bthc3) { khi lnh } bthc1; while (bthc2) { khi lnh bthc3; } − Hai loi vòng lp while: while (biu_thc) { khi lnh } do { khi lnh } while (biu_thc) Kim tra điu kin trc, trong khi điu kin còn đúng thì thc hin khi lnh ri lp li. Thc hin khi lnh trc, sau đó kim tra điu kin, nu thy còn đúng thì lp. − Lp vô tn: while (1) 5.3. Lnh ngt (break) − Khi gp câu lnh break, chng trình thoát ngay khi vòng lp gn nht cha break. − ng dng: dùng đ thoát khi vòng lp vô tn. 5.4. Lnh tip tc (continue) − Khi gp câu lnh continue, các lnh đng phía sau continue đc b qua đ bt đu vòng lp tip theo. − ng dng: đc dùng cùng vi if đ thay th cho các biu thc logic phc tp. 5.5. Câu lnh nhy (goto) LABEL_A: { khi lnh } goto LABEL_A; − iu kin chng trình tr v nhãn đi trc khi lnh; − Không nên dùng goto, do phá hng tính cu trúc ca chng trình. . Ngôn ng lp trình C và C++” Nguyn Trng Giang 1 Chng 5: Câu lnh 5.0. Khi câu lnh Cp du { } đc dùng đ nhóm các câu khai báo và câu lnh thành câu lnh ghép. Ngôn ng lp trình C và C++” Nguyn Trng Giang 2 c) Lnh chn (r nhánh) switch switch (biu_thc) { case v1: Nhóm câu lnh 1 case v2: Nhóm câu lnh 2 case vn: Nhóm câu. − Khi gp câu lnh break, chng trình thoát ngay khi vòng lp gn nht cha break. − ng dng: dùng đ thoát khi vòng lp vô tn. 5.4. Lnh tip tc (continue) − Khi gp câu lnh continue,