제어문
프로그램은 순차적으로 실행되는데 특정 조건에 따라 코드가 수행되거나 수행되지 않아야 하는 경우가 발생합니다. 이러한 상황에서 사용하는 것이 제어문입니다.
if문
if(조건) {
조건이 참이면 실행
}
if문은 조건이 참일 경우에만 중괄호 안에 문장을 실행하도록 하는 제어문입니다. 만약 조건이 거짓이 되면 중괄호 코드는 생략됩니다.
if-else문
if(조건) {
참일 경우 실행
}
else {
거짓일 경우 실행
}
if-else문은 조건식을 검사하여 참일 경우 if문의 중괄호를 실행하고 만약 거짓일 경우 else문의 중괄호를 실행합니다.
else if 문
if(조건) {
참일 경우 실행
}
else if(조건) {
참일 경우 실행
}
else {
거짓일 경우 실행
}
else if문은 if문의 조건은 거짓일 때 다음 조건을 주기 위해 사용되는 문장입니다. if문 조건은 거짓이고 else if문 조건이 참일 경우 else if의 중괄호 내 코드가 실행됩니다. else 문은 if문과 else if문 둘 다 거짓일 경우에 실행됩니다.
switch 문
switch문은 여러 조건 중 하나를 선택할 때 사용하는 다중 제어문 입니다.
하지만 if문과 사용하는 방식이 다릅니다.
if문은 값이 정해져 있지 않고 범위를 대상으로 조건이 필요할 때 주로 사용됩니다. 예를 들면 a > 5, b < 5 이런식으로 위에 그림과 같은 범위를 조건식으로 나타내고 싶을 때 사용합니다.
하지만 switch문은 if문과 달리 조건이 정확하게 나뉠 때 주로 사용됩니다.
swotch(조건) {
case 0:
std::cout << "봄";
break;
case 1:
std::cout << "여름";
break;
case 2:
std::cout << "가을";
break;
case 3:
std::cout << "겨울";
break;
default:
std::cout << "없는 숫자입니다.";
break;
}
위에 코드와 같이 숫자 범위가 연속되는게 아닌 각각 정확하게 나뉘어 질 때 주로 사용됩니다.
break문은 현재 제어문을 탈출하는 문으로 swich에서 사용하면 이후 case문을 break를 만나기 전까지 실행합니다.
반복문
반복문은 특정 문장을 반복해서 수행하게 하는 문장을 말합니다.
for문
for(초기식; 조건식; 증감식) {
반복할 문장
}
주로 정확한 반복횟수를 알 때 사용합니다.
프로그래머가 for라는 단어를 보게 되면 해당 부분은 정해진 횟수 반복하는 부분이라는 것으로 예측합니다. 그래서 작성 시 정해진 틀이 존재합니다.
초기식은 int i = 0 로 보통 사람은 숫자를 셀 때 1부터 세지만 프로그래머는 0부터 셉니다. int i = 5 이런식으로 초기식을 선언 할 수 있으나 다른 프로그래머가 볼 때 헷갈리게 될 수 있어 보통은 int i = 0으로 설정합니다.
조건식은 i < 10 이런식으로 몇 번 반복할지 설정합니다.
증감식은 i++로 설정합니다. i + 2와 같이 할 수 있으나 주로 i++ 형식으로 사용합니다.
그리고 증감할 변수는 무조건 증감식에서만 바뀌어야 합니다.
while 문
int a = 0;
while (a < 10) {
반복할 문장
a++;
}
while문은 주로 반복 횟수를 알 수 없을 때 사용합니다.
do-while문
int a = 0;
do {
반복할 문장
a++;
} while (a < 10);
do-while문은 무조건 한번은 반복해야 할 때 사용합니다.
break문과 continue문
break문
break문은 제어문을 탈출하기 위해 사용합니다. 제어문 내에서 코드가 동작하다 break문을 만나면 이후에 동작해야하는 문장들은 전부 무시하고 제어문을 탈출하게 됩니다.
continue문
continue문은 break문과 비슷하게 이후 문장을 실행하지 않는다는 점이 있지만 break문은 반복문을 탈출한다면 continue 문은 반복문의 현재 반복을 취소하고 다음 반복문을 실행합니다.
출처
W3Schools.com
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com