챕터 1-1 : 코딩이란, (1)
컴퓨터의 언어는 인간의 언어와는 다릅니다.
보통 사람과 사람이 소통하기 위해 사용하는 영어, 한국어 등의 언어들은 자연어라고 부르며
사람과 컴퓨터가 소통하기 위해 사용하는 언어를 프로그래밍 언어라고 부르며
특정 프로그래밍 언어를 선택하여 원하는 컴퓨터가 원하는 동작을 수행하도록 하는 행위를 코딩이라고 부릅니다.
[챕터 1-2 : Low-Level Language와 High Level Language (1)]
우리가 외국어를 들었을 때 머릿속에서 최종족으로 한국어로 번역해서 이해하듯이
모든 컴퓨터는 프로그래밍 언어를 최종적으로 0과 1로 이루어진 기계어로 번역하여 이해합니다.
Low-Level Language는 어셈블리어와 같이 프로그래머가 직접 메모리에 접근하고 통제하는 등의 고급 기능을 지원하며
기계어로 변환되는 속도가 빨라지나 숙련되기 어려워 생산성이 떨어지며 비교적 심각한 오류가 발생할 확률이 높은 단점이 있습니다.
High-Level Language는 C#, Python 등과 같이 쉽게 배울 수 있고, 프로그래머 친화적이나 기계어로 번역되는데 비교적 오랜 시간이 걸리는 언어들을 의미합니다.
이러한 언어들은 Low-Level Language와는 다르게 메모리에 대한 직접 통제가 제한적이지 생산성이 높습니다.
[챕터 1-3 : Compiler (1)]
위에서 설명하였듯이 컴퓨터는 0과 1로 이루어진 기계어만을 이해하고 실행할 수 있습니다.
여러 프로그램 언어로 작성된 지시서를 [소스코드]라고 부르는데, 컴파일러는 이러한 코드를 컴퓨터가 실행시킬 수 있는 기계어로 번역해주는 역할을 합니다.
이러한 컴파일 과정과 링킹이라고 부르는 추가 과정을 합쳐 실제로 유저가 실행시킬 수 있는 파일, 내지는 라이브러리 파일을 생성해주는 것을 빌드라고 부릅니다.
[챕터 1-4 : 프로젝트와 소스코드 생성 (1)]
Visual Studio 기준으로 가장 최상위에 있는 것이 솔루션입니다.
하나의 솔루션은 여러 개의 프로젝트로 이루어져 있으며 하나의 프로젝트는 여러개의 소스코드와 헤더파일, 그리고 기능 참조를 위해 연결된 동적 라이브러리들로 구성되어 있습니다.
[챕터 1-5 : main() 함수와 printf() 함수 (1)]
하나의 솔루션에는 복수의 함수가 존재할 수 있습니다.
대부분의 함수는 다른 함수에서 호출을 해 주어야 하는데 main 함수는 별도로 프로그래머가 호출할 필요 없이 시스템에서 가장 먼저 자동으로 호출해주는 함수를 뜻합니다.
함수는 시작이 되었다면 끝맺음이 있어야 합니다.
이 끝맺음을 의미하는 것이 return 키워드 입니다.
함수 내에서 콘솔화면에 무언가 출력하고 싶다면 printf 함수를 사용해야 합니다.
printf 함수는 printf("문자열"); 과 같은 꼴로 화면에 문자를 출력해주며
\(역슬래시)로 시작하는 여러 개의 탈출 문자열을 추가로 받을 수 있습니다.
대표적인 탈출 문자열로는
\n(개행), \t(탭), \'(따옴표 출력) \"(쌍따옴표 출력), \\(역슬래시 출력) 등이 있습니다.
[챕터 1-6 : 서식지정자 (1)]
c에서 사용자 입력을 위해 사용하는 scanf를 통해 변수에 값을 대입하거나, printf에서 고정된 값이 아닌 변수를 출력하고자 한다며
서식지정자를 사용해야 합니다.
대표적인 서식지정자는
%d(10진수), %o(8진수), %s(문자열), %c(문자), %f(float형 실수) 등이 있습니다.
[챕터 1-7 : 리터럴 (1)]
리터럴은 코드에 적힌 값을 의미합니다.
정수, 실수, 문자열, 문자 등 모든 값이 각각의 리터럴이 됩니다.
[챕터 1-8 : 자료형 (1)]
자료형이라 하는 것은 해당 리터럴이 어떤 타입인지를 의미합니다.
대표적인 자료형은 int(정수), float(실수), double(실수), char(문자), bool(True/False 디지털 값) 등이 있습니다.