Bài 2 : Lập Trình C Cơ Bản – Các Cấu Trúc Điều Khiển ( P1)

1730

Các cấu trúc điều khiển

  • Cấu trúc tuần tự (sequence structures)
  • Cấu trúc rẽ nhánh ( selection structures)
  • Cấu trúc lặp (repetition structures)

 

Cấu trúc tuần tự: các lệnh trong chương trình được trình hiện một cách tuần tự theo thứ tự xuất hiện của các lệnh trong chương trình (trừ phi gặp lệnh lặp, hoặc lệnh rẽ nhánh)

tuan-tu

 

I. Các cấu trúc rẽ nhánh

Biểu thức logic

  • Một biểu thức logic là một biểu thức chỉ có một trong hai giá trị True hoặc False
  • „ Có ba toán tử cơ bản
    •  Và (and)
    • „ Hoặc (or)
    • „ Phủ định (not)
  • Bảng chân lý của phép and phep-and
  • Bảng chân lý của phép orphep-or
  • Bảng chân lý của phép notphep-not
  • Có thể tạo ra các biểu thức logic phức tạp từ các biểu thức đơn giản hơn.
  • Ví dụ
    • „ not (P and Q)
  •  Bảng chân lý của biểu thức trên, nhằm xác định ̣ giá trị true của biểu thứcbang-chan-ly

Dữ liệu kiểu Boolean

  • „ Kiểu boolean là kiểu dữ liệu chỉ có hai giá trị
    • „true false
  • „ C không có kiểu boolean chuẩn
    • „ Dùng kiểu char hoặc int để thay thế (chỉ sử dụng 2 giá trị 0/1)
    • „ Tự định nghĩa kiểu boolean sử dụng lệnh #define
  • „ Nhắc lại: Toán tử logic trong C
    • „ Phép and là: &&
    • „ Phép or là: ||
    • „ Phép t not là: !
  • „ Chú ý:
    • „ & và | không phải là toán tử logic, mà là các phép toán trên bit̉.

Ví Dụ : 

Giả sử : x = 10 y = 12

Tức là : x = 1010 y = 1100 trong hệ nhị phân

  • c = x & y   →   c = 8
  • c = x | y     →  c = 14
  • c = ~x       →    c = 65525
  • c = x>>2   →    c = 2
  • c = x<<2   →  c = 40

Cấu trúc rẽ nhánh

  • Có hai cấu trúc
    • „ Cấu trúc if
      • „ if
      • „ if-else
      • „ if-else-if
    • „ Cấu trúc switch
      • „ Cấu trúc rẽ nhiều nhánh

Cấu trúc If – dạng 1

  • Cú pháp
           if (biểu thc điu kin<công vic>
  • Ý nghĩa: Nếu biểu thức điều  kin có giá trị true thì công viđược thực hiện, ngược lại không làm gì cả.
  • Trong đó: công vic là một lệnh đơn hoăc là môt khối lệnh nằm  trong cặp ngoặc { }if-dang1

Ví Dụ : 

if (Value < 0)

{
Value = -Value;
}vi du-if

  • „ Chú ý:
    • „ Biu thc điu kin luôn được đặt trong ngoặc ( )„
    • Nếu <công vic> chỉ có một lệnh thì không cần phải đặt vào cặp { }
    • Biu thc điu kin có thể là 1 hằng, chẳng hạn: (1==2) hoặc (1>2)
    • „ Sử dụng các toán tử logic ||, &&, ! để biểu diễn các biểu thức điều kiện phức tạp, chẳng hạn:
      ((x > y) && (x + y ==10))

Ví Dụ : Sắp xếp giá trị của hai biến

 

Cấu trúc if – dạng 2
if-dang2

  • „ Cú pháp
    if (biểu thc điu kin)
    <công vic 1>
          else
    <công vic 2>„
  • Ý nghĩa: Nếu biểu thức có giá trị True thì hành động 1 được thực hiện ngược lại thì hành động 2 được thực hiện

 

 

 

 

Ví Dụ : Tìm Max của hai số

 

Cấu trúc  if lồng nhau

  • ƒ Các lệnh if có thể lồng nhau nhiều cấp
  • ƒ Ví dụ:

 

Cấu trúc rẽ nhiều nhánh switch

  • Cú pháp

 

  • Ý nghĩa : tương ứng với từng giá trị của <biểu thức> mà <công việc i> được thực hiện. Trong trường hợp giá trị của biểu thức không trùng với giá trị nào thì <công việc thứ N+1> được thực hiện.
  • Chú ý:  trong ngôn ngữ lập trình c
  • <biểu thức> phải có dữ liệu là kiểu đếm được : char, int, longint. Không thể là kiểu thực (float,double).
  • Sau mỗi <công viêc> phải có lệnh break, nếu không thì các công việc sau nó đều được thực hiện cho đến khi gặp 1 lệnh break khác.

Ví Dụ :

 

BÌNH LUẬN

Please enter your comment!
Please enter your name here