<< Chapter < Page Chapter >> Page >

break;

case '/':

if (so2!=0)

{ thuong=float(so1)/float(so2);

printf("\n %d / %d =%f", so1, so2, thuong);

}

else printf("Khong chia duoc cho 0");

break;

default :

printf("\n Chua ho tro phep toan %c", pheptoan); break;

}

getch();

return 0;

}

Trong ví dụ trên, tại sao phải xóa ký tự trong vùng đệm trước khi nhập phép toán?

Ví dụ 3: Yêu cầu người thực hiện chương trình nhập vào một số nguyên dương là tháng trong năm và in ra số ngày của tháng đó.

- Tháng có 31 ngày: 1, 3, 5, 7, 8, 10, 12

- Tháng có 30 ngày: 4, 6, 9, 10

- Tháng có 28 hoặc 29 ngày : 2

- Nếu nhập vào số<1 hoặc>12 thì in ra câu thông báo “không có tháng này “.

#include<stdio.h>

#include<conio.h>

int main ()

{ int thang;

clrscr();

printf("\n Nhap vao thangs trong nam ");

scanf("%d",&thang);

switch(thang)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

printf("\n Thang %d co 31 ngay ",thang);

break;

case 4:

case 6:

case 9:

case 11:

printf("\n Thang %d co 30 ngay ",thang);

break;

case 2:

printf ("\ Thang 2 co 28 hoac 29 ngay");

break;

default :

printf("\n Khong co thang %d", thang);

break;

}

getch();

return 0;

}

Trong ví dụ trên, tại sao phải sử dụng case 1:, case 3:, …case 12: ?

Cấu trúc vòng lặp

Cấu trúc vòng lặp cho phép lặp lại nhiều lần 1 công việc (được thể hiện bằng 1 câu lệnh hay 1 khối lệnh) nào đó cho đến khi thỏa mãn 1 điều kiện cụ thể.

Vòng lặp for

Lệnh for cho phép lặp lại công việc cho đến khi điều kiện sai.

Cú pháp:

for (Biểu thức 1; biểu thức 2; biểu thức 3)

<Công việc>

Lưu đồ:

Tính giá trị Biểu thức 1Biểu thức 2Công việcTính giá trị Biểu thức 3EndBeginĐS

Giải thích:

<Công việc>: được thể hiện là 1 câu lệnh hay 1 khối lệnh. Thứ tự thực hiện của câu lệnh for như sau:

B1: Tính giá trị của biểu thức 1.

B2: Tính giá trị của biểu thức 2.

- Nếu giá trị của biểu thức 2 là sai (=0): thoát khỏi câu lệnh for.

- Nếu giá trị của biểu thức 2 là đúng (!=0):<Công việc>được thực hiện.

B3: Tính giá trị của biểu thức 3 và quay lại B2.

Một số lưu ý khi sử dụng câu lệnh for:

- Khi biểu thức 2 vắng mặt thì nó được coi là luôn luôn đúng

- Biểu thức 1: thông thường là một phép gán để khởi tạo giá trị ban đầu cho biến điều kiện.

- Biểu thức 2: là một biểu thức kiểm tra điều kiện đúng sai để dừng vòng lặp.

- Biểu thức 3: thông thường là một phép gán để thay đổi giá trị của biến điều kiện.

- Trong mỗi biểu thức có thể có nhiều biểu thức con. Các biểu thức con được phân biệt bởi dấu phẩy.

Ví dụ 1: Viết đoạn chương trình in dãy số nguyên từ 1 đến 10.

#include<stdio.h>

#include<conio.h>

int main ()

{ int i;

clrscr();

printf("\n Day so tu 1 den 10 :");

for (i=1; i<=10; i++)

printf("%d ",i);

getch();

return 0;

}

Kết quả chương trình như sau:

Ví dụ 2: Viết chương trình nhập vào một số nguyên n. Tính tổng của các số nguyên từ 1 đến n.

#include<stdio.h>

#include<conio.h>

int main ()

{ unsigned int n,i,tong;

clrscr();

printf("\n Nhap vao so nguyen duong n:"); scanf("%d",&n);

tong=0;

for (i=1; i<=n; i++)

tong+=i;

printf("\n Tong tu 1 den %d =%d ",n,tong);

getch();

return 0;

}

Nếu chúng ta nhập vào số 9 thì kết quả như sau:

Ví dụ 3: Viết chương trình in ra trên màn hình một ma trận có n dòng m cột như sau:

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