1.표현식
연산자(operator)는 이미 정의된 연산을 수행하는 문자 또는 기호들이다.
연산에 참여하는 변수나 상수를 피연산자(operand)라 한다.
연산자와 피연산자의 조합을 표현식(expression)이다.
연산에 참여하는 피연산자의 갯수에 따라 단일항,이항.삼항 연산자로 나눌수있다.
2. 산술연산자와 대입연산자
산술연산자는 +,-,*,/,%로 더하기, 빼기,곱하기,나누기,나머지연산자로 정의되어있다.
+,-는 변수의 부호 연산자로 단항연산자이다.
대입연산자(assignment operator)는 =으로 연산식의 결과값을 변수에 저장하는 연산자이다.
대입연산자의 왼쪽에는 반드시 하나의 변수만이 올수있는데 이 변술르 l-value 라 하며 오른쪽에는 r-value 라 한다.
오른쪽의 연산식 결과값이 왼쪽 변수에 저장되는 구조이다.
축약대입연산자
a= a + b 는 a+=로 쓸 수있다.
+=,-=,*=,/=,%=
3.증감연산자
증감연산자 ++는 변수값을 1 증가시키고, 감소연산자 --는 1감소시킨다.
n++는 증가되기전의 값이고, ++n은 1이 증가된 이후의 값이다.
변수만이 증감연사자의 피연산자가 될 수 있고, 상수나 일반 수식은 증감연사자를 사용할수 없다.

결과 :
산술연산자
1+2 = 3
1.2-3.4 = -2.200000
10 % 3 = 1
대입연산자
a + b = 10
a += b == a+b == 10증감연산자
result = m++ + --n;
m=11 n=4 result=14
4.관계연산자와 조건연산자
관계연산자는 두 피연산자의 크기를 비교하기위한 연산자. 비교결과가 참이면 1, 거짓이면 0이라는 결과값이 나온다.
6가지인데 >, >=, <, <=, !=(다르면 참이다), == 이다.
조건연산자
조건에 따라 주어진 피연산자가 결과값이 되는 삼항연산자이다.
x ? a : b
x가 참이면 결과는 a가 나오고, x가 거짓이면 b가 결과가 된다.

결과:
조건연산자최대값:10
최소값:-5
관계연산자(3>4)결과값:0
('a' <='b') 결과값:1
(4 != 4.0)결과값:0
5.논리연산자
세가지의 논리 연산자 || , &&, ! 가 있다. or, and, not의 논리연산을 의미한다. 결과가 참이면 1이고, 거짓이면 0을 반환한다.
x | y | x&&y | x || y | !x |
0(거짓) | 0(거짓) | 0(거짓) | 0(거짓) | 1(참) |
0(거짓) | 0 아닌 값 | 0(거짓) | 1(참) | 1(참) |
0 아닌 값(참) | 0(거짓) | 0(거짓) | 1(참) | 0(거짓) |
0 아닌 값(참) | 0 아닌 값 | 1(참) | 1(참) | 0(거짓) |
논리연산자는 단축평가가 가능한데 왼쪽의 피연산자만으로도 논리연산의 결과가 결정된다면 오른쪽 피연산자는 평가하지 않는다.
6. 형변환 연산자
int a = 3.4; 는 내림변환이되어 변수 a에는 3이 저장된다.
double b =3; 은 올림변환되어 변수 b에 3.0이 저장된다. 작은 범주의 int형에서 더 큰 범주인 double형으로의 형 변환
이런 컴파일러가 자동으로 수행하는 형변환을 묵시적 형변환이라 한다.
피연산자 앞에 자료형을 괄호해서 붙이면 형변환 연산자라고 하는데 이를 명시적 형변환이라고한다.
printf(" %10f ", 10 / (double) 4 );
'홀로의 책방 > 코딩을 공부하자(C언어)' 카테고리의 다른 글
chapter4. 조건과 반복 (0) | 2020.01.21 |
---|---|
chapter 3. 연산자 sizeof()와 우선순위 (0) | 2020.01.19 |
chapter 2. 입력함수 scanf() (0) | 2020.01.16 |
chapter 2. 전처리 지시자 (0) | 2020.01.07 |
chapter 2 자료형 그리고 입출력 (0) | 2020.01.06 |
댓글