CS/C

[2021W C프로그래밍과 실습] 연산자

아이스얼그레이 2022. 2. 9. 22:15

C언어 연산자

· 수식은 연산자(operator)와 피연산자(operand)들로 구성된다.

- 단항 연산자에는 증감연산자가 있다!!

산술 연산자

· 이항 연산자이고 연산 결과가 수치(int, float, double)이다

· +. -, *, / 연산을 하는 연산자

· 나머지(%)(modulus) 연산자 → 조건문에서 몇의 배수 확인할 때나 짝수/홀수 여부 확인할 때 요긴하게 쓰인다.

※ 정수형 / 정수형 연산은 몫만 나타나고 나머지 연산자는 정수형과 함께 사용 가능하다는 점을 주의!!

증감 연산자

· 정수형 변수의 값을 1 증가시키거나, 1 감소시키는 연산자

· 1을 더하고 빼는 대입문보다 증감연산자가 더 빠른 기계어 코드를 만든다고 한다.

· 증감 연산자는 전치형(++변수, --변수)과 후치형(변수++, 변수--)으로 구분한다.

- 전치형(++변수, --변수)

1) 변수의 값에 대해 먼저 증감연산

2) 변화된 변수의 값이 그 변수가 포함된 연산식에 적용된다.

즉, 변수의 값이 1 더해져서 연산식에 적용!

- 후치형(변수++, 변수--)

1) 변수의 값을 연산식에 먼저 적용

2) 변수의 값에 대해 증감 연산은 나중에 처리

즉, 변수의 값이 연산식에 적용되고, 증감연산 적용

- 구분 잘하자!!

- 증감 연산자가 단독으로 사용될 경우 전치형과 후치형의 차이는 없다.

z = -x++ + ++y; // -x는 연산식에 먼저 적용되고, y는 1이 더해진 후 연산식에 y + 1로 적용된다.

관계 연산자

· 조건에 대한 처리를 하고자 할 때 사용되는 연산자

· 대소, 상등을 비교하는 연산자 이다.

· 결과는 참 : 1, 거짓 : 0 으로 표현

논리 연산자

· 논리값을 사용해 논리연산(AND, OR, NOT, NOR etc)을 수행하고, 그 결과 또한 논리값이 된다.

연산자 우선순위

· 식에 여러 형식의 연산자가 함께 사용될 경우 연산자의 우선순위를 고려해야 한다.

- 일반적으로 산술, 관계, 논리 연산자 순서이다.

- 소괄호()를 사용하면 우선순위를 확실하게 지정할 수 있다.

3항 연산자

· 3개의 피연산자가 있는 3항 연산자이다.

- 삼항 연산자를 잘 사용하면 조건이 주어진 문제를 쉽게 해결할 수 있는 것 같다.

// CodeUp 1064번 정수 3개 입력받아 가장 작은 수 출력

#include <stdio.h>

int main()
{
	int a, b, c;

	scanf("%d %d %d", &a, &b, &c);

	printf("%d", (a > b ? b : a) > c ? c : (a > b ? b : a));
    // a, b 중에 최소 값을 찾고, 그 최소값(min)과 c를 비교해서 c가 더 작다면 c가 최소값

	return 0;
}

복합대입 연산자

· 단순 반복을 줄이기 위해 사용하는 연산자

· 복합대입 연산자를 사용해 식을 간결하게 처리할 수 있다.