[ 아두이노 강좌 ] 2-4. C언어 기초 4-연산자
오늘은 연산자들에 대해 알아볼 것이다.
연산은 값을 계산하는 것을 말하고 대표적인 연산자에는 +,-등이 있다.
몇몇 연산자들은 이미 많이 봐왔던 것들도 있다.
그러니 어렵지는 않을 것이다.
1. 기본 연산자
- + : 더한다
- - : 뺀다
- * : 곱한다
- / : 나눈다
- % : 나눈 나머지
int a=3;
int b=2;
int c;
c=a+b; // c 는 5이다
c=a-b; // c 는 1이다
c=a*b; // c 는 6이다
c=a/b; // c 는 1이다
c=a%b; // c 는 1이다
2. 증감 연산자
- ++ : 값을 1만큼 더한다
- -- : 값을 1만큼 뺀다
여기서 ++ 이나 -- 를 앞에 붙이는지 뒤에 붙이는지에 따라서 약간의 차이가 있다
- 전위 연산자 : 연산할 변수 앞에 붙임, 먼저 계산한 후에 해당 줄의 코드를 실행한다
- 후위 연산자 : 연산할 변수 뒤에 붙임, 해당 줄의 코드를 먼저 실행한 후에 다음 줄부터 계산된 값이 적용된다
int a=0;
int b;
b=a++; // a는 이 줄의 코드가 실행된 후에 더해지기 때문에 b에는 3이 들어간다.
b=a; // b는 4이다
a=0;
b=++a; // ++a가 먼저 실행되기 때문에 b는 1이다
//--의 경우에도 같다.
3. 관계 연산자
값과 값의 관계를 비교하여 참인지 거짓인지 나타낸다.
참이면 1을 나타내고 거짓이면 0을 나타낸다.
- == : 같다
- != : 다르다
- > : 왼쪽 값이 더 크다
- < : 오른쪽 값이 더 크다
- >= : 왼쪽 값이 크거나 같다
- <= : 오른쪽 값이 크거나 같다
int a=5;
int b;
b=(a>1); // a(5)는 1보다 크므로 b는 1(참)이다
b=(a>=6); // a는 6보다 크거나 같지 않으므로 b는 0(거짓)이다
b=(a<5); // a는 5보다 작지 않으므로 b는 0(거짓)이다
b=(a<=5); // a는 5보다 작거나 같으므로 b는 1(참)이다
4. 논리 연산자
참과 거짓을 논리 연산한다.
0 또는 1을 나타낸다.
- && : "그리고"라는 뜻으로 양쪽 모두 참일 경우에만 1을 나타낸다
- || : "또는"이라는 뜻으로 양쪽 중 어느 한쪽만 참이어도 1을 나타낸다 ( '|'이 기호는 엔터 위에 있는 원화표시(\)를 Shift와 함께 누르면 된다.)
int a=4;
int b;
b=(a>1 && a<5); // a는 1보다 크고 5보다 작으므로 b는 1(참)이다
b=(a<4 || a>5); // a는 4보다 작거나 5보다 크지 않으므로 b는 0(거짓)이다
5. 복합 대입 연산자
기본연산자(+,-,*,/,%)의 계산과 대입을 한 번에 할 수 있도록 만든 줄임말 같은 것이다.
사실 조금만 길게 쓰면 되기 때문에 필수는 아니지만 알고 있으면 편하기 때문에 알고 있는 것이 좋다.
a(연산자)=b는 a=a(연산자)b와 같은 뜻이다.
이것처럼 +자리에 +,-,*,/,%를 넣어서 모두 사용할 수 있다.
- a+=b : a에 a+b의 값을 대입한다(a=a+b)
- a-=b : a에 a-b의 값을 대입한다(a=a-b)
- a*=b : a에 a*b의 값을 대입한다(a=a*b)
- a/=b : a에 a/b의 값을 대입한다(a=a/b)
- a%=b : a에 a%b의 값을 대입한다(a=a%b)
int a=5;
a+=3; // a=a+3과 같으므로 a는 8이다
a-=2; // a=a-2와 같으므로 a는 6이다
a*=5; // a=a*5와 같으므로 a는 30이다
a/=3; // a=a/3과 같으므로 a는 10이다
a%=3; // a=a%3과 같으므로 a는 1이다
이외에도 비트 연산자, 비트 이동 연산자 등이 있지만 아두이노에서는 거의 쓰이지 않으므로 넘어가자
*연산자 우선순위
위에서 여러 가지 연산자를 배웠는데 우리가 +,-보다 *,/를 먼저 계산하는 것처럼 위의 연산자에도 우선순위가 있다.
- 후위++ 후위-- () [] . ->
- 전위++ 전위-- 단항+ 단항- ! ~ sizeof() &(주소) *(참조) 형변환
- * / %
- + -
- << >> (비트이동)
- < <= > >= (관계연산자)
- == !=
- 비트논리 연산자
- 논리 연산자(&& ||)
- ?:(조건연산자)
- =(대입) 복합연산자
- ,
다음에는 조건문에 대해 알아보자
'아두이노' 카테고리의 다른 글
[ 아두이노 강좌 ] 2-3. C언어 기초 3-변수 기타(상수(constant),자료형 변환) (0) | 2021.01.01 |
---|---|
[ 아두이노 강좌 ] 2-2. C언어 기초 2-자료형,변수 (0) | 2020.12.31 |
[ 아두이노 강좌 ] 2-1. C언어 기초 1-기본 규칙(setup(), loop(), 세미콜론;, 라이브러리 #include, #define, 주석) (0) | 2020.12.30 |
[ 아두이노 강좌 ] 1-2. 아두이노 IDE 간단 사용법 2 (라이브러리 설치(추가), 라이브러리 삭제, 업로드 방법) (0) | 2020.12.29 |
[ 아두이노 강좌 ] 1-1. 아두이노 IDE 간단 사용법 1 (0) | 2020.12.28 |
댓글