Tóm Tắt Session 9 - Concept
Vòng Lặp
1. Cấu trúc 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
2. Vòng lặp ‘for’:
- 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 hệ, xác định điều kiện thoát cho vòng lặp.
- Biểu thức thay đổi giá trị của biến điều khiển xác định biến điều khiển sẽ bị thay đổi như
thế nào sau mỗi lần vòng lặp được lặp lại (thường là tăng hoặc giảm giá trị của
biến điều khiển).
- Ba phần trên được phân cách bởi dấu chấm phẩy.
- Câu lệnh trong
thân vòng lặp có thể là một lệnh duy nhất (lệnh đơn) hoặc lệnh phức (nhiều
lệnh).
- Vòng lặp for sẽ tiếp tục được thực hiện chừng nào mà biểu thức điều
kiện còn đúng (true).
- Khi biểu thức
điều kiện là sai (false), chương
trình sẽ thoát ra khỏi vòng lặp for.
a. Toán tử ‘phẩy (comma)’:
- Phần
biểu thức trong toán tử for có thể được mở rộng để thêm vào các lệnh khởi tạo
hay các lệnh thay đổi giá trị của biến.
Vd: biểu_thức1
, biểu_thức2
b. 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++)
{
…..
}
….
}
C.Vòng lặp ‘while’
VD:while (điều_kiện là đúng)
câu_lệnh;-câu_lệnh có thể là rỗng, hay một lệnh đơn, hay một khối lệnh. Nếu vòng lặp while chứa một tập các lệnh thì chúng phải được đặt trong cặp ngoặc xoắn {}. điều_kiện có thể là biểu thức bất kỳ. Vòng lặp sẽ được thực hiện lặp đi lặp lại khi điều kiện trên là đúng (true). Chương trình sẽ chuyển đến thực hiện lệnh tiếp sau vòng lặp khi điều kiện trên là sai (false).
d. Vòng lặp ‘do ... while’:
Vòng lặp do ... while
còn được gọi là vòng lặp do trong C. Không giống như vòng lặp for
và while, vòng lặp này kiểm tra điều kiện tại cuối vòng lặp. Điều này có
nghĩa là vòng lặp do ... while sẽ được thực hiện ít nhất một lần, ngay
cả khi điều kiện là sai (false) ở lần chạy đầu tiên.
3.Các Lệnh nhẩy
-C có bốn câu lệnh thực hiện sự rẽ nhánh không điều kiện: return, goto, break, và continue.Sự rẽ nhánh không điều kiện nghĩa là sự chuyển điều khiển từ một điểm đến một lệnh xác định. Trong các lệnh chuyển điều khiển trên, return và goto có thể dùng bất kỳ vị trí nào trong chương trình, trong khi lệnh break và continue được sử dụng kết hợp với các câu lệnh vòng lặp
*Lệnh ‘return’:
-dùng để quay lại vị trí gọi hàm sau khi các lệnh trong hàm đó được thực thi xong.
-Trong lệnh return có thể có một giá trị gắn với nó, giá trị đó sẽ được trả về cho chương trình.
-VD:return biểu_thức;
*Lệnh ‘goto’:
-Lệnh goto cho phép chuyển quyền điều khiển tới một lệnh bất kì nằm trong cùng khối lệnh hay khác khối lệnh bên trong hàm đó. Vì vậy nó vi phạm các qui tắc của một ngôn ngữ lập trình có cấu trúc.
-lệnh tổng quát: goto label;
-label là một định danh phải xuất hiện như là tiền tố (prefix) của một câu lệnh khác trong cùng một hàm. Dấu chấm phẩy (;) sau label đánh dấu sự kết thúc của lệnh goto.
*Lệnh ‘break’:
-Có 2 cách dung:
+Nó có thể được sử dụng để kết thúc một case trong câu lệnh switch hoặc để kết thúc ngay một vòng lặp, mà không cần kiểm tra điều kiện vòng lặp.
+Khi chương trình gặp lệnh break trong một vòng lặp, ngay lập tức vòng lặp được kết thúc và quyền điều khiển chương trình được chuyển đến câu lệnh theo sau vòng lặp.
*Lệnh ‘continue’:
-Lệnh continue kết thúc lần lặp hiện hành và bắt đầu lần lặp kế tiếp. Khi gặp lệnh này trong chương trình, các câu lệnh còn lại trong thân của vòng lặp được bỏ qua và quyền điều khiển được chuyển đến bước đầu của vòng lặp trong lần lặp kế tiếp
-Trong trường hợp vòng lặp for, continue thực hiện biểu thức thay đổi giá trị của biến điều khiển và sau đó kiểm tra biểu thức điều kiện. Trong trường hợp của lệnh while và do…while, quyền điều khiển chương trình được chuyển đến biểu thức kiểm tra điều kiện.
3)Hàm ‘exit()’:
-Hàm exit() là một hàm trong thư viện chuẩn của C. Nó làm việc tương tự như một lệnh chuyển quyền điều khiển, điểm khác nhau chính là các lệnh chuyển quyền điều khiển thường được sử dụng để thoát khỏi một vòng lặp, trong khi exit() được sử dụng để thoát khỏi chương trình.
- Hàm này sẽ kết thúc chương trình và quyền điều khiển được chuyển trở trả về cho hệ điều hành
-Hàm exit() thường được dùng để kiểm tra một điều kiện bắt buộc cho việc thực thi của một chương trình có được thoả mãn hay không.
-VD:exit (int mã_trả_về);
Tóm tắt qua Xmind:
10 câu tự hỏi tự trả lời
1. kết thúc Session này ta thu thập được gì??
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()’.
2. Vòng lặp là gì ?
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.
3.Vòng lặp for sử dụng ntn ?
3.Vòng lặp for sử dụng ntn ?
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 hệ, xác định điều kiện thoát cho vòng lặp. Biểu thức thay đổi giá trị của biến điều khiển xác định biến điều khiển sẽ bị thay đổi như thế nào sau mỗi lần vòng lặp được lặp lại (thường là tăng hoặc giảm giá trị của biến điều khiển). Ba phần trên được phân cách bởi dấu chấm phẩy. Câu lệnh trong thân vòng lặp có thể là một lệnh duy nhất (lệnh đơn) hoặc lệnh phức (nhiều lệnh).
Vòng lặp for sẽ tiếp tục được thực hiện chừng nào mà biểu thức điều kiện còn đúng (true). Khi biểu thức điều kiện là sai (false), chương trình sẽ thoát ra khỏi vòng lặp for3.Toán tử 'phẩy(comma)' ?
Phần biểu thức trong toán tử for có thể được mở rộng để thêm vào các lệnh khởi tạo hay các lệnh thay đổi giá trị của biến
Phần biểu thức trong toán tử for có thể được mở rộng để thêm vào các lệnh khởi tạo hay các lệnh thay đổi giá trị của biến
Các biểu thức trên được phân cách bởi toán tử ‘phẩy’ ( , ), và được thực hiện từ trái sang phải. Thứ tự của các biểu thức là quan trọng trong trường hợp giá trị của biểu thức thứ hai phụ thuộc vào giá trị của biểu thức thứ nhất. Toán tử này có độ ưu tiên thấp nhất trong các toán tử của C.
4.Vòng lặp for lồng nhau là gì ?
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
5. Các trường hợp của vòng lặp for ?
Vòng lặp for có thể được sử dụng mà không cần phải có đầy đủ các thành phần của nó.
Vòng lặp for (hay vòng lặp bất kì) có thể không có bất kì lệnh nào trong phần thân của nó. Kĩ thuật này giúp tăng tính hiệu quả trong một vài giải thuật và để tạo ra độ trễ về mặt thời gian.
6. Vòng lặp 'While' là gì ?
Ở đó, câu_lệnh có thể là rỗng, hay một lệnh đơn, hay một khối lệnh. Nếu vòng lặp while chứa một tập các lệnh thì chúng phải được đặt trong cặp ngoặc xoắn {}. điều_kiện có thể là biểu thức bất kỳ. Vòng lặp sẽ được thực hiện lặp đi lặp lại khi điều kiện trên là đúng (true). Chương trình sẽ chuyển đến thực hiện lệnh tiếp sau vòng lặp khi điều kiện trên là sai (false).
Vòng lặp for có thể được sử dụng khi số lần thực hiện vòng lặp đã được xác định trước. Khi số lần lặp không biết trước, vòng lặp while có thể được sử dụng.
7.Vòng lặp ‘do ... while’ ?
Vòng lặp do ... while còn được gọi là vòng lặp do trong C. Không giống như vòng lặp for và while, vòng lặp này kiểm tra điều kiện tại cuối vòng lặp. Điều này có nghĩa là vòng lặp do ... while sẽ được thực hiện ít nhất một lần, ngay cả khi điều kiện là sai (false) ở lần chạy đầu tiên.
8. Các lệnh nhẩy ?
C có bốn câu lệnh thực hiện sự rẽ nhánh không điều kiện: return, goto, break, và continue
9. Lệnh ‘break’ là gì ?
8.
C có bốn câu lệnh thực hiện sự rẽ nhánh không điều kiện: return, goto, break, và continue
9. Lệnh ‘break’ là gì ?
Câu lệnh break có hai cách dùng. Nó có thể được sử dụng để kết thúc một case trong câu lệnh switch hoặc để kết thúc ngay một vòng lặp, mà không cần kiểm tra điều kiện vòng lặp.
10. Buồn ngủ chưa?
- Rồi!










Không có nhận xét nào:
Đăng nhận xét