Xem mẫu

  1. TIN HỌC ĐẠI CƯƠNG Ngôn ngữ lập trình: C Lý thuyết: 6 buổi Thực hành: 8 buổi GVHD: Dương Khai Phong Email: khaiphong@gmail.com
  2. NỘI DUNG CÁC BUỔI HỌC 1. Tổng quan về C (chương 1,2) 2. Các cấu trúc điều khiển trong C (chương 3) 3. Hàm và cấu trúc chương trình (chương 4) 4. Mảng, chuỗi và con trỏ (chương 5) 5. Kiểu cấu trúc, đệ qui, tập tin (chương 6,7,8) 6. Ôn tập
  3. CHƯƠNG 3: CÁC CẤU TRÚC ĐIỀU KHIỂN 1. Câu lệnh , khối lệnh trong C 2. Cấu trúc điều khiển là gì? 3. Cấu trúc điều kiện: IF.. ELSE.. 4. Cấu trúc rẽ nhánh: SWITCH..CASE.. 5. Cấu trúc lặp: FOR, WHILE, DO..WHILE 6. Cấu trúc điều khiển GOTO
  4. 1. CÂU LỆNH , KHỐI LỆNH TRONG C a. Khái niệm về câu lệnh: Mỗi câu lệnh (code) thực hiện một chức năng nào đó (như lệnh gán, xuất dữ liệu ra màn hình..). Mỗi câu lệnh có thể được viết trên một dòng hoặc nhiều dòng và được kết thúc bằng dấu chấm phẩy “;”. b. Khái niệm về khối lệnh: - Một dãy các câu lệnh được đặt trong cặp dấu ngoặc nhọn { và } thì được gọi là một khối lệnh. - Những câu lệnh của một hàm hay một cấu trúc có nhiều lệnh phải được đặt trong dấu {..}  Lưu ý: - Khi muốn ghi chú một câu lệnh ta dùng dấu : // nội dung - Khi muốn ghi chú một khối lệnh ta dùng dấu : /* nội dung */
  5. 2. CẤU TRÚC ĐIỀU KHIỂN TRONG C a. Cấu trúc điều khiển là gì? Là cách thức cho phép thay đổi trật tự thực hiện các câu lệnh (khối lệnh) do đó máy có thể từ câu lệnh này nhảy tới thực hiện một câu lệnh trước hoặc sau nó. b. Phân loại: Cấu trúc điều khiển ĐIỀU KIỆN LẶP KẾT HỢP: GOTO IF SWITCH FOR WHILE DO ELSE CASE WHILE
  6. 3. CẤU TRÚC ĐIỀU KIỆN: IF.. ELSE a. Cấu trúc 1: b. Cấu trúc 2: if () if () { { ; ; } } else { Ý nghĩa: ; Nếu Biểu_thức_điều_kiện cho } kết quả khác không (tức điều Ý nghĩa: kiện đó là đúng) thì thực hiện Nếu Biểu_thức_điều_kiện cho kết quả khác không (tức điều khối lệnh, ngược lại không thực kiện đó là đúng) thì thực hiện hiện. khối_lệnh_1, ngược lại thực Ta có thể lồng các câu lệnh if hiện khối_lệnh_2. vào nhau.
  7. 3. CẤU TRÚC ĐIỀU KIỆN: IF.. ELSE Một số ví dụ về if: Ví dụ 1: Nếu tuổi của người nào đó trên 18 tuổi thì xuất thông báo “Bạn là thanh niên”? int tuoi; int tuoi; printf(“Cho biet tuoi:”); printf(“Cho biet tuoi:”); scanf (“%d”,&tuoi); scanf (“%d”,&tuoi); if (tuoi>=18) { if (tuoi>=18) printf(“Ban la thanh nien”); printf(“Ban la thanh nien”); } Nếu khối lệnh sau if chỉ có 1 lệnh thì ta có thể không cần dùng cặp dấu ngoặc nhọn {…}
  8. 3. CẤU TRÚC ĐIỀU KIỆN: IF.. ELSE Một số ví dụ về if: Ví dụ 2: Nếu tuổi của người nào đó trên 18 tuổi thì xuất thông báo “Bạn là thanh niên”, ngược lại “Bạn chưa đủ tuổi”? int tuoi; int tuoi; printf(“Cho biet tuoi:”); printf(“Cho biet tuoi:”); scanf (“%d”,&tuoi); scanf (“%d”,&tuoi); if (tuoi>=18) if (tuoi>=18) { printf(“Ban la thanh nien”); printf(“Ban la thanh nien”); else } printf(“Ban la thanh nien”); else { printf(“Ban la thanh nien”); }
  9. 3. CẤU TRÚC ĐIỀU KIỆN: IF.. ELSE Một số ví dụ về if: Ví dụ 3: Giải ptb1 ax+b=0 với a,b là số nguyên nhập từ bàn phím int a,b; float x; printf(“Cho biet a=”);scanf (“%d”,&a); printf(“Cho biet b=”);scanf (“%d”,&b); if (a==0) if (b==0) printf(“pt VSN”); else printf(“pt VN”); else { x=(float)a/b; printf(“pt co nghiem x=%f”,x); }
  10. 4. CẤU TRÚC RẼ NHÁNH: SWITCH..CASE Cấu trúc chung: * Lưu ý: switch () - Kết quả của biểu thức tính toán { phải là giá trị nguyên, ký tự. case giá_trị_1: - Các giá trị 1,2,..,k: phải là hằng ; nguyên, ký tự. [break;] - Khi giá trị biểu thức khác tất cả case giá_trị_2: các giá trị 1,2,..,k thì câu lệnh sau ; [break;] default được thực hiện. case giá_trị_k: - Câu lệnh break dùng để thoát khỏi ; [break;] lệnh switch sau khi thực hiện xong [default: 1 trường hợp case (nếu không có ;] break thì các lệnh bên dưới sẽ } được thực hiện mà không xét lại điều kiện).
  11. 4. CẤU TRÚC RẼ NHÁNH: SWITCH..CASE Một số ví dụ về switch: Ví dụ 1: Viết chương trình nhập vào 1 số nguyên từ 0..9 và cho biết cách đọc số đó. * Cách 2: dùng switch int so; * Cách 1: dùng if printf(“Nhap vao 1 so nguyen:”); int so; scanf (“%d”,&so); printf(“Nhap vao 1 so nguyen:”); switch (so){ scanf (“%d”,&so); case 0: printf(“khong”);break; if (so==0) case 1: printf(“khong”); printf(“mot”);break; if (so==1) … printf(“mot”); case 9: … printf(“chin”);break; default: if (so==9) printf(“Khong biet”); printf(“chin”); }
  12. 5. CẤU TRÚC LẶP: FOR, WHILE, DO..WHILE Nhận xét: khi một lệnh / khối lệnh phải thực hiện nhiều lần thì ta dùng cấu trúc lặp để tránh viết lại lệnh / khối lệnh nhiều lần. Ta có các cấu trúc lặp sau: a/ FOR:  Công dụng: cấu trúc lặp for cho biết trước số lần sẽ được lặp.  Cú pháp chung: for (giá_trị_bắt_đầu;biểu_thức_đk_dừng;bước_lặp) { ; }
  13. 5. CẤU TRÚC LẶP: for Ví dụ 1: xuất các số nguyên từ 1..100 * Cách 1: * Cách 2.1: printf(“1“); int i; printf(“2“); for (i=0;i
  14. 5. CẤU TRÚC LẶP: for Ví dụ 2: xuất các số nguyên chẵn từ 0..100 * Cách 1: * Cách 2: int i; int i; for (i=0;i
  15. 5. CẤU TRÚC LẶP: for  Cú pháp mở rộng: for (biểu thức 1;biểu_thức 2;biểu thức 3) { ; } Trong đó: Bất kỳ biểu thức 1,2,3 nào đều có thể vắng mặt nhưng phải có dấu chấm phẩy (Vd: for(i=1;++i
  16. 5. CẤU TRÚC LẶP: for  Các lệnh dùng kết hợp với cấu trúc lặp: (xem trang 70,71)  break: dùng để để thoát khỏi vòng lặp for ngay lặp tức.  continue: dùng để bắt đầu thực hiện một vòng lặp mới của chu trình bên trong nhất chứa nó (không thực hiện những lệnh sau nó)  Ví du: break  Ví du: continue void main() Viết CT xuất các số lẻ nhỏ hơn 20 trừ các { số 5,11 int dem; void main() for (dem=0;dem
  17. 5. CẤU TRÚC LẶP: while Ví dụ: viết CT cho phép nhập một số nguyên trong khoảng 10, nếu nhập lớn hơn thì bắt nhập lại. => Nhận xét: chương trình có tính chất lặp đi lặp lại nhiều lần nhưng số lần lặp không xác định trước => while int main() { int so=11; while (so>10) { printf(“Nhap mot so trong khoang 0..9: ”); scanf(“%d”,&so); } printf(“So ban da nhap chinh xac la %d”,so); }
  18. 5. CẤU TRÚC LẶP: while  Cú pháp: while while (biểu thức) { ; ; }  Nhận xét:  Nếu biểu thức còn khác 0 (hay biểu thức có giá trị true) thì còn thực hiện khối lệnh của vòng lặp.  Vòng lặp while thường được sử dụng khi số lần lặp không xác định trước.  Số lần lặp tối thiểu là 0 lần
  19. 5. CẤU TRÚC LẶP: do..while Ví dụ: viết lại CT cho phép nhập một số nguyên trong khoảng 0..9, nếu nhập ngoài khoảng này thì bắt nhập lại. int main() { int so; do { printf(“Nhap mot so trong khoang 0..9: ”); scanf(“%d”,&so); } while (so>=0 && so
  20. 5. CẤU TRÚC LẶP: do .. while  Cú pháp: do .. while do { ; ; } while (biểu thức);  Nhận xét: Thực hiện khối lệnh của vòng lặp cho đến khi biểu thức có giá trị bằng 0 (hay biểu thức có giá trị false).  Vòng lặp do .. while cũng thường được sử dụng khi số lần lặp không xác định trước.  Số lần lặp tối thiểu là 1 lần.
nguon tai.lieu . vn