SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
Trường Đại học Khoa học Tự nhiên
Khoa Công nghệ thông tin
Bộ môn Công nghệ phần mềm


       NHẬP MÔN LẬP TRÌNH
                                   ThS. Đặng Bình Phương
                                    dbphuong@fit.hcmus.edu.vn




                               CÂU LỆNH ĐIỀU KIỆN
                             & CÂU LỆNH RẼ NHÁNH




                                                                1
&
VC
     BB
          Nội dung


               1     Câu lệnh điều kiện if


               2     Câu lệnh rẽ nhánh switch


               3     Một số kinh nghiệm lập trình


               4     Một số ví dụ minh họa




                                                Câu lệnh điều kiện và rẽ nhánh
                                                                                 2
&
VC
     BB
            Câu lệnh if (thiếu)


                      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à })


                                       Câu lệnh điều kiện và rẽ nhánh
                                                                        3
&
VC
     BB
              Câu lệnh if (thiếu)

          void main()
          {
                 if (a == 0)
                        printf(“a bang 0n”);

                 if (a == 0)
                 {
                        printf(“a bang 0n”);
                        a = 2912;
                 }
          }




                                                Câu lệnh điều kiện và rẽ nhánh
                                                                                 4
&
VC
     BB
            Câu lệnh if (đủ)


                      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>;
                                              Câu lệnh điều kiện và rẽ nhánh
                                                                               5
&
VC
     BB
              Câu lệnh if (đủ)

          void main()
          {
                 if (a == 0)
                        printf(“a bang 0n”);
                 else
                        printf(“a khac 0n”);

                 if (a == 0)
                 {
                        printf(“a bang 0n”);
                        a = 2912;
                 }
                 else
                        printf(“a khac 0n”);
          }

                                                Câu lệnh điều kiện và rẽ nhánh
                                                                                 6
&
VC
     BB
              Câu lệnh if - Một số lưu ý

     Câu lệnh if và câu lệnh if… else là một câu lệnh
      đơn.
          {
                 if (a == 0)
                        printf(“a bang 0n”);
          }
          {
                 if (a == 0)
                 {
                        printf(“a bang 0n”);
                        a = 2912;
                 }
                 else
                        printf(“a khac 0n”);
          }                                                                      7
                                                Câu lệnh điều kiện và rẽ nhánh
&
VC
     BB
            Câu lệnh if - Một số lưu ý

     Câu lệnh if có thể lồng vào nhau và else sẽ
      tương ứng với if gần nó nhất.
          if (a != 0)
                 if (b > 0)
                        printf(“a != 0 va b > 0n”);
          else
                 printf(“a != 0 va b <= 0n”);

          if (a !=0)
          {
                 if (b > 0)
                        printf(“a != 0 va b > 0n”);
                 else
                        printf(“a != 0 va b <= 0n”);
          }                                                                     8
                                               Câu lệnh điều kiện và rẽ nhánh
&
VC
     BB
            Câu lệnh if - Một số lưu ý

     Nên dùng else để loại trừ trường hợp.
          if (delta < 0)
                 printf(“PT vo nghiemn”);
          if (delta == 0)
                 printf(“PT co nghiem kepn”);
          if (delta > 0)
                 printf(“PT co 2 nghiemn”);

          if (delta < 0)
                 printf(“PT vo nghiemn”);
          else // delta >= 0
                 if (delta == 0)
                        printf(“PT co nghiem kepn”);
                 else
                        printf(“PT co 2 nghiemn”);
                                                 Câu lệnh điều kiện và rẽ nhánh
                                                                                  9
&
VC
     BB
              Câu lệnh if - Một số lưu ý

     Không được thêm ; sau điều kiện của if.
          void main()
          {
                 int a = 0;
                 if (a != 0)
                        printf(“a khac 0n”);

                 if (a != 0);
                        printf(“a khac 0n”);

                 if (a != 0)
                 {
                 };
                 printf(“a khac 0n”);
          }
                                                Câu lệnh điều kiện và rẽ nhánh
                                                                                 10
&
VC
     BB
          Câu lệnh switch (thiếu)
                                 switch (<Biến/BT>)
                                 {
                  Đ
      <Biến/BT>
                      <Lệnh 1>     case <GT1>:<L1>;break;
      = <GT1>
                                   case <GT2>:<L2>;break;
          S                        …
                  Đ
      <Biến/BT>
      = <GT2>
                      <Lệnh 2>   }
          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 {}.

                                         Câu lệnh điều kiện và rẽ nhánh
                                                                          11
&
VC
     BB
              Câu lệnh switch (thiếu)

          void main()
          {
                 int a;
                 printf(“Nhap a: ”);
                 scanf(“%d”, &a);

                switch (a)
                {
                       case 1: printf(“Motn”); break;
                       case 2: printf(“Hain”); break;
                       case 3: printf(“Ban”); break;
                }
          }



                                              Câu lệnh điều kiện và rẽ nhánh
                                                                               12
&
VC
     BB
          Câu lệnh switch (đủ)
                                 switch (<Biến/BT>)
                                 {
                  Đ
      <Biến/BT>
                      <Lệnh 1>       case <GT1>:<L1>;break;
      = <GT1>
                                     case <GT2>:<L2>;break;
          S                          …
      <Biến/BT>   Đ                  default:
                      <Lệnh 2>
      = <GT2>
                                         <Lệnh n>;
          S
                                 }
      <Lệnh n>




                                           Câu lệnh điều kiện và rẽ nhánh
                                                                            13
&
VC
     BB
              Câu lệnh switch (đủ)

          void main()
          {
                 int a;
                 printf(“Nhap a: ”);
                 scanf(“%d”, &a);

                switch (a)
                {
                       case 1: printf(“Motn”); break;
                       case 2: printf(“Hain”); break;
                       case 3: printf(“Ban”); break;
                       default: printf(“Ko biet docn”);
                }
          }


                                              Câu lệnh điều kiện và rẽ nhánh
                                                                               14
&
VC
     BB
              Câu lệnh switch - Một số lưu ý

     Câu lệnh switch là một câu lệnh đơn và có thể
      lồng nhau.
          {
                switch (a)
                {
                       case 1: printf(“Motn”); break;
                       case 2: switch (b)
                                {
                                     case 1: printf(“An”); break;
                                     case 2: printf(“Bn”); break;
                                } break;
                       case 3: printf(“Ban”); break;
                       default: printf(“Khong biet docn”);
                }
          }                                                                     15
                                               Câu lệnh điều kiện và rẽ nhánh
&
VC
     BB
            Câu lệnh switch - Một số lưu ý

     Các giá trị trong mỗi trường hợp phải
      khác nhau.
          switch (a)
          {
                 case 1: printf(“Motn”); break;
                 case 1: printf(“MOTn”); break;
                 case 2: printf(“Hain”); break;
                 case 3: printf(“Ban”); break;
                 case 1: printf(“1n”); break;
                 case 1: printf(“motn”); break;
                 default: printf(“Khong biet docn”);
          }



                                               Câu lệnh điều kiện và rẽ nhánh
                                                                                16
&
VC
     BB
            Câu lệnh switch - Một số lưu ý

     switch sẽ nhảy đến case tương ứng và
      thực hiện đến khi nào gặp break hoặc cuối
      switch sẽ kết thúc.
          switch (a)
          {
                 case 1: printf(“Motn”); break;
                 case 2: printf(“Hain”); break;
                 case 3: printf(“Ban”); break;
          }




                                               Câu lệnh điều kiện và rẽ nhánh
                                                                                17
&
VC
     BB
            Câu lệnh switch - Một số lưu ý

     switch nhảy đến case tương ứng và thực hiện
      đến khi nào gặp break hoặc cuối switch sẽ
      kết thúc.
          switch (a)
          {
                 case   1: printf(“Motn”); break;
                 case   2: printf(“Hain”); break;
                 case   3: printf(“Ban”); break;
          }
          switch (a)
          {
                 case   1: printf(“Motn”); break;
                 case   2: printf(“Hain”); break;
                 case   3: printf(“Ban”); break;
          }                                      Câu lệnh điều kiện và rẽ nhánh   18
&
VC
     BB
            Câu lệnh switch - Một số lưu ý

     Tận dụng tính chất khi bỏ break;
          switch (a)
          {
                 case   1:   printf(“So   len”); break;
                 case   2:   printf(“So   chann”); break;
                 case   3:   printf(“So   len”); break;
                 case   4:   printf(“So   chann”); break;
          }
          switch (a)
          {
                 case   1:
                 case   3: printf(“So len”); break;
                 case   2:
                 case   4: printf(“So chann”); break;
          }                                                                           19
                                                     Câu lệnh điều kiện và rẽ nhánh
&
VC
     BB
          Kinh nghiệm lập trình


      Câu lệnh if          Câu lệnh switch

     if (a == 1)           switch (a)
        printf(“Motn”);   {
     if (a == 2)              case 1:        printf(“Motn”);
        printf(“Hain”);                     break;
     if (a == 3)               case 2:       printf(“Hain”);
        printf(“Ban”);                      break;
     if (a == 4)               case 3:       printf(“Ban”);
        printf(“Bonn”);                     break;
     if (a == 5)               case 4:       printf(“Bonn”);
        printf(“Namn”);                     break;
                               case 5:       printf(“Namn”);
                           }
                                    Câu lệnh điều kiện và rẽ nhánh
                                                                     20
&
VC
     BB
          Kinh nghiệm lập trình


      Câu lệnh switch          Câu lệnh if

     switch (a)                if (a == 3.14)
     {                                printf(“OKn”);
     case 3.14:                if (a < 10)
     case <10:                        printf(“OKn”);
     case 1: printf(“OKn”);   if (a == 1)
              break;                  printf(“OKn”);
     case 2:                   if (a == 2 || a == 3)
     case 3: printf(“OKn”);          printf(“OKn”);
              break;
     }



                                        Câu lệnh điều kiện và rẽ nhánh
                                                                         21
&
VC
     BB
          Bài tập

     1. Nhập một số bất kỳ. Hãy đọc giá trị của số
        nguyên đó nếu nó có giá trị từ 1 đến 9, ngược
        lại thông báo không đọc được.
     2. Nhập một chữ cái. Nếu là chữ thường thì đổi
        sang chữ hoa, ngược lại đổi sang chữ thường.
     3. Giải phương trình bậc nhất ax + b = 0.
     4. Giải phương trình bậc hai ax2 + bx + c = 0.




                                      Câu lệnh điều kiện và rẽ nhánh
                                                                       22
&
VC
     BB
          Bài tập

     5. Nhập 4 số nguyên a, b, c và d. Tìm số có giá trị nhỏ
         nhất (min).
     6. Nhập 4 số nguyên a, b, c và d. Hãy sắp xếp giá trị
         của 4 số nguyên này theo thứ tự tăng dần.
     7. Tính tiền đi taxi từ số km nhập vào. Biết:
        a. 1 km đầu giá 15000đ
        b. Từ km thứ 2 đến km thứ 5 giá 13500đ
        c. Từ km thứ 6 trở đi giá 11000đ
        d. Nếu trên 120km được giảm 10% tổng tiền.

                                          Câu lệnh điều kiện và rẽ nhánh
                                                                           23
&
VC
     BB
          Bài tập

     8. Nhập vào tháng và năm. Cho biết tháng đó có bao
        nhiêu ngày.
     9. Nhập độ dài 3 cạnh. Kiểm tra đó có phải là tam giác
        không và là tam giác gì?




                                         Câu lệnh điều kiện và rẽ nhánh
                                                                          24

Weitere ähnliche Inhalte

Was ist angesagt?

Phần 1: Các khái niệm cơ bản về lập trình
Phần 1: Các khái niệm cơ bản về lập trìnhPhần 1: Các khái niệm cơ bản về lập trình
Phần 1: Các khái niệm cơ bản về lập trìnhHuy Rùa
 
Phần 9: Chuỗi ký tự
Phần 9: Chuỗi ký tựPhần 9: Chuỗi ký tự
Phần 9: Chuỗi ký tựHuy Rùa
 
Kiến trúc máy tính và hợp ngữ bài 03
Kiến trúc máy tính và hợp ngữ bài 03Kiến trúc máy tính và hợp ngữ bài 03
Kiến trúc máy tính và hợp ngữ bài 03Nhóc Nhóc
 
Phong cách lập trình - Đặng Bình Phương
Phong cách lập trình - Đặng Bình PhươngPhong cách lập trình - Đặng Bình Phương
Phong cách lập trình - Đặng Bình PhươngNguyễn Công Hoàng
 
Giáo trình c++ full tiếng việt
Giáo trình c++ full tiếng việtGiáo trình c++ full tiếng việt
Giáo trình c++ full tiếng việtMôi Trường Việt
 
Phần 8: Mảng hai chiều
Phần 8: Mảng hai chiềuPhần 8: Mảng hai chiều
Phần 8: Mảng hai chiềuHuy Rùa
 
Nmlt c01 cac_khainiemcobanvelaptrinh
Nmlt c01 cac_khainiemcobanvelaptrinhNmlt c01 cac_khainiemcobanvelaptrinh
Nmlt c01 cac_khainiemcobanvelaptrinhMinh Ngoc Tran
 
Phần 12: Hàm (Nâng cao)
Phần 12: Hàm (Nâng cao)Phần 12: Hàm (Nâng cao)
Phần 12: Hàm (Nâng cao)Huy Rùa
 
Kiến trúc máy tính và hợp ngữ bài 02
Kiến trúc máy tính và hợp ngữ bài 02Kiến trúc máy tính và hợp ngữ bài 02
Kiến trúc máy tính và hợp ngữ bài 02Nhóc Nhóc
 
5 bo nho may tinh
5 bo nho may tinh5 bo nho may tinh
5 bo nho may tinhLy hai
 
Nmlt c03 cac_kieudulieucoso
Nmlt c03 cac_kieudulieucosoNmlt c03 cac_kieudulieucoso
Nmlt c03 cac_kieudulieucosoMinh Ngoc Tran
 
Bài Giảng Vi Xử Lý PIT
Bài Giảng Vi Xử Lý PITBài Giảng Vi Xử Lý PIT
Bài Giảng Vi Xử Lý PITNgô Doãn Tình
 
Bai giang c++
Bai giang c++Bai giang c++
Bai giang c++Thang DV
 
Chapitre6: Surcharge des opérateurs
Chapitre6:  Surcharge des opérateursChapitre6:  Surcharge des opérateurs
Chapitre6: Surcharge des opérateursAziz Darouichi
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Aziz Darouichi
 
2 matlab ly-thuyet_laptrinh_hamtoanhoc_
2 matlab ly-thuyet_laptrinh_hamtoanhoc_2 matlab ly-thuyet_laptrinh_hamtoanhoc_
2 matlab ly-thuyet_laptrinh_hamtoanhoc_Thân Văn Ngọc
 
Tong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdhTong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdhHoat Thai Van
 
lap trinh assembly cho VXL
lap trinh  assembly cho VXLlap trinh  assembly cho VXL
lap trinh assembly cho VXLThân Khương
 

Was ist angesagt? (20)

Phần 1: Các khái niệm cơ bản về lập trình
Phần 1: Các khái niệm cơ bản về lập trìnhPhần 1: Các khái niệm cơ bản về lập trình
Phần 1: Các khái niệm cơ bản về lập trình
 
Phần 9: Chuỗi ký tự
Phần 9: Chuỗi ký tựPhần 9: Chuỗi ký tự
Phần 9: Chuỗi ký tự
 
Kiến trúc máy tính và hợp ngữ bài 03
Kiến trúc máy tính và hợp ngữ bài 03Kiến trúc máy tính và hợp ngữ bài 03
Kiến trúc máy tính và hợp ngữ bài 03
 
Phong cách lập trình - Đặng Bình Phương
Phong cách lập trình - Đặng Bình PhươngPhong cách lập trình - Đặng Bình Phương
Phong cách lập trình - Đặng Bình Phương
 
Giáo trình c++ full tiếng việt
Giáo trình c++ full tiếng việtGiáo trình c++ full tiếng việt
Giáo trình c++ full tiếng việt
 
Phần 8: Mảng hai chiều
Phần 8: Mảng hai chiềuPhần 8: Mảng hai chiều
Phần 8: Mảng hai chiều
 
Nmlt c01 cac_khainiemcobanvelaptrinh
Nmlt c01 cac_khainiemcobanvelaptrinhNmlt c01 cac_khainiemcobanvelaptrinh
Nmlt c01 cac_khainiemcobanvelaptrinh
 
Phần 12: Hàm (Nâng cao)
Phần 12: Hàm (Nâng cao)Phần 12: Hàm (Nâng cao)
Phần 12: Hàm (Nâng cao)
 
Luận án: Cải tiến bộ điều khiển sử dụng đại số gia tử cho phi tuyến
Luận án: Cải tiến bộ điều khiển sử dụng đại số gia tử cho phi tuyếnLuận án: Cải tiến bộ điều khiển sử dụng đại số gia tử cho phi tuyến
Luận án: Cải tiến bộ điều khiển sử dụng đại số gia tử cho phi tuyến
 
Kiến trúc máy tính và hợp ngữ bài 02
Kiến trúc máy tính và hợp ngữ bài 02Kiến trúc máy tính và hợp ngữ bài 02
Kiến trúc máy tính và hợp ngữ bài 02
 
5 bo nho may tinh
5 bo nho may tinh5 bo nho may tinh
5 bo nho may tinh
 
Nmlt c03 cac_kieudulieucoso
Nmlt c03 cac_kieudulieucosoNmlt c03 cac_kieudulieucoso
Nmlt c03 cac_kieudulieucoso
 
Bài Giảng Vi Xử Lý PIT
Bài Giảng Vi Xử Lý PITBài Giảng Vi Xử Lý PIT
Bài Giảng Vi Xử Lý PIT
 
Bai giang c++
Bai giang c++Bai giang c++
Bai giang c++
 
Chapitre6: Surcharge des opérateurs
Chapitre6:  Surcharge des opérateursChapitre6:  Surcharge des opérateurs
Chapitre6: Surcharge des opérateurs
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références
 
2 matlab ly-thuyet_laptrinh_hamtoanhoc_
2 matlab ly-thuyet_laptrinh_hamtoanhoc_2 matlab ly-thuyet_laptrinh_hamtoanhoc_
2 matlab ly-thuyet_laptrinh_hamtoanhoc_
 
Tong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdhTong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdh
 
lap trinh assembly cho VXL
lap trinh  assembly cho VXLlap trinh  assembly cho VXL
lap trinh assembly cho VXL
 
Kỹ thuật số
Kỹ thuật sốKỹ thuật số
Kỹ thuật số
 

Phần 4: Lệnh điều khiển và rẽ nhánh

  • 1. Trường Đại học Khoa học Tự nhiên Khoa Công nghệ thông tin Bộ môn Công nghệ phần mềm NHẬP MÔN LẬP TRÌNH ThS. Đặng Bình Phương dbphuong@fit.hcmus.edu.vn CÂU LỆNH ĐIỀU KIỆN & CÂU LỆNH RẼ NHÁNH 1
  • 2. & VC BB Nội dung 1 Câu lệnh điều kiện if 2 Câu lệnh rẽ nhánh switch 3 Một số kinh nghiệm lập trình 4 Một số ví dụ minh họa Câu lệnh điều kiện và rẽ nhánh 2
  • 3. & VC BB Câu lệnh if (thiếu) 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à }) Câu lệnh điều kiện và rẽ nhánh 3
  • 4. & VC BB Câu lệnh if (thiếu) void main() { if (a == 0) printf(“a bang 0n”); if (a == 0) { printf(“a bang 0n”); a = 2912; } } Câu lệnh điều kiện và rẽ nhánh 4
  • 5. & VC BB Câu lệnh if (đủ) 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>; Câu lệnh điều kiện và rẽ nhánh 5
  • 6. & VC BB Câu lệnh if (đủ) void main() { if (a == 0) printf(“a bang 0n”); else printf(“a khac 0n”); if (a == 0) { printf(“a bang 0n”); a = 2912; } else printf(“a khac 0n”); } Câu lệnh điều kiện và rẽ nhánh 6
  • 7. & VC BB Câu lệnh if - Một số lưu ý Câu lệnh if và câu lệnh if… else là một câu lệnh đơn. { if (a == 0) printf(“a bang 0n”); } { if (a == 0) { printf(“a bang 0n”); a = 2912; } else printf(“a khac 0n”); } 7 Câu lệnh điều kiện và rẽ nhánh
  • 8. & VC BB Câu lệnh if - Một số lưu ý Câu lệnh if có thể lồng vào nhau và else sẽ tương ứng với if gần nó nhất. if (a != 0) if (b > 0) printf(“a != 0 va b > 0n”); else printf(“a != 0 va b <= 0n”); if (a !=0) { if (b > 0) printf(“a != 0 va b > 0n”); else printf(“a != 0 va b <= 0n”); } 8 Câu lệnh điều kiện và rẽ nhánh
  • 9. & VC BB Câu lệnh if - Một số lưu ý Nên dùng else để loại trừ trường hợp. if (delta < 0) printf(“PT vo nghiemn”); if (delta == 0) printf(“PT co nghiem kepn”); if (delta > 0) printf(“PT co 2 nghiemn”); if (delta < 0) printf(“PT vo nghiemn”); else // delta >= 0 if (delta == 0) printf(“PT co nghiem kepn”); else printf(“PT co 2 nghiemn”); Câu lệnh điều kiện và rẽ nhánh 9
  • 10. & VC BB Câu lệnh if - Một số lưu ý Không được thêm ; sau điều kiện của if. void main() { int a = 0; if (a != 0) printf(“a khac 0n”); if (a != 0); printf(“a khac 0n”); if (a != 0) { }; printf(“a khac 0n”); } Câu lệnh điều kiện và rẽ nhánh 10
  • 11. & VC BB Câu lệnh switch (thiếu) switch (<Biến/BT>) { Đ <Biến/BT> <Lệnh 1> case <GT1>:<L1>;break; = <GT1> case <GT2>:<L2>;break; S … Đ <Biến/BT> = <GT2> <Lệnh 2> } 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 {}. Câu lệnh điều kiện và rẽ nhánh 11
  • 12. & VC BB Câu lệnh switch (thiếu) void main() { int a; printf(“Nhap a: ”); scanf(“%d”, &a); switch (a) { case 1: printf(“Motn”); break; case 2: printf(“Hain”); break; case 3: printf(“Ban”); break; } } Câu lệnh điều kiện và rẽ nhánh 12
  • 13. & VC BB Câu lệnh switch (đủ) switch (<Biến/BT>) { Đ <Biến/BT> <Lệnh 1> case <GT1>:<L1>;break; = <GT1> case <GT2>:<L2>;break; S … <Biến/BT> Đ default: <Lệnh 2> = <GT2> <Lệnh n>; S } <Lệnh n> Câu lệnh điều kiện và rẽ nhánh 13
  • 14. & VC BB Câu lệnh switch (đủ) void main() { int a; printf(“Nhap a: ”); scanf(“%d”, &a); switch (a) { case 1: printf(“Motn”); break; case 2: printf(“Hain”); break; case 3: printf(“Ban”); break; default: printf(“Ko biet docn”); } } Câu lệnh điều kiện và rẽ nhánh 14
  • 15. & VC BB Câu lệnh switch - Một số lưu ý Câu lệnh switch là một câu lệnh đơn và có thể lồng nhau. { switch (a) { case 1: printf(“Motn”); break; case 2: switch (b) { case 1: printf(“An”); break; case 2: printf(“Bn”); break; } break; case 3: printf(“Ban”); break; default: printf(“Khong biet docn”); } } 15 Câu lệnh điều kiện và rẽ nhánh
  • 16. & VC BB Câu lệnh switch - Một số lưu ý Các giá trị trong mỗi trường hợp phải khác nhau. switch (a) { case 1: printf(“Motn”); break; case 1: printf(“MOTn”); break; case 2: printf(“Hain”); break; case 3: printf(“Ban”); break; case 1: printf(“1n”); break; case 1: printf(“motn”); break; default: printf(“Khong biet docn”); } Câu lệnh điều kiện và rẽ nhánh 16
  • 17. & VC BB Câu lệnh switch - Một số lưu ý switch sẽ nhảy đến case tương ứng và thực hiện đến khi nào gặp break hoặc cuối switch sẽ kết thúc. switch (a) { case 1: printf(“Motn”); break; case 2: printf(“Hain”); break; case 3: printf(“Ban”); break; } Câu lệnh điều kiện và rẽ nhánh 17
  • 18. & VC BB Câu lệnh switch - Một số lưu ý switch nhảy đến case tương ứng và thực hiện đến khi nào gặp break hoặc cuối switch sẽ kết thúc. switch (a) { case 1: printf(“Motn”); break; case 2: printf(“Hain”); break; case 3: printf(“Ban”); break; } switch (a) { case 1: printf(“Motn”); break; case 2: printf(“Hain”); break; case 3: printf(“Ban”); break; } Câu lệnh điều kiện và rẽ nhánh 18
  • 19. & VC BB Câu lệnh switch - Một số lưu ý Tận dụng tính chất khi bỏ break; switch (a) { case 1: printf(“So len”); break; case 2: printf(“So chann”); break; case 3: printf(“So len”); break; case 4: printf(“So chann”); break; } switch (a) { case 1: case 3: printf(“So len”); break; case 2: case 4: printf(“So chann”); break; } 19 Câu lệnh điều kiện và rẽ nhánh
  • 20. & VC BB Kinh nghiệm lập trình  Câu lệnh if  Câu lệnh switch if (a == 1) switch (a) printf(“Motn”); { if (a == 2) case 1: printf(“Motn”); printf(“Hain”); break; if (a == 3) case 2: printf(“Hain”); printf(“Ban”); break; if (a == 4) case 3: printf(“Ban”); printf(“Bonn”); break; if (a == 5) case 4: printf(“Bonn”); printf(“Namn”); break; case 5: printf(“Namn”); } Câu lệnh điều kiện và rẽ nhánh 20
  • 21. & VC BB Kinh nghiệm lập trình  Câu lệnh switch  Câu lệnh if switch (a) if (a == 3.14) { printf(“OKn”); case 3.14: if (a < 10) case <10: printf(“OKn”); case 1: printf(“OKn”); if (a == 1) break; printf(“OKn”); case 2: if (a == 2 || a == 3) case 3: printf(“OKn”); printf(“OKn”); break; } Câu lệnh điều kiện và rẽ nhánh 21
  • 22. & VC BB Bài tập 1. Nhập một số bất kỳ. Hãy đọc giá trị của số nguyên đó nếu nó có giá trị từ 1 đến 9, ngược lại thông báo không đọc được. 2. Nhập một chữ cái. Nếu là chữ thường thì đổi sang chữ hoa, ngược lại đổi sang chữ thường. 3. Giải phương trình bậc nhất ax + b = 0. 4. Giải phương trình bậc hai ax2 + bx + c = 0. Câu lệnh điều kiện và rẽ nhánh 22
  • 23. & VC BB Bài tập 5. Nhập 4 số nguyên a, b, c và d. Tìm số có giá trị nhỏ nhất (min). 6. Nhập 4 số nguyên a, b, c và d. Hãy sắp xếp giá trị của 4 số nguyên này theo thứ tự tăng dần. 7. Tính tiền đi taxi từ số km nhập vào. Biết: a. 1 km đầu giá 15000đ b. Từ km thứ 2 đến km thứ 5 giá 13500đ c. Từ km thứ 6 trở đi giá 11000đ d. Nếu trên 120km được giảm 10% tổng tiền. Câu lệnh điều kiện và rẽ nhánh 23
  • 24. & VC BB Bài tập 8. Nhập vào tháng và năm. Cho biết tháng đó có bao nhiêu ngày. 9. Nhập độ dài 3 cạnh. Kiểm tra đó có phải là tam giác không và là tam giác gì? Câu lệnh điều kiện và rẽ nhánh 24