c언어 5주차 연산자의 종류

2022. 5. 12. 15:30C언어

728x90

연산자란? 

물리학과 수학에서 어떤 함수에 작용해 그 함수를 다른 함수로 변형시키는 함수를 말한다. 

쉽게 말해서 더하고 빼고 나누는 동작 등을 하는 것이 연산자의 역할

ex) a=1, b=2  a>b?  => false

 

프로그램데이터코드로 구성됨

데이터는 프로그램이 처리하는 재료 

코드는 데이터를 가공하는 수단

 

데이터는 우리말로 번역하면 자료이고 이 자료를 처리하여 인간에게 유용한 형태로 가공하면 이것이 정보이다. 

ex) 성적(데이터) -> 순위, 평균 (정보)

 

구분 연산자
대입 연산자 =
산술 연산자 +, -, *, /, &, ++, --
관계 연산자 <, >, <=, >=, ==, !=
논리 연산자(and, or, not) &&, ||, !
할당 연산자 +=, -=, *=, /=, %= 등등
삼항 연산자 ?
비트 연산자 &, |, ~, ^, <<, >>

우리가 많이 바왔던 연산자들이다.

비트 연산자가 조금 어렵고 나머지는  다 익히는데 큰 무리가 없을 것이다.

 

대입 연산자 a=b; (=를 기준으로 우측의 값을 좌측의 값으로 대입)

 

산술 연산자는 생략

 

관계 연산자 

if(a> b) (a가 b보다 크면 true 그렇지 않으면 false)

 

논리 연산자

1). &&(AND) 연산자 : if(a> b && a> c) (a>c 이고 a>c) 둘 다 참일 시에

 

2). ||(OR) 연산자: if(a> b && a> c) 두 연산 중 하나라도 참이면 참(*둘 다 참 이어도 참임)

 

3).!(NOT) if(!(a> b)) (a가 b보다 클 때 false) - a가 b보다 작거나 같으면 돌아감 (a <=b)랑 같다.

 

할당 연산자

그냥 할당 연산자 심화 버전을 들고 왔다.

a가 2라고 할 때 다음 값을 유추해보자

(++a+1)*++a;

(++a+1)*a++;

 

 

삼항 연산자 

 

c= (a> b)? 10 : 20;

a가 b보다 크면 10 그렇지 않으면 20

if(a>b){
	c=10;
}
else{
	c=20;
}

밑의 코드랑 같은 역할을 한다.

 

 

비트 연산자 : a=1010 0101 b=1001 1001일 때 

 

c = a & b //c=1000 0001

c = a | b  // c= 1011 1101

c = ~a;   // c = 0101 1010

c = a^b; // c = 0011 1100

 

a 가 0011 1010 일때

 

c = a<< 1; // c = 0111 0100

c = a<< 2;  // c = 1110 1000

 

a 가 12일 때

 

c = a<<1; // c=a*2; 24

c = a<<3; // c=a*8; 96

 

c = a>>1; //c=6 (a/2)

c = a>>2; //c=3 (a/4)

c = a>>100; (0이나 옴)

 

 

 

 

728x90

'C언어' 카테고리의 다른 글

c언어 함수란?  (0) 2022.05.12
c언어-(함수란?)  (0) 2022.05.12
c언어-(for문)  (0) 2022.03.28
c언어 - 반복문(while, 제어문, do whlie)  (0) 2022.03.23
c언어 -반복문 (for)  (0) 2022.03.23