CS503 모두를 위한 컴퓨터 과학 CS50-03.배열 Arrays 1. 컴파일링 stdio.h: 헤더파일. clang이라는 컴파일러가 컴파일할때 printf 함수가 무엇을 의미하는지 알려줌 1) 전처리(precompile) #으로 시작되는 것 실질적인 컴파일이 이루어지기 전에 무언가를 실행하라고 알려줌 ex.#include 다른 파일의 내용을 포함시키라고 알려줌 clang이 cs40.h 파일에 직접 들어가 해당되는 코드를 가져와서 hello.c라는 파일에 붙여넣음 2) 컴파일(compile) c코드->’어셈블리’어라는 저수준 프로그래밍 언어로 컴파일 c코드를 어셈블리어로 변환시켜 컴퓨터가 이해할 수 있는 언어와 최대한 가까운 프로그램으로 만들어 줌 컴파일에는 2가지 의미가 있음 (1)소스코드->머신코드로 변환하는 전체 단계 (2)전처리한 소스 코드를 어셈블리 코드로 변.. 2022. 6. 16. 모두를 위한 컴퓨터 과학 CS50-02.C언어 1. C기초 #include int main(void) { printf(“hello world\n”); } -int main(void) {코드} : 코드를 시작한다는 의미 -printf(“hello world\n”); printf: ~라고 출력하기 “\n”:줄바꿈 ;: 마침표 역할 -#include : 함수를 사용하기 위해서 함수가 저장되어 있는 stdio.h 파일을 들여댜봐라 1) 컴파일러 (1)소스코드 vs 머신코드 -소스코드: 우리가 작성한 코드 -머신코드: 2진수로 작성된 코드. 컴퓨터가 이해할 수 있는 코드 소스코드->컴파일러->머신코드 (2)컴파일러를 사용하는 방법: 터미널 명령어 프롬프트에서 clang hello.c ->clang이라는 컴파일러로 hello.c라는 코드를 컴파일 a.out아라.. 2022. 6. 16. 모두를 위한 컴퓨터 과학 CS50-01.컴퓨팅 사고 1.이진법 1) 이진법 컴퓨터는 10진법을 이해할 수 없음 -십진법 123->100+20+3 특정한 체계와 규칙으로 숫자를 이해함 -이진법 111->4+2+1 2) 비트 0,1 두가지 값만 가질 수 있는 측정 단위 이진법은 true/false와 잘 맞음 bit * 8 = byte bit(예/아니오)노란색이 됨 영상: 수많은 사진들이 빠르게 지나가면서 움직이는 것처럼 보이게 함 음악: 음을 숫자로 바꿔서 음, 길이, 음량 3가지 값을 0과 1로 표현 3.알고리즘 문제를 해결하는 규칙들의 순서적 나열 입력값을 출력값의 형태로 바꾸기 위해 어떤 명령들이 수행되어야 하는지에 대한 규칙들의 순서적 나열 A-Z까지 나열된 전화번호부에서 Smith라는 이름을 어떻게 찾아내는지 -한쪽씩 넘기는 것: 너무 느림(1000.. 2022. 6. 14. 이전 1 다음