আমরা পূর্বের পর্বে জেনেছি সি প্রোগ্রামিং এ ব্যবহৃত Relational Operator (রিলেশনাল অপারেটর) নিয়ে। এই পর্বে আমরা Logical Operator (লজিক্যাল অপারেটর) নিয়ে বিস্তারিত আলোচনা করব।
সি প্রোগ্রামিং এ আমরা প্রায়ই যুক্তিমূলক কাজ করে থাকি আর এই সমস্ত যুক্তিমূলক এক্সপ্রেশন নিয়ে কাজ করার জন্য যেসকল অপারেটর ব্যবহার করা হয় সেগুলোকে লজিক্যাল অপারেটর বলে। প্রোগ্রামিং সি তে &&, || এবং ! এই তিনটি অপারেটরকে লজিক্যাল অপারেটর বলা হয়। অর্থাৎ প্রোগ্রামিং এ বিভিন্ন ধরণের decision making বা সিদ্ধান্ত গ্রহণের জন্য এই অপারেটর গুলো ব্যবহৃত হয়। লজিক্যাল অপারেটর দুইটি বুলিয়ান এক্সপ্রেশনের মধ্যে তুলনা করে ফলাফলের উপর ভিত্তি করে একটি লজিক্যাল অপারেশন মানে সত্য অথবা মিথ্যা রিটার্ন করে।
লজিক্যাল অপারেটর কেমন করে কাজ করে তা আমরা decision making অংশে বিস্তারিত জানবো, আবাদত আমরা এই ব্যাপারটি নিয়ে থিওরিটিক্যাল পড়ে নেই।
লজিক্যাল অপারেটর এর নাম, কাজ, উদাহরণ জানতে নিচের টেবিলটি লক্ষ্য করুন। এখানে x = 1, y =0 ধরা হয়েছে-
অপারেটর | উচ্চারণ | উদাহরণ | উদাহরণ | ব্যাখ্যা |
&& | AND অপারেটর | (x && y) | False | দুটি অপারেন্ডের মান শূন্য না হলে কন্ডিশন True হবে |
|| | OR অপারেটর | (x || y) | True | দুটি অপারেন্ডের মান শূন্য হলে কন্ডিশন False আর যে কোন একটা শূন্য না হলেই কন্ডিশন True হবে |
! | NOT অপারেটর | !(x && y) | True | কন্ডিশন সত্য হলে False হবে আর কন্ডিশন মিথ্যা হলে True হবে |
লজিক্যাল অপারেটর বুঝার জন্য নিচের টেবিলের উদাহরনটি দেখুন-
অপারেটর | Condition 1 | Condition 2 | আউটপুট |
AND | True | True | True |
AND | True | False | False |
AND | False | True | False |
AND | False | False | False |
অপারেটর | Condition 1 | Condition 2 | আউটপুট |
OR | True | True | True |
OR | True | False | True |
OR | False | True | True |
OR | False | False | False |
অপারেটর | Condition 1 | আউটপুট |
NOT | True | False |
NOT | False | True |
&& (AND operator) :
And অপারেটরে উভয় অপারেন্ড যদি সত্য হয় তাহলে আউটপুট সত্য হবে অন্যথায় মিথ্যা হবে। যেমন- (a<b) && (b<c) এই expression টিতে (a<b) ও (b<c) এর মান সত্য হবে যদি উভয় অপারেন্ডের মান সত্য হয় আর যেকোনো একটি সত্য অথবা মিথ্যা নতুবা উভয়ই মিথ্যা হলে এই expression টি মিথ্যা হবে।
|| (OR operator) :
Or অপারেটরের যেকোনো একটি অপারেন্ড সত্য হলে, আউটপুট সত্য হবে, শুধুমাত্র উভয়ই অপারেন্ড মিথ্যা হলে আউটপুট মিথ্যা হবে। যেমন- (a<b) || (b<c) এই expression টিতে (a<b) ও (b<c) সত্য হবে যদি এর উভয়ই অথবা একটির মান সত্য হয় আর যদি দুটি একসাথে মিথ্যা হয় তাহলে এর মান মিথ্যা হবে।
! (NOT Operator) :
NOT অপারেটরে যে অপারেন্ড সত্য হবে তার বিপরীত অপারেন্ড অবশ্যই মিথ্যা হবে, আবার এটি মিথ্যা হলে তার বিপরীতটি সত্য হবে। এটা সম্পূর্ন বিপরীতার্থক।