SlideShare a Scribd company logo
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

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
 
lap trinh assembly cho VXL
lap trinh  assembly cho VXLlap trinh  assembly cho VXL
lap trinh assembly cho VXLThân Khương
 
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thôngBáo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Huyen Pham
 
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
Trung Thanh Nguyen
 
Bài Tập Xử Lí Tín Hiệu Số
Bài Tập Xử Lí Tín Hiệu SốBài Tập Xử Lí Tín Hiệu Số
Bài Tập Xử Lí Tín Hiệu Số
viethung094
 
Phụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcnttPhụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcntt
anhhuycan83
 
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.comBài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
mai_non
 
Phần 11: Tập tin
Phần 11: Tập tinPhần 11: Tập tin
Phần 11: Tập tinHuy Rùa
 
[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
Hong Phuoc Nguyen
 
Đại số boolean và mạch logic
Đại số boolean và mạch logicĐại số boolean và mạch logic
Đại số boolean và mạch logic
www. mientayvn.com
 
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
Nhóc Nhóc
 
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPTBài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
MasterCode.vn
 
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
The Nguyen Manh
 
Chuong 5.1 mang 4 cuc
Chuong 5.1 mang 4 cucChuong 5.1 mang 4 cuc
Chuong 5.1 mang 4 cucthanhyu
 
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
pnanhvn
 
Ktmt chuong 5
Ktmt chuong 5Ktmt chuong 5
Ktmt chuong 5
Tùng Tò Mò
 
Công thức truyền tin
Công thức truyền tinCông thức truyền tin
Công thức truyền tinakprovip
 
Tích phân từng phần
Tích phân từng phầnTích phân từng phần
Tích phân từng phầnroggerbob
 
Giáo trình thiết kế mạch logic số
Giáo trình thiết kế mạch logic sốGiáo trình thiết kế mạch logic số
Giáo trình thiết kế mạch logic số
Man_Ebook
 

What's hot (20)

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)
 
lap trinh assembly cho VXL
lap trinh  assembly cho VXLlap trinh  assembly cho VXL
lap trinh assembly cho VXL
 
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thôngBáo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
 
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
 
Bài Tập Xử Lí Tín Hiệu Số
Bài Tập Xử Lí Tín Hiệu SốBài Tập Xử Lí Tín Hiệu Số
Bài Tập Xử Lí Tín Hiệu Số
 
Phụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcnttPhụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcntt
 
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.comBài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
 
Phần 11: Tập tin
Phần 11: Tập tinPhần 11: Tập tin
Phần 11: Tập tin
 
[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
 
Đại số boolean và mạch logic
Đại số boolean và mạch logicĐại số boolean và mạch logic
Đại số boolean và mạch logic
 
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
 
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPTBài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
 
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
[Báo cáo] Bài tập lớn Ngôn ngữ lập trình: Quản lý thư viện
 
Chuong 5.1 mang 4 cuc
Chuong 5.1 mang 4 cucChuong 5.1 mang 4 cuc
Chuong 5.1 mang 4 cuc
 
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
 
Ktmt chuong 5
Ktmt chuong 5Ktmt chuong 5
Ktmt chuong 5
 
Công thức truyền tin
Công thức truyền tinCông thức truyền tin
Công thức truyền tin
 
Tích phân từng phần
Tích phân từng phầnTích phân từng phần
Tích phân từng phần
 
Giáo trình thiết kế mạch logic số
Giáo trình thiết kế mạch logic sốGiáo trình thiết kế mạch logic số
Giáo trình thiết kế mạch logic 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