C언어 예제 #5 (if, switch, for, while, do while )
C언어에서 제어 구조는 프로그램이 특정 조건에 따라 실행 흐름을 변경할 수 있도록 도와줍니다. C언어에서는 주로 조건문(if, switch)과 반복문(for, while, do-while)을 사용하여 제어 구조를 구현합니다.
1. 조건문(Conditional statement) 조건문은 주어진 조건이 참일 때만 특정 코드를 실행하도록 하는 구문입니다.
- if문
if문은 주어진 조건이 참일 때 코드를 실행합니다. 예를 들어, if문을 사용하여 입력받은 숫자가 짝수인지 홀수인지 판별하는 코드를 작성할 수 있습니다.
#include <stdio.h>
int main()
{
int num;
printf("숫자를 입력하세요: ");
scanf("%d", &num);
if(num % 2 == 0) // 입력받은 숫자가 2로 나누어 떨어지는 경우
{
printf("%d는(은) 짝수입니다.", num);
}
else // 입력받은 숫자가 2로 나누어 떨어지지 않는 경우
{
printf("%d는(은) 홀수입니다.", num);
}
return 0;
}
- switch문
switch문은 여러 가지 경우에 대해 조건을 검사하고, 해당하는 경우에 실행되는 코드를 지정합니다. 예를 들어, switch문을 사용하여 계산기 프로그램을 작성할 수 있습니다
#include <stdio.h>
int main()
{
int num1, num2, result;
char operator;
printf("첫 번째 숫자를 입력하세요: ");
scanf("%d", &num1);
printf("두 번째 숫자를 입력하세요: ");
scanf("%d", &num2);
printf("연산자를 입력하세요(+, -, *, / 중 하나): ");
scanf(" %c", &operator);
switch(operator)
{
case '+': // 덧셈
result = num1 + num2;
break;
case '-': // 뺄셈
result = num1 - num2;
break;
case '*': // 곱셈
result = num1 * num2;
break;
case '/': // 나눗셈
result = num1 / num2;
break;
default: // 잘못된 연산자 입력 시
printf("잘못된 연산자입니다.");
return -1;
}
printf("%d %c %d = %d", num1, operator, num2, result);
return 0;
}
2. 반복문(Loop statement) 반복문은 조건이 참인 경우에 한해 코드를 반복적으로 실행할 수 있도록 도와줍니다.
- For문
for문은 반복 실행에 있어서 초기화, 조건, 증감을 모두 한 곳에서 처리할 수 있습니다. 일반적으로 반복 횟수가 정해진 경우에 사용합니다. 예를 들어, for문을 사용하여 구구단을 출력하는 코드를 작성할 수 있습니다.
#include <stdio.h>
int main()
{
int dan, i;
printf("출력하고 싶은 단을 입력하세요: ");
scanf("%d", &dan);
for(i = 1; i <= 9; i++) // 1부터 9까지 곱셈 결과 출력
{
printf("%d x %d = %d\n", dan, i, dan * i);
}
return 0;
}
- while문
while문은 조건이 참인 경우에 반복적으로 코드를 실행합니다. 조건이 거짓이 될 때까지 계속 실행하므로, 반복 횟수가 정해져 있지 않은 경우에 사용합니다. 예를 들어, while문을 사용하여 1부터 10까지의 합을 구하는 코드를 작성할 수 있습니다.
#include <stdio.h>
int main()
{
int sum = 0, i = 1;
while(i <= 10) // 1부터 10까지 덧셈 실행
{
sum += i;
i++;
}
printf("1부터 10까지의 합: %d", sum);
return 0;
}
- do-while문
do-while문은 while문과 비슷하지만, 조건 검사를 반복문 끝에서 하기 때문에 조건이 거짓이더라도 한 번은 코드를 실행합니다. 예를 들어, do-while문을 사용하여 정수를 입력받아서 1부터 입력한 수까지의 합을 구하는 코드를 작성할 수 있습니다.
#include <stdio.h>
int main()
{
int num, sum = 0, i = 1;
printf("정수를 입력하세요: ");
scanf("%d", &num);
do // 1부터 입력받은 수까지 덧셈 실행
{
sum += i;
i++;
}
while(i <= num);
printf("1부터 %d까지의 합: %d", num, sum);
return 0;
}