toán tử logic trong c
Phép toán quan hệ có giá trị logic TRUE (1) hoặc FALSE (0) So sánh lớn hơn : a > b (4>5 có giá trị 0, 5 > 4 có giá trị 1) So sánh lớn hơn hoặc bằng : a >= b (5 >= 5 có giá trị 1) So sánh nhỏ hơn : a < b (6 < 9 có giá trị 1) So sánh nhỏ hơn hoặc bằng : a <= b ( 7 <= 9 có giá trị 1) So sánh bằng : a == b (7 == 7 có giá trị là 1)
Thắc mắc lập trình C/C++/C++0x. Toán tử dịch bit trái, phải trong lập trình C. Nếu đây là lần đầu tiên bạn ghé thăm diễn đàn cộng đồng C Việt, vui lòng tìm hiểu luật lệ tham gia, đọc các hướng dẫn trước khi bạn tiến hành đăng ký một tài khoản. Bạn phải đăng ký
Toán tử so sánh Bạn sử dụng các toán tử so sánh để so sánh nhiều giá trị và trả về kết quả là True, False hoặc Null. Lưu ý: Trong mọi trường hợp, nếu giá trị thứ nhất hoặc giá trị thứ hai là null thì kết quả cũng sẽ là null. Vì null đại diện cho giá trị không xác định nên kết quả của mọi phép so sánh với giá trị null cũng là không xác định.
Môn Toán có ưu thế trong việc hình thành và phát triển năng lực tính toán, với các thành tố cấu trúc là: thành thạo các phép tính; sử dụng được ngôn ngữ toán học (bên cạnh ngôn ngữ thông thường); mô hình hoá; sử dụng được các công cụ toán học (đo, vẽ, tính).
Giải thích VN: Một ký hiệu dùng để xác định quan hệ logic bao gồm hoặc loại trừ giữa hai số lượng hoặc hai khái niệm. Trong ngôn ngữ vấn đáp, toán tử logic bao gồm ( OR) sẽ mở rộng số lượng các bản ghi tìm được, còn các toán tử logic loại trừ ( AND hoặc NOT) sẽ thu hẹp số lượng này.
Reicher Mann Sucht Frau Fürs Leben. Trong toán học, một phép toán là một phép thực hiện tính toán từ một số lượng nào đó để tạo ra một kết quả cần tính toán. Chúng ta dễ dàng nhận thấy có một số phép toán mà ta hay sử dụng trong đời sống cộng, trừ, nhân, chia. Trong lập trình C cũng có những phép toán như vậy, ngoài ra ngôn ngữ C còn mở rộng thêm nhiều phép toán khác để thực hiện nhiều chức năng khác, chúng được gọi tắt là các toán tử. Ngôn ngữ C có nhiều toán tử cài sẵn và tôi sẽ cung cấp các loại toán tử căn bản sau Toán tử về số học Toán tử quan hệ Toán tử logic Toán tử gán Trong phạm vi căn bản chúng ta chỉ cần nắm được 4 toán tử trên là đã áp dụng được rất nhiều trong quá trình lập trình với C rồi, ngoài ra các bạn có thể tự tham khảo thêm đầy đủ các toán tử của C tại đây Operators in C and C++ tử về số học Toán tử về số học trong lập trình hay cũng chính là các phép toán mà ta vẫn thường sử dụng trong đời sống như Cộng, trừ, nhân, chia…… Ký hiệu Mô tả Ví dụ + Cộng các phần tử 1 + 6 = 7 – Trừ các phần tử 2 – 1 = 1 * Nhân các phẩn tử 5 * 7 = 35 / Chia các phần tử 10 / 2 = 5 % Chia lấy phần dư 10 / 8 = 2 kết quả chính là phần dư — Giảm một giá trị số nguyên xuống 1 đơn vị 5– = 5 – 1 = 4 ++ Tăng một giá trị số nguyên lên 1 đơn vị 9++ = 9 + 1 = 10 include int main{ // Khai bao 2 gia tri a, b co gia tri la 16, 8 va c, d gia tri 10, 8 int a = 16; int b = 8; int c = 10; int d = 8; // Thuc hien cac phep toan + - * / giua a va b int cong = a + b; int tru = a - b; int nhan = a * b; int chia = a / b; //Thuc hien cac phep toan % int chiaLayDu = c % d; a++; //Tang a len 1 don vi b-; // Giam b xuong 1 don vi // Hien thi ket qua printf"Cong = %d \n", cong; printf"Tru = %d \n", tru; printf"Nhan = %d \n", nhan; printf"Chia = %d \n", chia; printf"Chia lay phan du = %d \n", chiaLayDu; printf"a++ = %d \n", a; printf"b- = %d \n", b; return 0; } Cong = 24 Tru = 8 Nhan = 128 Chia = 2 Chia lay phan du = 2 a++ = 17 b– = 7 tử quan hệ Toán tử quan hệ hay có thể hiểu nôm na là phép so sánh giứa các đại lượng, các giá trị với nhau cho ra kết quả đúng hoặc sai. Ký hiệu Mô tả Ví dụ == So sánh giá trị có bằng nhau không 1 == 1 đúng, 2 == 1 sai != So sánh giá trị có không bằng nhau hay không 1 != 2 đúng, 1 != 1 sai > So sánh giá trị lớn hơn hay không 5 > 4 đúng, 5 > 6 sai = So sánh giá trị có lớn hơn hoặc bằng hay không 5 >= 4 đúng, 5 >= 5 đúng, 5 >= 6 sai int main{ // Khai bao 2 gia tri a, b co gia tri la 16, 8 int a = 16; int b = 8; // Hien thi ket qua so sanh ==,!=, >, =, b; printf"Nho hon %d \n", a = b; printf"Nho hon hoac bang %d \n", a int main{ // Khai bao 4 gia tri a, b, c, d co gia tri la 1,0,1,0 // Coi gia tri 1 la dung, gia tri 0 la sai int a = 1; int b = 0; int c = 1; int d = 0; printf"Gia tri cua a, b, c, d la %d %d %d %d \n", a,b,c,d; // Hien thi ket qua &&, , ! // Ket qua 1 la dung, 0 la sai printf"Menh de && giua a va b la %d \n", a && b; printf"Menh de && giua a va c la %d \n", a && c; printf"Menh de giua a va b la %d \n", a b; printf"Menh de giua b va d la %d \n", b d; printf"Phu dinh cua a, b, c, d la %d %d %d %d", !a,!b,!c,!d; return 0; } Gia tri cua a, b, c, d la 1 0 1 0 Menh de && giua a va b la 0 Menh de && giua a va c la 1 Menh de giua a va b la 1 Menh de giua b va d la 0 Phu dinh cua a, b, c, d la 0 1 0 1 tử gán Toán tử gán hay còn được hiểu là phép gán một giá trị cho một biến, hay gán một phép tính giá trị cho một biến…… Ký hiệu Mô tả Ví dụ = Gán cho giá trị bên trái bằng giá trị bên phải A = B += Cộng giá trị bên trái bằng một giá trị bên phải A += B tương đương A = A + B -= Trừ giá trị bên trái bằng một giá trị bên phải A -= B tương đương A = A – B *= Nhân giá trị bên trái bằng một giá trị bên phải A *= B tương đương A = A * B /= Chia giá trị bên trái bằng một giá trị bên phải A /= B tương đương A = A / B include int main{ // Khai bao 2 gia tri a, b co gia tri la 12,6 int a = 12; int b = 6; // Gan a = b a = b; printf"Gan a = b %d \n", a; // Khai bao 2 gia tri c, d co gia tri la 5,6 int c = 5; int d = 6; // Gan c += d hay con duoc hieu la c = c + d c += d; printf"c += d %d \n", c; // Khai bao 2 gia tri e, f co gia tri la 7,6 int e = 7; int f = 6; // Gan e -= f hay con duoc hieu la e = e - f e -= f; printf"e -= f %d \n", e; // Khai bao 2 gia tri g, h co gia tri la 8,6 int g = 8; int h = 6; // Gan g *= h hay con duoc hieu la g = g * h g *= h; printf"g *= h %d \n", g; // Khai bao 2 gia tri i, k co gia tri la 36,6 int i = 36; int k = 6; // Gan i /= k hay con duoc hieu la i = i / k i /= k; printf"i /= k %d \n", i; return 0; } Gan a = b 6 c += d 11 e -= f 1 g *= h 48 i /= k 6
Như các bạn đã biết, ký hiệu && và là toán tử logic AND và OR trong ngôn ngữ lập trình C/C++. Nhưng các bạn đã bao giờ để ý tới ký hiệu & và chưa? Đó cũng là ký hiệu của toán tử AND và OR nhưng sự khác nhau giữa các toán tử &&, và &, là gì? Có rất nhiều các bạn học lập trình C/C++ nhưng hay nhầm lẫn và không xác định được sự khác nhau giữa các toán tử &&, và &, . Vậy đâu là sự khác nhau, chúng ta hãy cùng xem ví dụ int ketQua; int a = 10, b = 14; ketQua = a && b; cout< So sánh lớn hơn 5 > 3 trả về 1 = Lớn hơn hoặc bằng 5 >= 3 trả về 1 int main { int a = 5, b = 5, c = 10; printf"%d == %d is %d \n", a, b, a == b; printf"%d == %d is %d \n", a, c, a == c; printf"%d > %d is %d \n", a, b, a > b; printf"%d > %d is %d \n", a, c, a > c; printf"%d = %d is %d \n", a, b, a >= b; printf"%d >= %d is %d \n", a, c, a >= c; printf"%d 5 is 0 5 > 10 is 0 5 = 5 is 1 5 >= 10 is 0 5 int main { int a = 5, b = 5, c = 10, result; result = a == b && c > b; printf"a == b && c > b is %d \n", result; result = a == b && c b is 1 a == b && c < b is 0 a == b c < b is 1 a != b c < b is 0 !a != b is 1 !a == b is 0 Trên là 5 loại toán tử được được sử dụng nhiều nhất khi làm việc với ngôn ngữ lập trình C. Bạn hãy thử chạy các ví dụ, thay giá trị cho các biến để hiểu rõ ý nghĩa của từng toán tử nhé. Sau khi học xong bài này là ta có thể học những kiến thức cao hơn đó chính là các lệnh rẻ nhánh và vòng lặp. Hẹn gặp lại bạn ở chương kế tiếp nhé.
Bài viết đăng tại dẫn cách sử dụng toán tử logic trong C. Bạn sẽ học được các phép toán logic trong C được biểu diễn thông qua các toán tử logic trong C sau bài học toán tử logic trong CĐể thực hiện các phép toán logic trong C, chúng ta sử dụng các toán tử logic trong C được liệt kê trong bảng dưới đâyToán tửTênBiểu thứcÝ nghĩa&&ANDX && Ytrue nếu cả X và Y đều đúngORX Ytrue nếu ít nhất một trong hai vế X hoặc Y đúng!NOT! Xtrue nếu X sai và false nếu X đúngPhép toán logic trong C sẽ kiểm tra hai vế của toán tử logic là đúng hay sai và kết hợp chúng lại để đưa ra kết quả. Kết quả của phép toán logic trong C sẽ là kiểu boolean trong C với hai giá trị là true đúng hoặc false sai.Toán tử logic AND trong CToán tử logic AND hay còn gọi là toán tử logic tích trong C sẽ trả về kêt quả true nếu cả hai vế đều đúng và ngược lại là false nếu một trong hai vế là && true = truetrue && false = falsefalse && true = falsefalse && false = falseVề quy trình xử lý, toán tử logic AND trong C sẽ kiểm tra biểu thức X bên vế trái trước. Nếu X true thì trả về giá trị của Y. Nếu X false thì trả về giá trị của dụ cụ thể về sử dụng toán tử logic AND trong C như sau2 10 && 2 10 && num 10 && num > 40Toán tử logic OR trong CToán tử logic OR hay còn gọi là toán tử logic tổng trong C sẽ trả về kêt quả true nếu một trong hai vế đúng, và false nếu cả hai vế đều true = truetrue false = truefalse true = truefalse false = falseVề quy trình xử lý, toán tử logic OR trong C sẽ ngược lại so với toán tử logic AND. Toán tử logic OR sẽ kiểm tra biểu thức X bên vế trái trước. Nếu X true thì trả về giá trị của X. Nếu X false thì trả về giá trị của dụ cụ thể về sử dụng toán tử logic OR trong C như sau2 402 > 10 2 > 40Bạn cũng có thể sử dụng toán tử logic AND trong C với biến như saunum = 20num > 10 num 10 num > 40num 40Toán tử logic NOT trong CToán tử logic NOT hay còn gọi là toán tử logic phủ đinh trong C sẽ trả về kêt quả true nếu một trong hai vế đúng, và false nếu cả hai vế đều sai.!true = false!false = trueVí dụ cụ thể về sử dụng toán tử logic NOT trong C như sau!2 40!2 > 40Bạn cũng có thể sử dụng toán tử logic NOT trong C với biến như saunum = 20!num 10Thứ tự ưu tiên toán tử logic trong CTrong trường hợp có nhiều toán tử logic trong C cùng tồn tại trong một biểu thức thì thứ tự ưu tiên xử lý của chúng như sauNOT > AND > ORNói cách khác, toán tử NOT có mức độ ưu tiên thực hiện cao nhất trong các toán tử logic dụ cụ thể thì ở dưới đây, toán tử AND && sẽ được đánh giá trước so với toán tử OR .4>3 22 Để thay đổi thứ tự ưu tiên các toán tử này trong biểu thức, chúng ta sử dụng tới cặp dấu ngoặc như sau4>3 22Lại nữa, do các toán tử logic có thứ tự ưu tiên thấp hơn so với các toán tử so sánh như , nên bạn không cần sử dụng tới các dấu ngoặc khi viết chúng cùng trong một biểu 2!10 == 10Ứng dụng của toán tử logic trong CToán tử logic trong C thường được sử dụng trong các biểu thức điều kiện trong các lệnh điều kiện if hoặc là trong vòng lặp. Trong các bài tiếp theo về các chuyên đề này, chúng ta sẽ gặp chúng nhiều sau đây là một số ví dụ cụ thể về sử dụng toán tử trong C để các bạn tham khảo dụ 1 Sử dụng toán tử logic trong lệnh điều kiện ifinclude int mainvoid{ int old = 17; if old > 15 && old 11 && old int mainvoid{ int num = 3; for int i = 0; i >08. lệnh điều kiện trong cBài sauIf trong CBài tiếpToán tử so sánh trong C và các phép so sánh chuỗi, số
Những toán tử này được áp dụng cho kiểu luận lý bool. Kết quả của toán tử logic trả về true 1 hoặc false 0. Các toán tử logic là AND &&, OR , NOT !.Toán tử AND &&Gọi là toán tử “và”. Nếu cả hai toán hạng đều có giá trị true thì kết quả là true. Những trường hợp khác kết quả là && btruetruetruetruefalsefalsefalsetruefalsefalsefalsefalseToán tử OR Gọi là toán tử “hoặc”. Chỉ cần một toán hạng có giá trị true thì kết quả là true. Nếu cả hai toán hạng là false thì kết quả mới là btruetruetruetruefalsetruefalsetruetruefalsefalsefalseToán tử NOT !Gọi là toán tử “phủ định”. Sử dụng để đảo ngược lại trạng thái logic của toán hạng đó. Nếu toán hạng là true thì phủ định của nó sẽ là false. Nếu toán hạng là false thì phủ định của nó sẽ là trình minh họa toán tử logicinclude using namespace std; int main { int a = 5, b = 5, c = 10, result; result = a == b && c > b; cout b is " b is 1 a == b && c >Dịch phải chuỗi bitKiểu sốa >> 2Toán tử ANDABA & B000010100111Toán tử AND trả về giá trị 1 nếu cả hai toán hạng đều có giá trị 1. Ví dụA 0000 1100 B 0101 0101 C = A & B 0000 0100 Toán tử ORABA B000011101111Toán tử OR trả về giá trị 0 nếu cả hai toán hạng đều có giá trị 0. Ví dụA 0000 1100 B 0101 0101 C = A B 0101 1101 Toán tử XORABA ^ B000011101110Toán tử XOR trả về giá trị 0 nếu cả hai toán hạng có cùng giá trị, cùng giá trị 1 hoặc cùng giá trị 0. Ví dụA 0000 1100 B 0101 0101 C = A ^ B 0101 1001 Toán tử NOTA~A0110Toán tử NOT đảo bit 1 thành 0 và ngược lại. Ví dụA 0000 1100 B = ~A 1111 0011 Toán tử dịch trái và toán tử dịch phảiTrong dịch chuyển số học, các bit được dịch chuyển ra khỏi bit đầu hoặc bit đuôi sẽ bị loại bỏ. Trong phép dịch chuyển số học về bên trái, các số 0 được dịch chuyển vào bên phải. Trong phép dịch chuyển số học bên phải, bit thể hiện dấu được thêm vào bên trái, do đó dấu của số được giữ tử dịch bitt phảiToán tử dịch bit tráiVí dụint a=23; a>1; /*Dịch chuyển phải 10010111 số thập phân -105 =11001011 số thập phân -53*/ int c=23; c using namespace std; int main { int a = 5, c; c = a; // c is 5 cout<<"c = "< toán tử logic trong c