Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 언어에서 사용되는 다양한 연산자와 표현식은 무엇입니까?

<시간/>

연산자는 데이터에 대한 작업을 수행합니다. 그들은 다음과 같이 분류됩니다 -

  • 산술 연산자.
  • 관계 연산자.
  • 논리 연산자.
  • 할당 연산자.
  • 증가 및 감소 연산자.
  • 비트 연산자.
  • 조건 연산자.
  • 특수 연산자.

산술 연산자

이 연산자는 더하기, 빼기 등과 같은 산술 연산을 수행하기 위해 수치 계산(또는)에 사용됩니다.

연산자 설명 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 언어에서 사용되는 다양한 연산자와 표현식은 무엇입니까?

프로그램

다음은 비트 연산자를 위한 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

C 언어에서 사용되는 다양한 연산자와 표현식은 무엇입니까?

오른쪽 시프트

변수의 값을 오른쪽으로 한 번 이동하면 그 값은 원래 값의 절반이 됩니다.

예를 들어, a =10, a>>1 =5

C 언어에서 사용되는 다양한 연산자와 표현식은 무엇입니까?

1 보완

모든 1을 0으로, 0을 1로 변환합니다.

예를 들어, a =5이고 ~a=2[4비트가 고려되는 경우에만]입니다.

C 언어에서 사용되는 다양한 연산자와 표현식은 무엇입니까?

프로그램

다음은 비트 연산자를 위한 또 다른 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