본문 바로가기
언어/C

1. C언어의 소개와 C프로그램의 개발

by 코드 이야기 2019. 11. 4.
728x90

안녕하세요~ 오늘은 C 프로그램을 만드는 것을 배워볼 거예요~

 

 

목차

1. 프로그래밍 언어의 소개

2. C 프로그래밍

3. C 프로그램의 실행 과정

 

 

◆ 프로그래밍 언어 ◆

프로그래밍 언어는 사람과 컴퓨터가 대화를 할 수 있도록 해주는 언어입니다.

 

그리고 프로그래밍 언어는 크게 3개로 분류됩니다.

 

기계어

    - 기계가 사용하는 언어입니다. 한 번쯤은 보셨을 010100101 -> 2진수이죠.

      만약에 친구가 편지에 0100111010001이라고 써서 보내줬다면.... 한 대 때리고 싶죠?

      이런 걸 가독성이 떨어진다고 합니다. 프로그램을 만들 때에는 가독성이 정말 중요해요!

 

어셈블리어 

    - 기계어를 기호화한 언어입니다.

      mov eax, a;

      add eax, b;

      mov sum, eax;

      이렇게 생겨먹었습니다. 기계어에 비해 조금 읽기는 편해졌지만 여전히 가독성이 좋은 편이 아니죠.

      또한 어셈블리어는 CPU의 종류에 따라 다르게 프로그램을 만들어야 한다는 단점도 있어요.

 

▶ 고급언어 

    - 가장 대중적인 프로그래밍 언어입니다. (C, C++, C#, JAVA 등)

      printf("안녕");

      이렇게 생겼습니다. 딱 봐도 안녕을 화면에 보여줄 것 같은 느낌이 들죠. 가독성 최고!

 

고급언어 중에서도 C언어는 가장 널리 사용되고 있습니다.

대부분의 언어는 C언어를 기반으로 만들어졌을 정도로 C언어는 대단한 언어이고, 기초라고 할 수 있는 언어입니다.

그만큼 C언어 하나를 제대로 배워둔다면 대부분의 언어는 비슷하게 보일 것이고 금방 습득하는 게 가능해집니다!

자! 그러면 C 프로그램을 만들러 가봅시다!

 

 

 

 

◆ C 프로그래밍 ◆

프로그램의 개발 과정을 살펴볼까요?

요구사항 분석 (내가 만들고 싶은 프로그램이 무엇인지 정확하게 결정한다.)  ->  설계 (알고리즘을 설계한다.)  ->  구현 (프로그램을 작성한다.)  ->  테스팅 (프로그램을 여러 가지 상황을 가정하여 실행시켜본다.)  ->  유지보수 (추가적으로 있으면 하는 기능과 오류들을 수정한다.)

이런 식으로 프로그램 개발 과정을 거칩니다. 하나하나 정말 중요한 과정들이죠.

 

개발 과정을 알아봤으니 C 프로그램이 어떻게 생겼는지 함께 봅시다.

프로그램의 가장 기본 중의 기본! 출력을 하는 프로그램을 작성해줄 거예요!

 

/* 주석문 */

//주석문은 내가 작성한 프로그램을 컴퓨터가 컴파일을 할 때 처리해주지 않고 지나가는 부분이에요.

//때문에 내가 작성한 코드들의 부분이 어떤 역할을 해주는지 설명을 적는데에 많이 이용합니다.

#include<stdio.h> // 출력을 할 때 필요한 라이브러리를 포함시켜준다. 1)



int main(void) // 프로그램의 진입점 함수 2)

{ //함수의 시작 

    printf("hello world"); //"hello world"를 출력한다 3)


    return 0; //0을 반환한다. 4)

} //함수의 끝 

 

1)

라이브러리특정한 기능들을 모듈화 해놓은 것입니다.

프로그램을 만들 때 굉장히 도움이 많이 되어주는 친구예요.

 

#include <stdio.h> 

include ( 포함시킨다 )

stdio.h ( "standard input output"의 약자, 표준 입출력 형식을 헤더에 )

-> "표준 입출력 형식을 프로그램에서 사용할 수 있도록 포함시켜준다"는 뜻입니다.

 

결국!, stdio.h는 까만 창에 출력을 해주는 함수를 printf()라는 이름으로 만들어주는 녀석이에요.

그래서 이걸 쓰지 않으면 컴퓨터는 바보같이 "???printf가 뭔데...??"라며 오류를 띄웁니다.

 

 

2)

프로그램의 진입점 함수는 이름에서 대충 파악할 수 있듯이 진입점이 되어주는 함수입니다. 말 그대로 main이죠.

컴파일을 하게 된다면, 이 곳부터 시작해서 차례로 읽어가며 main이 끝나면 프로그램이 끝나는 것이죠.

 

int main(void)

int -> 정수의 형태로 값을 주어 시작한다.

main -> main함수를 사용한다.

(void) -> 아무 의미 없다.->안 써도 된다. (더 이상 추가로 받을 것이 없다.)

 

 

3)

출력을 하는 함수입니다.

 

큰따옴표 두 개의 사이에 있는 글자를 출력하는 역할을 하죠.

 

 

4)

아까 main함수에서 정수의 형태로 시작을 했죠? 그래서 끝도 0으로 끝내주는 것입니다.

"나는 정수로 시작하고 끝내기 싫은데???"라고 생각하신다면

 

void main(){

 

}

 

이런 식으로 사용하셔도 아무 문제가 없어요~

 

자 이렇게 프로그램을 작성하여 실행한다면 컴퓨터는 어떤 순서로 읽고 받아들일까요?? 보러 갑시다~

 

 

 

 

◆ C 프로그램의 실행 과정 ◆

① 소스코드 작성  →  전처리기  →  ③ 컴파일 및 링크  →  ④ 실행

 

1. 우선 소스코드를 작성해주어야겠죠.

2. 전처리기

   - #include, #define 등을 처리하여 컴파일할 소스코드의 준비를 마쳐줍니다.

3. 컴파일 및 링크

   - 컴파일을 하여 목적 파일을 만듭니다. 목적파일을 실행 파일로 만듭니다.

     문법적으로 오류가 있다면 이 부분은 실패하고 다시 소스코드를 고쳐주어야 합니다.

4. 실행 후에는 문법적으로는 오류가 없으나 원하지 않는 결과가 나올 수 있습니다.

   이런 오류를 논리 오류라고 합니다. 

 

- 컴파일

  기계가 사용하는 언어는 010101(2진수라고 하였죠??) 

  그렇기 때문에 고급언어를 기계어로 번역해주는 과정을 컴파일이라고 합니다.

 

 

 

첫 시간에는 이렇게 살짝 재미가 없는 이론 부분을 알아봤습니다.

 

그러나 C언어는 대부분의 언어의 기초가 되는 언어입니다!

대부분의 언어는 C언어와 비슷하게 만들어졌죠!

그만큼이나 중요한 C언어를 기초부터 차근차근 꼼꼼하게 알아가 봅시다!

 

 

*행복한 프로그래밍*

화이팅~!

 

 

 

728x90

'언어 > C' 카테고리의 다른 글

4. 함수(2)  (0) 2020.02.26
3. 함수(1)  (0) 2020.02.19
2. C프로그램의 구성 요소들  (0) 2019.12.23

댓글