logo

C の論理 AND 演算子

論理演算子は、2 つ以上の式または条件を結合することによって、指定された式に対して論理演算を実行します。さまざまな関係式や条件式で使用できます。この演算子はブール値に基づいて条件を論理的にチェックし、条件が true の場合は 1 を返します。それ以外の場合は 0 (False) を返します。 C プログラミングでは、論理演算子は、論理 AND (&&) 演算子、論理 OR 演算子 (||)、論理 NOT (!) 演算子の 3 種類に分類されます。ここでは、C プログラミング言語での論理 AND 演算子とそのさまざまな例について学びます。

C の論理 AND 演算子

論理積演算子

論理 AND 演算子は、「&&」二重アンパサンド記号として表されます。式内で結合することによって 2 つ以上のオペランドの条件をチェックし、すべての条件が true の場合、論理 AND 演算子はブール値 true または 1 を返します。それ以外の場合は、false または 0 を返します。

注: 両方の値がゼロ以外の場合、条件は true のままになります。それ以外の場合、論理 AND (&&) 演算子は 0 (偽) を返します。

構文

 (condition1 && condition2) 

上記の構文には、条件 1 と条件 2 の 2 つの条件があり、二重 (&&) アンパサンド記号の間にあります。両方の条件が true の場合、論理 AND 演算子はブール値 1 または true を返します。それ以外の場合は false を返します。

100の10は何ですか

論理積 (&&) 演算子の真理値表

B A&&B
1 1 1
1 0 0
0 1 0
0 0 0

例 1: C の論理 AND 演算子を示すプログラム

 #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 (&&) 演算子を使用して、ユーザーが 10 代かどうかを確認するプログラム。

クイックソート
 #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.