<강의 필기>
C언어
검은 사각형은 코드를 적는 공간이다.
그 아래 파란 사각형은 명령의 실행 결과가 나타나는 터미널 윈도우이다.
#incude <stdio.h>
int main(void)
{
printf("hello, world");
}
암호 같은 코드를 풀어가는 과정
source code를 컴파일러에 넣으면 machine code가 출력된다.
컴파일러는 프로그래머가 한 명령을 컴퓨터가 알아들 수 있는 binary language 0과 1로 번역해준다.
CS50 IDE
Github 계정으로 접속하여 C언어를 실행시킬 수 있는 CS50강의 전용 Cloud shell이다.
Function
Funtcion은 작은 프로그램이다.
Argument는 functions의 input이다.
printf
C언어에서 say하고 싶으면 printf(“hello, world!”)라는 함수를 입력한다.
return value. variable
함수값을 화면에 나타나지 않고 저장하는 방법은 value를 return하는 것이다.
libray
library는 누군가가 써놓은 코드이며 우리가 공유하며 사용할 수 있는 코드이다.
stdio.h
stdio.h는 Standard Input/Output library의 약자이다.
헤더 파일에 정의된 라이브러리를 불러오기 위해서는 #include <stdio.h>를 입력해야한다.
#include <stdio.h>는 python에서 import와 비슷한 뜻이다.
header file ~= library Module
파일 처리 명령어
터미널에서 명령어를 입력한다.
hello.c
clang hello.c와 ./a.out를 차례대로 입력하면 hello.c가 실행된다.
c는 c언어 코드 파일의 확장자이다.
ls는 현재 경로에 속한 파일과 폴더의 list를 보여준다.
rm hello는 hello.c를 지운다.
mv hello.c goodbye.c/는 hello.c의 이름을 goodbye.c로 바꾼다.
directory
mkdir lecture는 lecture라는 이름의 새 폴더를 생성한다.
cd lecture/는 lecture 폴더로 위치를 이동한다.
rmdir lecture/는 폴더를 삭제한다.
./hello는 현재 파일 경로에 있는 hello.c를 실행시킨다.
counter = counter + 1;
counter < counter + 1인데 왜 등호(=)를 사용하는 것일까?
오른쪽 값 counter + 1을 왼쪽 변수 counter에 저장한다는 의미이다.
prototype
컴파일을 하면서 함수의 정의는 호출문이 나오기 전에 등장해야 한다.
변수의 영역
For Loop 안에 있는 print(“?”)는 계속 출력되지만
밖에 있는 print(“\”)는 For Loop이 끝나서야 실행된다.
For Loop의 변수 범위를 정하는 것에 따라
변수가 저장되는 map의 영역이 다르게 그려진다.
소수점의 계산
컴퓨터는 1 / 10을 정확하게 계산하지 못한다.
나눈 결과를 소수점 50자리까지 출력하기로 하면
x / y = 0.10000000149011611938476562500000000000000000000000
소수점 자리로 계속 내려가보면 근사치로 나타난다는 것을 확인할 수 있다.
비트가 유한하기 때문이다.
강의 자료
CS50 Sandbox
C언어 시작하는 법, Codeblocks 설치하기 (Tistory Blog 복습 정리 노트)
'Doc > 컴퓨터' 카테고리의 다른 글
컴퓨터과학 CS50 2020 Lecture 3 : Algorithms (0) | 2022.06.05 |
---|---|
컴퓨터과학 CS50 2020 Lecture 2 : Arrays (0) | 2022.05.27 |
컴퓨터과학 CS50 2020 Lecture 0 : Scratch (0) | 2022.04.29 |
컴퓨터 구조 Fixed Point. Floating Point (0) | 2022.04.15 |