프로그래밍 언어/C

C 연산자

이현찬 2022. 7. 30. 09:41
728x90

연산자

사칙연산

  • 나누기를 제외하고 python과 같다.
    연산자 의미
    + 더하기
    - 빼기
    * 곱하기
    / 나누기 - 정수끼리 나눌 시 몫 반환
    % 나누기 - 나머지 반환, 피연산자는 반드시 정수형

대입 연산자(=)

  • 대입할 때 좌변과 우변의 타입이 다를 경우 좌변의 변수 타입에 맞춰 대입

복합 대입 연산자

  • 자기 자신에 어떤 연산을 할 때 연산자를 줄여 쓸 수 있음
복합 연산자 의미
a += n a = a + n
a -= n a = a - n
a *= n a = a * n
a /= n a = a / n
a %= n a = a % n

다른 타입 간 연산

  • 컴파일러는 기본형 타입 간 연산시 서로 다른 타입이 맞지 않으면 자동으로 타입을 바꿈(implicit type conversion)
  • 변환 과정을 정확히 모르면 경고를 발생시키지 않기 때문에 의도한대로 프로그램이 작동하지 않을 수 있음
  • 큰 메모리를 사용하는 data type으로 변경됨

Cast 연산자

  • 명시적으로 type을 변경해주는 것 (explicit conversion)
  • 변수 앞에 ()로 type을 변경
  • 앞의 예와 달리 명시적으로 타입을 변경해 프로그래머가 인지하고 있다는 점을 표시

증감 연산자 (++, --)

  • prefix와 postfix 경우에 결과가 다름, 연산 순서와 실행 순서 불일치함
    • prefix는 해당 라인에서 1 증가 시킨 후 실행
    • postfix는 해당 라인을 실행시킨 후 증가시킴

조건 연산자

  • if ... else ...는 문장이고, 조건 연산자는 식이기 때문에 편리한 점이 있음
    • D = (A)? B: C와 같이 A 조건에 따라 D에 B 또는 C값을 할당할 수 있음

'프로그래밍 언어 > C' 카테고리의 다른 글

[C++] pair class 사용법  (0) 2022.09.18
함수  (0) 2022.07.30
printf와 scanf  (0) 2022.07.30
C 언어에서 수 체계와 변수  (0) 2022.07.30