SlideShare a Scribd company logo
1 of 24
Download to read offline
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

More Related Content

What's hot

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
 
Nmlt c01 cac_khainiemcobanvelaptrinh
Nmlt c01 cac_khainiemcobanvelaptrinhNmlt c01 cac_khainiemcobanvelaptrinh
Nmlt c01 cac_khainiemcobanvelaptrinhMinh Ngoc Tran
 
[Cntt] bài giảng lập trình java bkhcm
[Cntt] bài giảng lập trình java   bkhcm[Cntt] bài giảng lập trình java   bkhcm
[Cntt] bài giảng lập trình java bkhcmHong Phuoc Nguyen
 
Bài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giảiBài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giảiTrung Thanh Nguyen
 
Nmlt c04 cau_lenhdieukienvarenhanh
Nmlt c04 cau_lenhdieukienvarenhanhNmlt c04 cau_lenhdieukienvarenhanh
Nmlt c04 cau_lenhdieukienvarenhanhMinh Ngoc Tran
 
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...Thanh Giảng Lê
 
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
 
Nmlt c03 cac_kieudulieucoso
Nmlt c03 cac_kieudulieucosoNmlt c03 cac_kieudulieucoso
Nmlt c03 cac_kieudulieucosoMinh Ngoc Tran
 
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
 
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
 
Lập trình c++ có lời giải 2
Lập trình c++ có lời giải 2Lập trình c++ có lời giải 2
Lập trình c++ có lời giải 2Minh Ngoc Tran
 
Các cấu trúc lệnh trong C
Các cấu trúc lệnh trong CCác cấu trúc lệnh trong C
Các cấu trúc lệnh trong Cpnanhvn
 
Bài 3 - Cấu trúc điều khiển - Nền tảng lập trình ứng dụng với C#
Bài 3 -  Cấu trúc điều khiển - Nền tảng lập trình ứng dụng với C#Bài 3 -  Cấu trúc điều khiển - Nền tảng lập trình ứng dụng với C#
Bài 3 - Cấu trúc điều khiển - Nền tảng lập trình ứng dụng với C#MasterCode.vn
 
Phân tích và thiết kế HTTT
Phân tích và thiết kế HTTTPhân tích và thiết kế HTTT
Phân tích và thiết kế HTTTLy hai
 
Bài giảng ngôn ngữ lập trình c c++ phạm hồng thái[bookbooming.com]
Bài giảng ngôn ngữ lập trình c c++   phạm hồng thái[bookbooming.com]Bài giảng ngôn ngữ lập trình c c++   phạm hồng thái[bookbooming.com]
Bài giảng ngôn ngữ lập trình c c++ phạm hồng thái[bookbooming.com]bookbooming1
 
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
 
Chuong 3 windows forms
Chuong 3   windows formsChuong 3   windows forms
Chuong 3 windows formsHarees Seni
 

What's hot (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
 
Nmlt c01 cac_khainiemcobanvelaptrinh
Nmlt c01 cac_khainiemcobanvelaptrinhNmlt c01 cac_khainiemcobanvelaptrinh
Nmlt c01 cac_khainiemcobanvelaptrinh
 
[Cntt] bài giảng lập trình java bkhcm
[Cntt] bài giảng lập trình java   bkhcm[Cntt] bài giảng lập trình java   bkhcm
[Cntt] bài giảng lập trình java bkhcm
 
Bài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giảiBài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giải
 
Nmlt c04 cau_lenhdieukienvarenhanh
Nmlt c04 cau_lenhdieukienvarenhanhNmlt c04 cau_lenhdieukienvarenhanh
Nmlt c04 cau_lenhdieukienvarenhanh
 
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...
 
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)
 
Nmlt c03 cac_kieudulieucoso
Nmlt c03 cac_kieudulieucosoNmlt c03 cac_kieudulieucoso
Nmlt c03 cac_kieudulieucoso
 
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ự
 
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
 
Lập trình c++ có lời giải 2
Lập trình c++ có lời giải 2Lập trình c++ có lời giải 2
Lập trình c++ có lời giải 2
 
Các cấu trúc lệnh trong C
Các cấu trúc lệnh trong CCác cấu trúc lệnh trong C
Các cấu trúc lệnh trong C
 
Do hoa may tinh
Do hoa may tinhDo hoa may tinh
Do hoa may tinh
 
Bài 3 - Cấu trúc điều khiển - Nền tảng lập trình ứng dụng với C#
Bài 3 -  Cấu trúc điều khiển - Nền tảng lập trình ứng dụng với C#Bài 3 -  Cấu trúc điều khiển - Nền tảng lập trình ứng dụng với C#
Bài 3 - Cấu trúc điều khiển - Nền tảng lập trình ứng dụng với C#
 
Phân tích và thiết kế HTTT
Phân tích và thiết kế HTTTPhân tích và thiết kế HTTT
Phân tích và thiết kế HTTT
 
Mảng 2 chiều
Mảng 2 chiềuMảng 2 chiều
Mảng 2 chiều
 
Bài giảng ngôn ngữ lập trình c c++ phạm hồng thái[bookbooming.com]
Bài giảng ngôn ngữ lập trình c c++   phạm hồng thái[bookbooming.com]Bài giảng ngôn ngữ lập trình c c++   phạm hồng thái[bookbooming.com]
Bài giảng ngôn ngữ lập trình c c++ phạm hồng thái[bookbooming.com]
 
322 bai tap xstk
322 bai tap xstk322 bai tap xstk
322 bai tap xstk
 
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
 
Chuong 3 windows forms
Chuong 3   windows formsChuong 3   windows forms
Chuong 3 windows forms
 

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