About C – “구조적 프로그래밍”

About C – “구조적 프로그래밍”

10월 1, 2021

구조적 프로그래밍이란?

바로 앞에 썼던 About C 시리즈의 글은 함수였습니다. 함수는 큰 프로그램 하나를 여러 개의 모듈로 분할하여 구현하는 구조적 프로그래밍의 기본입니다.

구조적 프로그래밍 스타일이란 “나누어 정복한다”는 것입니다. 각각의 기능을 함수로 구현하고, 합치는 것이지요. 두 수의 평균을 구하고 출력하는 프로그램을 3번 반복한다고 가정해 봅시다.

#include <stdio.h>

int main()
{
    double a = 1.0, b = 4.0, c = 9.0;
    double d = 5.0, e = 2.6, f = 12.0;
    double average;
    average = (a+b)/2;
    printf("1.0과 4.0의 평균은, %f\n",average);
    average = (c+d)/2;
    printf("9.0과 5.0의 평균은, %f\n",average);
    average = (e+f)/2;
    printf("2.6과 12.0의 평균은, %f\n",average);
    return 0;
}

/*
1.0과 4.0의 평균은, 2.500000
9.0과 5.0의 평균은, 7.000000
2.6과 12.0의 평균은, 7.300000
*/

하지만, 우리는 함수를 배웠습니다. 평균을 구하는 avearge라는 함수를 만들어서, 원할 때 호출하는 것으로 대체할 수 있겠습니다. 이렇게 하면, 코드의 유지 보수가 쉬워질 것입니다. 예컨대, 두 수의 평균이 아니라 차를 구해야 하는 부분이라면, 일일이 코드를 뜯어고치는 대신에 평균을 구하는  함수 부분만 고쳐주면 편할 테니까요.

#include <stdio.h>
void average(double x, double y); // 함수를 선언했습니다.
int main()
{
    double a = 1.0, b = 4.0, c = 9.0;
    double d = 5.0, e = 2.6, f = 12.0;

    average(a, b);
    average(c, d);
    average(e, f);
    return 0;
}

void average(double x, double y)
{
    printf("%f와 %f의 평균은, %f\n", x, y, (x+y)/2);
}

처럼 해볼 수 있겠습니다.  제가 이해한 구조적 프로그래밍의 개념과 예시입니다.

Leave A Comment

Avada Programmer

Hello! We are a group of skilled developers and programmers.

Hello! We are a group of skilled developers and programmers.

We have experience in working with different platforms, systems, and devices to create products that are compatible and accessible.