연산자는 데이터에 대한 작업을 수행합니다. 그들은 다음과 같이 분류됩니다 -
- 산술 연산자.
- 관계 연산자.
- 논리 연산자.
- 할당 연산자.
- 증가 및 감소 연산자.
- 비트 연산자.
- 조건 연산자.
- 특수 연산자.
산술 연산자
이 연산자는 더하기, 빼기 등과 같은 산술 연산을 수행하기 위해 수치 계산(또는)에 사용됩니다.
| 연산자 | 설명 | 예 | 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