본문 바로가기
cs/CS50

2: C언어 -1(C언어 기본)

by 이쟝 2021. 11. 24.

C언어의 기본형태

  • #include <stdio.h>라는 이름의 파일을 찾아서 "printf" 함수에 접근할 수 있도록 함
  • <stdio.h>는 라이브러리로 누군가 이미 작성해둔 코드이며 헤더파일로 C언어로 작성이 되어 있고, 파일명이 .h로 끝나는 파일
  • int main(void)는 '시작한다'는 의미를 가짐
  • printf(“hello, world”)는 “hello, world”라고 말하기라는 역할로 뭔가를 화면 상에 출력하고 싶을 때 사용하는 함수
  • 글자나 단어, 문장을 적을 때 언제나 텍스트에 "  "큰따옴표로 감싸고 마칠 때는 세미콜론(;)으로
  • C로 작성한 코드는 “파일이름.C”로 저장해야 함(확장자 “.c”는 C로 작성된 코드를 뜻함

 


1. 컴파일러

  • “source code”: C나 파이썬, 자바, C++와 같이 들어본 적 있는 언어들로 작성된 영어와 유사한 코드(직접 작성한 코드)
  • “machine code”: 컴퓨터가 실제로 이해하는 0과 1의 조합
  • 소스코드를 머신코드로 변환해야 컴퓨터가 이해할 수 있음 이러한 작업을 컴파일러라고 함
  • 컴파일러: 소스코드로부터 머신 코드를 얻기 위해서 번역을 수행하는 알고리즘 혹은 소프트웨어

<실습하기>

 

1) 코드를 적고 난 뒤 터미널창의 명령어 프롬포트(터미널)에서 “$” 기호 옆에 원하는 명령어를 입력하기

2) clang(코드를 컴파일하는 프로그램의 이름)으로 “hello.c”라는 코드를 컴파일하라!

3) 그 결과 a.out이라는 파일이 생성됨

4) ./a.out에서 제일 앞에 있는 .은 지금 현재 폴더를 나타냄 이 명령어를 실행하면 컴퓨터가 현재 디렉토리에 있는 a.out이라는 프로그램을 실행하게 해 줌

5) 그러면 머신코드로 된 a.out파일이 실행됨!

6) $를 없애주기 위해서 \n 줄바꿈 표시를 추가!

7) 그리고 다시 clang을 이용해 hello.c를 컴파일 한 뒤 컴파일된 파일을 불러온다!

 

그외의 명령어 

1) ls  

- 현재 폴더나 디렉토리에 있는 파일의 리스트를 보여줌! a.out은 실행될 수 있는 머신코드로 이루어져 있기 때문에 *이 붙음!(*는 실행 가능하다는 뜻)

- 머신코드와 소스코드를 구분할 수 있음

 

 

2) rm

파일을 삭제함! 저 질문에 y나 yes를 하면 파일이 삭제됨!

 

 

이 외에도 더 많은 명령어가 있음!

 

https://www.boostcourse.org/cs112/joinLectures/41307

 

모두를 위한 컴퓨터 과학 (CS50 2019)

부스트코스 무료 강의

www.boostcourse.org

 

'cs > CS50' 카테고리의 다른 글

2: C언어-3(조건문과 반복문)  (0) 2021.11.24
2: C언어-2(문자열)  (0) 2021.11.24
1: 컴퓨팅 사고-3(알고리즘 기초)  (0) 2021.11.23
1: 컴퓨팅 사고-2(아스키코드)  (0) 2021.11.23
1: 컴퓨팅 사고-1(2진법과 비트)  (0) 2021.11.23