Contents
2.2.1. ì œì–´ë¬¸ì�˜ 종류 ¶
문장들� 실행 순서
특별히 ì§€ì • 안하면 첫 문장부터 시작하여 한 번ì—� 한 문장씩 순차ì �으로 실행ë�œë‹¤.
ì œì–´ë¬¸ì�„ 사용하면 ì�´ 문장ì�´ 실행 ë�˜ëŠ” 순서를 ë‚´ 맘대로 ì œì–´í• ìˆ˜ 있다.
종류
조건문 : if문, if-else문, switch 문
반복문 : while문, for문, do-while문
분기문 : goto문, return문, break문, continue문
함수호출
ì œì–´ë¬¸ì�„ 사용하면 ì�´ 문장ì�´ 실행 ë�˜ëŠ” 순서를 ë‚´ 맘대로 ì œì–´í• ìˆ˜ 있다.
종류
조건문 : if문, if-else문, switch 문
반복문 : while문, for문, do-while문
분기문 : goto문, return문, break문, continue문
함수호출
2.2.2. 조건문 if ¶
조건문 - ì¡°ê±´ì‹�ì�˜ ê²°ê³¼(부울)ì—� ë”°ë�¼ ì¡°ê±´ì�„ ìˆ˜í–‰í• ê²ƒì�¸ì§€ 아닌지를 íŒ�단.
if(a < min)
if(a < min){
min = a;
orif(a < min){
min = a;
printf("%d", min);
}printf("%d", min);
if 안ì—� 들어가는 ì¡°ê±´ì—� 대해서 ì°¸ì�´ 나오면 ìˆ˜í–‰í•˜ê³ , ê±°ì§“ì�´ 나오면 수행하지 않는다.
2.2.3. 조건문 if - else문 ¶
if - else문
if문ì—� else ì ˆì�„ 추가한 if-else문ì�„ ì�´ìš©í•´ì„œ 여러 가지 ì¡°ê±´ì�„ ì²˜ë¦¬í• ìˆ˜ 있다.
기본 형�
if (조건�)
e.g.
if(a < b)
if(a < b){ min = a;
}else { min = b;}
기본 형�
if (조건�)
문장 1;
else 문장 2;
ì¡°ê±´ì‹�ì�´ ì°¸ì�´ë©´ 문장 1ì�„ ì‹¤í–‰í•˜ê³ , ê±°ì§“ì�´ë©´ 문장 2를 실행한다.e.g.
if(a < b)
min = a;
else min = b;
orif(a < b){ min = a;
}else { min = b;}
2.2.4. if - else if ¶
다중 ì„ íƒ�ì�„ 위한 if문
if(조건� 1)
else if(조건� n)
if( score >= 90)
else if(score >= 80)
else if(score >= 70)
else if(score >= 60)
else
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
2.2.5. nested if ¶
if문 ë‚´ì—� if문ì�„ ë˜� ì‚¬ìš©í• ìˆ˜ë�„ 있다. 중첩ë�œ if문ì�´ë�¼ê³ 한다.(nested if)
if( ){
if( ){
if( ){
}
else {
}
}}
else {
}
2.2.6. dangling else problem ¶
중첩ë�œ if문과 ê´€ë ¨í•´ì„œ 한 가지 주ì�˜í•´ì•¼ í• ì �ì�€ 중첩ë�œ if문 다ì�Œì—� 오는 elseì ˆì�´ ì–´ëŠ� if문과 ì§�ì�´ ë�˜ëŠ”ê°€ 하는 것ì�´ë‹¤,
if(num1 < num2)
if(num1 < num3)
else ì ˆì�€ í•ìƒ� ê·¸ ì „ì—� 오는 가장 가까운 ìž‘ì�´ 없는 if문과 ì§�ì�´ ë�œë‹¤.min = num1;
elsemin = num3;
2.2.7. switch ¶
switch문 - 다중 ì„ íƒ� 방법ì�„ ì œê³µí•œë‹¤.(ì •ìˆ˜ ê°’ì—� ë”°ë�¼ 여러 경로 중ì—�서 한 경로를 ì„ íƒ�í• ìˆ˜ 있다.)
문ìž�형ì�„ í�¬í•¨í•˜ì—¬ ì •ìˆ˜í˜• 수ì‹�ë§Œ ì‚¬ìš©í• ìˆ˜ 있다.
switch(수�){
case �수 1: 문장들 1
case �수 2: 문장들 2
...
case �수 n: 문장들 n
default : 문장들 n+1
}case �수 2: 문장들 2
...
case �수 n: 문장들 n
default : 문장들 n+1
(1) 수�� 값� 계산한다.
(2) 수�� 값� � case� �수 값과 같�지 차례대로 검사한다.
(3) ì�¼ì¹˜ë�œ caseê°’ì�´ 있으면 ê·¸ case ì ˆì�˜ 문장들ì�„ 실행한다.
(2) 수�� 값� � case� �수 값과 같�지 차례대로 검사한다.
(3) ì�¼ì¹˜ë�œ caseê°’ì�´ 있으면 ê·¸ case ì ˆì�˜ 문장들ì�„ 실행한다.
(3.1) case ì ˆì�˜ 마지막 문장ì�´ break ì�´ë©´ switch 문ì�„ ë¹ ì ¸ë‚˜ì˜¨ë‹¤.
(3.2) ê·¸ë ‡ì§€ 않ì�€ 경우ì—�는 다ì�Œ case ì ˆì�˜ 문장들ì�„ 실행한다.
(4) ì�¼ì¹˜ë�œ case ê°’ì�´ 없으면 default ì ˆì�˜ 문장들ì�„ 실행한다.(3.2) ê·¸ë ‡ì§€ 않ì�€ 경우ì—�는 다ì�Œ case ì ˆì�˜ 문장들ì�„ 실행한다.
2.2.8. 반복문(루프) while ¶
while문
while(조건�)
문장 1;
조건�� 참�면 본체를 다시 실행, 거짓�면 while문� 종료while(count <= 100){
total = total + count;
count = count + 2;
}count = count + 2;
2.2.9. do while ¶
do while문
do{ 문장 1;
...
문장 n;
}while(조건�);문장 n;
ì¡°ê±´ì�´ 루프ì�˜ ë��ì—� 위치하므로, 루프 본체를 ë¨¼ì € ì‹¤í–‰í•˜ê³ , ì¡°ê±´ì�„ 검사하여 ê·¸ ê°’ì�´ ì°¸ì�¸ ë�™ì•ˆ 반복한다.
do - whileì�€ ì �ì–´ë�„ 한 번 실행ë�œë‹¤.
do - whileì�€ ì �ì–´ë�„ 한 번 실행ë�œë‹¤.
do{
}while()
}while()
2.2.10. for ¶
for문 - 루프ì�˜ 반복 횟루를 ì•Œê³ ìžˆì�„ 때 ì �합한 반복문ì�´ë‹¤.
for(수� 1; 수� 2; 수� 3)
수ì‹� 2 - 부울 ì¡°ê±´ì‹�/ 루프 본체를 실행하기 ì „ì—� ì¡°ê±´ì�´ ì°¸ì�´ë©´ 본체를 실행, ê±°ì§“ì�´ë©´ 루프를 벗어난다.
수� 3 - 조건�� 사용� 변수를 �가시키거나 �소시키기 위한 �으로 루프� � 반복후 실행
for(수� 1; 수� 2; 수� 3)
문장
수ì‹� 1 - 초기화를 위한 수ì‹�/ 루프를 시작하기 ì „ì—� 실행한다.수ì‹� 2 - 부울 ì¡°ê±´ì‹�/ 루프 본체를 실행하기 ì „ì—� ì¡°ê±´ì�´ ì°¸ì�´ë©´ 본체를 실행, ê±°ì§“ì�´ë©´ 루프를 벗어난다.
수� 3 - 조건�� 사용� 변수를 �가시키거나 �소시키기 위한 �으로 루프� � 반복후 실행
* 초기화 부분ì�€ 처ì�Œì—� 한 번만 ì‹¤í–‰í•˜ê³ , 수ì‹� 2,3 ì�€ 루프ì�˜ 반복 ì „í›„ì—� 실행ë�œë‹¤,
2.2.11. nested loop ¶
오늘 실습한 별로 사�형 �기.
#include<stdio.h>
int main(){
int n, i, j;
scanf("%d", &n);
for(i = 0; i<n; i++){
for(j = 0; j<n; j++){
printf("*");
}
printf("\n");
}
return 0;
}
4
****
****
****
****
2.3.1. 1번 ¶
숫ìž� nì�„ ìž…ë ¥ë°›ê³ , ìž…ë ¥ ë°›ì�€ n ê°’ì—� 대ì�‘하는 삼ê°�형ì�„ ì¶œë ¥í•˜ì‹œì˜¤. 5 //n * ** *** **** ***** // 대ì�‘하는 삼ê°�형 3 * ** ***
2.3.2. 2번 ¶
숫ìž� nì�„ ìž…ë ¥ë°›ê³ , ìž…ë ¥ ë°›ì�€ n ê°’ì—� 대ì�‘하는 사ê°�형ì�„ ì¶œë ¥í•˜ì‹œì˜¤. 5 // n 00000* 0000** 000*** 00**** 0***** // ì¶œë ¥ 3 000* 00** 0***
2.3.3. 3번 ¶
숫ìž� nì�„ ìž…ë ¥ë°›ê³ , ìž…ë ¥ ë°›ì�€ n ê°’ì—� 대ì�‘하는 삼ê°�형ì�„ ì¶œë ¥í•˜ì‹œì˜¤
5 //n
*
**
***
****
***** //ì¶œë ¥
3
*
**
***
힌트 : 공백� 문�입니다. (스페�스)
2.3.4. 4번 ¶
숫ìž� key와 nì�„ ìž…ë ¥ë°›ê³ , ìž…ë ¥ ë°›ì�€ ë‘� ê°’ì—� 대ì�‘하는 ë�„형ì�„ ì¶œë ¥í•˜ì‹œì˜¤. keyê°’ì�´ 1ì�´ë©´ * ** *** 모양 keyê°’ì�´ 2ì�´ë©´ 000* 00** 0*** 모양 keyê°’ì�´ 3ì�´ë©´ * ** *** 모양ì�„ ì¶œë ¥í•©ë‹ˆë‹¤. 2 // key 3 // n 000* 00** 0*** //ì¶œë ¥ 1 4 * ** *** ****
3. 후기 작성 ìš”ë ¹ ¶
후기 작성 ìš”ë ¹ : 후기는 F4(ThreeFs + Future Action Plan)ì—� 맞게 작성해주세요.
ê´€ë ¨ 페ì�´ì§€ : ThreeFs, ThreeFs(노스모í�¬), FiveFs(노스모í�¬)
ë§�í�¬ë¥¼ 눌러보기조차 귀찮ì�€ ë‹¹ì‹ ì�„ 위한 간단한 설명
Facts, Feelings, Findings, Future Action Plan. 즉, 사실, ëŠ�ë‚€ ì �, 깨달ì�€ ì �, 앞으로ì�˜ 계íš�.
예를 들어 지난주ì—� ë�ˆê°€ìŠ¤ë¥¼ 먹ì�€ 것ì—� 대해 후기를 쓴다면 : "지난주ì—� 강남ì—� 가서 하나ì—� 5ë§Œì›�하는 ë�ˆê°€ìŠ¤ë¥¼ 먹었다.(사실) 기대를 잔뜩 했는ë�° 별로 ë§›ì�´ 없었다.(ëŠ�낌) 강남ì�€ ë•…ê°’ì�´ 비싸서 ê°’ë§Œ ë³´ê³ ì—„ì² ë§›ìžˆì�„ê±°ë�¼ 기대하면 안ë�œë‹¤ëŠ” 것ì�„ 알았다.(깨달ì�€ì �) 다ì�Œì—�는 미리 ì�¸í„°ë„·ì—�서 í�‰ì�„ ì°¾ì•„ë³´ê³ ë³„ì �ì�´ 높ì�€ ë�ˆê°€ìŠ¤ì§‘ì�„ 찾아서 ê°€ë´�ì•¼ê² ë‹¤.(앞으로ì�˜ 계íš�)"
ê´€ë ¨ 페ì�´ì§€ : ThreeFs, ThreeFs(노스모í�¬), FiveFs(노스모í�¬)
ë§�í�¬ë¥¼ 눌러보기조차 귀찮ì�€ ë‹¹ì‹ ì�„ 위한 간단한 설명
Facts, Feelings, Findings, Future Action Plan. 즉, 사실, ëŠ�ë‚€ ì �, 깨달ì�€ ì �, 앞으로ì�˜ 계íš�.
예를 들어 지난주ì—� ë�ˆê°€ìŠ¤ë¥¼ 먹ì�€ 것ì—� 대해 후기를 쓴다면 : "지난주ì—� 강남ì—� 가서 하나ì—� 5ë§Œì›�하는 ë�ˆê°€ìŠ¤ë¥¼ 먹었다.(사실) 기대를 잔뜩 했는ë�° 별로 ë§›ì�´ 없었다.(ëŠ�낌) 강남ì�€ ë•…ê°’ì�´ 비싸서 ê°’ë§Œ ë³´ê³ ì—„ì² ë§›ìžˆì�„ê±°ë�¼ 기대하면 안ë�œë‹¤ëŠ” 것ì�„ 알았다.(깨달ì�€ì �) 다ì�Œì—�는 미리 ì�¸í„°ë„·ì—�서 í�‰ì�„ ì°¾ì•„ë³´ê³ ë³„ì �ì�´ 높ì�€ ë�ˆê°€ìŠ¤ì§‘ì�„ 찾아서 ê°€ë´�ì•¼ê² ë‹¤.(앞으로ì�˜ 계íš�)"
4.1. ê¶Œì˜�기 ¶
오늘ì�€ ì œì–´ë¬¸ì—� 대해서 배워봤습니다. 지난 시간ì—� ì œê°€ 새싹들ì—�게 잘못ë�œ ì§€ì‹�ì�„ ì•Œë ¤ì¤¬ëŠ”ë�° ì�˜ì •ì�´í˜•ì�´ ê·¸ 것ì�„ ì•Œë ¤ì£¼ì–´ì„œ 불ìƒ�사를 피했습니다.(ì�˜ì •ì�´í˜• ê³ ë§ˆì›Œìš”) ì�´ë²ˆ 시간ì�€ 실습ë�„ ë§Žì�´ ë§Žì�´ ì‹œí‚¤ë ¤ê³ í–ˆëŠ”ë�° 시간 ë°°ë¶„ì�´ 잘 안ë�˜ì„œ 그런지 실습ë�„ ë§Žì�´ 하지 ëª»í•˜ê³ , 수업ë�„ 늦게 ë��나서 후기를 ì—¬ìœ ìžˆê²Œ 작성하지 못했네요. 5ë¶„ ì „ì—� ë��내서 ì—¬ìœ ìžˆê²Œ 후기를 ìž‘ì„±í•˜ë ¤ëŠ” 시ë�„ê°€ 실패했습니다. (...) ê·¸ë¦¬ê³ for문ì�„ 설명하면서, 설명 ì˜ˆì œë¡œëŠ” 구구단ì�„ ë§�í•´ ë†“ê³ , 실습ì�€ *로 사ê°�형ì�„ ì°�으ë�¼ê³ 했는ë�° ì�´ 시ë�„는 실패한 것 같습니다. 실습ë�„ 설명 ì˜ˆì œì™€ ì—°ê´€ë�œ 것으로 해야 ì�´í•´ê°€ ë�” 잘ë� ê±°ë�¼ëŠ” 것ì�„ 깨달았네요. 다ì�Œì—�는 설명 ì˜ˆì œì™€ 실습 ì˜ˆì œë¥¼ ë�”ìš± 충실히 준비해와야 í• ê²ƒ 같습니다. ê·¸ë¦¬ê³ ì‹œê°„ 안배ë�„ 잘 í•´ì•¼ê² ë„¤ìš”.










