연산자는 데이터에 대한 작업을 수행합니다. 그들은 다음과 같이 분류됩니다 -
- 산술 연산자.
- 관계 연산자.
- 논리 연산자.
- 할당 연산자.
- 증가 및 감소 연산자.
- 비트 연산자.
- 조건 연산자.
- 특수 연산자.
산술 연산자
이 연산자는 더하기, 빼기 등과 같은 산술 연산을 수행하기 위해 수치 계산(또는)에 사용됩니다.
연산자 | 설명 | 예 | a=20,b=10 | 출력 |
---|---|---|---|---|
+ | 추가 | a+b | 20+10 | 30 |
- | 빼기 | a-b | 20-10 | 10 |
* | 곱하기 | a*b | 20*10 | 200 |
/ | 사업부 | a/b | 20/10 | 2(몫) |
% | 모듈식 부문 | a%b | 20%10 | 0(나머지) |
프로그램
다음은 산술 연산자를 위한 C 프로그램입니다 -
#include<stdio.h> main ( ){ int a= 20, b = 10; printf (" %d", a+b); printf (" %d", a-b); printf (" %d", a*b); printf (" %d", a/b); printf (" %d", a%b); }
출력
위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -
30 10 200 20
관계 연산자
두 표현식을 비교하는 데 사용됩니다.
연산자 | 설명 | 예 | a=20,b=10 | 출력 |
---|---|---|---|---|
< | 미만 | a | 10<20 | 1 |
<= | 보다 작거나 같음 | a<=b | 10<=20 | 1 |
> | 보다 큼 | 나 | 10>20 | 0 |
>= | 보다 큼(또는) 같음 | a>=b | 10>=20 | 0 |
== | 같음 | a==b | 10==20 | 0 |
!= | 같지 않음 | a!=b | 10!=20 | 1 |
관계식의 출력은 참(1)(또는) 거짓(0)입니다.
프로그램
다음은 관계 연산자를 위한 C 프로그램입니다 -
#include<stdio.h> main ( ){ int a= 10, b = 20; printf (" %d", a<b); printf (" %d", a<=b); printf (" %d", a>b); printf (" %d", a>=b); printf (" %d", a = =b); printf (" %d", a ! =b); }
출력
위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -
1 1 0 0 0 1 1 1
논리 연산자
이는 2개(또는) 이상의 표현식을 논리적으로 결합하는 데 사용됩니다.
논리적 AND(&&) 논리적 OR( || ) 및 논리적 NOT(!)
exp1 | exp2 | exp1&&exp2 |
---|---|---|
T | 티 | 티 |
티 | F | F |
F | 티 | F |
F | F | F |
논리 AND(&&)
exp1 | exp2 | exp1||exp2 |
---|---|---|
T | 티 | 티 |
티 | F | 티 |
F | 티 | 티 |
F | F | F |
논리적 OR(||)
경험치 | !exp |
---|---|
T | F |
F | 티 |
논리적 NOT(!)
연산자 | 설명 | 예시 | a=20,b=10 | 출력 |
---|---|---|---|---|
&& | 논리 AND | (a>b)&&(a(10>20)&&(10<30) | 0 | |
|| | 논리적 OR | (a>b)||(a<=c) | (10>20)||(10<30) | 1 |
! | 논리적 NOT | !(a>b) | !(10>20) | 1 |
프로그램
다음은 논리 연산자를 위한 C 프로그램입니다 -
#include<stdio.h> main ( ){ int a= 10, b = 20, c= 30; printf (" %d", (a>b) && (a<c)); printf (" %d", (a>b) | | (a<c)); printf (" %d", ! (a>b)); }
출력
위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -
0 1 1
할당 연산자
변수에 값을 할당합니다. 할당 연산자의 유형은 -
- 간단한 할당
- 간단한 할당
연산자 | 설명 | 예시 |
---|---|---|
= | 간단한 할당 | a=10 |
+=,-=,*=,/=,%= | 복합 할당 | a+=10"a=a+10 a=10"a=a-10 |
프로그램
다음은 할당 연산자를 위한 C 프로그램입니다 -
#include<stdio.h> main ( ){ int a= 10,; printf (" %d", a); printf (" %d", a+ =10); }
출력
위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -
10 20
증가 및 감소 연산자
증분 연산자가 무엇인지 이해합시다.
증가 연산자(++)
이 연산자는 변수의 값을 1씩 증가시킵니다.
두 가지 유형은 다음과 같습니다 -
- 사전 증가
- 사후 증가
증가 연산자를 피연산자 앞에 배치하면 사전 증가입니다. 나중에 값이 먼저 증가하고 다음 작업이 수행됩니다.
예를 들어,
z = ++a; // a= a+1 z=a
증가 연산자를 피연산자 뒤에 배치하면 사후 증가이고 값은 연산이 수행된 후에 증가합니다.
예를 들어,
z = a++; // z=a a= a+1
예시
다음은 증가 연산자를 위한 C 프로그램입니다 -
프로그램 | 프로그램 |
---|---|
main() { int a= 10, z; z= ++a; printf("z=%d", z); printf("a=%d", a); } | main() { int a= 10, z; z= a++;printf("z=%d", z); printf("a=%d", a); } |
출력 | 출력 |
z= 11 a=11 | z= 10 a=11 |
감소 연산자 - (- -)
변수의 값을 1만큼 감소시키는 데 사용됩니다.
두 가지 유형은 -
- 사전 감소
- 사후 감소
감소 연산자가 피연산자 앞에 있으면 사전 감소라고 합니다. 여기서 먼저 값을 감소시킨 후 연산을 수행합니다.
예를 들어,
z = - - a; // a= a-1 z=a
감소 연산자가 피연산자 뒤에 있으면 사후 감소라고 합니다. 여기서 연산 수행 후 값이 감소합니다.
예를 들어,
z = a--; // z=a a= a-1
main() { int a= 10, z; z= --a; printf("z=%d", z); printf("a=%d", a); } | main() { int a= 10, z; z= a--; printf("z=%d", z); printf("a=%d", a); } |
출력 | 출력 |
z= 9 a=9 | z= 10 a=9 |
비트 연산자
비트 연산자는 비트에서 작동합니다.
연산자 | 설명 |
---|---|
& | 비트 AND |
| | 비트 OR |
^ | 비트별 XOR |
<< | 왼쪽 시프트 |
>> | 오른쪽 시프트 |
~ | 1의 보수 |
비트 AND | ||
---|---|---|
아 | 나 | a&b |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
비트 OR | ||
---|---|---|
아 | 나 | 아|b |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
비트 XOR | ||
---|---|---|
아 | 나 | a^b |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
프로그램
다음은 비트 연산자를 위한 C 프로그램입니다 -
#include<stdio.h> main ( ){ int a= 12, b = 10; printf (" %d", a&b); printf (" %d", a| b); printf (" %d", a ^ b); }
출력
위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -
8 14 6
왼쪽 시프트
값을 한 번 왼쪽 쉬프트하면 값이 두 배가 됩니다.
예를 들어, a =10, a<<1 =20
오른쪽 시프트
변수의 값을 오른쪽으로 한 번 이동하면 그 값은 원래 값의 절반이 됩니다.
예를 들어, a =10, a>>1 =5
1 보완
모든 1을 0으로, 0을 1로 변환합니다.
예를 들어, a =5이고 ~a=2[4비트가 고려되는 경우에만]입니다.
프로그램
다음은 비트 연산자를 위한 또 다른 C 프로그램입니다 -
#include<stdio.h> main ( ){ int a= 20, b = 10,c=10; printf (" %d", a<<1); printf (" %d", b>>1); printf (" %d", ~c); }
출력
위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -
40 5 11
서명됨
1의 보수 =- [ +1 없음]
예를 들어, ~10 =- [10+1] =-11
~-10 =- [-10+1] =9
서명되지 않음
1의 보수 =[65535 – 제공되지 않음]
조건 연산자(? :)
삼항 연산자라고도 합니다.
구문은 다음과 같습니다 -
exp1? exp2: exp3
exp1이 true이면 exp2가 평가됩니다. 그렇지 않으면 exp3가 평가됩니다. 또는 if-else 형식입니다.
if (exp1) exp2; else exp3;
프로그램
다음은 조건부 연산자 -
에 대한 C 프로그램입니다.#include<stdio.h> main ( ){ int z; z = (5>3) ? 1:0; printf ("%d",z); }
출력
위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -
특수 작전
특수 연산 중 일부는 쉼표, 앰퍼샌드(&), 연산자 크기입니다.
- 쉼표( , ) - 변수의 구분자로 사용됩니다. 예를 들어; a=10, b=20
- 주소(&) − 변수의 주소를 얻습니다.
- ( )의 크기 − 변수의 데이터 유형 크기를 바이트 단위로 가져오는 데 사용됩니다.
프로그램
다음은 특수 작업을 위한 C 프로그램입니다 -
#include<stdio.h> main ( ){ int a=10; float b=20 ; printf (" a= %d b=%f", a,b ); printf (" a address =%u\n " , &a ) ; printf (" b address =%u\n" ,&b ) ; printf ("a size = %ld\n" , sizeof (a) ) ; printf ( "b size = %ld ", sizeof (b) ) ; }
출력
위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -
a=10 b=20.00 Address of a =1 2 3 4 Address of b = 5 6 7 8 Only for this example Size of a = 4 bytes Size of b = 4 bytes