이번에는 조건문과 반복문을 알아보려합니다.
조건문
전에 말했던 논리형 즉 bool값 true 와 false이 두가지를 이용하여 코드의 실행 흐름을 결정합니다
if ,switch 이 두가지가 조건문입니다.
if 사용법
int a = 1;
bool b = true;
if (a == 1 ){
}
if( b == false) {
}
if(b == true && a == 1){
}
여기서 중괄호 ( { } )는 블록이라 부릅니다 간단하게 중괄호 끝까지 코드를 실행시키면 끝납니다. 즉 코드가 담길 공간입니다.
저 if 소괄호 즉 " 조건 " 이 충족 되면 조건문안에 중괄호 안에 코드를 실행이 됩니다. (즉 저안은 true가 되어야 실행)
전에 배웠던 논리형 변수 혹은 비교 연산자, 논리 연산자를 사용하여 논리형으로 만들어줄 수도 있으니 방법은 많습니다.
switch 사용법
int a = 1;
switch(a)
{
case 0:
case 1:
break;
case 2:
break;
default:
}
switch는 소괄호안에 값을 넣으면
해당 조건에 맞는 case 로 가는 겁니다.
즉 a가 1이니까 case 1로가서 그안에 코드를 실행 시킵니다.
다른 0 이나 2로 가지않고 오로지 1부터시작합니다.
그런데 왜 시작 한다할까요
그건 바로 저기
case 0 에는 break; 문이 없습니다.
이 break;는 코드를 중단 하는 역할을 합니다.
만약 1에서도 break;가 없다면 case 2의 코드까지 실행하게됩니다.
즉 스위치문은 원하는 조건을 여러개 선택 할 수도 있고 여러 코드를 실행 시킬 수도 있습니다.
반복문
우리가 동일한 코드를 여러번 반복 시킨다면 코드의 줄이 늘어나는 불필요함이 생깁니다.
동일한 코드를 몇번 반복 시킬 수 있게해주는게 반복문입니다.
for, while , do-while이 있습니다.
for
코드는 0부터 n번째 숫자를 확인하기 위한 코드입니다.
int n = 5;
for(int i = 0 ; i < n; i++){
std::cout << i << std::endl
}
보통의 for문입니다.
소괄호안이 채워져있는데 사용자가 원하는대로 설정이 가능하긴합니다
저 조건을 보면 i는 0이고 i가 n보다 낮을 때 실행 하고 i++ i를 1증가시킨다 라는 뜻이에요코드가 끝나면 증가됩니다.
이순서대로 가면
0부터 4까지는 5보다 작으니 실행됩니다 0 1 2 3 4 이숫자들만 나오고 5는 5보다 작지않고 같으니 실행되지 않습니다.
while
int a = 0;
while(a == 0){
if(a == 0){ break;}
}
while(a == 0){
continue;
a++;
}
while은 조건이 충족된다면 계속 실행시킵니다.
for문은 코드가 처음부터 끝까지 가면 끝나는 i가 증가하는 방식을 "주로" 사용합니다.
조건을 바꾸면 while문 처럼 사용 가능합니다.
여기서 주의점은 조건이 충족된다면 계속 실행시킨다는겁니다 조건을 해제 시켜주거나 break;로 빠져나오지않는다면
이 반복문을 벗어날 수 없습니다.
그래서 저렇게 코드를 중간에 끊어줄수 있게 설정 해줘야 나올 수 있습니다.
안 보던 코드가 있죠? continue; 이건 아래 코드를 실행시키지않고 반복 위치로 돌아간다는 뜻입니다 이렇게되면
a++; 이 실행 되지않고 무한반복이 되겠죠
do while
int a = 1;
do{}while(a== 0)
do while문은 while문에서 do가 접두어로 추가 된겁니다.
do 먼저 실행 하고 while문의조건을 충족하는지 보는겁니다.
이렇게 되면 a ==1이지만
while문을 한번 실행하고 조건이 맞지않으니 빠져나오게 되는겁니다.
이렇게 조건문과 반복문을 간단하게 알아봤습니다.