Bài giảng Hệ thống máy tính và ngôn ngữ lập trình - Chương 7: Các lệnh điều khiển và vòng lặp - Nguyễn Phúc Khải

Lệnh if cho phép lập trình viên thực hiện một lệnh
đơn hay một lệnh phức tùy theo biểu thức điều kiện,
nếu biểu thức có trị khác 0 thì lệnh được thực thi.
 Dạng 1:
if (bieu_thuc)
lệnh;
© TS. Nguyễn Phúc Khải 6
bieu_thuc là một biểu thức bất kỳ,
có thể có hằng, biến hoặc gọi hàm
trong đó và sau cùng là biểu thức
này sẽ có trị 0 hoặc 1 
pdf 50 trang xuanthi 29/12/2022 2480
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ thống máy tính và ngôn ngữ lập trình - Chương 7: Các lệnh điều khiển và vòng lặp - Nguyễn Phúc Khải", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfbai_giang_he_thong_may_tinh_va_ngon_ngu_lap_trinh_chuong_7_c.pdf

Nội dung text: Bài giảng Hệ thống máy tính và ngôn ngữ lập trình - Chương 7: Các lệnh điều khiển và vòng lặp - Nguyễn Phúc Khải

  1. Các nội dung: . Lệnh đơn và lệnh . Lệnh BREAK và lệnh phức CONTINUE . Lệnh IF . Lệnh RETURN . Lệnh SWITCH-CASE. Lệnh GOTO . Lệnh RỖNG . Lệnh WHILE . Lệnh DO-WHILE . Lệnh FOR © TS. Nguyễn Phúc Khải 2
  2. LỆNH ĐƠN & LỆNH PHỨC . Lệnh phức bao hàm một hay nhiều lệnh đơn được bao bên trong cặp dấu ngoặc nhọn ({ }) và được bộ dịch C xem như là một lệnh đơn. . Ví dụ: Xét lệnh if sau if (a > 0) { i += 2; a++ } © TS. Nguyễn Phúc Khải 4
  3. LỆNH IF . Lệnh if cho phép lập trình viên thực hiện một lệnh đơn hay một lệnh phức tùy theo biểu thức điều kiện, nếu biểu thức có trị khác 0 thì lệnh được thực thi. . Dạng 1: if (bieu_thuc) lệnh; bieu_thuc là một biểu thức bất kỳ, có thể có hằng, biến hoặc gọi hàm trong đó và sau cùng là biểu thức này sẽ có trị 0 hoặc 1. © TS. Nguyễn Phúc Khải 6
  4. LỆNH IF #include #include main() { int n; clrscr(); printf (Moi nhap mot so: ); scanf (%d, &n); if (n % 2 == 0) printf ("So la so chan \n"); printf ("Moi ban nhan mot phim de ket thuc \n"); getch(); } © TS. Nguyễn Phúc Khải 8
  5. LỆNH IF Ví dụ: Xét chương trình sau đây: if (a > 0) if (a > 0) { if (b > 0) if (b > 0) c = b – a; c = b + a; } else else c = b – a; c = b – a; © TS. Nguyễn Phúc Khải 10
  6. LỆNH IF #include #include main() { char c; clrscr(); printf ("Nhap mot ky tu: "); c = getchar(); © TS. Nguyễn Phúc Khải 12
  7. LỆNH SWITCH-CASE switch (biểu_thức) lệnh_n; { break; case hằng_1: default: lệnh_1; lệnh; break; break; case hằng_2: } lệnh_2; break; : : case hằng_n: © TS. Nguyễn Phúc Khải 14
  8. LỆNH SWITCH-CASE #include #include main() { int so; clrscr(); printf ("Nhap mot so: "); scanf ("%d", &so); switch (so % 5) { case 0: so += 5; printf ("Tri la: %d\n", so); break; © TS. Nguyễn Phúc Khải 16
  9. LỆNH SWITCH-CASE . Lệnh break cuối mỗi case sẽ chuyển điều khiển chương trình ra khỏi lệnh switch. Nếu không có break, các lệnh tiếp ngay sau sẽ được thực thi dù các lệnh này có thể là của một case khác. © TS. Nguyễn Phúc Khải 18
  10. LỆNH SWITCH-CASE case 2: if (nam % 4 == 0) so_ngay = 29; else so_ngay = 28; break; default: so_ngay = 31; break; } printf("Thang %d nam %d co %d ngay\n", thang, nam, so_ngay); © TS. Nguyễn Phúc Khải 20
  11. LỆNH WHILE #include #include #include > #include main() { int i = 1; clrscr(); randomize(); printf ("So ngau nhien trong khoang 0-99 la: "); © TS. Nguyễn Phúc Khải 22
  12. LỆNH WHILE int i = 10; clrscr(); randomize(); printf ("So ngau nhien trong khoang 0-99 la: "); while (i) { printf ("%d", random(100)); i; } © TS. Nguyễn Phúc Khải 24
  13. LỆNH WHILE #include #include #define ESC 27 main() { char c; clrscr(); printf ("Cac ky tu duoc nhap la: "); while (getche() - ESC) ;  lệnh thực thi rỗng } © TS. Nguyễn Phúc Khải 26
  14. LỆNH DO-WHILE #include #include #define ESC 27 main() { char c; clrscr(); printf ("\n Moi an cac phim mui ten \n"); © TS. Nguyễn Phúc Khải 28
  15. LỆNH DO-WHILE case 'P': printf ("Ban da an mui ten xuong\n"); break; case 'K': printf ("Ban da an mui ten qua trai\n"); break; case 'M': printf ("Ban da an mui ten qua phai\n"); break; } /* end switch */ } }while (c != 27); } © TS. Nguyễn Phúc Khải 30
  16. LỆNH FOR . Vòng lặp for là một lệnh lặp cho phép kiểm tra điều kiện trước, giống như while. Cú pháp của lệnh for như sau: for (biểu_thức1; biểu_thức2; biểu_thức3) lệnh © TS. Nguyễn Phúc Khải 32
  17. LỆNH FOR . Ví dụ: vòng lặp for để tính tổng từ 1 tới n như sau s = 0; for (i = 1; i <= n; i++) s += i; . Có thể viết ngắn gọn hơn như sau for (i = 1, s = 0; i <= n; i++) s += i; © TS. Nguyễn Phúc Khải 34
  18. LỆNH BREAK & LỆNH CONTINUE . Đây là hai lệnh nhảy không điều kiện của C, chúng cho phép lập trình viên có thể thay đổi tiến trình lặp của các cấu trúc lặp mà ta đã biết: for, while, do-while. . Lệnh break:  Trong cấu trúc switch-case, lệnh break sẽ kết thúc lệnh switch-case;  Trong các cấu trúc lặp thì lệnh break cho phép thoát sớm ra khỏi vòng lặp (while, for hoặc do- while) chứa nó mà không cần xét điều kiện của lệnh kế tiếp sau vòng lặp. © TS. Nguyễn Phúc Khải 36
  19. LỆNH BREAK & LỆNH CONTINUE . Lệnh continue: có tác dụng chuyển điều khiển chương trình về đầu vòng lặp chuẩn bị cho chu kỳ lặp mới, bỏ qua các lệnh còn lại nằm ngay sau lệnh nó trong chu kỳ lặp hiện hành. Lệnh này chỉ được dùng trong các vòng lặp, để bỏ qua các lệnh không cần thực thi trong vòng lặp khi cần thiết. © TS. Nguyễn Phúc Khải 38
  20. LỆNH BREAK & LỆNH CONTINUE #include #include main() { double a[100]; double tong; int i, n; clrscr(); printf ("Co bao nhieu so can tinh: "); scanf ("%d", &n); printf ("Nhap cac so can tinh tong: "); for (i = 0; i < n; i++) scanf ("%lf", &a[i]); © TS. Nguyễn Phúc Khải 40
  21. LỆNH RETURN . Lệnh này dùng để thoát ra khỏi hàm hiện thời trở về hàm đã gọi nó, có thể trả về cho hàm gọi một trị. Lệnh này sẽ kết thúc hàm dù nó nằm ở đâu trong thân hàm. Khi gặp lệnh này C sẽ không thực hiện bất cứ lệnh nào sau lệnh return nữa. Các cú pháp của lệnh return như sau: return; return (biểu-thức); return biểu-thức; © TS. Nguyễn Phúc Khải 42
  22. LỆNH RETURN void nhan_ky_tu (void)  định nghĩa hàm { while (1) if (getche() == ESC) return; } © TS. Nguyễn Phúc Khải 44
  23. LỆNH GOTO . Mặc dù không ủng hộ nhưng C vẫn có lệnh rẽ nhánh không điều kiện goto, lệnh này cho phép chuyển điều khiển chương trình cho một lệnh nào đó. . Cú pháp của lệnh goto: goto nhãn; . Với nhãn là một danh hiệu không chuẩn, danh hiệu này sẽ được đặt ở trước lệnh mà ta muốn nhảy đến theo cú pháp sau: nhan: lệnh © TS. Nguyễn Phúc Khải 46
  24. LỆNH RỖNG . Trong C có khái niệm lệnh rỗng, lệnh này chỉ có một dấu chấm phẩy (;), nó rất cần thiết trong nhiều trường hợp, như đối với các vòng lặp, khi ta đặt các lệnh biểu thức thực thi vào trong các biểu thức của lệnh thì ta không cần có thêm lệnh thực thi làm thân cho chúng nữa, khi đó nếu để trống, C sẽ hiểu nhầm rằng lệnh kế tiếp sẽ là thân của vòng lặp, do đó chỉ còn cách cho một lệnh rỗng làm thân của chúng. © TS. Nguyễn Phúc Khải 48
  25. © TS. Nguyễn Phúc Khải 50