본문 바로가기

Doc/컴퓨터

컴퓨터과학 CS50 2020 Lecture 1 : C

 

 

 

 

 

<강의 필기>

 

 

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

함수값을 화면에 나타나지 않고 저장하는 방법은 valuereturn하는 것이다.

 

 

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 hellohello.c를 지운다.

mv hello.c goodbye.c/hello.c의 이름을 goodbye.c로 바꾼다.

 

directory

mkdir lecturelecture라는 이름의 새 폴더를 생성한다.

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

소수점 자리로 계속 내려가보면 근사치로 나타난다는 것을 확인할 수 있다.

비트가 유한하기 때문이다.

 

 

 

 

 

강의 자료

 

Week 1 - CS50

Introduction to the intellectual enterprises of computer science and the art of programming. This course teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, r

cs50.harvard.edu

 

 

 

 

CS50 Sandbox

 

CS50 Sandbox

Temporary programming environments for students and teachers.

sandbox.cs50.io

 

 

 

 

C언어 시작하는 법, Codeblocks 설치하기 (Tistory Blog 복습 정리 노트)

 

 

C언어 시작하는 법, Codeblocks 설치하기

요즘 시대에 많은 사람들이 프로그래밍을 배우고 있죠. 대개 첫 언어로 가장 많이 접하는 프로그래밍 언어 중 하나가 C언어입니다. 하지만 처음에 공부를 시작하려고 하면 무엇부터 해야할지를

restudycafe.tistory.com

 









>