3. Lệnh cấu trúc lặp
a. Lặp với số lần xác định: FOR
Cú pháp:
for (<biểu thức1>; <biểu thức 2>; <biểu thức 3>) <câu lệnh>
o <biểu thức 1>: Khởi tạo biến đếm
o <biểu thức 2>: Kiểm tra điều kiện của vòng lặp
o <biểu thức 2>: Điều khiển biến đếm của vòng lặp
Ý nghĩa:
Cấu trúc for cho phép thực hiện lặp lại nhiều lần một dãy <câu lệnh> với số lần lặp lại đã xác
định trước.
Lưu đồ cú pháp:
Biến= giá trị đầu
Biến<=giá tri cuối
sai
đúng
lệnh
Tăng biến đếm lên 1
b.
Ví dụ: Viết chương trình tính tổng của n số nguyên đầu tiên: s=1+2+…+n.
Với yêu cầu trên chúng ta có thể sử dụng cấu trúc lặp ở trên như sau:
#include <stdio.h>
#include <conio.h>
void main() {
int i,s,n;
printf(“n=“);scanf(“%d”,&n);
s=0;
for (i=1;i<=n;i++) s=s+i;
printf(“Tong la:%d”,s);
}
Lặp với số lần không xác định: WHILE
Cú pháp:
while <điều kiện>
{
<khối lệnh>;
}
Ý nghĩa:
<Khối lệnh> được thực hiện trong khi <điều kiện> đúng và lặp lại đến khi nào <điều kiện>
không còn đúng nữa.
Lưu đồ cú pháp:
sai
Điều kiện
đúng
Khối lệnh
c.
Ví dụ: Sử dụng cấu trúc lặp while để tính tổng của n số nguyên đầu tiên.
#include <stdio.h>
#include <conio.h>
void main() {
int i,s,n;
printf(“n=“);
scanf(“%d”,&n);
i=0;
s=0;
while(i<=n)
{
s=s+i;
i=i+1;
}
printf(“%d”,s);
getch();
}
Lặp với số lần lặp không xác định: DO … WHILE
Cú pháp:
do
{
<khối lệnh>;
}
while <điều kiện>;
Ý nghĩa:
<Khối lệnh> được thực hiện trong khi <điều kiện> còn đúng và lặp lại đến khi nào điều kiện
sai.
Lưu ý : <khối lệnh> sẽ được thực hiện ít nhất một lần.
Lưu đồ cú pháp:
Khối lệnh
Điều kiện
đúng
sai
Ví dụ: Viết chương trình tính tổng sau: s=1+1/2+1/3+…+1/n
#include <stdio.h>
#include <conio.h>
void main() {
int i,n;
float s;
printf(“n=“);scanf(“%d”,&n);
i=1;
s=0;
do{
s=s+1/i;
i=i+1;
}while (i
printf(“Tong la: %f”,s);
}