logo

المنطق والمشغل في C

تقوم العوامل المنطقية بإجراء عمليات منطقية على تعبير معين من خلال ضم اثنين أو أكثر من التعبيرات أو الشروط. ويمكن استخدامه في مختلف التعبيرات العلائقية والشرطية. يعتمد هذا العامل على قيم منطقية للتحقق منطقيًا من الشرط، وإذا كانت الشروط صحيحة، فإنه يُرجع 1. وإلا فإنه يُرجع 0 (خطأ). في برمجة C، يتم تصنيف العوامل المنطقية إلى ثلاثة أنواع مثل العامل المنطقي AND (&&)، والعامل المنطقي OR (||)، والعامل المنطقي NOT (!). ونتعرف هنا على العامل المنطقي AND وأمثلته المتنوعة في لغة البرمجة C.

المنطق والمشغل في C

المنطقي والمشغل

يتم تمثيل عامل التشغيل المنطقي AND كرمز علامة الضم المزدوجة '&&'. يتحقق من حالة معاملين أو أكثر من خلال الجمع في تعبير، وإذا كانت جميع الشروط صحيحة، يقوم عامل التشغيل المنطقي AND بإرجاع القيمة المنطقية صحيحة أو 1. وإلا فإنه يُرجع خطأ أو 0.

ملحوظة: إذا كانت قيمة كليهما غير الصفر، فسيظل الشرط صحيحًا. وبخلاف ذلك، يقوم عامل التشغيل المنطقي AND (&&) بإرجاع 0 (خطأ).

بناء الجملة

 (condition1 && condition2) 

هناك شرطان في بناء الجملة أعلاه، condition1 وcondition2، وبين رمز علامة الضم المزدوج (&&). إذا كان الشرطان صحيحين، فسيُرجع عامل التشغيل المنطقي القيمة المنطقية 1 أو true. وإلا فإنها ترجع كاذبة.

جدول الحقيقة للعامل المنطقي AND (&&).

أ ب أ & ب
1 1 1
1 0 0
0 1 0
0 0 0

مثال 1: برنامج لتوضيح العامل المنطقي والمشغل في لغة C

 #include #include int main () { // declare variable int n = 20; // use Logical AND (&&) operator to check the condition printf (' %d 
', (n == 20 && n >= 8)); // condition is true, therefore it returns 1 printf (' %d 
', (n >= 1 && n >= 20)); printf (' %d 
', (n == 10 && n >= 0)); printf (' %d 
&apos;, (n &gt;= 20 &amp;&amp; n <= 40)); return 0; } < pre> <p> <strong>Output</strong> </p> <pre> 1 1 0 1 </pre> <p> <strong>Example 2: Program to find the largest number using the Logical AND operator</strong> </p> <pre> #include #include int main () { // declare integer type variable int x, y, z; printf (&apos; Enter the first number: &apos;); scanf (&apos;%d&apos;, &amp;x); printf (&apos; Enter the second number: &apos;); scanf (&apos;%d&apos;, &amp;y); printf (&apos; Enter the third number: &apos;); scanf (&apos;%d&apos;, &amp;z); // use logical AND operator to validate the condition if ( x &gt;= y &amp;&amp; x &gt;= z ) { printf (&apos; %d is the largest number of all. &apos;, x); } else if ( y &gt;= x &amp;&amp; y &gt;= z) { printf (&apos; %d is the largest number of all. &apos;, y); } else { printf ( &apos; %d is the largest number of all. &apos;, z); } return 0; } </pre> <p> <strong>Output</strong> </p> <pre> Enter the first number: 20 Enter the second number: 10 Enter the third number: 50 50 is the largest number of all </pre> <p> <strong>Example 3: Program to use the Logical AND (&amp;&amp;) operator to check whether the user is teenager or not.</strong> </p> <pre> #include #include int main () { // declare variable int age; printf (&apos; Enter the age: &apos;); scanf (&apos; %d&apos;, &amp;age); // get age // use logical AND operator to check more than one condition if ( age &gt;= 13 &amp;&amp; age <= 19) { printf (' %d is a teenager age. ', age); } else not return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter the age: 17 17 is a teenager age. 2nd execution: Enter the age: 10 10 is not a teenager age. </pre> <p> <strong>Example 4: Program to validate whether the entered number is in the defined range or not.</strong> </p> <pre> #include int main () { int num; printf (&apos; Enter a number between 1 to 50: &apos;); scanf (&apos; %d&apos;, &amp;num); //get the number // use logical AND operator to check condition if ( (num &gt; 0 ) &amp;&amp; (num 50 ) &amp;&amp; ( num <= 50 100)) { printf (' the entered number is in range and 100. '); } else please enter defined range. return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter a number between 1 to 50: 19 The entered number is in the range 0 and 50. 2nd Run Enter a number between 1 to 50: 51 The entered number is in the range 50 and 100. 3rd execution: Enter a number between 1 to 50: 0 Please enter the number is in the defined range. </pre> <p> <strong>Example 5: Program to validate the username and password entered by the user is correct or not using the predefined username and password.</strong> </p> <pre> #include #include // use #define macro to define the values for UserName and Password #define UserName &apos;system&apos; #define Password &apos;admin@123&apos; int main () { // declare character type array char un[50], pass[50]; // take UserName and Password from user printf ( &apos; Enter the username: &apos; ); scanf (&apos; %s&apos;, un); printf ( &apos; Enter the password: &apos; ); scanf (&apos; %s&apos;, pass); // use if statement and Logical AND operator to validate the condition if (strcmp (UserName, un) == 0 &amp;&amp; strcmp (Password, pass) == 0) { printf (&apos; 
 The user&apos;s credentials are correct. &apos;); } else { printf ( &apos; 
 The user&apos;s credentials are incorrect. &apos;); } return 0; } </pre> <p> <strong>Output</strong> </p> <pre> Enter the username: system Enter the password: admin@123 The user&apos;s credentials are correct. 2nd execution Enter the username: system Enter the password: admin@1234 The user&apos;s credentials are incorrect. </pre> <hr></=></pre></=></pre></=>

مثال 2: برنامج للعثور على أكبر عدد باستخدام العامل المنطقي AND

 #include #include int main () { // declare integer type variable int x, y, z; printf (&apos; Enter the first number: &apos;); scanf (&apos;%d&apos;, &amp;x); printf (&apos; Enter the second number: &apos;); scanf (&apos;%d&apos;, &amp;y); printf (&apos; Enter the third number: &apos;); scanf (&apos;%d&apos;, &amp;z); // use logical AND operator to validate the condition if ( x &gt;= y &amp;&amp; x &gt;= z ) { printf (&apos; %d is the largest number of all. &apos;, x); } else if ( y &gt;= x &amp;&amp; y &gt;= z) { printf (&apos; %d is the largest number of all. &apos;, y); } else { printf ( &apos; %d is the largest number of all. &apos;, z); } return 0; } 

انتاج |

 Enter the first number: 20 Enter the second number: 10 Enter the third number: 50 50 is the largest number of all 

مثال 3: برنامج يستخدم عامل التشغيل المنطقي AND (&&) للتحقق مما إذا كان المستخدم مراهقًا أم لا.

 #include #include int main () { // declare variable int age; printf (&apos; Enter the age: &apos;); scanf (&apos; %d&apos;, &amp;age); // get age // use logical AND operator to check more than one condition if ( age &gt;= 13 &amp;&amp; age <= 19) { printf (\' %d is a teenager age. \', age); } else not return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter the age: 17 17 is a teenager age. 2nd execution: Enter the age: 10 10 is not a teenager age. </pre> <p> <strong>Example 4: Program to validate whether the entered number is in the defined range or not.</strong> </p> <pre> #include int main () { int num; printf (&apos; Enter a number between 1 to 50: &apos;); scanf (&apos; %d&apos;, &amp;num); //get the number // use logical AND operator to check condition if ( (num &gt; 0 ) &amp;&amp; (num 50 ) &amp;&amp; ( num <= 50 100)) { printf (\' the entered number is in range and 100. \'); } else please enter defined range. return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter a number between 1 to 50: 19 The entered number is in the range 0 and 50. 2nd Run Enter a number between 1 to 50: 51 The entered number is in the range 50 and 100. 3rd execution: Enter a number between 1 to 50: 0 Please enter the number is in the defined range. </pre> <p> <strong>Example 5: Program to validate the username and password entered by the user is correct or not using the predefined username and password.</strong> </p> <pre> #include #include // use #define macro to define the values for UserName and Password #define UserName &apos;system&apos; #define Password &apos;admin@123&apos; int main () { // declare character type array char un[50], pass[50]; // take UserName and Password from user printf ( &apos; Enter the username: &apos; ); scanf (&apos; %s&apos;, un); printf ( &apos; Enter the password: &apos; ); scanf (&apos; %s&apos;, pass); // use if statement and Logical AND operator to validate the condition if (strcmp (UserName, un) == 0 &amp;&amp; strcmp (Password, pass) == 0) { printf (&apos; 
 The user&apos;s credentials are correct. &apos;); } else { printf ( &apos; 
 The user&apos;s credentials are incorrect. &apos;); } return 0; } </pre> <p> <strong>Output</strong> </p> <pre> Enter the username: system Enter the password: admin@123 The user&apos;s credentials are correct. 2nd execution Enter the username: system Enter the password: admin@1234 The user&apos;s credentials are incorrect. </pre> <hr></=></pre></=>

مثال 4: برنامج للتحقق مما إذا كان الرقم المدخل ضمن النطاق المحدد أم لا.

 #include int main () { int num; printf (&apos; Enter a number between 1 to 50: &apos;); scanf (&apos; %d&apos;, &amp;num); //get the number // use logical AND operator to check condition if ( (num &gt; 0 ) &amp;&amp; (num 50 ) &amp;&amp; ( num <= 50 100)) { printf (\' the entered number is in range and 100. \'); } else please enter defined range. return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter a number between 1 to 50: 19 The entered number is in the range 0 and 50. 2nd Run Enter a number between 1 to 50: 51 The entered number is in the range 50 and 100. 3rd execution: Enter a number between 1 to 50: 0 Please enter the number is in the defined range. </pre> <p> <strong>Example 5: Program to validate the username and password entered by the user is correct or not using the predefined username and password.</strong> </p> <pre> #include #include // use #define macro to define the values for UserName and Password #define UserName &apos;system&apos; #define Password &apos;admin@123&apos; int main () { // declare character type array char un[50], pass[50]; // take UserName and Password from user printf ( &apos; Enter the username: &apos; ); scanf (&apos; %s&apos;, un); printf ( &apos; Enter the password: &apos; ); scanf (&apos; %s&apos;, pass); // use if statement and Logical AND operator to validate the condition if (strcmp (UserName, un) == 0 &amp;&amp; strcmp (Password, pass) == 0) { printf (&apos; 
 The user&apos;s credentials are correct. &apos;); } else { printf ( &apos; 
 The user&apos;s credentials are incorrect. &apos;); } return 0; } </pre> <p> <strong>Output</strong> </p> <pre> Enter the username: system Enter the password: admin@123 The user&apos;s credentials are correct. 2nd execution Enter the username: system Enter the password: admin@1234 The user&apos;s credentials are incorrect. </pre> <hr></=>

مثال 5: برنامج للتحقق من صحة اسم المستخدم وكلمة المرور التي أدخلها المستخدم أو عدم استخدام اسم المستخدم وكلمة المرور المحددة مسبقًا.

 #include #include // use #define macro to define the values for UserName and Password #define UserName &apos;system&apos; #define Password &apos;admin@123&apos; int main () { // declare character type array char un[50], pass[50]; // take UserName and Password from user printf ( &apos; Enter the username: &apos; ); scanf (&apos; %s&apos;, un); printf ( &apos; Enter the password: &apos; ); scanf (&apos; %s&apos;, pass); // use if statement and Logical AND operator to validate the condition if (strcmp (UserName, un) == 0 &amp;&amp; strcmp (Password, pass) == 0) { printf (&apos; 
 The user&apos;s credentials are correct. &apos;); } else { printf ( &apos; 
 The user&apos;s credentials are incorrect. &apos;); } return 0; } 

انتاج |

 Enter the username: system Enter the password: admin@123 The user&apos;s credentials are correct. 2nd execution Enter the username: system Enter the password: admin@1234 The user&apos;s credentials are incorrect.