2022. 5. 12. 15:30ㆍC언어
연산자란?
물리학과 수학에서 어떤 함수에 작용해 그 함수를 다른 함수로 변형시키는 함수를 말한다.
쉽게 말해서 더하고 빼고 나누는 동작 등을 하는 것이 연산자의 역할
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이나 옴)
'C언어' 카테고리의 다른 글
c언어 함수란? (0) | 2022.05.12 |
---|---|
c언어-(함수란?) (1) | 2022.05.12 |
c언어-(for문) (0) | 2022.03.28 |
c언어 - 반복문(while, 제어문, do whlie) (0) | 2022.03.23 |
c언어 -반복문 (for) (0) | 2022.03.23 |