728x90
반응형
※ 공부 내용의 복습 개념으로 정리된 글입니다. - 출처 시나공
제어문의 개념
컴퓨터 프로그램은 명령어가 서술된 순서에 따라 무조건 위에서 아래로 실행되는데, 조건을 지정해서 진행 순서를 변경할 수 있습니다. 이렇게 프로그램의 순서를 변경할 때 사용하는 명령문을 제어문이라고 합니다.
- 제어문의 종류에는 if문, 다중 if문, switch문, goto, 반복문 등이 있습니다.
※ 반복문
반복문은 일정한 횟수를 반복하는 명령문입니다.
단순 if문
if문은 조건에 따라서 실행할 문장을 달리하는 제어문이며, 단순 if문은 조건이 한 개일 때 사용하는 제어문입니다.
- 조건이 참일 때만 실행할 문자을 지정할 수도 있고, 참과 거짓에 대한 각각 다른 실행문을 지정할 수도 있습니다.
형식 1 : 조건이 참일 때만 실행합니다.
- 조건이 참일 때 실행할 문장이 하나인 경우
// if는 조건 판단문에 사용되는 예약어이므로 그대로 적습니다.
// 조건은 참(1) 또는 거짓(0)이 결과로 나올 수 있는 수식을 () 안에 입력합니다.
if (조건)
실행할 문장; // 조건이 참일 경우 실행할 문장을 적습니다.
- 조건이 참일 때 실행할 문장이 두 문장 이상인 경우
if (조건) {
// {} 사이에 조건이 참일 경우 실행할 문장을 적습니다.
실행할 문장1;
실행할 문장2;
.
.
.
}
예제
a가 10보다 크면 a에서 10을 뺀다.
#include <stdio.h>
main() {
int a = 15, b;
// a가 10보다 그면 'b = a - 10'을 실행하고 아니라면 'printf("%d\n", b);'로 이동해서 실행합니다.
if (a > 10)
// 조건식이 참일 경우 실행할 문장으로 b는 5가 됩니다.
b = a - 10;
// 여기서는 조건식이 거짓일 경우 실행할 문장이 없습니다. 조건 판단문을 벗어나면 무조건 3번으로 옵니다.
printf("%d\n", b);
}
// 결과 5
형식 2 : 조건이 참일 때와 거짓 때 실행할 문장이 다릅니다.
if (조건)
// 조건이 참일 경우 실행할 문장을 적습니다.
// 참일 경우 실행할 문장이 두 문장 이상이면 {}를 입력하고 그 사이에 문장을 적습니다.
실행할 문장1;
else
// 조건이 거짓일 경우 실행할 문장을 적습니다.
// 두 문장 이상인 경우 {}를 입력하고 그 사이에 문장을 적습니다.
실행할 문장2;
다중 if문
다중 if문은 조건이 여러 개 일 때 사용하는 제어문입니다.
형식1
if (조건1)
실행할 문장1; // 조건1이 참일 경우 실행할 문장
else if (조건2)
실행할 문장2; // 조건2가 참일 경우 실행할 문장
else if (조건3)
실행할 문장3; // 조건3이 참일 경우 실행할 문장
.
.
.
else
실행할 문장4; // 앞의 조건이 모두 거짓일 경우 실행할 문장
예제 : 점수에 따라 등급 표시하기.
#include <stdio.h>
main() {
int jum = 85;
if (jum >= 90)
// jum이 90이상이면 실행합니다.
printf("학점은 A입니다.\n");
else if (jum >= 80)
// jum이 80이상이면 실행합니다.
printf("학점은 B입니다.\n");
else if (jum >= 70)
// jum이 70이상이면 실행합니다.
printf("학점은 C입니다.\n");
else
// 위에 조건이 전부 거짓이면 실행합니다.
printf("학점은 F입니다.\n");
}
형식2 : if문 안에 if문이 포함됩니다.
if (조건1) {
if (조건2)
// 조건1과 조건2 모두 참일 경우.
실행할 문장1;
else
// 조건1은 참이지만 조건2는 거짓일 경우.
실행할 문장2;
}
else
// 조건1이 거짓일 경우
실행할 문장3;
switch문
switch문은 조건에 따라 분기할 곳이 여러 곳인 경우 간단하게 처리할 수 있는 제어문입니다.
형식
switch (수식) // switch는 swutch문에 사용되는 예약어로 그대로 사용합니다.
{ // '수식', '레이블1' ~ '레이블n'의 값 중 하나를 도출하는 변수나 수식을 입력합니다.
case 레이블1: // { }이 switch문의 범위입니다.
실행할 문장1; // case는 switch문에서 레이블을 지정하기 위한 예약어로 그대로 입력해야 합니다.
break; // 수식의 결과가 레이블과 일치한다면 해당하는 case에 들어가게 됩니다.
case 레이블2:
실행할 문장2;
break;
.
.
.
default: // 수식의 결과가 모든 레이블과 맞지 않는다면 들어가게 됩니다.
실행할 문장3;
}
- case문의 레이블에는 한 개의 상수만 지정할 수 있으며, int, char, enum 형의 상수만 가능합니다.
- case문의 레이블에는 변수를 지정할 수 없습니다.
- break문은 생략이 가능하지만 break문이 생략되면 수식과 레이블이 일치할 때 실행할 문장부터 break문 또는 switch문이 종료될 때까지 모든 문장이 실행됩니다.
728x90
goto문
goto문은 프로그램 실행 중 현재 위치에서 원하는 다른 문장으로 건너뛰어 수행을 계속하기 위해 사용하는 제어문입니다.
- goto문은 원하는 문장으로 쉽게 이동할 수 있지만 많이 사용하면 프로그램의 이해와 유지 보수가 어려워져 거의 사용하지 않습니다.
형식
goto 레이블; // 레이블로 이동합니다.
// goto문의 주소값입니다.
// '레이블'형태로 작성되며, 레이블명은 사용자가 원하는 이름을 임의로 지정할 수 있습니다.
레이블:
실행할 문장
728x90
반응형
'정보처리산업기사' 카테고리의 다른 글
정보처리산업기사 - 프로그래밍 언어 활용 - 배열과 문자열 (0) | 2024.08.16 |
---|---|
정보처리산업기사 - 프로그래밍 언어 활용 - 반복문 (0) | 2024.08.15 |
정보처리산업기사 - 프로그래밍 언어 활용 - 데이터 입 · 출력 (0) | 2024.08.13 |
정보처리산업기사 - 프로그래밍 언어 활용 - 연산 (0) | 2024.08.12 |
정보처리산업기사 - 프로그래밍 언어 활용 - 변수 (0) | 2024.08.11 |