증감 연산자
++연산자
++연산자는 기존 변수값의 1을 더한값을 다시 값으로 변수에 저장하는 것 입니다.
#include <stdio.h>
int main(void) {
int a = 10;
printf("a는 %d\n", a);
a = a + 1;
printf("a는 %d\n", a);
return 0;
}
output
a는 10
a는 11
#include <stdio.h>
int main(void) {
int a = 10;
printf("a는 %d\n", a);
a++;
printf("a는 %d\n", a);
return 0;
}
output
a는 10
a는 11
첫 번째 코드와 동일한 output을 출력하는 것 을 확인할 수 있습니다.
또한, 산술 연산자 중 '+'를 한다고 가정한 뒤, ++연산자는 '전위'와 '후위'가 있습니다.
예시 코드로 이해해보겠습니다.
#include <stdio.h>
int main(void) {
int a = 10;
printf("a는 %d\n", ++a);
printf("a는 %d\n", a++);
printf("a는 %d\n", a);
return 0;
}
output
11
11
12
지금까지는 증가하는 ++연산자를 배웠지만, 감소하는 --연산자도 있습니다.
또한 이처럼 변수 앞뒤로 사용해 값을 1씩 변화시키는 연산자를 '증감 연산자'라고 합니다.
반복문
for문
for문은 이전에 배웠던 python에서도 주로 애용해왔던 반복문 입니다.
예를 들어 동일한 출력물을 10번 출력한다고 가정할 경우를 예시로 비교되는 코드를 보여드리겠습니다.
#include <stdio.h>
int main(void) {
printf("Hello, World.");
printf("Hello, World.");
printf("Hello, World.");
printf("Hello, World.");
printf("Hello, World.");
printf("Hello, World.");
printf("Hello, World.");
printf("Hello, World.");
printf("Hello, World.");
printf("Hello, World.");
return 0;
}
output
Hello, World.
Hello, World.
Hello, World.
Hello, World.
Hello, World.
Hello, World.
Hello, World.
Hello, World.
Hello, World.
Hello, World.
하지만 for문을 사용하게 된다면 아래와 같이 코드가 간결해집니다.
#include <stdio.h>
int main(void) {
for (int i = 0; i < 10; i++) {
printf("Hello, World.\n");
}
return 0;
}
output
Hello, World.
Hello, World.
Hello, World.
Hello, World.
Hello, World.
Hello, World.
Hello, World.
Hello, World.
Hello, World.
Hello, World.
for문의 형식은 for라는 키워드를 시작으로, 소괄호 안에 선언, 조건, 증감 부분이 있습니다. 그리고 중괄호 안에 수행할 코드를 입력해주면 됩니다.
선언 부분은 for문을 시작할 때만 사용하므로, 처음만 선언이 적용되고 이후에는 반복될 때 조건부터 시작합니다.
반복문
while문
while문은 for문과 동일한 반복문 이지만, 코드는 조금 다릅니다.
for문은 선언, 조건, 증감으로 진행되지만, while문의 경우에는 위에 선언을 해주고나서 조건으로 진행됩니다.
for문에서 예시로 작성되었던 코드로 while문을 적용해본다면 아래와 같습니다.
#include <stdio.h>
int main(void) {
int i = 1;
while (i <= 10) {
printf("Hello, world.\n", i++);
// i++;
}
return 0;
}
output은 동일하니 넘어가겠습니다.
여기서 for문과 또다른 차이점은, 증감하는 부분을 수행하는 코드에 꼭 적어줘야 됩니다.
반복문
do-while문
do-while문은 while문과 비슷하지만 배치가 다릅니다.
먼저 'do{}'으로 수행할 코드를 적어두고서 while문을 적어줍니다.
#include <stdio.h>
int main(void) {
int i = 1;
do {
printf("Hello, wolrd.\n", i++);
} while (i <= 10);
return 0;
}
output은 동일합니다.
여기서 while문과 차이점은, while문은 조건을 먼저 확인하고 나서 수행하지만, do-wihle문은 무조건 수행을 한번 하고 나서 조건을 확인합니다.
따라서 while문의 경우에는 조건에 따라 아예 실행이 되지 않을 수도 있습니다.