SLIDE1

Tuesday, September 23, 2014

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


Cú pháp của lệnh switch hơi đặc biệt một chút. Mục đích của nó 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(biến cần kiểm tra)
{
case giá trị 1 : lẹnh thực hiện; break;
case giá trị 2: lệnh thực hiện; break;
.........................................................
case giá trị n : lệnh thực hiện; break;
default: lệnh thực hiện mặc định; break;
}
Nó hoạt động theo cách sau: switch tính biểu thức và kiểm tra xem nó có bằng các giá trị sau case hay không, nếu bằng thì thực hiện lệnh, nếu không tìm thấy giá trị cần tìm thì thực hiện lênh mặc định.
ví dụ;
#include<stdio.h>
#include<conio.h>
void main()
{
int n = 10;
switch (n)
{
case 1:printf("ok"); break;
case 2:printf("ok"); break;
default:printf("no");
break;
}
_getch();
}
Tôi đã nói ở trên rằng cấu trúc của lệnh switch hơi đặc biệt. 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
 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ụ
#include<stdio.h>
#include<conio.h>
void main()
{
int n = 10;
switch (n)
{
case 1:
case 2:
case 3:
case 4:
case 5: printf("so nho hon 5"); break;
default: printf("so lon hon 5");
break;
}
_getch();
}
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ệ.