Nói thêm về các giá trị True/False (Đúng/Sai)

Một phần của tài liệu NGÔN NGỮ LA65P5 TRỈNH C pot (Trang 39 - 40)

Các biểu thức quan hệ của C cho ra giá trị 0 để biểu hiện là sai và cho ra giá trị 1 để biểu hiện là đúng. Tuy nhiên, bất kỳ một giá trị số nào cũng có thể đợc biểu hiện nh là đúng hoặc nh là sai khi nó đợc sử dụng trong một biểu thức hoặc một câu lệnh đang chờ một giá trị logic (tức là, một giá trị đúng hoặc sai). Các qui tắc áp dụng cho các trờng hợp này là:

Một giá trị bằng không đợc coi là sai. Một giá trị khác không đợc coi là đúng.

Các ví dụ sau đây minh họa cho các qui tắc này: x = 125;

if (x)

printf ("%d", x);

Trong trờng hợp này, giá trị của x đợc in ra, vì x có giá trị khác không nên biểu thức (x) đợc câu lệnh if cho là đúng. Bởi vậy, đối với mọi biểu thức C thì cách viết

(biểu_thức) là tơng đơng với cách viết (biểu_thức != 0)

Cả hai đều cho giá trị đúng nếu biểu_thức khác không, và cả hai đều cho giá trị sai nếu biểu_thức bằng không. Bằng phép toán không (!), ta cũng có thể viết

(! biểu_thức) hoặc tơng đơng là (biểu_thức == 0) Thứ tự thực hiện các phép logic

Các phép logic cũng có một thứ tự u tiên ngay trong chúng và cả với các phép khác. Phép ! (not) có cùng độ u tiên với các phép toán học một ngôi (đơn nguyên) ++ và -- Vì vậy, phép ! có thứ tự u tiên cao hơn tất cả các phép quan hệ và tất cả các phép toán học hai ngôi (nhị nguyên).

Ngợc lại, các phép && (and) và Ư Ư (or) có thứ tự u tiên thấp hơn nhiều, thấp hơn tất cả các phép toán học và các phép quan hệ. && có thứ tự u tiên cao hơn Ư Ư . Cũng nh đối với các phép khác, dấu ngoặc có thể đợc sử dụng để thay đổi thứ tự thực hiên khi dùng các phép logic.

Một phần của tài liệu NGÔN NGỮ LA65P5 TRỈNH C pot (Trang 39 - 40)