Cách so sánh trong C++
Các toán tử so sánh như so sánh bằng, so sánh lớn hơn .. cùng các phép toán logic và, hoặc hay phủ định, áp dụng viết câu lệnh điều kiện if else hay câu lệnh rẽ nhiều nhánh switch case trong lập trình C# Show
Các toán tử so sánh thực hiện phép toán trên hai số hạng và trả về kết quả kiểu bool với giá trị true hoặc false.
Ví dụ có hai biến int a = 5; và int b = 6; thì:
Các toán tử logicCác toán tử logic thực hiện trên các số hạng kiểu bool và trả về kết quả bool là true hoặc false Ví dụ nếu bool a = false; và bool a = true; thì
Câu lệnh ifCú pháp lệnh này như sau (dạng đơn giản): if (điều_kiện) câu_lệnh; //Câu lệnh thi hành nếu điều_kiện là đúngHoặc thi hành cả khối lệnh if (điều_kiện) { các_câu_lệnh; //Câu lệnh thi hành nếu điều_kiện là đúng }Dạng đậy đủ có thể định nghĩa lệnh (khối lệnh) thi hành nếu điều kiện logic đúng, và lệnh (khối lệnh) thi hành nếu điều kiện sai if (điều_kiện) { các_câu_lệnh; //Câu lệnh thi hành nếu điều_kiện là đúng } else { các_câu_lệnh; //Câu lệnh thi hành nếu điều_kiện là sai }
Ví dụ: int number = 1990; if ((number % 2) == 0) Console.WriteLine($"{number} là số chẵn"); // In ra: 1990 là số chẵn int a = 5; int b = 10; if (a >= b) { Console.WriteLine("Số a lớn hơn hoặc bằng số b"); } else { Console.WriteLine("Số a nhỏ hơn số b"); } //In ra: Số a nhỏ hơn số bSau else bạn có thể bắt đầu ngay một lệnh if khác để tạo ra cấu trúc if else, kiểm tra nhiều trường hợp int a = 10; int b = 10; if (a > b) { Console.WriteLine("Số a lớn hơn hoặc bằng số b"); } else if (a < b) { Console.WriteLine("Số a nhỏ hơn số b"); } else { Console.WriteLine("Hai số a, b bằng nhau"); }Câu lệnh ba thành phần với toán tử ?Khi viết: rs = expr1 ? expr2 : expr3;Thì câu lệnh đó tương tương với if (expr1) rs = expr2; else rs = expr3;Có nghĩa nếu biểu thức expr1 là true thì lấy giá trị của expr2 và false thì lấy expr3 int age = 18; var mgs = (age >= 18) ? "Đủ điều kiện" : "Không đủ điều kiện"; Console.WriteLine(mgs); //In ra: Đủ điều kiệnVí dụ tìm số lớn nhất trong các số a, b, c var a = 2; var b = 3.5; var c = 2; var max = a >= b ? a >= c ? a : c : b >=c ? b : c; // Viết tường minh hơn // max = (a >= b) ? (a >= c ? a : c) : (b >=c ? b : c); Console.WriteLine(max);Câu lệnh rẽ nhánh switchCâu lệnh switch ... case áp dụng cho cấu trúc rẽ nhiều nhánh, nó thay thế cho nhiều cầu lệnh else if switch (expr) { case expr1: //Cách lệnh thi hành nếu expr == expr1 break; case expr2: //Cách lệnh thi hành nếu expr == expr2 break; // ... default: //.. break; }
Câu lệnh switch trên sẽ so sánh expr với các biểu thức sau từ khóa case là expr1, expr2 ... nếu bằng biểu thức nào thì bắt đấu thi hành lệnh từ khối case đó cho đến khi gặp break (Nếu không gặp break nó thi hành cho đến cuối) Nếu có khối default, nó sẽ thi hành nếu expr không rẽ vào nhánh case nào. int number = 2; switch (number) { case 1: Console.WriteLine("number có giá trị một"); break; case 2: Console.WriteLine("number có giá trị hai"); break; default: Console.WriteLine("number khác một và hai"); break; } //In ra : number có giá trị haiLệnh trên nếu sử dụng else if thì có dạng Sử dụng switch rõ ràng, dễ đọc hơn khi số lượng else if nhiều Source code: CS004_Logical_if_switch (Git), hoặc tải ex004
Định nghĩa toán tử trong [Wikipedia]:
Các kiểu toán tử trong C:
Toán tử số họcGiả sử khai báo: int A=5, B=6; float C=1.2;
Toán tử so sánh(quan hệ): Trả về giá trị là true (đúng) hoặc false (sai)int A=5, B=6;
Toán tử logic: Trả về giá trị là true (đúng) hoặc false (sai)Trong ngôn ngữ C, 2 trạng thái true(đúng) và false(sai) được biểu diễn bởi các số nguyên int:
Các toán tử logic:
Toán tử thao tác trên bit
Toán tử gánSử dụng dấu = cho việc gán giá trị vào biến. Ví dụ: 1int a,b,c; 2int main(void) 3{ 4 a = 5; // Gán cho a giá trị là 5 5 c = b = a; // Gán cho b và c giá trị bằng giá trị của a 6 return 0; 7} Các toán tử gán mở rộng:
Toán tử tăng giảm
Một số toán tử khác
Bảng thứ tự ưu tiên thực hiện của toán tử (theo thứ tự giảm dần mức độ ưu tiên):
Ép kiểuĐôi khi chúng ta cần chuyển đổi giá trị một biểu thức sang kiểu dữ liệu khác. Ví dụ trong trường hợp ta muốn thực hiện phép toán chia lấy phần dư của 2 số nguyên, nhưng lại được lưu trong 2 biến kiểu float, ta không thể áp dụng trực tiếp toán tử % cho 2 biến đó. Bạn chạy chương trình thế này sẽ báo lỗi: 1#include Vì thế cần ép kiểu theo cú pháp: ( 1#include |