Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 44 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
44
Dung lượng
3,97 MB
Nội dung
Chương 5: Lập trình với cấu trúc lặp 02/2012 Nội dung Câu lệnh while Câu lệnh do… while 02/2012 Câu lệnh for Một số kinh nghiệm lập trình Câu lệnh lặp Đặt vấn đề • Ví dụ – Viết chương trình xuất số từ đến 10 => Sử dụng 10 câu lệnh printf – Viết chương trình xuất số từ đến 1000 => Sử dụng 1000 câu lệnh printf ! • Giải pháp – Sử dụng cấu trúc lặp lại hành động thỏa điều kiện – lệnh lặp: for, while, do… while 02/2012 Câu lệnh lặp Câu lệnh for Đ S for (; ; ) ; , , : biểu thức C có chức riêng : đơn khối lệnh 02/2012 Câu lệnh lặp Câu lệnh for void main() { int i; for (i = 0; i < 10; i++) printf(“%d\n”, i); for (int j = 0; j < 10; j = j + 1) printf(“%d\n”, j); for (int k = 0; k < 10; k += 2) { printf(“%d”, k); printf(“\n”); } } 02/2012 Câu lệnh lặp Câu lệnh for - Một số lưu ý • Câu lệnh for câu lệnh đơn lồng 02/2012 Câu lệnh lặp Câu lệnh for - Một số lưu ý • Trong câu lệnh for, khơng có phần int i; for (i = 0; i < 10; i++) printf(“%d\n”, i); int i = 0; for (; i < 10; i++) printf(“%d\n”, i); Đ S 02/2012 Câu lệnh lặp Câu lệnh for - Một số lưu ý • Trong câu lệnh for, khơng có phần int i; for (i = 0; i < 10; i++) printf(“%d\n”, i); for (i = 0; i < 10; ) { printf(“%d\n”, i); i++; } 02/2012 Đ S Câu lệnh lặp Câu lệnh for - Một số lưu ý • Trong câu lệnh for, khơng có phần int i; for (i = 0; i < 10; i++) printf(“%d\n”, i); for (i = 0; ; i++) printf(“%d\n”, i); for (i = 0; ; i++) { if (i >= 10) break; printf(“%d\n”, i); } 02/2012 Câu lệnh lặp Câu lệnh for - Một số lưu ý • Lệnh break làm kết thúc câu lệnh • Lệnh continue bỏ qua lần lặp for (i = 0; i < 10; i++) { if (i % == 0) break; printf(“%d\n”, i); } for (i = 0; i < 10; i++) { if (i % == 0) continue; printf(“%d\n”, i); } 02/2012 Câu lệnh lặp 10 Bài tập 1a void main() { int n, sogoc, sodao, donvi; printf(“Nhap n: ”); scanf(“%d”, &n); sogoc = n; sodao = 0; while (sogoc > 0) { donvi = sogoc % 10; sodao = sodao*10 + donvi; sogoc = sogoc / 10; } if (sodao == n) printf(“Doi xung”); else printf(“Khong doi xung”); } 02/2012 Câu lệnh lặp 30 Bài tập 1b #include void main() { int n, n_can_nguyen; printf(“Nhap n: ”); scanf(“%d”, &n); n_can_nguyen = int(sqrt(n)); if (n_can_nguyen*n_can_nguyen == n) printf(“%d la so CP”, n); else printf(“%d khong la so CP”, n); } 02/2012 Câu lệnh lặp 31 Bài tập 1c void main() { int n, i, souoc; printf(“Nhap n: ”); scanf(“%d”, &n); souoc = 0; for (i = 1; i 0) { donvi = n % 10; n = n / 10; if (donvi < min) = donvi; if (donvi > max) max = donvi; } printf(“So NN = %d, So LN = %d”, min, max); 02/2012 } Câu lệnh lặp 33 Bài tập 1e void main() { int n, sotruoc, sosau; … // Nhập n sotruoc = n % 10; { sosau = sotruoc; n = n / 10; sotruoc = n % 10; } while (n != && sotruoc < sosau); if (sotruoc < sosau) printf(“Cac chu so tang dan”); else printf(“Cac chu so ko tang dan”); 02/2012 } Câu lệnh lặp 34 Bài tập 2a void main() { int n, i, s; printf(“Nhap n: ”); scanf(“%d”, &n); s = 0; for (i = 1; i 2 • Lưu lại phần tử trước a b • Mỗi lần tính xong cập nhật lại a b • Nên thêm phần tử ảo a-2, a-1 – 1 13 21 … 02/2012 Câu lệnh lặp 43 02/2012 ... 02/2012 Câu lệnh for Một số kinh nghiệm lập trình Câu lệnh lặp Đặt vấn đề • Ví dụ – Viết chương trình xuất số từ đến 10 => Sử dụng 10 câu lệnh printf – Viết chương trình xuất số từ đến 1000 => Sử dụng... Sử dụng cấu trúc lặp lại hành động thỏa điều kiện – lệnh lặp: for, while, do… while 02/2012 Câu lệnh lặp Câu lệnh for Đ S for (; ;