72
Week 1

Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

  • Upload
    buiminh

  • View
    227

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

Week 1

Page 2: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

Cvs

Page 3: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

programs

Page 4: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000
Page 5: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

#include<stdio.h>

intmain(void){printf("hello,world\n");}

Page 6: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

functions

Page 7: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000
Page 8: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

printf("hello,world\n");

Page 9: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

loops

Page 10: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000
Page 11: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

while(true){printf("hello,world\n");}

Page 12: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000
Page 13: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

for(inti=0;i<50;i++){printf("hello,world\n");}

Page 14: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

variables

Page 15: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000
Page 16: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

inti=0;

Page 17: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

Boolean expressions

Page 18: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000
Page 19: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

i<50

Page 20: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000
Page 21: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

x<y

Page 22: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

conditions

Page 23: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000
Page 24: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

if(x<y){printf("xislessthany\n");}elseif(x>y){printf("xisgreaterthany\n");}else{printf("xisequaltoy\n");}

Page 25: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

arrays

Page 26: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000
Page 27: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

argv[0]

Page 28: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

source code

Page 29: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

#include<stdio.h>

intmain(void){printf("hello,world\n");}

Page 30: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

#include<stdio.h>

intmain(void){printf("hello,world\n");}

Page 31: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

#include<stdio.h>

intmain(void){printf("hello,world\n");}

Page 32: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

#include<stdio.h>

intmain(void){printf("hello,world\n");}

Page 33: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

machine code

Page 34: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000010 00000000 00111110 00000000 00000001 00000000 00000000 00000000 10110000 00000101 01000000 00000000 00000000 00000000 00000000 00000000 01000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 11010000 00010011 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 01000000 00000000 00111000 00000000 00001001 00000000 01000000 00000000 00100100 00000000 00100001 00000000 00000110 00000000 00000000 00000000 00000101 00000000 00000000 00000000 01000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 01000000 00000000 01000000 00000000 00000000 00000000 00000000 00000000 01000000 00000000 01000000 00000000 00000000 00000000 00000000 00000000 11111000 00000001 00000000 00000000 00000000 00000000 00000000 00000000 11111000 00000001 00000000 00000000 00000000 00000000 00000000 00000000 00001000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000011 00000000 00000000 00000000 00000100 00000000 00000000 00000000 00111000 00000010 00000000 00000000 00000000 00000000 00000000 00000000 00111000 00000010 01000000 00000000 00000000 00000000 00000000 00000000 00111000 00000010 01000000 00000000 00000000 00000000 00000000 00000000 00011100 00000000 00000000 00000000 00000000 00000000 00000000 00000000

...

Page 35: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

compiler

Page 36: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

CS50 IDEcs50.io

Page 37: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000
Page 38: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000
Page 39: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

printf

...

Page 40: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

clanghello.c

./a.out

Page 41: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

clang-ohellohello.c

./hello

Page 42: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

makehello

./hello

Page 43: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

cd

ls

mkdir

rm

rmdir

...

Page 44: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

get_char

get_double

get_float

get_int

get_long_long

get_string

...

Page 45: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

bool

char

double

float

int

longlong

string

...

Page 46: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

%c

%f

%i

%lld

%s

...

Page 47: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

\a

\n

\r

\t

\'

\"

\\

\0

...

Page 48: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

amazon.com

Page 49: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

integer overflow

Page 50: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

I I I I I I I 0 128 64 32 16 8 4 2 1

Page 51: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

I I I I I I I I 128 64 32 16 8 4 2 1

Page 52: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

00000000128 64 32 16 8 4 2 1

Page 53: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

wikia.com

Page 54: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

youtube.com

Page 55: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

kotaku.com

Page 56: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

nytimes.com

Page 57: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

floating-point imprecision

Page 58: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000
Page 59: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

printf

...

Page 60: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

get_char

get_double

get_float

get_int

get_long_long

get_string

...

Page 61: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

bool

char

double

float

int

longlong

string

...

Page 62: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

%c

%f

%i

%lld

%lu

%s

...

Page 63: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

\a

\n

\r

\t

\'

\"

\\

\0

...

Page 64: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

if

else

switch

for

while

do...while

...

Page 65: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

scope

Page 66: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

http://www.gocomics.com/foxtrot/2003/10/03/

Page 67: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

abstraction

Page 68: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

makehello

Page 69: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

preprocessing

compiling

assembling

linking

Page 70: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000
Page 71: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

Cvs

Page 72: Week 1 - SNUarchi.snu.ac.kr/courses/under/17_spring_computer_concept/slides/... · 01111111 01000101 01001100 01000110 00000010 00000001 00000001 00000000 00000000 00000000 00000000

C