Professional Documents
Culture Documents
Bài 3 - Ngôn ngữ lập trình C - Cấu trúc rẽ nhánh
Bài 3 - Ngôn ngữ lập trình C - Cấu trúc rẽ nhánh
S
<BT Logic>
Đ
<Lệnh 1>
Trong ( ), cho kết quả
(sai = 0, đúng ≠ 0)
if (<BT Logic>)
<Lệnh 1>; Câu lệnh đơn hoặc
Câu lệnh phức (kẹp
giữa { và })
5. if (a == 0)
6. {
7. printf(“a bang 0”);
8. a = 2912;
9. }
10.}
S
<BT Logic> <Lệnh 2>
Đ
<Lệnh 1>
Trong ( ), cho kết quả
(sai = 0, đúng ≠ 0)
if (<BT Logic>)
<Lệnh 1>; Câu lệnh đơn hoặc
Câu lệnh phức (kẹp
else giữa { và })
<Lệnh 2>;
5 Ngôn ngữ lập trình C - Rẽ nhánh
Câu lệnh if (đủ)
1. void main()
2. {
3. if (a == 0)
4. printf(“a bang 0”);
5. else
6. printf(“a khac 0”);
7. if (a == 0)
8. {
9. printf(“a bang 0”);
10. a = 2912;
11. }
12. else
13. printf(“a khac 0”);
14.}
6. if (a !=0)
7. {
8. if (b > 0)
9. printf(“a != 0 va b > 0”);
10. else
11. printf(“a != 0 va b <= 0”);
12.}
8 Ngôn ngữ lập trình C - Rẽ nhánh
Câu lệnh if - Một số lưu ý
Nên dùng else để loại trừ trường hợp.
1. if (delta < 0)
2. printf(“PT vo nghiem”);
3. if (delta == 0)
4. printf(“PT co nghiem kep”);
5. if (delta > 0)
6. printf(“PT co 2 nghiem”);
7. if (delta < 0)
8. printf(“PT vo nghiem”);
9. else // delta >= 0
10. if (delta == 0)
11. printf(“PT co nghiem kep”);
12. else
13. printf(“PT co 2 nghiem”);
6. if (a != 0);
7. printf(“a khac 0.”);
8. if (a != 0)
9. {
10. };
11. printf(“a khac 0.”);
12.}
S <Biến/BT> là biến/biểu
thức cho giá trị rời rạc.
<Lệnh> : đơn hoặc khối
lệnh {}.
1. void main()
2. {
3. int a;
4. printf(“Nhap a: ”);
5. scanf(“%d”, &a);
6. switch (a)
7. {
8. case 1 : printf(“Mot”); break;
9. case 2 : printf(“Hai”); break;
10. case 3 : printf(“Ba”); break;
11. }
12.}
1. void main()
2. {
3. int a;
4. printf(“Nhap a: ”);
5. scanf(“%d”, &a);
6. switch (a)
7. {
8. case 1 : printf(“Mot”); break;
9. case 2 : printf(“Hai”); break;
10. case 3 : printf(“Ba”); break;
11. default : printf(“Ko biet doc”);
12. }
13.}
1. switch (a)
2. {
3. case 1 : printf(“Mot”); break;
4. case 1 : printf(“MOT”); break;
5. case 2 : printf(“Hai”); break;
6. case 3 : printf(“Ba”); break;
7. case 1 : printf(“1”); break;
8. case 1 : printf(“mot”); break;
9. default : printf(“Khong biet doc”);
10.}
1. switch (a)
2. {
3. case 1 : printf(“Mot”); break;
4. case 2 : printf(“Hai”); break;
5. case 3 : printf(“Ba”); break;
6. }
8. switch (a)
9. {
10. case 1 :
11. case 3 : printf(“So le”); break;
12. case 2 :
13. case 4 : printf(“So chan”); break;
14.}
19 Ngôn ngữ lập trình C - Rẽ nhánh
Kinh nghiệm lập trình
1. switch (a)
1. if (a == 3.14)
2. {
2. printf(“OK”);
3. case 3.14:
3. if (a < 10)
4. case <10:
4. printf(“OK”);
5. case 1: printf(“OK”);
5. if (a == 1)
6. break;
6. printf(“OK”);
7. case 2:
7. if (a == 2 || a == 3)
8. case 3: printf(“OK”);
8. printf(“OK”);
9. break;
10.}
2. void main()
3. {
4. int n;
5. printf(“Nhap mot so nguyen: ”);
6. scanf(“%d”, &n);
7. if (n == 1)
8. printf(“Mot”);
9. else
10. if (n == 2)
11. printf(“Hai”);
12. …
13. else
14. printf(“Khong biet doc”);
15.}
26 Ngôn ngữ lập trình C - Rẽ nhánh
Bài tập 1 (switch)
1. #include <stdio.h>
2. void main()
3. {
4. int n;
5. printf(“Nhap mot so nguyen: ”);
6. scanf(“%d”, &n);
7. switch (n)
8. {
9. case 1: printf(“Mot”); break;
10. case 2: printf(“Hai”); break;
11. case 3: printf(“Ba”); break;
12. …
13. default: printf(“Ko biet doc”);
14. }
15.}
27 Ngôn ngữ lập trình C - Rẽ nhánh
Bài tập 2
1. #include <stdio.h>
2. void main()
3. {
4. char ch;
5. printf(“Nhap mot ky tu: ”);
6. scanf(“%c”, &ch);
3. void main()
4. {
5. int a, b;
6. printf(“Nhap a, b: ”);
7. scanf(“%d%d”, &a, &b);
8. if (a == 0)
9. if (b == 0)
10. printf(“Phuong trinh VSN”);
11. else
12. printf(“Phuong trinh VN”);
13. else
14. printf(“Nghiem = %f”, float(-b)/a);
15.}
29 Ngôn ngữ lập trình C - Rẽ nhánh
Bài tập 4
1. #include <stdio.h>
2. void main()
3. {
4. int a, b, c;
5. printf(“Nhap a, b, c: ”);
6. scanf(“%d%d%d”, &a, &b, &c);
7. if (a == 0)
8. {
9. // Giai PT Bac 1 o day
10. }
11. else
12. {
13. // Giai PT Bac 2 o day
14. }
15.}
30 Ngôn ngữ lập trình C - Rẽ nhánh
Bài tập 5
1. #include <stdio.h>
2. void main()
3. {
4. int a, b, c, d, min;
5. printf(“Nhap a, b, c, d: ”);
6. scanf(“%d%d%d%d”, &a, &b, &c, &d);
7.
8. min = a;
9. if (b < min) min = b;
10. if (c < min) min = c;
11. if (d < min) min = d;
2. void main()
3. {
4. int a, b, c, d, tam;
5. printf(“Nhap a, b, c, d: ”);
6. scanf(“%d%d%d%d”, &a, &b, &b, &d);
7.
8. if (a > b)
9. { tam = a; a = b; b = tam; }
10. …
11. printf(“Cac so theo thu tu tang dan: ”);
12. printf(“%d %d %d %d”, a, b, c, d);
13.}