*프로그램이란 ?

 

- 어떤 목적을 이룰수 있도록 프로그래밍 언어로 진행 순서를 기술한 것을 프로그램이라고 한다.

 

- 프로그램이란 보통 어떤 작업이 나열된 계획표 또는 순서표를 뜻한다.

 

- 프로그램은 컴퓨터에게 작업할 일을 순서대로 알려주기 위해 만든 파일이라 할수있다.

 

- 확장자가 .exe인 파일을 의미한다. (실행파일)

 

- 컴퓨터가 작업할 내용을 컴퓨터가 이해할 수 있는 언어(기계어)로 만들어져있다. 

 

 

#프로그래밍 언어란 ?

 

- 컴퓨터는 2진숫자(0과1)로 이루어진 기계어를 사용한다.

 

- 사람들이 사용하기 편한 언어로 작성한 작업내용을 기게어로 번역할수 있도록 번역한다. (컴파일)

 

- 프로그래밍 언어는 컴파일러와 약속한 표현을 사용해야한다.

 

- 각 상황에 맞게 특화된 프로그래밍 언어가 만들어지기 시작했으며, 그중하나가 C언어이다.

 

- 결국 프로그래밍 언어란 사람에게 친숙한 표현법을 사용하여 프로그래밍할 수 있도록 만든 언어이다.

 

 

#C언어의 탄생

 

- 1960년대 개발되었던 운영체제들은 하드워에 종속적인 언어를 사용하여 개발되었다.

  따라서 하드웨어가 바뀌면 운영체제의 많은 부분을 다시 개발해야했다.

 

- 벨 연구소의 데니스 리치 와 켄 톰슨은 이런 불편함을 없애고자 하드웨어가 변경되어도 프로그램을

  다시 작성하지 않아도 되는 운영체레를 만들기 위해 노력했다.

 

- 1970년에 켄 톰슨이 B언어를 만들었지만 이 언어도 독립된 운영체레를 만드는 데 적합하지 않았다.

 

- 1972년 켄 톰슨은 데니스 리치와 함께 새로운 언어를 개발 이것이 C언어이다.

 

 

#C언어의 특징

 

- C언어는 유닉스 운영체제를 만드는 데 사용한 프로그래밍 언어이다.

 

#C언어의 4가지 특징

 

1. C언어는 구조화된 언어이다

 

 - 일정한 단위로 명령들을 그룹으로 묶는 방법을 제공 , 작업 단위가 명확하게 구분되어 유지 보수가 편리

   자신이 원하는 작업을 분리하기도 쉽기 때문에 새로운 프로그램을 개발할 때 재사용하기에도 좋다.

 

2. C언어는 이식성이 높다

 

 - C언어로 만든 프로그램을 거의 수정하지 않고 다른 하드웨어 또는 운영체제로 가져갔을 때도 잘 동작한다는 뜻이다.

   하드웨어에 종속적일 수 있는 부분을 C언어에서 분리해 런타임 라이브러리(Runtime Library)라는 개념을 제공한다.

 

3. C언어는 확장성이 좋고,표현법이 다양해서 자기만의 표현법을 개발할 수 있다.

 

 - 다른 언어에 비해 표현법이 더 많고, 개발자가 개발 상황에 따라 선택할 수 있는 문법 구조나 표현법이 다양하여 자율성이 높다.

 

4. C언어는 생산성이 높다.

 

 - C언어를 사용하는 프로그래머들은 스스로 개발 인프라(명령,그룹,함수)를 구축하기 때문에 경력이 쌓일수록 인프라가 다양해져서

   프로그램 개발 속도가 빨라진다. 그뿐 아니라 사용자의 여려가지 요구에대해 스스로 대처할수 있기때문에 완성도와 만족도가

   더 높을수 밖에없다.

 

 

#C프로그램 실행파일

 

 

#소스파일(*.c)

 

- 소스파일(Source File)은 프로그래머가 만들고 싶은 프로그램을 C언어 문법을 사용해서 작성한 파일이다. (텍스트 파일 형식)

 

- 대부분의 개발자들이 C언어 소스파일을 구별할때 .c 확장자를 사용하기 때문에 파일 확장자는 .c를 사용한다.

 

 

 

#목적파일(*.obj)

 

- 목적파일은(Object File)은 컴파일러(번역기)가 소스파일을 컴파일하면 만들어지는 파일이다.

 

- 컴파일러가 실행 파일을 만드는 시간을 줄이기 위해 만드는 파일이기도 하다.

 

- 내용이 많은 소스파일에서 비슷한 작업들을 모아서 여러 개의 파일로 나누고 각각의 파일을 컴파일 하는 방식을 사용한다.

 

 

 

# 실행파일(*.exe)

 

- 실행파일(Executable File)은 컴퓨터에서 실행할 수 있는 파일을 말한다.

 

- 하나이상의 목적파일을 연결자(Linker)가 연결(Link)해서 실행파일을 만든다.

 

- 이렇게 만들어진 실행파일은 기게어로 나열된 프로그램 파일로서 더 이상의 컴파일 작업 없이 컴퓨터에서 바로 실행가능하다.

 

- 실행 파일의 확장자나 형식은 운영체제마다 다르다.

 

 

#Visual Studio 다운

 

https://www.visualstudio.com/

 

 

 

 

 

 

#Visual Studio로 만드는 간략한 소스 설명

 

 

 

 

 

 

# #include <stdio.h>

 

- C언어에서는 #으로 시작하는 문장을 전처리기라고 부른다.

 

- 전처리기(Preprocessor)는 미리,사전에 처리한다는 뜻이다.

 

- 소스 코드를 번역하기 위해 stdio.h 파일을 먼저 참조해야하는데 그 이유는

   stdio.h 파일에 main함수에서 사용한 printf 함수를 사용하기 위한 정보가 기록되어있기 때문이다.

 

- 전처리기는 끝에 ( ; ) 세미콜론을 사용하지 않는다.

 

 

 

#main , 함수

 

- 프로그램의 시작을 나타내려면 main함수를 반드시 정의해야 한다.

 

- 함수(function) : 특정 기능을 수행하는 처리 단계들을 괄호로 묶어서 이름을 붙인것

 

- 함수는 프로그램을 구성하기 위한 기본적인 단위이다.

 

- 함수는 여러개의 문장으로 이루어져있다.

 

- 문장들은 순차적으로 실행된다.

 

- 문장의 끝에는 반드시 ( ; ) 세미콜론이 있어야 한다.

 

- { }를 사용하여 자신의 영역을 표현해야 한다.

 

 

 

#void

 

- '정해지지 않았다'는 의미의 예악어(Reserved word)이다. 

 

- '없다'라는 의미로도 많이 사용된다.

 

- main앞에 있는 void는 '함수의 수행 결과 값이 정해지지 않았다' 라는 뜻이고

  main뒤 ()괄호 안에 있는 void는 'main 함수로 전달되는 정보가 정해지지 않았다' 라는 뜻이다.

 

 

 

#printf("Hello World");

 

- printf는 C언어의 표준 출력함수이다.

 

- 모니터 등의 콘솔(Console)화면에 'Hello World'라고 출력한다.

 

- 문장 끝에 반드시 ( ; ) 세미콜론을 반드시 입력해야 오류가 발생하지 않는다.

 

 

 

 

#주석

 

- 상황을 설명하거나 작업내욜을 기억하기 위해 소스 파일에 메모를 남기는 것

 

- 주석은 컴파일러가 번역을 하지 않으므로 어떤 내용을 적어도 상관없다.

 

 

 

 

#들여쓰기

 

- 들여쓰기(indentation) :  같은 수준에 있는 문장들을 왼쪽 끝에서 몇자 안으로 들여쓰는 것

 

- 주석을 사용하지 않으면 무슨 처리를 하고있는 프로그램인지 알기 어렵고 들여쓰기를 사용하지 않으면 

  문장을 구분하기 어렵기 때문에 코드의 가독성을 높이기위해 주석과 들여쓰기는 사용해주면 좋다.                                                               

+ Recent posts