<< Chapter < Page | Chapter >> Page > |
Thang<số>co 30 ngay
Thuc hien xong lenh if
- Nếu chúng ta nhập vào số 2 thì kết quả xuất hiện trên màn hình sẽ là
Thang 2 co 28 hoac 29 ngay
Thuc hien xong lenh if
- Nếu chúng ta nhập vào số nhỏ hơn 0 hoặc lớn hơn 12 thì kết quả xuất hiện trên màn hình sẽ là
Khong co thang<số>
Thuc hien xong lenh if
Trong đó<số>là con số mà chúng ta đã nhập vào.
Lưu ý:
- Ta có thể sử dụng các câu lệnh if…else lồng nhau. Trong trường hợp if…else lồng nhau thì else sẽ kết hợp với if gần nhất chưa có else.
- Trong trường hợp câu lệnh if “bên trong” không có else thì phải viết nó trong cặp dấu {} (coi như là khối lệnh) để tránh sự kết hợp else if sai.
Ví dụ 1:
if ( so1>0)
if (so2>so3)
a=so2;
else /*else của if (so2>so3) */
a=so3;
Ví dụ 2:
if (so1>0)
{
if (so2>so3) /*lệnh if này không có else*/
a=so2;
}
else /*else của if (so1>0)*/
a=so3;
Cấu trúc lựa chọn cho phép lựa chọn một trong nhiều trường hợp. Trong C, đó là câu lệnh switch.
Cú pháp:
switch (<Biểu thức>)
{
case giá trị 1:
Khối lệnh thực hiện công việc 1;
break;
…
case giá trị n:
Khối lệnh thực hiện công việc n;
break;
[default:
Khối lệnh thực hiện công việc mặc định;
break;]
}
Lưu đồ:
Tính giá trị<Biểu thức>=Giá trị 1 1ĐúngCông việc 1Sai=Giá trị 2 1Công việc 2ĐúngSai=Giá trị n 1Công việc n+1Công việc nĐúngSaiThoát
Giải thích:
- Tính giá trị của biểu thức trước.
- Nếu giá trị của biểu thức bằng giá trị 1 thì thực hiện công việc 1 rồi thoát.
- Nếu giá trị của biểu thức khác giá trị 1 thì so sánh với giá trị 2, nếu bằng giá trị 2 thì thực hiện công việc 2 rồi thoát.
- Cứ như thế, so sánh tới giá trị n.
- Nếu tất cả các phép so sánh trên đều sai thì thực hiện công việc mặc định của trường hợp default.
Lưu ý:
- Biểu thức trong switch() phải có kết quả là giá trị kiểu số nguyên (int, char, long, …).
- Các giá trị sau case cũng phải là kiểu số nguyên.
- Không bắt buộc phải có default.
Ví dụ 1: Nhập vào một số nguyên, chia số nguyên này cho 2 lấy phần dư. Kiểm tra nếu phần dư bằng 0 thì in ra thông báo “số chẵn”, nếu số dư bằng 1 thì in thông báo “số lẻ”.
#include<stdio.h>
#include<conio.h>
int main ()
{ int songuyen, phandu;
clrscr();
printf("\n Nhap vao so nguyen ");
scanf("%d",&songuyen);
phandu=(songuyen % 2);
switch(phandu)
{
case 0: printf("%d la so chan ",songuyen);
break;
case 1: printf("%d la so le ",songuyen);
break;
}
getch();
return 0;
}
Ví dụ 2: Nhập vào 2 số nguyên và 1 phép toán.
- Nếu phép toán là ‘+’, ‘-‘, ‘*’ thì in ra kết qua là tổng, hiệu, tích của 2 số.
- Nếu phép toán là ‘/’ thì kiểm tra xem số thứ 2 có khác không hay không? Nếu khác không thì in ra thương của chúng, ngược lại thì in ra thông báo “khong chia cho 0”.
#include<stdio.h>
#include<conio.h>
int main ()
{ int so1, so2;
float thuong;
char pheptoan;
clrscr();
printf("\n Nhap vao 2 so nguyen ");
scanf("%d%d",&so1,&so2);
fflush(stdin);
/*Xóa ký tự enter trong vùng đệm trước khi nhập phép toán */
printf("\n Nhap vao phep toan ");
scanf("%c",&pheptoan);
switch(pheptoan)
{
case '+':
printf("\n %d + %d =%d",so1, so2, so1+so2);
break;
case '-':
printf("\n %d - %d =%d",so1, so2, so1-so2);
break;
case '*':
printf("\n %d * %d =%d",so1, so2, so1*so2);
Notification Switch
Would you like to follow the 'Co nuoi' conversation and receive update notifications?