³í¸®
¿¬»êÀÚ(Logical operator)´Â ¿¬»êÀÚ°£ÀÇ
³í¸®ÀûÀÎ
°ü°è(Âü°ú °ÅÁþ)¸¦ ³ªÅ¸³¾
¶§
»ç¿ëÇÏ´Â
¿¬»êÀÚ·Î
¼¼
°¡Áö
¿¬»êÀÚ°¡
Àִµ¥, °¢°¢ AND, OR,
NOTÀÇ ±â´ÉÀ»
¼öÇàÇÕ´Ï´Ù. ¶ÇÇÑ °ü°è
¿¬»êÀÚ¿Í
¸¶Âù°¡Áö·Î
ÂüÀ̸é 1, °ÅÁþÀ̸é 0ÀÇ
°á°ú
°ªÀ»
°®½À´Ï´Ù. ³í¸® ¿¬»êÀÚ
°£ÀÇ
¿ì¼±
¼øÀ§´Â NOT ¡æ AND ¡æ OR ÀÔ´Ï´Ù.
|
±â
´É |
»ç¿ë
¿¹ |
¿ì¼± |
|
|
! |
ÇÇ¿¬»êÀÚÀÇ °ªÀÌ
ÂüÀÌ¸é °ÅÁþÀ¸·Î, °ÅÁþÀ̸é ÂüÀ¸·Î
Àüȯ |
re = !a |
1 |
|
&& |
µÎ ÇÇ¿¬»êÀÚÀÇ
°ªÀÌ ¸ðµÎ ÂüÀ̸é
Âü, Çϳª¶óµµ °ÅÁþÀ̸é
°ÅÁþ |
re = a && b re = a>10 && b<20 |
2 |
|
|| |
µÎ ÇÇ¿¬»êÀÚÀÇ
°ªÀÌ Çϳª¶óµµ ÂüÀ̸é
Âü, µÑ ¸ðµÎ
°ÅÁþÀÌ¸é °ÅÁþ |
re = a || b re = a>10 || b<20 |
3 |
C¾ð¾î¿¡¼´Â 0Àº FÀ̰í 1À» Æ÷ÇÔÇÑ
¸ðµç
¼ýÀÚ´Â TÀÔ´Ï´Ù.
|
A |
B |
!A |
!B |
A&&B |
A||B |
|
T |
T |
F |
F |
T |
T |
|
T |
F |
F |
T |
F |
T |
|
F |
T |
T |
F |
F |
T |
|
F |
F |
T |
T |
F |
F |
¡¼¼Ò½º
ÇÁ·Î±×·¥¡½
// File Name : ex048_operator08.c
#include <stdio.h>
int main( ) {
int n1; n1=0;
int n2; n2=1;
int n3; n3=5;
int n4; n4=-122;
printf("%d
%d %d %d %d %d %d %d", n1, !n1, n2, !n2, n3, !n3, n4, !n4);
return 0;
}
¡¼½ÇÇà
°á°ú¡½
0 1 1 0 5 0 -122 0
¡¼¼Ò½º ÇÁ·Î±×·¥¡½
// File Name : ex049_operator09 .c
#include <stdio.h>
int main( ) {
int a;
int b;
printf("======================
\n");
printf("a b a&&b a || b \n");
printf("======================
\n");
a=0; b=0;
printf("%-4d %-4d
%-6d %-6d \n", a, b, a && b, a || b);
a=0; b=1;
printf("%-4d %-4d
%-6d %-6d \n", a, b, a && b, a || b);
a=1; b=0;
printf("%-4d %-4d
%-6d %-6d \n", a, b, a && b, a || b);
a=1; b=1;
printf("%-4d %-4d
%-6d %-6d \n", a, b, a && b, a || b);
return 0;
}
¡¼½ÇÇà °á°ú¡½
======================
a b a&&b a || b
======================
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 1
»ê¼ú¿¬»êÀÚ¿¡¼ÀÇ
¿ì¼±
¼øÀ§¿Í
°ü°è¿¬»êÀÚ¿¡¼ÀÇ
¿ì¼±
¼øÀ§, ³í¸® ¿¬»êÀÚ¿¡¼ÀÇ
¿ì¼±
¼øÀ§¿¡
´ëÇÏ¿©¼´Â
°¢°¢
±â¼úÇÏ¿´½À´Ï´Ù. ±×·³ »ê¼ú¿¬»êÀÚ, °ü°è¿¬»êÀÚ, ³í¸®
¿¬»êÀÚ
°£ÀÇ
¿ì¼±
¼øÀ§´Â
¾î¶»°Ô
µÉ±î¿ä?
x°¡
5º¸´Ù Å©°Å³ª
°°°í
40º¸´Ù ÀÛÀº°¡? ±×·¸Áö ¾ÊÀº°¡¸¦
ÆÇ´ÜÇÏ·Á¸é
¾î¶»°Ô
ÇÏ¿©¾ß
ÇÒ±î¿ä?
¼öÇп¡¼´Â
·Î
Ç¥ÇöÇϸé
µË´Ï´Ù. ±×·±µ¥ C¾ð¾î¿¡¼´Â
¾î¶»°Ô
ÇÏ¿©¾ß
ÇÒ±î¿ä?
À» ºÐ¼®Çϸé
ÀÎ Á¶°ÇÀ»
¸¸Á·ÇÏ¿©¾ß
Çϰí
±×¸®°í
ÀÎ Á¶°Çµµ
°°ÀÌ
¸¸Á·ÇÏ¿©¾ß
ÇÕ´Ï´Ù.
Áï
and
·Î Ç¥½ÃÇÏ¿©¾ß
ÇÕ´Ï´Ù.
ù ¹øÂ°·Î,
Á¶°ÇÀÌ
¸Â´Â°¡
ÆÇ´ÜÇÏ¿©¾ß
Çϰí
µÎ ¹øÂ°·Î,
Á¶°ÇÀÌ
¸Â´Â°¡
ÆÇ´ÜÇÏ¿©¾ß
Çϰí
¼¼ ¹øÂ°·Î, µÎ Á¶°ÇÀÌ
°°ÀÌ
¸Â´Â°¡¸¦
ÆÇ´ÜÇÏ¿©¾ß
ÇÕ´Ï´Ù.
Áï
À̾î¾ß
ÇÕ´Ï´Ù.
µû¶ó¼ °¢
¿¬»êÀÚ°£ÀÇ
¿ì¼±
¼øÀ§¸¦
µÎ´Â
°æ¿ì¿¡
³í¸®¿¬»êÀÚ
º¸´Ù´Â
°ü°è
¿¬»êÀÚ¸¦
¸ÕÀú
ÇÏ´Â
°ÍÀÌ
¹Ù¶÷Á÷ÇϰÚÁÒ?
±×·¡¼ c¾ð¾îÀÇ
°¢
¿¬»êÀÚ
°£ÀÇ
¿ì¼±¼øÀ§´Â
´ÙÀ½°ú
°°½À´Ï´Ù.
¡¼¿¬»ê ¼øÀ§¡½
»ê¼ú¿¬»êÀÚ
°ü°è ¿¬»êÀÚ
³í¸®¿¬»êÀÚ
¡¼¼Ò½º
ÇÁ·Î±×·¥¡½
//File Name : ex049_operator10.c
#include <stdio.h>
int main(void){
int a=10, b=5, c=3,
result1, result2;
result1 = a < b || a
!= c;
result2 = !a || b!=c
&& a >= 10;
printf("result1=%d,
result2=%d", result1, result2);
return 0;
}
¡¼½ÇÇà
°á°ú¡½
resutl1=1, result2=1
À§ÀÇ ÇÁ·Î±×·¥Àº ¿¬»êÀÚÀÇ ¿ì¼±
¼øÀ§°¡ »ê¼ú ¡æ °ü°è ¡æ ³í¸® ¿¬»êÀÚÀÇ
¼øÀ¸·Î ÁøÇàµÇ¸ç, ³í¸® ¿¬»êÀÚ´Â ! ¡æ && ¡æ || ¼øÀ¸·Î
ÁøÇàµÊÀ» ±â¾ïÇØ¾ß ÇÑ´Ù. µû¶ó¼ re2ÀÇ ¼ö½ÄÀº
!=
¡æ >= ¡æ ! ¡æ && ¡æ ||
¼øÀ¸·Î ¿¬»êµÇ¾î Âü(1)ÀÌ Ãâ·ÂµÈ´Ù.
¡¼¼Ò½º
ÇÁ·Î±×·¥¡½
#include <stdio.h>
int main(void){
int a=10, b=5, re1, re2;
re1 = (a = a - 5) || (b
= b + 5);
printf("re1=%d a=%d b=%d\n", re1, a, b);
re2 = (a = a - 5)
&& (b = b - 2);
printf("re2=%d a=%d b=%d\n", re2, a, b);
}
¡¼½ÇÇà
°á°ú¡½
re1=1 a=5 b=5
re2=0 a=0 b=5
³í¸® ¿¬»êÀÚ »ç¿ë½Ã ÁÖÀÇÇÒ
Á¡Àº, || ¿¬»êÀÚ »ç¿ë½Ã Áº¯ÀÇ
¼ö½ÄÀÌ ÂüÀÏ ¶§´Â
¿ìº¯ÀÇ ¼ö½ÄÀ» ¿¬»êÇÏÁö
¾ÊÀ¸¸ç,
&& ¿¬»êÀÚÀÇ Áº¯ÀÇ ¼ö½ÄÀÌ °ÅÁþÀÏ
¶§´Â ¿ìº¯ÀÇ ¼ö½ÄÀ»
¿¬»êÇÏÁö ¾Ê´Â´Ù´Â °ÍÀÌ´Ù. ¿Ö³ÄÇϸé || ¿¬»êÀº µÑ Áß Çϳª
ÀÌ»óÀÌ ÂüÀÌ¸é °á°ú°¡
ÂüÀ̹ǷΠÀÌ¹Ì Áº¯ÀÇ
¿¬»ê °á°ú°¡ ÂüÀÌ
µÇ¾úÀ¸¹Ç·Î ¿ìº¯ÀÇ ¿¬»ê
°á°ú¿¡ °ü°è¾øÀÌ °á°ú°¡
ÂüÀÌ µÇ±â ¶§¹®ÀÌ´Ù. && ¿¬»êµµ
¸¶Âù°¡Áö·Î Áº¯ÀÌ °ÅÁþÀ̹ǷÎ
¿ìº¯À» ¿¬»êÇÏÁö ¾Ê¾Æµµ
°á°ú´Â ¹«Á¶°Ç °ÅÁþÀÌ
µÈ´Ù.