ақиқаттық кесте № 3
4. Логикалық операциялар.
&& - логикалық “және”, f &&g;
|| - логикалық “немесе”, f || g;
! - логикалық “емес” (терістеу - унарлық операция), ! f;
Логикалық операциялар екі немесе одан да көп шартты өрнектерді біріктіру үшін қолданылады:
<1-өрнек> <лог. опер.> <2-өрнек> <лог. опер.> <3-өрнек>;
Логикалық операциялардың мәндерінің № 3 кестеде келтірілген.
X
|
Y
|
!X (NOT)
лог.''емес''
|
X && Y (AND)лог.''және''
|
X||Y( OR)
лог. немесе''
|
~ (NOT)
биттік терістеу
|
X^Y(XOR)
лог.''шығарушы немесе''
|
1
|
1
|
|
1
|
1
|
0
|
0
|
1
|
0
|
|
0
|
1
|
0
|
1
|
0
|
1
|
|
0
|
1
|
1
|
1
|
0
|
0
|
|
0
|
0
|
1
|
0
|
Егер операнды мәні 0( нөл) болса, логикалық емес (терістеу) операция нәтижесі нөл емес, оны көбіне 1 тең деп қабылдайды, ал, операнды мәні нөлден өзгеше болса, нәтиже 0( нөл) болады. Логикалық емес операция нәтижесінің типі int болады және бұл операция кезкелген арифметикалық типке және нұсқағыштарға қолдануға болады. ^ ( xor) “ шығарушы немесе” келешекте пайдаланатын биттік операция. Арифметикалық операциялардың қатнас және логикалық операцияларға қарағанда басымырақ . Мысалы, x өрнегі x<(y-z) , ал x && y+z өрнегі x&&(y+z) өрнегімен барабар. Осы сияқты, (x&y)=0 және x&y= 0 операциялар нәтижелері де әртүрлі болады. && және || логикалық операциялармен байланысты өрнекті есептеу, солдан оңға қарай жүргізіледі және өрнек мәні ақиқат немесе жалған екені белгілі болса есептеу тоқтатылады.
/*C_6______логикалық операциялар ______________*/
#include
#include
main() {clrscr(); int x,y,z,a,b,c,d; x=3;y=5;z=7;
printf("x=%d\t y=%d\t z=%d\n",x,y,z);
a=(x
b= (xz); printf("b=%d\t",b);
c=(a>b)||y&&z; printf(" c=%d\t",c);
d= !x&&(b
/*______________________________eo program ______________*/
/*__Программа орындалу нәтижесі: x=3 y=5 z=7 a=1 b=0 c=1
Достарыңызбен бөлісу: |