Download Visual Studio

You can download Visual Studio here.

Download Dev C++

You can download Dev C++ here.

Download Python

You can download Python here.

Vài điều cho các bạn trẻ

Quà tặng cuộc sống.

Chủ Nhật, 30 tháng 7, 2017

[C++] Bài 7: Cấu trúc lệnh điều khiển

1. Cấu trúc rẽ nhánh if - else

* Định nghĩa
       Câu lệnh điều khiển cơ bản của cấu trúc rẽ nhánh đó là câu lệnh if. Cấu trúc câu lệnh như sau:
if (điều kiện)
{
       //statement
}
hoặc:
if (điều kiện)
{
       //statements
}
else
{
       //statements
}
        Cấu trúc trên được gọi là câu lệnh điều kiện. Nếu điều kiện đúng thì câu lệnh trong khối if được thực hiện, nếu điều kiện sai, câu lệnh trong else sẽ được thực hiện (nếu có).
Ví dụ:
#include <iostream>
int main()
{
      std::cout<<"Enter a number: \n";
      int n;
      cin >> n;
      if (n > 0)
               std::cout<<"You've just entered a possitive number.\n";
      else
               std::cout<<"You've just entered a negative number.\n";
}
        Ví dụ trên cho ta nhập vào một số nguyên, nếu số đó lớn hơn 0 (điều kiện trong câu lệnh if đúng), câu lệnh trong khối if được thực hiện và in ra màn hình "You've just entered a possitive number." Nếu số đó không lớn hơn 0, điều kiện trong if sai, câu lệnh trong else sẽ được thực hiện và in ra màn hình "You've just entered a negative number."
        Tuy nhiên trong trường hợp trên, ta còn một trường hợp là n = 0, do đó ví dụ trên có thể sửa thành:
#include <iostream>
int main()
{
       std::cout<<"Enter a number: \n";
      int n;
      std::cin >> n;
      if (n > 0)
               std::cout<<"You've just entered a possitive number.\n";
      else if (n < 0)
               std::cout<<"You've just entered a negative number.\n";
      else 
               std::cout<<"You've just entered number zero.\n";
}
      Câu lệnh điều kiện else if (điều kiện) sẽ thực hiện lệnh nếu điều kiện trong câu lệnh if  ban đầu sai và điều kiện trong câu lệnh else if đúng, cấu trúc đó gọi là chuỗi lệnh.
      Trong C++, nếu trong if chỉ có một lệnh ta có thể viết trực tiếp như trên mà không cần dấu ngoặc nhọn "{....}"
* Câu lệnh if lồng nhau:
       Cấu trúc câu lệnh if lồng nhau như sau:
if (điều kiện 1)
{
      if (điều kiện 2)
      {
              //statements
       }
       else
       {
              //statements
        }
}
else
{
       //if - else statements
}
Ví dụ:
#include <iostream>
int main()
{
       int n;
       std::cout << "Enter a number: \n";
       std::cin >> n;
       if (n >= 10)
       {
                if (n <= 20) 
                        std::cout << n <<" is  between 10 and 20.\n";
                else 
                        std::cout << n <<" is greater than 20.\n";
       }
        else
                std::cout << n << " is smaller than 10.\n";
}

2. Cấu trúc lựa chọn switch - case

      Cấu trúc switch - case thực chất là cấu trúc if - else với rất nhiều câu lệnh else if trong đó:
switch (expression)
{
      case value1:
              //statements
              break;
      case value2:
              //statements
              break;
      ...
      default:
              //statements
              break;
}
      Trong đó expression là biểu thức, hằng, biến, hàm,etc, nhập vào từ bàn phím có kiểu trả về là số nguyên hoặc kí tự, value là các giá trị tương ứng nhập vào. Đặc biệt, chúng ta phải có câu lệnh break để thoát khỏi khối lệnh (điều này rất quan trọng). Default là khi các giá trị nhập vào không thuộc các case được nêu ra.
Ví dụ:
#include <iostream>
int main()
{
    std::cout << "Please input a number:\n";
    int n;
    std::cin >> n;
    switch (n)
    {
        case 1:
            std::cout << "This is number one.\n";
            break;
        case 2:
            std::cout << "This is number two.\n";
            break;
        case 3:
            std::cout << "This is number three.\n";
            break;
        default:
            std::cout << "I can't identify it.\n";
            break;
    }
}
Chạy chương trình trên bằng cmd (sẽ có hướng dẫn sau) ta được kết quả như sau:

        Bây giờ nói về tầm quan trọng của break, nếu xoá hết các câu lệnh break và chạy lại ta được kết quả như sau:

      Ta có thể thấy, khi không có câu lệnh break, chương trình sẽ thực hiện tất cả các câu lệnh từ case nào thoả mãn người dùng nhập vào đến hết và in ra tất cả các câu lệnh đó. Điều này gây ra sai xót không đáng có cho người lập trình.

      Chương trình trên cũng tương ứng với chương trình sau:
#include <iostream>
int main()
{
    std::cout << "Please input a number:\n";
    int n;
    std::cin >> n;
    if (n == 1)
        std::cout << "This is number one.\n";
    else if (n == 2)
        std::cout << "This is number two.\n";
    else if (n == 3)
        std::cout << "This is number three.\n";
    else
        std::cout << "I cant identify it.\n";
}