Lập trình căn bản - Chương 4: Các lệnh có cấu trúc

ppt 31 trang vanle 3170
Bạn đang xem 20 trang mẫu của tài liệu "Lập trình căn bản - Chương 4: Các lệnh có cấu trúc", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptlap_trinh_can_ban_chuong_4_cac_lenh_co_cau_truc.ppt

Nội dung text: Lập trình căn bản - Chương 4: Các lệnh có cấu trúc

  1. LẬP TRÌNH CĂN BẢN Phần 2 - Chương 4 CÁC LỆNH CÓ CẤU TRÚC N.C. Danh 1
  2. Nội dung chương này ⚫ Khối lệnh trong C ⚫ Cấu trúc rẽ nhánh ⚫ Cấu trúc lựa chọn ⚫ Cấu trúc vòng lặp ⚫ Các câu lệnh “đặc biệt” 2
  3. Khối lệnh trong C (1) ⚫ Là 1 dãy các khai báo cùng với các câu lệnh nằm trong cặp dấu ngoặc móc { và }. 3
  4. Khối lệnh trong C (2) ⚫ 1 khối lệnh có thể chứa nhiều khối lệnh khác gọi là khối lệnh lồng nhau (không hạn chế). 4
  5. Phạm vi các biến ⚫ Có thể khai báo các biến cùng tên trong các khối. ⚫ Nếu một biến được khai báo bên ngoài khối lệnh và không trùng tên với biến bên trong khối lệnh thì nó cũng dùng được bên trong khối. ⚫ Một khối lệnh con có thể sử dụng các biến bên ngoài, nhưng điều ngược lại không đúng. 5
  6. Cấu trúc rẽ nhánh (if) ⚫ Statement được thực hiện nếu boolean_expression có giá trị đúng (true), !=0. ⚫ Khối else là tùy chọn boolean_expression !=0 => Statement1 được thực hiện boolean_expression ==0 => Statement2 được thực hiện 6
  7. Ví dụ - Lệnh if #include #include int main (){ float a; printf("Nhap a = "); scanf("%f",&a); if (a !=0 ) printf("Nghich dao cua %f la %f",a,1/a); getch(); return 0; } 7
  8. Ví dụ - Lệnh if-else #include #include int main (){ float a; printf("Nhap a = "); scanf("%f",&a); if (a !=0 ) printf("Nghich dao cua %f la %f",a,1/a); else printf(“Khong the tim duoc nghich dao cua a”); getch(); return 0; } 8
  9. Câu lệnh và khối lệnh ⚫ C cho phép nhóm các câu lệnh liên tiếp vào 1 khối. ⚫ 1 khối lệnh có thể được dùng như 1 lệnh đơn. ⚫ Ví dụ: 9
  10. Nhầm lẫn khi dùng if ⚫ Chương trình trên sai ở đâu? 10
  11. Chú ý khi dùng if-else ⚫ Câu lệnh if-else lồng nhau ⚫ else sẽ kết hợp với if gần nhất chứa có else ⚫ Trong trường if bên trong không có else thì phải viết nó trong cặp dấu {} để tránh sự kết hợp else if sai. ⚫ Ví dụ 11
  12. Cấu trúc lựa chọn (switch-case) (1) ⚫ C cung cấp 1 cấu trúc đẹp - dùng 1 dãy các câu lệnh if. 12
  13. Cấu trúc lựa chọn (switch-case) (2) ⚫ switch-case có thể đưa đến mã máy (machine code) hiệu quả hơn (vì jump tables có thể được dùng) 13
  14. Cấu trúc lựa chọn (switch-case) (3) ⚫ Cú pháp: ⚫ Tính giá trị của biểu thức expr trước. ⚫ Nếu giá trị expr bằng value1 thì thực hiện statement_sequence1 rồi thoát. ⚫ Nếu giá trị expr khác value1 thì so sánh nó với value2, nếu bằng value2 thì thực hiện statement_sequence2 rồi thoát. ⚫ Cứ như thế, so sánh tới giá trị n. ⚫ Nếu tất cả các phép so sánh trên đều sai thì thực hiện default_statements của trường hợp default. 14
  15. Cấu trúc lựa chọn (switch-case) (4) ⚫ Các chú ý: ⚫ Kiểu của expr và các valuei phải là kiểu số nguyên (int, chat, long, ). ⚫ Nếu break/return vắng mặt, câu lệnh trong các case bên dưới có thể được thực hiện cho đến khi gặp break/return hoặc kết thúc lệnh switch. 15
  16. Ví dụ - switch-case (1) 16
  17. Ví dụ - switch-case (2) In ra số ngày của 1 tháng 17
  18. Cấu trúc lặp ⚫ Cho phép lặp lại thực hiện 1 công việc nhiều lần. ⚫ Có 2 loại: ⚫ Lặp với số lần xác định ⚫ for ⚫ Lặp với số lần không xác định ⚫ while ⚫ do-while 18
  19. Vòng lặp for (1) for (Biểu thức 1; biểu thức 2; biểu thức 3) ; ⚫ Thứ tự thực hiện: B1: Tính giá trị biểu thức 1 B2: Tính giá trị biểu thức 2 ⚫ Nếu giá trị biểu thức 2 là sai (==0) => thoát khỏi for ⚫ Nếu giá trị biểu thức 2 là đúng (!=0) => thực hiện B3: Tính giá trị biểu thức 3 rồi quay lại B2 19
  20. Vòng lặp for (2) 20
  21. Vòng lặp for (2) ⚫ Chương trình in dãy số nguyên từ 1 10 output 21
  22. Vòng lặp for (3) ⚫ Nhập số nguyên n. Tính tổng các số nguyên từ 1 n. output 22
  23. Vòng lặp while (1) while (Biểu thức điều kiện) ; ⚫ : có thể là 1 câu lệnh hay 1 khối lệnh. ⚫ Các bước thực hiện: - Kiểm tra Biểu thức điều kiện trước. - Nếu điều kiện sai (==0) thì thoát khỏi lệnh while. - Nếu điều kiện đúng (!=0) thì thực hiện công việc rồi quay lại kiểm tra điều kiện tiếp. 23
  24. Vòng lặp while (2) ⚫ Chương trình in dãy số nguyên từ 1 10 output 24
  25. Vòng lặp while (3) ⚫ Nhập số nguyên n. Tính tổng các số nguyên từ 1 n. output 25
  26. Vòng lặp do-while (1) do while ( ); ⚫ : có thể là 1 câu lệnh hay 1 khối lệnh. ⚫ Các bước thực hiện: ⚫ Công việc được thực hiện trước, sau đó mới kiểm tra điều kiện. ⚫ Nếu điều kiện sai thì thoát khỏi lệnh do- while. ⚫ Nếu điều kiện còn đúng thì thực hiện công việc rồi quay lại kiểm tra điều kiện tiếp. 26
  27. Vòng lặp do-while (2) ⚫ Chương trình in dãy số nguyên từ 1 10 output 27
  28. Vòng lặp do-while (3) ⚫ Nhập số nguyên n. Tính tổng các số nguyên từ 1 n. output 28
  29. So sánh các vòng lặp ⚫ Vòng lặp for/while: ⚫ Kiểm tra điều kiện trước thực hiện công việc sau. ⚫ Công việc có thể không được thực hiện lần nào. ⚫ Vòng lặp kết thúc khi nào điều kiện sai. ⚫ Vòng lặp do-while ⚫ Thực hiện công việc trước kiểm tra điều kiện sau. ⚫ Công việc được thực hiện ít nhất 1 lần. ⚫ Vòng lặp kết thúc khi nào điều kiện sai. 29
  30. Câu lệnh đặc biệt ⚫ Lệnh break ⚫ Dùng để thoát khỏi vòng lặp hoặc switch-case. ⚫ Tiếp tục thực hiện lệnh liền sau đó. ⚫ Lệnh continue ⚫ Trong vòng lặp, khi gặp lệnh continue, chương trình sẽ bỏ qua các câu lệnh sau continue ⚫ for: quay lên tính trị cho biểu thức 3, rồi kiểm tra điều kiện coi có lặp tiếp không. ⚫ while/do-while: kiểm tra điều kiện coi có lặp tiếp không. 30
  31. Hết chương 31