지금까지 학습한 내용을 토대로 프로그램의 작성 순서를 살펴보면 이렇습니다.
- 데이터 저장 공간 확보 (변수, 배열)
- 데이터를 확보된 공간에 입력 (scanf)
- 데이터 가공 (연산자)
- 화면에 출력 (printf)
이번에 배울 것은 제어문입니다. 제어문은 위와 같이 그대로 흐르는 것이 아닌, 조건에 따라 실행하거나 실행하지 않아야 할 때 사용합니다. 제어문은 선택문과 반복문 그리고 분기문으로 나뉘어집니다. 먼저 선택문을 살펴보도록 하겠습니다.
if문
바로 예제를 통해 실행 과정을 알아보겠습니다.
#include <stdio.h>
int main (void)
{
int a = 20;
int b = 0;
if (a > 10)
{
b = a;
}
printf("a : %d, b : %d\n", a, b);
return 0;
}
//실행 결과
a : 20, b : 20
먼저 a는 20으로 초기화됩니다. a > 10 이 참이므로 실행문 b = a 가 수행됩니다. 따라서 b는 a와 같은 값 20을 가지게 됩니다. 만약 5행에서 a를 5로 초기화했다면 a > 10은 거짓이 되어 실행문이 실행되지 않고, b는 초깃값 0을 그대로 유지합니다.
그렇다면 조건을 만족하지 못할 때에도 별도의 실행문이 있으려면 어떻게 해야 할까요?
if ~ else문
바로 예제를 통해 실행 과정을 알아보겠습니다.
#include <stdio.h>
int main (void)
{
int a = 10;
if (a >= 0)
{
a = 1 ;
}
else
{
a = -1;
}
printf("a : %d\n",a);
return 0;
}
//실행 결과
#include <stdio.h>
int main(void)
{
/*
윤년 --> 4년마다, 그렇지만 100년 단위일 때는 윤년에 해당하지 않도록 설정
윤년 --> 400년 단위일 때는 어떤 상황이던간에 윤년으로 설정
*/
int year = 2016;
if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
printf("%d년은 윤년입니다.\n", year);
}
else
{
printf("%d년은 윤년이 아닙니다.\n", year);
}
return 0;
}
~else if문
3개 이상의 실행문에서 반드시 하나를 선택하는 경우 사용합니다. 예제를 보겠습니다.
#include <stdio.h>
int main (void)
{
int a = 0, b = 0;
if (a > 0)
{
b = 1 ;
}
else if (a == 0)
{
b = 2;
}
else
{
b = 3;
}
printf("b : %d\n",b);
return 0;
}
//실행 결과
b : 2
다음은 점수에 따른 학점을 계산하는 프로그램입니다.
#include <stdio.h>
int main(void)
{
int score = 85;
if(score >= 90)
{
printf("A");
}
else if(score >= 80)
{
printf("B");
}
else if(score >= 70)
{
printf("C");
}
return 0;
}
//실행 결과
B
확인 문제
윤년을 계산하는 프로그램을 작성하세요. 윤년은 4의 배수이지만 100의 배수는 아니어야 합니다. 그러나 400의 배수는 무조건 윤년으로 간주합니다.
더보기
#include <stdio.h>
int main(void)
{
int year = 2023;
if ((year % 4 == 0 && year % 100 !=0) || year % 400 == 0)
{
printf("%d년은 윤년", year);
}
else
{
printf("%d년은 윤년이 아님", year);
}
return 0;
}
//실행 결과
2023년은 윤년이 아님
'Development > C' 카테고리의 다른 글
(C언어 기초) 9. 반복문 활용 (0) | 2023.08.30 |
---|---|
(C언어 기초) 8. 반복문 while, for, do ~ while (0) | 2023.08.29 |
(C언어 기초) 6. 연산자(2) (0) | 2023.08.28 |
(C언어 기초) 5. 연산자(1) (0) | 2023.08.27 |
(C언어 기초) 4. 데이터 입력, scanf() (2) | 2023.08.26 |
댓글