증감 연산자 — ++·--의 전위형·후위형과 연산 결과 | 기초 C언어 5.1.3

기초 C언어Chapter 05 연산자 › Section 01 기본 연산자 › 03

5.1.3 증감 연산자의 전위형과 후위형

++a 와 a++ 는 변수를 1 늘리는 것이 같음. 갈리는 것은 그 식이 내놓는 값이 늘기 전인지 뒤인지.

교재 수록 위치
교재
『기초 C언어』 · 이은상 · 부크크 · 364쪽
단원
Chapter 05 연산자 › Section 01 기본 연산자 › 03 증감 연산자의 전위형과 후위형
쪽수
126p ~ 128p3쪽
세부 내용
01 증감 연산자의 전위형과 후위형 : ++a, a++126p~128p · CODE 5.5 · 5.6
학습 목표
전위형과 후위형의 차이를 설명할 수 있고, 식 안에서 값이 어떻게 달라지는지 안다.

01증감 연산자 — 1 만큼 올리고 내리는 기호교재 126p

  • 증감 연산자(Increment/Decrement Operators) — 변수의 값을 1 증가시키는 ++ 와 1 감소시키는 --. 기호를 두 번 겹쳐 적음.
  • a++ 는 a = a + 1 과 같은 뜻 — 앞 편의 축약형 a += 1 과도 같음. 1 을 더하는 일이 워낙 잦아 더 짧은 기호를 따로 마련해 둔 것.
  • 앞 편의 「등호 오른쪽이 먼저 하나의 값이 됨」 을 그대로 받음 — 그 값을 만드는 과정 안에 변수를 고치는 일까지 들어 있음.
  • 변수의 앞에 붙느냐 뒤에 붙느냐 에 따라 동작 순서가 달라짐. 반복문에서 카운터 변수를 조작할 때 아주 흔하게 사용됨.
  1. a++;
  2. a = a + 1;
  3. a += 1;

02전위형 ++a — 먼저 바꾸고 그 다음 사용교재 126p

  • 전위형(Prefix) — 변수 앞에 기호가 붙는 꼴. 먼저 변수 자신의 값을 1 증가·감소시킴.
  • 그 다음 바뀐 그 값 을 다른 연산에 사용 — 그 줄이 내놓는 값이 이미 바뀐 값임.
  • result = ++a; 에서 a 가 5 였다면 a 도 6 , result 도 6 .

03후위형 a++ — 먼저 쓰고 그 다음 변경교재 127p

  • 후위형(Postfix) — 변수 뒤에 기호가 붙는 꼴. 아직 바뀌기 전의 현재 값 을 먼저 다른 연산에 사용.
  • 모든 연산이 끝난 뒤에 변수 자신의 값을 1 증가·감소시킴.
  • result = a++; 에서 a 가 5 였다면 a 는 6 인데 result 는 5 — 넘어간 값이 바뀌기 전의 값이기 때문.

전체 코드와 줄별 해설은 교재 126p~127p CODE 5.5 · CODE 5.6 에 있습니다.

04두 형태를 나란히 — 기호 자리 하나의 차이교재 128p

  1. result = ++a;
  2. result = a++;

1전위형 ++a

  • 값 1 증가 → 증가된 값 사용
  • a 6 · result 6

2후위형 a++

  • 현재 값 사용 → 값 1 증가
  • a 6 · result 5

여기서 자주 틀림

어느 쪽이든 a 는 6 이 됨. 갈리는 것은 그 줄이 result 에 넘겨준 값뿐임. 기호가 한 칸 옮겨졌을 뿐이라 두 예제가 눈으로는 거의 같아 보이므로, 남의 코드를 읽을 때 기호가 이름의 앞에 붙었는지 뒤에 붙었는지를 반드시 확인해야 함.

05단독으로 쓰면 두 형태가 같음교재 128p

  • a++; · ++a; 처럼 한 줄에 그것만 쓰면 다른 연산과 결합되지 않음 — 최종 결과는 a 의 값이 1 증가하는 것으로 동일.
  • 넘겨줄 곳이 없으니 차례를 따질 일도 없음.
  • 두 형태를 가려 써야 하는 자리 — 그 값을 다른 연산에 넘길 때.

이 절의 핵심 정리

  1. ++ 와 -- 는 변수 값을 1 증가·감소시킨다.
  2. a++ 는 a = a + 1, a += 1 과 같은 뜻이다.
  3. 전위형 ++a 는 먼저 바꾸고 바뀐 값을 내놓는다.
  4. 후위형 a++ 는 현재 값을 먼저 내놓고 그 뒤에 바꾼다.
  5. a 가 5 일 때 result = a++; 는 result 에 5 를 남긴다.
강의 자료5.1.3 증감 연산자의 전위형과 후위형 1 / 10

번호를 누르면 해당 장으로 바로 이동합니다 · 방향키 ← → 로도 넘길 수 있습니다
다음 절 · 5.2.1 비교 연산자 교재 129p~131p — 두 값을 견주어 참·거짓을 내놓는 연산자를 살펴봅니다. ↗

더 자세한 내용은 교재에서

이 글은 『기초 C언어』 126p~128p의 내용을 강의 영상에 맞춰 핵심만 간추린 요약입니다. 각 개념의 상세한 설명과 예제, 실습 코드, 임용시험 기출문제 풀이는 교재에서 다루고 있습니다.

댓글

이 블로그의 인기 게시물

2007년 국가직 9급 기계일반 기출문제 풀이

열역학의 개요 — 계·상태량·열과 일, 제1·제2법칙 | 기초 열역학 1.1