[[TableOfContents]] = 출석체크 = ||이름||출석|| ||권영기|| o || ||임도훈|| o || ||김지운|| o || = 수업 내용 = == 계획 == * 지난 시간 내용 복습 * if, if-else, switch * whlie, do-while, for == 내용 == === 제어문의 종류 === 문장들의 실행 순서 특별히 지정 안하면 첫 문장부터 시작하여 한 번에 한 문장씩 순차적으로 실행된다. 제어문을 사용하면 이 문장이 실행 되는 순서를 내 맘대로 제어할 수 있다. 종류 조건문 : if문, if-else문, switch 문 반복문 : while문, for문, do-while문 분기문 : goto문, return문, break문, continue문 함수호출 === 조건문 if === 조건문 - 조건식의 결과(부울)에 따라 조건을 수행할 것인지 아닌지를 판단. if(a < min) min = a; or if(a < min){ min = a; printf("%d", min); } if 안에 들어가는 조건에 대해서 참이 나오면 수행하고, 거짓이 나오면 수행하지 않는다. === 조건문 if - else문 === if - else문 if문에 else 절을 추가한 if-else문을 이용해서 여러 가지 조건을 처리할 수 있다. 기본 형식 if (조건식) 문장 1; else 문장 2; 조건식이 참이면 문장 1을 실행하고, 거짓이면 문장 2를 실행한다. e.g. if(a < b) min = a; else min = b; or if(a < b){ min = a; }else { min = b;} === if - else if === 다중 선택을 위한 if문 if(조건식 1) 문장 1; else if(조건식 2) 문장 2; ... else if(조건식 n) 문장 n; 예) if( score >= 90) else if(score >= 80) else if(score >= 70) else if(score >= 60) else === nested if === if문 내에 if문을 또 사용할 수도 있다. 중첩된 if문이라고 한다.(nested if) if( ){ if( ){ } else { } } === dangling else problem === 중첩된 if문과 관련해서 한 가지 주의해야 할 점은 중첩된 if문 다음에 오는 else절이 어느 if문과 짝이 되는가 하는 것이다, if(num1 < num2) if(num1 < num3) min = num1; else min = num3; else 절은 항상 그 전에 오는 가장 가까운 작이 없는 if문과 짝이 된다. === switch === switch문 - 다중 선택 방법을 제공한다.(정수 값에 따라 여러 경로 중에서 한 경로를 선택할 수 있다.) 문자형을 포함하여 정수형 수식만 사용할 수 있다. switch(수식){ case 상수 1: 문장들 1 case 상수 2: 문장들 2 ... case 상수 n: 문장들 n default : 문장들 n+1 } (1) 수식의 값을 계산한다. (2) 수식의 값이 각 case의 상수 값과 같은지 차례대로 검사한다. (3) 일치된 case값이 있으면 그 case 절의 문장들을 실행한다. (3.1) case 절의 마지막 문장이 break 이면 switch 문을 빠져나온다. (3.2) 그렇지 않은 경우에는 다음 case 절의 문장들을 실행한다. (4) 일치된 case 값이 없으면 default 절의 문장들을 실행한다. === 반복문(루프) while === while문 while(조건식) 문장 1; 조건식이 참이면 본체를 다시 실행, 거짓이면 while문을 종료 while(count <= 100){ total = total + count; count = count + 2; } === do while === do while문 do{ 문장 1; ... 문장 n; }while(조건식); 조건이 루프의 끝에 위치하므로, 루프 본체를 먼저 실행하고, 조건을 검사하여 그 값이 참인 동안 반복한다. do - while은 적어도 한 번 실행된다. do{ }while() === for === for문 - 루프의 반복 횟루를 알고 있을 때 적합한 반복문이다. for(수식 1; 수식 2; 수식 3) 문장 수식 1 - 초기화를 위한 수식/ 루프를 시작하기 전에 실행한다. 수식 2 - 부울 조건식/ 루프 본체를 실행하기 전에 조건이 참이면 본체를 실행, 거짓이면 루프를 벗어난다. 수식 3 - 조건식에 사용된 변수를 증가시키거나 감소시키기 위한 식으로 루프의 각 반복후 실행 * 초기화 부분은 처음에 한 번만 실행하고, 수식 2,3 은 루프의 반복 전후에 실행된다, === nested loop === 오늘 실습한 별로 사각형 찍기. {{{ #include int main(){ int n, i, j; scanf("%d", &n); for(i = 0; i