본문 바로가기

2020-2021/CS508

자료형, 형식 지정자, 연산자 Data type(데이터 타입) bool : 불리언을 표현 (True, False, 1, 0 , Yes, No) char : 문자 하나 ('a', '가', 'ü') string : 문자열 int : 특정 크기 또는 특정 비트까지의 정수 (3, 2, -1) long: 더 큰 크기의 정수 float: 소수점을 갖는 실수 (3.14, 0.4) double: 소수점을 포함한 더 큰 실수 왜 ? int라는 정수를 표현하는 데이터 타입과 float 소수점을 나타내는 데이터 타입이 있는데 굳이 long과 double이 있을까? int는 대략 40억까지 셀 수 있다고 한다.(많은 정보를 처리하는 기업이 아닌 이상 일반 사용자들은 int/float를 많이 사용한다고 함.) float도 int와 비슷한 것 같다. 그래서 .. 2020. 11. 6.
3.조건문과 루프 오늘은 조건문과 루프에 대해서 배웠다. 조건문과 루프를 배우기 전 스크래치를 통해서 컴퓨터가 어떻게 기능을 수행하는지 배웠기에 받아들이는데 굉장히 도움이 많이 되었다. 왼쪽의 스크래치 블럭을 보면 counter라는 변수에 0을 담는다. 라는 명령을 실행시키고 있다. 이를 C에서는 int counter = 0; 이라고 표현하는데 이때 int는 interger의 약자로 정수를 뜻하며 뒤에 나올 변수의 타입이 정수일 것이라고 알려준다. 뒤에 변수는 값을 담을 변수의 이름을 써주며 그 다음 = 을 통해 값을 변수 counter에 담는다. 이때 =는 수학에서의 같다. 라는 의미가 아닌 등호를 기준으로 오른쪽의 값을 왼쪽으로 저장한다. 라는 의미로 생각하면 된다. 다음 스크래치 블럭을 보면 counter = 0 을.. 2020. 10. 30.
2.String String(문자열) 따옴표, 큰따옴표 안에 들어간 0개 이상의 문자 배열을 말한다. (' ', " ") 여기서 0개 이상인 이유는 따옴표만 존재해도 컴퓨터는 빈 문자열(빈 객체)로 인식하는데 그 역시 문자열이다. 왼쪽에서 ask를 실행시키면 What's your name? 이라는 문장이 실행된다. 이 것을 C로 만들 때에는 string(형식지정자), answer(변수 이름) =get_string(함수) ' What's your name? \n' (함수에 의해 실행될 문자열) ; (세미콜론) 의 구성으로 만들 수 있다. 형식지정자 컴퓨터에게 지금 동작을 실행할 요소들이 string이라고 말해주는 것. (변수가 저장하는 데이터의 종류를 아주 정확하게 명시) 변수 어떤 동작을 실행시킬 때 해당 동작에 관한 .. 2020. 10. 29.
1.C기초 compiler 우리가 직접 작성한 코드는 '소스코드'라고 불린다. 이를 2진수로 작성된 '머신코드'로 변환시켜주는 것이 컴파일러! 지금 내가 배우고 있는 자바스크립트, C는 모두 컴파일러. 밑에는 실습 : ) 2020. 10. 28.
1강 끝. 4강과 5강에서는 C강의를 들어가기 전 스크래치를 통해서 컴퓨터 프로그램에서 사용하는 기능들을 구현해서 보여줬다. 코드스테이츠에서 만난 페어분께서 이 프로그램에 대해서 말씀해주셔서 바로 다음날부터 스테이츠 수업 전 0교시의 느낌으로 듣고 있다. 확실히 컴퓨터에 대한 사전 지식 없었던 나에게는 컴퓨터와 친해질 수 있는 좋은 기회다. 이 강의는 하버드에서 진행했던 CS50 2019이라는 프로그램으로 컴퓨터 프로그램에 대한 사전지식이 없는 수강생을 대상으로 진행했던 프로그램이다. 진행자 말란 교수님은 컴퓨터에 대한 지식이 거의 없는 수강생들을 대상으로 강의를 진행하다 보니 모두가 이해하기 쉽게 실생활의 예시를 들어주신다. 특히 2진법을 이해를 시키기 위해 전구들을 이용해서 설명해주시거나 알고리즘에 대해서는 전.. 2020. 10. 27.
3. 알고리즘 알고리즘이란 ? 알고리즘은 문제를 해결하는 처리과정이며 그 안에는 문제들을 해결하기 위한 규칙들이 순서적으로 나열되어 있다. 알고리즘 안에 있는 규칙들을 어떻게 나열하냐에 따라 문제 해결의 효율성이 달라질 수 있다. (같은 출력값이라도 알고리즘에 따라 출력을 하기까지의 시간이 다를 수 있다는 말.) 생각해보기 ! [200페이지의 전화번호부에서 Mike Smith를 찾기 알고리즘] 1. n = 첫 페이지부터 200까지 모두 확인하는 방법 2. n/2 = 첫 페이지부터 200까지 2장씩 넘겨서 확인하는 방법 3. log n = (의사코드는 필요한 행동이나 조건을 잘 설정하여 컴퓨터가 수행해야 하는 일을 절차적으로 파악할 수 있게 도와준다.) 3가지 방법 중 가장 효율적인 방법은 ? 생각해보기) 친구와 1부터.. 2020. 10. 23.
2.정보의 표현 컴퓨터로 숫자를 표현하는 방법은 2진법으로 한다. 그렇다면 문자는 어떻게 표현할까?? 문자 역시 숫자로 표현할 수 있는 표준이 있는데 그것이 바로 ASCII 아스키코드! 아스키코드는 7비트 만을 이용해 모든 문자를 나타낼 수 있다. (확장 아스키코드는 8비트) Dec.이라고 적혀있는 부분이 각각의 알파벳을 10진법으로 표현한 것이다. 컴퓨터는 이를 2진법으로 바꿔서 인식한다. 예를 들어 65의 A를 컴퓨터는 '10000001'로 인식한다. 그렇다면 우리가 사용하고 있는 이모지 친구들은 컴퓨터가 어떻게 표현하는 것일까? emoji는 사진 같이 보이지만 사실 모두 알파벳으로 이루어진 기호들이라고 한다. emoji 들을 표현할 때에는 unicode라는 친구를 사용해서 표현된다. unicode는 아스키코드로 표.. 2020. 10. 22.
1. 2진법 컴퓨터 과학이란? => 문제해결에 대한 과학 문제를 해결하기 위해 컴퓨터는 input -> computer Science -> output 과정을 거친다. 이때 input과 output을 표현하기 위한 표준이 필요. 컴퓨터가 사용하는 표현 = 2진법 10진법 옆에 보이는 123을 우리가 '백이십삼'이라고 알 수 있는 이유는 우리는 수를 10진법으로 인지하자고 약속했기 때문! 123을 뜯어 보면 100*1 + 10*2 + 1*3 을 한 값으로 자리수를 10의 거듭제곱으로 표현한 것을 알 수 있음. 2진법 옆에 보이는 수' 11'을 보고 우리는 '십일'이라고 생각하겠지만 사실 3을 2진법으로 표현한 것. 4를 표현할 때는 100 6을 표현할 때에는 110 이런 방식으로 컴퓨터는 수를 표현. (컴퓨터는 0은 .. 2020. 10. 21.