게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
프로그래밍 언어란? - 5
게시물ID : programmer_12167짧은주소 복사하기
작성자 : 구차니
추천 : 3
조회수 : 813회
댓글수 : 11개
등록시간 : 2015/07/17 10:47:51
오늘은 제어문 입니다.

프로그래밍 언어와 컴퓨터에 있어서 지능(?)을 부여하는 유일한 수단이 바로 제어문 입니다.
변수나 상수의 값을 비교해서 Y/N로 처리하는 간단한(?) 부분이죠


일반적으로
제어문은 if - else 로 구분됩니다.

if 에는 조건식이 들어가
우리에게 익숙한 부등호나 등호를 이용하여 비교를 하게 되고
if (조건식) 으로 구현이 됩니다.

조건식도 "똥도 싸고 싰고 이빨도 닦았으면" 처럼
 ~하고
 ~랑 ~를 해야
등으로 조건을 섞어서 사용도 가능합니다(논리 연산자 and& or| not!)

그리고 언어에 따라서 컴파일 언어는 
중괄호를 통해 구역을 나누어 여기서 어디까지가 if인지 else 인지 구분하지만
인터프리트 언어의 경우
tab으로 구역을 나누거나(python)
elif 등으로 if의 끝 부분을 알려주는 식으로 언어가 구성됩니다.


그리고 if-else if-else 가 보기 싫어서 깔끔하게 만드는 것이 switch-case 입니다.
if (똥 쌌냐?) ...
else if(오줌은 쌌냐?) ...
else if(이빨은 닦았냐?) ....
else if(세수는 했냐?) ...
else ...

이렇게 하면 줄이 길어지고 이쁘지도 않아서
switch(상태)
{
    case 똥: ... break;
    case 오줌: ... break;
    case 이빨: ... break;
    default: ... break;
}
식으로 깔끔하고 보기 좋게 정리가 됩니다.

(부가적으로 switch는 룩업테이블로 구성되어 바로 실행되나
 if-else는 원하는 것이 나올때 까지 반복적으로 비교하여 cpu를 많이 소비합니다)

아무튼 이녀석 잘 쓰려면 논리를 잘 아셔야 하는데
결합법칙등을 알아 두시면 논리식을 전개하거나 합치는데 유용합니다.

가끔은.. 엉기면 전 벤다이어그램을 이용해서 논리식에서 빠지는 부분이 있는지 확인하기도 합니다.




그리고 이러한 조건식을 이용해서 반복문을 사용할수 있는데 가장 익숙한 것은 for입니다.
for는 원하는 횟수를 완벽하게(!) 맞추어 돌리는 용도로 쓸수 있으며 대개 int 형 변수를 이용해서 원하는 만큼 돌리게 됩니다
(double도 전에 어떤분이 질문을 올리셨지만 누적오차로 인해 되도록이면 정수로 합니다)

for(초기화; 조건식; 증가값)
증가값은 +도 될 수 있고 -도 될 수 있어서
100에서 1까지
1에서 100까지
1씩 증가 2씩 증가
2씩 감소 1씩 감소 등등
원하는대로 사용이 가능합니다.

그리고 추가로

for(;;)
라고 하면
조건식이 없이 증가, 감소도 없이 무한으로 돌리는 용도로 사용이 가능합니다

또한
초기화;
for(;조건식; 증가값) 라던가

초기화;
for(;조건식;)
{
   증가값;
}

으로도 사용이 가능하며
마지막 형태는

while(조건식)
으로도 1:1 변환이 가능합니다.


다만, while은 조건식에 의해 가변으로 반복실행 횟수가 변하는 쪽으로 주로 사용을 하는 차이가 있습니다.




그리고 이런 반복문에 대해서 예외사항을 주게 되는데
break;는 반복문의 중지(1단계에 대해서만, 중복 for문에 대해서는 한단계만 빠져나감)
goto;는 원하는 label로의 이동(에러 처리 등에는 유용하나 그 외에는 암묵적으로 사용금지)
continue; 는 현재 처리를 중단하고 증가값을 수행후 다음 회차 반복 수행을 하게 됩니다.



+
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호