머리말
참고 자료
C언어에서 배울 내용 소개
- functions
- conditions
- Boolean expressions
- loops
C언어 작성
hello.c 파일
- hello world 출력 코드
#include <stdio.h>
int main(void)
{
printf("hello, world!");
}
printf
- printf에서 f는 format(형식)을 뜻한다
- 괄호 안의 문장을 출력하라는 뜻
include
- 작성한 함수가 어디서 저장되어 있는지를 알려주어야 한다
- stdio.h 파일을 참고하라는 뜻
컴파일러와 파일 실행
컴파일러(compiler)
- 저번 시간에 배운 이진법에 의하면, 컴퓨터는 0과 1만 이해한다. C 언어 또한 이해하지 못함.
- 소스 코드를 기계어(머신 코드)로 변환하는 과정이 필요함
- 소스 코드는 영어와 유사한 코드, 기계어는 컴퓨터가 이해할 수 있는 이진법의 코드
- 두 코드를 번역하는 프로그램을 컴파일러라 한다.
- $는 프롬프트를 의미함
clang 명령어를 통한 컴파일
clang 명령어를 통해 hello.c 파일을 컴파일하여 a.out 파일 생성
$ clang hello.c
a.out 파일 실행
$ ./a.out
hello, world!$
- 다음 줄로 가라는 코드가 없었기에 프롬프트($)가 다음 줄로 넘어가지 않고 현재 줄에 머무른다.
줄바꿈 문자(\n)를 추가하여 다음 줄로 이동하기
- 문장의 맨끝에 줄바꿈 문자를 추가하여 다음 줄로 가도록 해야 한다.
#include <stdio.h>
int main(void)
{
printf("hello, world!\n");
}
- 수정한 내용은 다시 컴파일 되어야 한다.
- 기존의 컴파일 된 파일은 이것이 반영이 되지 않았기 때문이다.
$ clang hello.c
$ ./a.out
hello, world!
$
Q: include와 main 사이에 다음 줄이 비어 있는 이유?
- 가독성을 높이기 위해서
Q: a.out말고 다른 파일의 이름으로 바꿀 수 있는지?
- o 옵션을 주고 원하는 이름을 입력한 뒤, 컴파일하고자 하는 파일을 입력하면 된다
$ clang -o hello hello.c
- hello라는 실행파일이 생김
꼬리말
직관적이고 이해하기 위한 설명
- 교수님이 처음 접하는 학생들도 쉽게 이해할 수 있도록 설명하는 점이 인상적이었다.
- 어려운 용어를 설명하지 않고 기존에 배웠던 내용(이진법, 원인과 결과 사이의 알고리즘 이미지 등)을 이용해서 사용하는 점이 되게 좋았다.
- 나도 다른 사람에게 설명할 때도 어려운 용어보다는 처음 듣는 사람이 부담을 갖지 않고 그 사람이 아는 내용을 활용하여 생각을 이끌도록 노력해봐야겠다.
'CS 기초 > CS50 2019' 카테고리의 다른 글
[C언어] 포인터 (0) | 2023.06.04 |
---|---|
[CS50 2019] (C언어) 문자열 (0) | 2023.05.27 |
[CS50 2019] (컴퓨팅 사고) 알고리즘 (0) | 2023.04.06 |
컴퓨팅 사고) 정보의 표현 (in CS50 2019) (0) | 2023.04.05 |
[CS50 2019] (컴퓨팅 사고) 이진법 (0) | 2023.03.26 |
댓글