<div>오늘은 <b>제어문</b> 입니다.</div> <div><br></div> <div><b>프로그래밍 언어와 컴퓨터에 있어서 </b><b style="font-size:9pt;line-height:1.5;">지능(?)을 부여하는 유일한 수단</b><span style="font-size:9pt;line-height:1.5;">이 바로 제어문 입니다.</span></div> <div>변수나 상수의 값을 비교해서 Y/N로 처리하는 간단한(?) 부분이죠</div> <div><br></div> <div><br></div> <div>일반적으로</div> <div>제어문은 if - else 로 구분됩니다.</div> <div><br></div> <div>if 에는 조건식이 들어가</div> <div>우리에게 익숙한 부등호나 등호를 이용하여 비교를 하게 되고</div> <div><span style="font-size:9pt;line-height:1.5;">if (조건식) 으로 구현이 됩니다.</span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div><span style="font-size:9pt;line-height:1.5;">조건식도 "똥도 싸고 싰고 이빨도 닦았으면" </span><span style="font-size:9pt;line-height:1.5;">처럼</span></div> <div><span style="font-size:9pt;line-height:1.5;"> ~하고</span></div> <div><span style="font-size:9pt;line-height:1.5;"> ~랑 ~를 해야</span></div> <div><span style="font-size:9pt;line-height:1.5;">등으로 조건을 섞어서 사용도 가능합니다(논리 연산자 and& or| not!)</span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div>그리고 언어에 따라서 컴파일 언어는 </div> <div>중괄호를 통해 구역을 나누어 여기서 어디까지가 if인지 else 인지 구분하지만</div> <div>인터프리트 언어의 경우</div> <div>tab으로 구역을 나누거나(python)</div> <div>elif 등으로 if의 끝 부분을 알려주는 식으로 언어가 구성됩니다.</div> <div><br></div> <div><br></div> <div>그리고 <b>if-else if-else</b> 가 보기 싫어서 <span style="font-size:9pt;line-height:1.5;">깔끔하게 만드는 것이 <b>switch-case</b> 입니다.</span></div> <div>if (똥 쌌냐?) ...</div> <div>else if(오줌은 쌌냐?) ...</div> <div>else if(이빨은 닦았냐?) ....</div> <div>else if(세수는 했냐?) ...</div> <div>else ...</div> <div><br></div> <div>이렇게 하면 줄이 길어지고 이쁘지도 않아서</div> <div>switch(상태)</div> <div>{</div> <div> case 똥: ... break;</div> <div> case 오줌: ... break;</div> <div> case 이빨: ... break;</div> <div> default: ... break;</div> <div>}</div> <div>식으로 깔끔하고 보기 좋게 정리가 됩니다.</div> <div><br></div> <div>(부가적으로 switch는 룩업테이블로 구성되어 바로 실행되나</div> <div> if-else는 원하는 것이 나올때 까지 반복적으로 비교하여 <span style="font-size:9pt;line-height:1.5;">cpu를 많이 소비합니다)</span></div> <div><br></div> <div>아무튼 이녀석 잘 쓰려면 논리를 잘 아셔야 하는데</div> <div>결합법칙등을 알아 두시면 논리식을 전개하거나 합치는데 유용합니다.</div> <div><br></div> <div>가끔은.. 엉기면 전 벤다이어그램을 이용해서 논리식에서 빠지는 부분이 있는지 확인하기도 합니다.</div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div>그리고 이러한 조건식을 이용해서 <b>반복문</b>을 사용할수 있는데 <span style="font-size:9pt;line-height:1.5;">가장 익숙한 것은 <b>for</b>입니다.</span></div> <div>for는 원하는 횟수를 완벽하게(!) 맞추어 돌리는 용도로 쓸수 있으며 <span style="font-size:9pt;line-height:1.5;">대개 int 형 변수를 이용해서 원하는 만큼 돌리게 됩니다</span></div> <div>(double도 전에 어떤분이 질문을 올리셨지만 누적오차로 인해 되도록이면 정수로 합니다)</div> <div><br></div> <div><b>for(초기화; 조건식; 증가값)</b></div> <div>증가값은 +도 될 수 있고 -도 될 수 있어서</div> <div>100에서 1까지</div> <div>1에서 100까지</div> <div>1씩 증가 2씩 증가</div> <div>2씩 감소 1씩 감소 등등</div> <div>원하는대로 사용이 가능합니다.</div> <div><br></div> <div>그리고 추가로</div> <div><br></div> <div><b>for(;;)</b></div> <div>라고 하면</div> <div>조건식이 없이 증가, 감소도 없이 무한으로 돌리는 용도로 사용이 가능합니다</div> <div><br></div> <div>또한</div> <div><b>초기화;</b></div> <div><b>for(;</b><span style="font-size:9pt;line-height:1.5;"><b>조건식; 증가값)</b> 라던가</span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div>초기화;</div> <div><b>for(;조건식;)</b></div> <div><b>{</b></div> <div><b> 증가값;</b></div> <div><b>}</b></div> <div><br></div> <div>으로도 사용이 가능하며</div> <div>마지막 형태는</div> <div><br></div> <div>while(조건식)</div> <div>으로도 1:1 변환이 가능합니다.</div> <div><br></div> <div><br></div> <div>다만, while은 조건식에 의해 가변으로 반복실행 횟수가 변하는 쪽으로 주로 사용을 하는 차이가 있습니다.</div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div>그리고 이런 반복문에 대해서 예외사항을 주게 되는데</div> <div><b>break</b>;는 반복문의 중지(1단계에 대해서만, 중복 for문에 대해서는 한단계만 빠져나감)</div> <div><b>goto</b>;는 원하는 label로의 이동(에러 처리 등에는 유용하나 그 외에는 암묵적으로 사용금지)</div> <div><b>continue</b>; 는 현재 처리를 중단하고 증가값을 수행후 다음 회차 반복 수행을 하게 됩니다.</div> <div><br></div> <div><br></div> <div><br></div> <div> <div style="font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;line-height:21.6000003814697px;">+</div> <div style="font-family:'굴림', gulim, 'ë‹ì›€', Dotum, Helvetica, AppleGothic, sans-serif;line-height:21.6000003814697px;"> <ul><li><span style="font-family:'굴림', gulim, '돋움', Dotum, Helvetica, AppleGothic, sans-serif;font-size:9pt;line-height:1.5;"><a target="_blank" href="http://todayhumor.com/?programmer_12065" style="color:#0000ff;text-decoration:none;">프로그래밍 언어란</a></span></li> <li><font face="굴림, gulim, 돋움, Dotum, Helvetica, AppleGothic, sans-serif"><a target="_blank" href="http://todayhumor.com/?programmer_12087" style="color:#0000ff;text-decoration:none;">프로그래밍 언어의 종류와 구성</a></font></li> <li><a target="_blank" href="http://todayhumor.com/?programmer_12115" style="color:#0000FF;text-decoration:none;">프로그래밍 언어의 식별자</a></li> <li><a target="_blank" href="http://todayhumor.com/?programmer_12145" target="_blank">프로그래밍 언어의 변수</a></li></ul></div></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.