Thông tin tài liệu:
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. 9.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....
Nội dung trích xuất từ tài liệu:
GIÁO TRÌNH LẬP TRINH C_BÀI 9Bà i 9 Vòng lặpMụ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ặplạ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ìmhiểu các loại vòng lặp khác nhau trong C.9.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ãnmộ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…whileTa 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ựchiện của vòng lặp.9.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ềukiệ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 khithự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ểuthứ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ặcgiả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 trongthâ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ểuthức điều kiện là sai (false), chương trình sẽ thoát ra khỏi vòng lặp for.Xem ví dụ sau:/* Đây là chương trình minh họa vòng lặp for trong chương trình C*/#include Vòng lặp 1main(){ int count; printf(“ This is a
”); for (count = 1; count The even numbers from 1 to 25 are: 2 4 6 8 10 12 14 16 18 20 22 24Vòng lặp for ở trên khởi tạo giá trị của biến nguyên num là 2 (để lấy một số chẵn) và tăng giá trị củanó lên 2 mỗi lẫn vòng lặp được lặp lại.Trong các vòng lặp for, biểu thức điều kiện luôn được kiểm tra ngay khi bắt đầu vòng lặp. Do đó cáclệnh trong thân vòng lập sẽ không được thực hiện nếu ngay từ ban đầu điều kiện đó là sai. 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. Cú pháp như sau: biểu_thức1 , biểu_thức2Cá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ủabiể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.Ví dụ dưới đây in ra một bảng các phép cộng với kết quả không đổi để minh họa khái niệm về toán tửphẩy rõ ràng hơn.Ví dụ 9.3: #include main() { int i, j, max; printf(“Please enter the maxinum value
”); printf(“for which a table can be printed: “); scanf(“%d”, &max); for (i = 0, j = max; i < = max; i++, j--) printf(“
%d + %d = %d”, i, j, i + j); }Kết quả của chương trình trên được minh họa như sau: Please enter the maxinum value for which a table can be printed: 5 0 + 5 = 5 1 + 4 = 5 2 + 3 = 5 3 + 2 = 5Vòng lặp 3 4 + 1 = 5 5 + 0 = 5Chú ý trong vòng lặp for, phần khởi tạo giá trị là: i = 0, j = maxKhi 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ằngmax 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ạngtương tự như sau: for (i = 1; i < max1; i++) { …. …. ...