C언어 학습자료.pdf

2.C언어 강의자료.pdf

CS50 Sandbox

clang -o hello hello/c -lcs50
./hello

들어가기 전에

그래픽 인터페이스로 상호작용성이 좋은 스크래치로도 간단한 프로그래밍을 할 수 있지만, 텍스트 기반의 프로그래밍 언어를 이용해도 컴퓨터에게 동일한 일을 하게 할 수 있다.

가장 널리 쓰이는 프로그래밍 언어중 하나인 C의 기초를 배워보고 C로 'hello, world'를 출력해보자

#stdio.h #clang #컴파일러

C언어

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/fa3193ac-e310-4448-a6d6-8af3582cc110/_2020-12-27__11.33.57.png

C는 아주 오래되고 전통적인 순수 텍스트 기반의 언어이다. 앞으로 있을 강의를 차근차근 듣다보면 위 모든 코드를 물론이고, 그 이상을 이해할 수 있을 것이다.

우선 검은색 바탕에 있는 이상한 글씨들은 아래의 스크래치 블록과 결과적으로 정확히 같다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/1084d601-d2eb-4e17-a439-c91a3c6ca992/mceclip1.png

하나하나 설명하자면 init main(void)는 스크래치의 '초록색 깃발을 클릭했을 때' 블록과 같은 역할을 한다. 즉 '시작한다'의 의미를 가지고 있다고 보면 된다.

앞으로 우리가 작성할 코드 모두는 이 init main(void) { }의 중괄호 사이에 작성하게 될 것이다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/d01922fd-2ade-454f-933e-0800a4f28fde/mceclip2.png

C에서는 스크래치에서의 say라는 함수는 없다. 대신에 printf라는 함수가 있다.(f는 형식화된 형태를 의미함) printf('hello, world\\n') 은 스크래치의 "say hello, world" 블록과 같은 역할을 한다. 글자나 단어, 문장을 적을 때는 언제나 텍스트에 쌍따옴표("")로 감싸야 한다.

그리고 우리가 일상에서 문장의 끝에 마침표(.)를 붙이는 것처럼 C에서는 **세미콜론(;)**을 붙여야 한다. (아래 사진파일에는 나와있지 않지만 \\n는 줄바꿈의 기능을 한다. 키보드에서 enter 기능과 동일하다.)

위 여러가지 기능은 C에서 중요하게 사용되는 기본적이 내용이므로 꼭! 기억하자

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/223bb012-3700-4ecf-a906-8c65dd994e9c/mceclip3_(1).png