<< 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

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);

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Co nuoi. OpenStax CNX. Jul 29, 2009 Download for free at http://cnx.org/content/col10760/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Co nuoi' conversation and receive update notifications?

Ask