Vòng lặp - Pdf 63

Bài 6 Vòng lặp
Mục tiêu:
Kết thúc bài học này, bạn có thể:
 Hiểu được vòng lặp ‘for’ trong C
 Làm việc với toán tử ‘phẩy’
 Hiểu các vòng lặp lồng nhau
 Hiểu vòng lặp ‘while’ và vòng lặp ‘do-while’
 Làm việc với lệnh ‘break’ và lệnh ‘continue’
 Hiểu hàm ‘exit()’.
Giới thiệu:
Một trong những điểm mạnh lớn nhất của máy tính là khả năng thực hiện một chuỗi các lệnh lặp đi lặp
lại. Điều đó có được là do sử dụng các cấu trúc lặp trong ngôn ngữ lập trình. Trong bài này bạn sẽ tìm
hiểu các loại vòng lặp khác nhau trong C.
6.1 Vòng lặp:
Vòng lặp là một đoạn mã lệnh trong chương trình được thực hiện lặp đi lặp lại cho đến khi thỏa mãn một
điều kiện nào đó. Vòng lặp là một khái niệm cơ bản trong lập trình cấu trúc.
Trong C có các loại vòng lặp sau:
Vòng lặp for
Vòng lặp while
Vòng lặp do…while
Ta sử dụng các toán tử quan hệ và toán tử logic trong các biểu thức điều kiện để điều khiển sự thực hiện
của vòng lặp.
6.2 Vòng lặp ‘for’:
Cú pháp tổng quát của vòng lặp for như sau:
for(khởi tạo giá trị cho biến điều khiển; biểu thức điều kiện;biểu
thức thay đổi giá trị của biến điều khiển)
{
Câu lệnh (các câu lệnh);
}
Khởi tạo giá trị cho biến điều khiển là một câu lệnh gán giá trị ban đầu cho biến điều khiển trước khi thực
hiện vòng lặp. Lệnh này chỉ được thực hiện duy nhất một lần. Biểu thức điều kiện là một biểu thức quan

2. Biểu thức điều kiện: count < = 6.
Chương trình kiểm tra xem giá trị hiện tại của biến count có nhỏ hơn hay bằng 6 hay không. Nếu đúng,
các câu lệnh trong thân vòng lặp sẽ được thực hiện.
3. Thân của vòng lặp có duy nhất một lệnh
printf(“\n \t \t nice”);
Câu lệnh này có thể đặt trong cặp dấu ngoặc nhọn {} cho dễ nhìn.
4. Biểu thức thay đổi giá trị của biến điều khiển count++, tăng giá trị của biến count lên 1 cho lần lặp kế
tiếp.
Các bước 2, 3, 4 được lặp lại cho đến khi biểu thức điều kiện là sai. Vòng lặp trên sẽ được thực hiện 6 lần
với giá trị của count thay đổi từ 1 đến 6. Vì vậy, từ nice xuất hiện 6 lần trên màn hình. Sau đó, count tăng
lên 7. Do giá trị này lớn hơn 6, vòng lặp kết thúc và câu lệnh sau vòng lặp được thực hiện.
Chương trình sau in ra các số chẵn từ 1 đến 25.
Ví dụ 6.2:
#include <stdio.h>
main()
{
int num;
printf(“The even numbers from 1 to 25 are: \n\n”);
for (num2; num <= 25; num+=2)
printf(“%d\n”, num);
}
Kết quả của chương trình trên như sau:
The even numbers from 1 to 25 are:
2
4
6
8
10
12
14

Please enter the maxinum value
for which a table can be printed: 5
0 + 5 = 5
1 + 4 = 5
2 + 3 = 5
3 + 2 = 5
4 + 1 = 5
5 + 0 = 5
Chú ý trong vòng lặp for, phần khởi tạo giá trị là:
i = 0, j = max
Khi vòng lặp bắt đầu chạy, i được gán giá trị 0 và j được gán giá trị của max.
Phần thay đổi giá trị của biến điều khiển gồm hai biểu thức:
i++, j—
sau mỗi lần thực hiện thân vòng lặp, i được tăng lên 1 và j giảm đi 1. Tổng của hai biến đó luôn bằng max
và được in ra màn hình:
 Vòng lặp ‘ for lồng nhau’ :
Một vòng lặp for được gọi là lồng nhau khi nó nằm bên trong một vòng lặp for khác. Nó sẽ có dạng
tương tự như sau:
for (i = 1; i < max1; i++)
{ ….
….
for (j = 0; j < max2 ; j++)
{
…..
}
….
}
Xem ví dụ sau:
Ví dụ 6.4:
#include <stdio.h>

}
Đoạn mã trên sẽ yêu cầu nhập giá trị cho biến num cho đến khi nhập vào 255. Vòng lặp không có phần
thay đổi giá trị của biến điều khiển. Vòng lặp sẽ kết thúc khi biến num có giá trị 255.
Tương tự, xét ví dụ sau:
.
.
printf("Enter value for checking :");
scanf("%d", &num);
for(; num < 100; )
{
.
.
}
Vòng lặp trên không có phần khởi tạo tham số và phần thay đổi giá trị của tham số.
Vòng lặp for khi không có bất kỳ thành phần nào sẽ là một vòng lặp vô tận
for ( ; ; )
printf(“This loop will go on and on and on… \n”);
Tuy nhiên, lệnh break bên trong vòng lặp sẽ cho phép thoát khỏi vòng lặp.

for ( ; ; )
{ printf(“This will go on and on”);
i = getchar();
if (i == ‘X’ || i == ‘x’);
break;
}

Vòng lặp trên sẽ được thực hiện cho đến khi người dùng nhập vào x hoặc X.


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status