현승일 교수
5주차 1강. 조건문과 분기
학습내용
학습목표
1. 조건문의 정의와 필요성 2. 조건문의 종류와 특성 3. if-else 조건문
1. 조건문의 정의와 필요성에 대해 설명할 수 있다.
2. 조건문의 종류와 특성에 대해 설명할 수 있다.
3. if-else 조건문을 설명할 수 있다.
◉ 조건문이란 ?
1. 조건문의 정의와 필요성
• 주어진 조건의 결과값에 따라서 프로그램의 수행 순서를 제어하거나 문장들의 수행 횟수를 조정하는 문장
• 프로그램의 흐름을 지시하는 데 사용되는 문장
• 여러 조건들 중 특정한 하나의 조건만 실행 해야 하는 경우에 사용
• 예시
- 자판기 커피에서 블랙 커피, 설탕 커피, 밀크 커피 중
하나를 선택하는 경우
◉ 조건문의 종류
2. 조건문의 종류와 특징
• if-else문
- 두 개의 조건만 있을 경우 - 세 개 이상의 조건일 경우
• switch문
- 조건의 수에 관계 없으나 보통 다수의 조건에 사용
• break, continue, goto문
- 제어의 흐름에 따라 적절히 사용
………
if(조건절){
/* 조건절에 있는 내용이 참이면, “{“와 “}” 사이의 문장들이 실행되고, 거짓이면 다음 명령어(즉, “}” 다음의 문장)가 실행된다. */
…………
명령어 문장;
…………
}
………
◉ if 문의 개요
3. if~else 조건문(1)
• “if” – “만약에 어떠한 조건이 만족된다면...”
• 형식
◉ if 문의 예시
3. if~else 조건문(2)
………
(생략)
int val;
printf("정수를 하나 입력 하세요 : ");
scanf("%d", &val);
if(val < 0) { //val<0이 true라면...
printf("입력 값은 0보다 작다 \n");
}
if(val > 0) { //val>0이 true라면...
printf("입력 값은 0보다 크다 \n");
}
if(val == 0) { //val==0이 true라면...
printf("입력 값은 0이다 \n");
} (생략)
………
………
if(조건절) { // if문의 경우는 이전과 동일
명령어 문장;
}
else { // 보통 두 개의 조건에서 사용함
// if문의 조건절이 거짓일 경우는 반드시 else문 내의 명령어를 실행
명령어 문장;
}
………
◉ if~else 문의 개요
3. if~else 조건문(3)
• “if-else” – “이거 아니면 저거...”
• 형식
◉ if~else 문의 예시
3. if~else 조건문(4)
………
(생략)
int val;
printf("정수를 하나 입력 하세요 : ");
scanf("%d", &val);
if(val < 0){ //val<0이 true라면..
printf("입력 값은 0보다 작다 \n");
} else{
printf("입력 값은 0이거나 그보다 크다 \n");
} (생략)
………
◉ 중첩된 if~else 문의 예시
3. if~else 조건문(5)
(생략)
int val;
printf("정수를 하나 입력 하세요 : ");
scanf("%d", &val);
if(val != 0){ //val != 0이 true라면..
if(val < 0){ //val < 0이 true라면...
printf("입력 값은 0보다 작다 \n");
}
if(val > 0){ //val > 0이 true라면...
printf("입력 값은 0보다 크다 \n");
} } else{
printf("입력 값은 0 이다 \n");
}
◉ if~else if 문의 개요
3. if~else 조건문(6)
If(조건절){ // 첫번째 조건 실행 문장;
}
else if(조건절){ // 두번째 조건 실행문장;
}
…………
else{ // 마지막 조건 실행 문장;
}
• 조건이 세 개 이상일 경우에 적용
• 기본적은 구조는 if-else문과 동일
• 형식
◉ if~else if 문의 예시
3. if~else 조건문(7)
(생략) int val;
printf("정수를 하나 입력 하세요 : ");
scanf("%d", &val);
if(val<0) { //val<0이 true라면...
printf("입력 값은 0보다 작다 \n");
}
else if(val>0){ //val>0이 true라면...
printf("입력 값은 0보다 크다 \n");
}
else{ //val==0이 true라면...
printf("입력 값은 0이다 \n");
}
(생략)