강좌 & 팁
3. 제어문
프로그램의 제어란 프로그램의 실행 순서를 정하는 것을 말한다. 복합문, 선택문, 반복문 등이 있다.
함수내의 명령문은 일반적으로 첫 번째 명령문부터 마지막 명령문까지 순서대로 실행되지만, 제어문을 통하여 실행 순서를 바꿀 수 있다.
복합문은 {} 중괄호로 둘러싸여 하나의 실행 블록을 가지며, 함수같은 것이 복합문이다.
선택문은 두 가지 이상의 명령문들 중에서 하나만 선택하여 실행하게 하는 명령문으로 if문과 switch 문이 있다.
반복문은 같은 명령문을 필요한 횟수만큼 반복하여 실행하는 명령문으로, for문, while문, do-while문이 있다.
3.1 변수의 선언과 초기화
변수는 메모리공간의 이름으로 자료형을 가진다.
변수가 선언되고 초기화되기 전에는 변수의 값이 정해지지 않는다.
다음의 예제를 보자
#include <stdio.h>
int main()
{
int num1;
int num2;
num1 = 10;
num2 = num1 + 10;
printf("num1: %d\nnum2: %d\n",num1,num2);
return 0;
}
2개의 int형 변수 num1 과 num2가 선언되면 각각 4바이트씩 변수가 할당되며, 값은 미정값을 가지고 있다.
num1 = 10에서 num1의 값이 10으로 초기화 되고, num2=num1+10에서 num2의 값이 20으로 초기화 된다.
초기화를 하지 않으면 잘못된 결과가 나오게 된다.
#include <stdio.h>
int main()
{
int num1;
int num2;
//num1 = 10;
num2 = num1 + 10;
printf("num1: %d\nnum2: %d\n",num1,num2);
return 0;
}
3.2 복합문
복합문은 여러 개의 명령문을 묶어 하나의 실행단위로 만든 것으로 중괄호로 표시한다.
다음의 예제를 보자
#include <stdio.h>
int main()
{
int num1;
int num2;
num1 = 33;
{
num2 = 10;
printf("num1+num2 = %d\nnum1-num2 = %d\n",num1+num2,num1-num2);
}
return 0;
}
함수 내에 중괄호로 둘러싸인 부분은 복합문으로 하나의 명령문으로 간주 된다. 주로 선택문이나 반복문에서 실행할 명령문을 묶기 위하여 많이 사용된다.