Sử
dụng vòng lặp ‘for’
Trong phần này chúng ta
sẽ viết một chương trình sử dụng vòng lặp ‘for’. Chương trình hiển thị các số
chẳn từ 1 đến 30.
Trong chương trình, một
biến ‘số nguyên’, num, được khai báo. Vòng lặp ‘for’ được sử dụng để
hiển thị các số chẳn đến 30. Đối số đầu tiên của vòng lặp ‘for’, khởi tạo biến num
là 2. Đối số thứ hai của vòng lặp ‘for’, kiểm tra giá trị của biến có nhỏ hơn
hoặc bằng 30 không. Nếu điều kiện này thỏa, lệnh trong vòng lặp được thực hiện.
Lệnh ‘printf()’ được sử dụng để hiển thị giá trị của biến num.
Trong đối số thứ ba,
giá trị của biến num được tăng lên 2. Trong C, num +=2 giống như num =
num + 2. Lệnh ‘printf’ được thực thi khi đối số thứ hai vẫn thỏa. Một khi giá
trị của biến trở nên lớn hơn 30, điều kiện không thỏa nữa và vì vậy vòng lặp
không được thực thi. Dấu ngoặc nhọn {} không cần thiết khi chỉ có một câu lệnh
hiện diện trong vòng lặp, nhưng việc sử dụng cặp dấu ngoặc {} là một thói quen
lập trình tốt.
Bước 1: Tạo một tập tin
mới.
Bước 2: Nhập vào đoạn mã lệnh sau đây trong của sổ
‘Edit Window’:
#include
<stdio.h>
#include
<conio.h>
void main() {
int num;
printf("The even Numbers from 1 to 30 are \n ");
for (num = 2; num <= 30; num +=2)
printf("%d\n", num);
}
Bước 3: Lưu tập tin với
tên for.C
Bước 4: Biên dịch tập
tin for.C
Bước 5: Thực thi chương
trinh for.C
KẾT
QUẢ:
The even Numbers from 1 to 30 are
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
Sử
dụng vòng lặp ‘while’
Trong phần này chúng ta
sẽ viết một chương trình sử dụng vòng lặp ‘while’. Chương trình hiển thị các số
từ 10 đến 0 theo thứ tự đảo ngược.
Trong chương trình có
một biến số nguyên num. Biến được khởi tạo.
Xét dòng mã lệnh sau:
while (num >= 0){
printf("\n%d",
num);
num--;
}
Lệnh ‘while’ kiểm tra,
giá trị của biến num có lớn hơn 0 hay không. Nếu điều kiện thỏa lệnh
‘printf()’ được thực thi và giá trị của biến num giảm 1. Trong C, num--làm việc
giống nhu num = num –1. Vòng lặp ‘while’ vẫn tiếp tục khi giá trị của biến lớn
hơn 1 hoặc bằng 0.
Bước 1: Tạo một tập tin
mới.
Bước 2: Nhập vào đoạn
mã lệnh sau đây trong của sổ ‘Edit Window’:
#include
<stdio.h>
#include
<conio.h>
void main() {
int num;
num = 10;
printf("\n Countdown");
while (num >= 0){
printf("\n%d", num);
num--;
}
}
Bước 3: Lưu tập tin với
tên while.C.
Bước 4: Biên dịch tập
tin while.C.
Bước 5: Thực thi chương
trinh while.C.
Bước 6: Trở về cửa sổ
‘Edit Window’.
KẾT
QUẢ:
Countdown
10
9
8
7
6
5
4
3
2
1
0
Sử dụng vòng lặp
‘do...while’
Trong
phần này chúng ta sẽ viết một chương trình sử dụng vòng lặp ‘do...while’. Vòng
lặp ‘do... while’ khác với vòng lặp ‘while’ là nó thực thi lệnh trước khi đánh
giá biểu thức. Một điều quan trọng cần phải nhớ là, không giống như vòng lặp
‘while’, phần thân của vòng lặp ‘do’ sẽ được thực hiện ít nhất một lần. Bởi vì
vòng lặp ‘while’ đánh giá biểu thức trước khi thực thi lệnh, nếu điều kiện là
sai (0) ngay lúc bắt đầu, phần lệnh sẽ không bao giờ được thực thi.
Chương
trình sẽ nhận vào các số nguyên và hiển thị chúng cho đến khi số 0 được nhập
vào. Sau đó nó sẽ thoát khỏi vòng lặp ‘do...while’ và in ra các số nguyên đã
được nhập.
Chương
trình khai báo hai biến cnt và cnt1. Bên trong vòng lặp ‘do
–while’ chúng ta sẽ nhập số bằng cách sử dụng mã lệnh sau:
printf("\nEnter a Number: ");
scanf("%d",&cnt);
Lệnh bên dưới sẽ hiển
thị số đã nhập.
printf("No. is %d", cnt);
cnt1++ sẽ tăng giá trị
biến cnt1 lên 1. Giả sử nếu chúng ta nhập vào số 0, trước hết nó sẽ in
giá trị và sau đó kiểm tra điều kiện. Trong trường hợp này điều kiện là sai. Nó
sẽ thoát khỏi vòng lặp và in giá trị của biến cnt1. Biến cnt1 được
giảm một đơn vị trước khi in ra bởi vì số nguyên cuối cùng (0) không được đếm.
Bước 1: Tạo một tập tin
mới.
Bước 2: Nhập vào đoạn
mã lệnh sau đây trong của sổ ‘Edit Window’:
#include
<stdio.h>
#include
<conio.h>
void main()
{
int cnt = 0,
num;
do {
printf("\n Enter a Number: ");
scanf("%d", &num);
printf("No. is %d", num);
cnt++;
} while (num != 0);
printf("\n The total numbers entered were %d", --cnt);
}
Bước 3: Lưu tập tin với
tên dowhile.C.
Bước 4: Biên dịch tập
tin dowhile.C.
Bước 5: Thực thi chương
trinh dowhile.C.
Bước 6: Trở về cửa sổ
‘Edit Window’.
KẾT QUẢ:
Enter
a number 11
No is 11
Enter a number 50
No is 50
Enter a number 0
No is 0
The
total numbers entered were 2
Sử
dụng lệnh break
Lệnh break giúp thoát
ra khỏi vòng lặp for, while, do-while hay lệnh switch ngay lập tức.
Chương trình sau minh
họa các dùng của lệnh break.
Quan sát đoạn mã lệnh
sau:
for (cnt = 1; cnt <= 10; cnt++){
if (cnt
== 5)
break;
printf(“%d\n”, cnt);
}
Đoạn mã lệnh trên sử
dụng một vòng lặp ‘for’ để in ra các giá trị từ 1 đến 10. Giá trị của biến cnt
được khởi tạo là 1, và sau đó nó sẽ kiểm tra điều kiện. Nếu điều kiện là đúng,
nó sẽ thực thi các câu lệnh bên trong vòng lặp.
Trong trường hợp này,
chương trình chỉ in ra 1, 2, 3, 4. Khi giá trị của biến cnt là 5, điều
kiện if trở nên đúng, và điều khiển sẽ thoát khỏi vòng lặp.
Bước 1: Tạo một tập tin
mới.
Bước 2: Nhập vào đoạn
mã lệnh sau đây trong của sổ ‘Edit Window’:
#include
<stdio.h>
#include <conio.h>
void main()
{
int cnt;
clrscr();
for (cnt = 1; cnt <= 10; cnt ++)
{
if (cnt == 5)
break;
printf(“%d\t”, cnt);
}
}
Bước 3: Lưu tập tin với
tên breakex.C.
Bước 4: Biên dịch tập
tin breakex.C.
Bước 5: Thực thi chương
trinh breakex.C.
Bước 6: Trở về cửa sổ
‘Edit Window’.
KẾT QUẢ:
1 2 3 4
Sử
dụng lệnh continue
Lệnh continue khi được
dùng trong một vòng lặp while, for, hoặc do-while sẽ bỏ qua tất cả các câu lệnh
phía sau và lần lặp kế tiếp được thực thi.
Chương trình sau minh
họa cách sử dụng của lệnh continue.
Xem đoạn mã lệnh sau:
for ( cnt = 1; cnt <=10; cnt++)
{ if (cnt
==5)
continue;
printf(“%d\t”, cnt);
}
Đoạn mã lệnh sử dụng
một vòng lặp for để in ra các giá trị từ 1 đến 10. Giá trị của biến cnt
được khởi tạo là 1, sau đó điều kiện sẽ được kiểm tra. Nếu điều kiện là
đúng,các lệnh trong vòng lặp sẽ được thực thi.
Trong trường hợp này,
chương trình chỉ in ra các số 1, 2, 3, 4, 6, 7, 8, 9 và 10. Khi giá trị của
biến cnt là 5, điều kiện if trở nên đúng và điều khiển trở về đầu vòng
lặp for mà không in ra giá trị 5.
Bước 1: Tạo một tập tin
mới.
Bước 2: Nhập vào đoạn
mã lệnh sau đây trong của sổ ‘Edit Window’:
#include
<stdio.h>
#include
<conio.h>
void main()
{
int cnt;
clrscr();
for (cnt = 1; cnt <= 10; cnt++)
{
if (cnt == 5)
continue;
printf(“%d\t”, cnt);
}
}
Bước 3: Lưu tập tin với tên continueex.C.
Bước 4: Biên dịch tập
tin continueex.C.
Bước 5: Thực thi
chương trinh continueex.C.
Bước 6: Trở về cửa sổ
‘Edit Window’.
KẾT QUẢ:
Đăng nhận xét