Cấu trúc lựa chọn switch trong C++

Mục đích của switch là kiểm tra một vài giá trị hằng cho một biểu thức, tương tự với những gì chúng ta làm ở đầu bài này khi liên kết một vài lệnh if và else if với nhau. Dạng thức của nó như sau:

switch (expression) {
	case constant1:
		block of instructions 1
		break;
	case constant2:
		block of instructions 2
		break;
	.
	.
	.
	default:
		default block of instructions
}

Nó hoạt động theo cách sau:

Hai đoạn mã sau là tương đương:

switch

switch (x) {
  case 1:
    cout << "x is 1";
    break;
  case 2:
    cout << "x is 2";
    break;
  default:
    cout << "value of x unknown";
}

if-else

if (x == 1) {
	cout << "x is 1";
}
else if (x == 2) {
	cout << "x is 2";
}
else {
	cout << "value of x unknown";
}

Chú ý sự tồn tại của lệnh break ở cuối mỗi khối lệnh. Điều này là cần thiết vì nếu không thì sau khi thực hiện block of instructions 1 chương trình sẽ không nhảy đến cuối của lệnh switch mà sẽ thực hiện các khối lệnh tiếp theo cho đến khi nó tìm thấy lệnh break đầu tiên. Điều này khiến cho việc đặt cặp ngoặc nhọn { } trong mỗi trường hợp là không cần thiết và có thể được dùng khi bạn muốn thực hiện một khối lệnh cho nhiều trường hợp khác nhau, ví dụ:

switch (x) {
	case 1:
	case 2:
	case 3:
		cout << "x is 1, 2 or 3";
		break;
	default:
		cout << "x is not 1, 2 nor 3";
}

Chú ý rằng lệnh switch chỉ có thể được dùng để so sánh một biểu thức với các hằng. Vì vậy chúng ta không thể đặt các biến (case (n*2):) hay các khoảng (case (1..3):) vì chúng không phải là các hằng hợp lệ.

Nếu bạn cần kiểm tra các khoảng hay nhiều giá trị không phải là hằng số hãy kết hợp các lệnh ifelse if


Revision #1
Created 5 October 2019 04:24:40 by Laptrinh.vn
Updated 5 October 2019 04:30:11 by Laptrinh.vn