More actions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
__TOC__ | __TOC__ | ||
= 프로그래밍 언어란? = | = 수업 내용 = | ||
== 프로그래밍 언어란? == | |||
* 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다. | * 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다. | ||
[[File:새싹교실__2017__꽃밭__0324__sample.png|560]] | [[File:새싹교실__2017__꽃밭__0324__sample.png|560]] | ||
| Line 8: | Line 9: | ||
그래서 프로그램 실행 속도가 빠릅니다. | 그래서 프로그램 실행 속도가 빠릅니다. | ||
* '''컴파일러'''는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요. | * '''컴파일러'''는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요. | ||
= C코드는 어떻게 .exe가 되나 = | == C코드는 어떻게 .exe가 되나 == | ||
* Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요, | * Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요, | ||
사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다. | 사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다. | ||
| Line 19: | Line 20: | ||
그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 '''디버깅'''이라고 부릅니다. | 그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 '''디버깅'''이라고 부릅니다. | ||
* 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7. | * 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7. | ||
= Visual Studio는 컴파일러인가? = | == Visual Studio는 컴파일러인가? == | ||
* 컴파일러이기도 하고, 아니기도 하죠. | * 컴파일러이기도 하고, 아니기도 하죠. | ||
* 왜냐하면 IDE이기 때문입니다. | * 왜냐하면 IDE이기 때문입니다. | ||
| Line 25: | Line 26: | ||
* C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다 | * C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다 | ||
* 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다. | * 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다. | ||
= Hello World! 코드 뜯어보기 = | == Hello World! 코드 뜯어보기 == | ||
여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다. | 여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다. | ||
| Line 58: | Line 59: | ||
} | } | ||
그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 '''변수'''입니다. | 그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 '''변수'''입니다. | ||
= 변수와 자료형 = | == 변수와 자료형 == | ||
컴퓨터는 메모리에 정보를 저장합니다. 메모리는 대략 이렇게 생겼습니다. | 컴퓨터는 메모리에 정보를 저장합니다. 메모리는 대략 이렇게 생겼습니다. | ||
[[File:memory.png|460]] | [[File:memory.png|460]] | ||
Revision as of 09:36, 25 March 2017
수업 내용
프로그래밍 언어란?
- 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다.
- 사람이 이해하기 쉬울수록 high level, 컴퓨터가 이해하기 쉬울수록 low level이라고 하죠.
- high level language에는 Python, Java 등이 있고 low level language에는 assembly, 기계어(0과1)가 있습니다.
- C는 high level language이지만 다른 high 언어에 비해서는 상대적으로 low 쪽에 가까운 언어이죠.
그래서 프로그램 실행 속도가 빠릅니다.
- 컴파일러는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요.
C코드는 어떻게 .exe가 되나
- Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요,
사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다.
- 컴파일은 여러분이 작성한 .c파일을 기계어로 변환하는 과정입니다. 여기서 .obj 라는 기계어 파일이 생깁니다.
- 그러나 그 기계어 파일에는 빈 곳이 있지요. 링크는 그 빈곳을 매워주는 과정입니다.
#include<stdio.h>의 stdio.h 파일이 이 과정에서 include가 되지요. 링크가 끝나면 비로소 .exe 파일이 생성됩니다.
- 그런데 막상 exe파일을 실행해보니 내가 코드를 잘못 작성했는지 결과가 제대로 나오질 않습니다.
그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 디버깅이라고 부릅니다.
- 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7.
Visual Studio는 컴파일러인가?
- 컴파일러이기도 하고, 아니기도 하죠.
- 왜냐하면 IDE이기 때문입니다.
- C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다
- 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다.
Hello World! 코드 뜯어보기
여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다.
#include <stdio.h>
int main(){
printf("hello world!\n");
return 0;
}
여기서 가장 중요한 것은
{color:red}함수
인데요, 함수란 기능의 단위입니다.
C 프로그램은 이런 함수들이 모여서 만들어집니다. 그러나 아무리 함수를 잘 작성해도 main함수가 없으면 소용이 없어요. main함수는 건물의 기반 같은 함수입니다. C 프로그램 하나당 꼭 하나의 main함수가 필요해요
{font-size:20px}scanf함수
위의 코드에 입력 받는 부분을 추가해 보겠습니다.
#include <stdio.h>
int main(){
int number;
printf("hello world!\n");
scanf("%d", &number);
return 0;
}
그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 변수입니다.
변수와 자료형
컴퓨터는 메모리에 정보를 저장합니다. 메모리는 대략 이렇게 생겼습니다.
메모리에는 여러 칸이 있고, 이 칸에 정보가 들어가게 됩니다.
그러나 무턱대고 아무 칸에나 정보를 넣을 수 있는 것이 아니에요.
그 전에 먼저 '내가 이 칸을 쓸거다'라고 말을 해주어야 하는데, 그 때 사용하는 것이 변수입니다.
변수는
{color:red}정보를 담는 그릇
입니다. 절대 숫자가 아니에요
그런데 변수에 넣게 되는 값들은 크기와 모양이 다 다릅니다.
작은 값이 있으면 큰 값도 있고, 실수, 정수, 심지어 문자도 있죠.
이런 다양한 값들을 같은 그릇에 담을 수는 없겠죠?
그래서 변수에도 여러 종류가 있게 되는데요, 이러한 변수의 형태를 자료형이라고 부릅니다.



