본문 바로가기
Programming/1. boostcourse - 'CS50'

Ep 3-1. C언어 기초

by @sangseophwang 2021. 4. 7.

@C language

Hello, World!

 프로그래밍 언어를 제일 처음 써볼 때 항상 쓰는 말이 저 'hello world' 이다. 프로그래밍 세상으로의 인사같은 말이라고 생각하면 될 것 같다. 아무튼, 드디어 boosecourse CS50 강의에서 배운 C언어 기초에 대해 정리해보고자 한다.

 

 C는 아주 오래되고 전통적인 순수 텍스트 기반의 언어이다. 저수준 언어라고도 불리는데, 수준이 높을수록 인간 친화적인 언어이고 낮을수록 기계어에 가깝다. 그만큼 C언어가 낯설게 느껴지는건 지극히 당연하다고 생각한다. 하지만 개념을 조금만 이해하고 배우면 아마 그 낯설음이 많이 사라질거라고 생각한다. 우선 지난 게시글의 스크래치 언어를 C언어로 바꾼 사진을 보자.

 

스크래치 언어를 C언어로 동일하게 표현한 모습이다. 둘 다 결과물은 hello, world 이다.

 C언어를 하나씩 뜯어보자면, int main(void) 는 스크래치의 "초록색 깃발을 클릭했을 때" 퍼즐과 같은 역할을 한다. 즉 실행(run) 의 의미를 지닌다. 앞으로 작성할 코드 모두는 이 int main(void) {} 의 중괄호 사이에 작성하게 될 것이다.

 

Say hello, world!

 C에서는 say 라는 함수 대신 printf 를 사용한다. 사용 방법은 printf를 치고 괄호를 만든 다음 " " 쌍따옴표 안에 출력될 내용을 작성하면 된다. 그리고 괄호를 닫은 뒤 반드시 세미콜론(;) 을 붙여야 한다. 

 

실습 결과물. 간단한 설명은 아래에 작성하도록 하겠다.

간단 정리

  1. #include <stdio.h> : C 표준 라이브러리 중 하나인 stdio.h라는 헤더 파일에 선언된 내용을 포함한다는 뜻. 이 문장을 쓰지 않으면 printf 함수의 선언을 찾을 수 없다는 컴파일 오류가 발생한다.
  2. int main(void){} : "시작한다" 의 의미. 입력이 없고 int형으로 출력 받는 메인 함수.
  3. printf("\n"); : "말해라" 의 의미. 출력하는 함수이며 규칙은 작성해놓은 방식으로 한다.
  4. $ : 프롬프터. 위에 \n을 입력해야 사진처럼 프롬프터가 아래로 생긴다.
  5. clang -o hello hello.c : “clang” 이라는 컴파일러로 “hello.c”라는 코드를 "hello" 라는 이름으로 컴파일하라는 의미
  6. ./hello : "hello" 실행
반응형

댓글