제어문은 프로그램의 실행 흐름을 제어하는 문법이다.
제어문이란 주어진 조건에 따라 코드 블록을 실행하거나 반복실행 할 때 사용한다. 일반적으로 코드는 위에서 아래로 순차적으로 실행된다. 제어문은 코드의 실행순서를 인위적으로 제어할 수 있다. 예를들어 우리가 학교에 갈 때 보통은 그냥 가방만 챙겨서 가지만, 비가 오는 날은 우산도 챙겨야 하고 우산이 없다면 어떻게 할 것인지 또 다른 방법을 생각해야 한다. 이렇게 평범해 보이는 상황에서도 여러 가지 조건에 따라 기존에 정해 놓은 형식과 다르게 추가 작업을 하거나 다른 형식으로 진행한다.
제어문 종류
조건문:예외 상황에 대처하기 위한 문법이다.
조건문은 특정 조건을 부여하고 해당 조건을 만족하면 지정한 문장을 수행하는 문법이다. 일반적으로 조건은 수식으로 표현하며, 이 수식의 진릿값이 참(1)이면 지정한 문장을 수행하게 된다.
반복문:반복 행위를 효과적으로 표현하기 위한 문법이다.
일정한 형태의 작업을 반복해서 수행해야 할 때 반복 조건을 부여하고, 해당 조건이 거짓이 될 떄까지 지정한 문장을 계속 수행하는 문법이다.
대표적으로 for, while, do~while문이 있다.
if조건문의 구조
<코드 실행>
#include <stdio.h>
int main()
{
int data = 5;
if(data >3) printf("data는 3보다 큰 수 입니다.\n");
printf("작업종료\n");
}
<결과>
<조건 수식이 참일 때 복합 명령 문장 실행하기>
#include <stdio.h>
void main()
{
int score = 72;
char grade;
if (score >= 90)
{
grade = 4;
printf("점수는 %d이고 등급은 %c이다.\n", score, grade);
}
printf("작업종료\n");
<결과>
if 조건문을 사용할 떄 주의할점
대입 연산자와 관계 연산자를 혼동하는 경우가 많다.
프로그램 수치는 같은지 확인할 때 == 관계 연산자를 사용한다. =은 대입 연산자며, 잘못 쓰는 경우가 많다. 이와 같은 문제를 해결하기 위해선
if(3 == data) 작성하는 것이 좋다.
이렇게 하면 실수를 하더라도, "상수에 값을 대입할 수 없다"는 문법 오류가 발생한다.
<출처 : DO IT C언어 - 김성엽>