Shorts1
Short의 내용을 따라하기 전 동일한 환경에서 코딩을 할 것이기 때문에 아래와 같이 먼저 가입을 하였다. 딱히 특별한 과정은 없고 CS50 IDE에 접속하여 sign in 만 하면 끝난다.
그럼 이런 초기화면이 나타나게 되고 여기서 Create a new workspace를 누르면
위와 같이 Workspace name, Description, template 등을 선택하고 workspace를 생성할 수 있다.
그럼 이렇게 진행이 되고...
생성이 되어 초기화면으로 접근하게 된다.
설명에 써있는 것처럼 테스트를 진행해 보았더니 잘 동작하는 것을 알 수 있다.
이제 Shorts 내용으로 들어가보자.
Command line
우선 command line의 명령어들을 알아볼텐데 기본적으로 Linux나 Mac OS와 같은 Unix계열의 공통된 명령어들을 사용한다. (Windows는 약간 다르다)
첫번째 명령어는 'ls'인데 이는 list의 약어이며 해당 directory의 모든 파일과 폴더를 보여준다.
위와 같이 terminal에 'ls'를 입력하면 해당 directory의 파일과 폴더들을 볼 수 있다. 녹색은 실행가능한 파일, 흑색은 다양한 확장자의 파일 그리고 파란색은 하위 폴더로 구분된다.
다음 명령어는 'cd'인데 이는 change directory의 약어이다. 하위 폴더로 접근하기 위한 명령어이다.
위의 사례에서는 workspace 내의 pset1이라는 폴더로 접근하는데 'cd pset1'이라는 명령어를 사용하였고 현위치가 '~/workspace'에서 '~/workspace/pset1'으로 변경된 것을 확인할 수 있다.
만약 상위 directory로 이동하고 싶다면 'cd ..'를 통해 상위 폴더로 이동할 수 있다.
또한 cd를 통해 directory를 변경하다가 현위치를 알고자 할 때 'pwd'라는 명령어를 통해 현재 directory를 확인하는 모습이다. (present working directory의 약어)
'mkdir'이라는 명령어는 make directory의 약어이며 말그대로 현위치에 폴더를 만드는 명령이다.
'mkdir pset2'라는 명령어를 통해 workspace 내에 pset2라는 폴더를 만드는 모습이다.
GUI상에서도 제대로 pset2라는 폴더가 생성이 된 것을 확인할 수 있다.
'cp'라는 명령어는 copy의 약어이며 말 그대로 복사하는 기능이다. 여러가지 조건을 걸 수 있는데 그 내용은 아래와 같다.
복사를 할 때에는 위와 같이 'cp [복사할 것] [복사위치]'로 활용하며 위의 예에서는 pset0폴더를 복사하여 pset3에 붙여넣으려고 하는데 에러가 발생한다. 이는 폴더를 복사할 수 없다는 내용인데 이는 아래와 같이 해결할 수 있다.
그래서 'cp -r pset0 pset3'와 같이 입력하면 정상적으로 복사가 된 것을 볼 수 있으며 이는 폴더 내에 있는 모든 파일들까지 복사가 된 것을 확인 할 수 있다.
반대로 제거를 하는 명령어는 'rm'으로 표기하며 이는 remove의 약어이다. 이 또한 여러 조건을 달 수 있는데 예시는 아래와 같다.
hi.txt를 지우기 위해 'rm hi.txt' 명령어를 주는 모습이다. 그 뒤 에 확인을 한번 할 때 yes(y)를 입력하면 정상적으로 삭제가 되는 것을 확인할 수 있다.
만약 재확인이 없이 삭제를 하고 싶다면 -f를 조건으로 넣어주면 된다. 그럼 위와 같이 되묻지 않고 바로 삭제하는 것을 알 수 있다.
폴더를 삭제할 때에는 'rm -rf pset3'와 같이 -rf 조건을 붙여주면 된다.
마지막으로 'mv'라는 명령어인데 예상할 수 있듯 move의 약어이며 파일이나 폴더의 이동뿐만 아니라 rename까지 가능하다.
Rename을 하는 모습이며 굉장히 간단하게 실행하게 된다.
Conditional statements
이 항목에서는 조건문에 대한 내용들을 알려준다.
조건문이란 말그대로 어떤 특정 조건에 부합하면 다음에 서술하는 명령을 수행하도록 짜둔 것을 의미한다.
먼저 if-else if-else문이다. C에서는 위와 같이 if문 뒤에 다중 else if를 통해 더욱 세세한 조건문을 작성할 수 있다.
다음은 switch문이다. if와는 약간 다르게 어떤 조건이 성립했다 하더라도 바로 빠져나가지 않고 break;를 기입해놔야 그 구문을 빠져나간다. 따라서 여러 조건 중 다중 조건을 만족할 때 쓰면 적합할 듯 하다.
만약 switch문을 사용했는데 break;가 없다면 나타나는 현상에 대해 설명하고 있다. 만약 x의 값이 5라면 출력되는 내용은 "Five, Four, Three, Two, One, Blast-off!"가 모두 출력되는 셈이다.
마지막으로 ? : 문이다. 왼쪽에 나타나는 조건문과 오른쪽에 나타난 조건문은 정확히 같은 역할이다. 따라서 더욱 간결한 오른쪽 조건문을 사용하는게 더 효율적이라고 할 수 있겠다.
요약해서 조건문에는 if문, switch문, ? : 문이 있겠다.
Data types
다음은 Data types에 대해 설명이 있다.
첫번째 타입은 누구나 아는 'int'이다 말그대로 정수를 표현하는데 4byte를 차지하고 범위는 위와 같다.
'int'와 비슷하게 'unsigned int'가 있는데 0을 포함한 양수만 표기할 때 사용하는 타입이다.
'char'는 문자를 저장할 때 사용하며 1byte를 소모한다.
'float'은 'int'와 같이 4byte를 차지하지만 표현방식이 가수와 소수로 표현되기 때문에 더욱 넓은 범위의 값을 표현할 수 있고 소수점까지 커버한다.
'double'은 가장 큰 data type이며 8byte이며 'float'보다 더 넓은 범위의 수를 저장할 때 쓰인다.
'void'는 data type은 아니지만 중요한 형태이다. 특히 main함수같은 경우 no return, no parameter의 형태를 띄는 데 이때 사용되는 type이 'void'이다.
여기부터 2개는 C에는 제공하진 않지만 #include <cs50.h>를 통해 제공받을 수 있는 data type이다. 먼저 'bool'은 모두 알고 있는 부울린 값을 저장하는 타입이다.
마지막으로 'string'이며 일련의 글자들을 저장할 때 사용한다.
변수를 선언할 때 어떤식으로 만들 수 있는지 설명하는 장면이며 항상 2가지를 명심하라고 한다. 첫번째는 data type, 두번째는 data name이라고 한다. 그래서 그대로만 하면 손쉽게 data를 선언할 수 있게 된다.
변수를 사용할 때는 위와 같이 선언 후 사용하며 그 뒤에 할당할 때는 '='를 사용하여 오른쪽의 값을 왼쪽의 변수에 할당하게 된다. 물론 동시에 초기화하는 방식으로 사용할 수 도 있다.
Loops
이번엔 Loops에 대해 들여다 보았다.
Loop문에는 3가지 정도로 나눌 수가 있겠다. While, do-while, for 이 세가지로.
다음은 do-while이며 while과의 차이점은 조건을 확인하기전 무조건 먼저 1번은 실행한다는 것에 있다.
마지막으로 for문이며 초기식, 표현식, 증가식을 parameter로 가지며 이에 맞춰 동작하다가 표현식이 더이상 만족하지 않을 때 빠져나오게 된다.
Operators
마지막 shorts가 연산자에 대해 설명을 해주고 있었다.
4칙연산은 뭐 너무나 잘알 고 있는 내용이니... (modulo또한 나머지 연산자이니까)
C문법상 약간 특이하게 사용될 수 있는 것들에 대한 설명이다 위의 두 표현식은 정확히 같음을 의미하고 아래 식에서 'x++'는 'x = x + 1'과 같은 표현식이다.
Bool 식과 같은 경우는 어떠한 조건식이 참이면 True, 거짓이면 False가 되는 것을 말한다.
논리식으로 넘어가서 '&&'를 통해 AND 연산이 가능하다.
OR 연산을 원할 경우에는 '||'를 통해 표현이 가능하며,
NOT 연산의 경우 '!'를 통해 반전시킬 수 있다.
관계연산자의 경우 당연하게 부등호와 등호를 통해 표현할 수 있으며 이 때 간단한 주의사항은 언제나 부등호 뒤에 등호가 와야 한다는 점이다.
마지막으로 같은 값이냐, 다른값이냐 물어보는 관계연산자로 같은지 판별할 때에는 '=='로 다른지 판별할 때는 '!='로 쉽게 사용할 수 있다.
Short의 내용을 따라하기 전 동일한 환경에서 코딩을 할 것이기 때문에 아래와 같이 먼저 가입을 하였다. 딱히 특별한 과정은 없고 CS50 IDE에 접속하여 sign in 만 하면 끝난다.
그럼 이런 초기화면이 나타나게 되고 여기서 Create a new workspace를 누르면
위와 같이 Workspace name, Description, template 등을 선택하고 workspace를 생성할 수 있다.
그럼 이렇게 진행이 되고...
생성이 되어 초기화면으로 접근하게 된다.
설명에 써있는 것처럼 테스트를 진행해 보았더니 잘 동작하는 것을 알 수 있다.
이제 Shorts 내용으로 들어가보자.
Command line
우선 command line의 명령어들을 알아볼텐데 기본적으로 Linux나 Mac OS와 같은 Unix계열의 공통된 명령어들을 사용한다. (Windows는 약간 다르다)
첫번째 명령어는 'ls'인데 이는 list의 약어이며 해당 directory의 모든 파일과 폴더를 보여준다.
위와 같이 terminal에 'ls'를 입력하면 해당 directory의 파일과 폴더들을 볼 수 있다. 녹색은 실행가능한 파일, 흑색은 다양한 확장자의 파일 그리고 파란색은 하위 폴더로 구분된다.
다음 명령어는 'cd'인데 이는 change directory의 약어이다. 하위 폴더로 접근하기 위한 명령어이다.
위의 사례에서는 workspace 내의 pset1이라는 폴더로 접근하는데 'cd pset1'이라는 명령어를 사용하였고 현위치가 '~/workspace'에서 '~/workspace/pset1'으로 변경된 것을 확인할 수 있다.
만약 상위 directory로 이동하고 싶다면 'cd ..'를 통해 상위 폴더로 이동할 수 있다.
또한 cd를 통해 directory를 변경하다가 현위치를 알고자 할 때 'pwd'라는 명령어를 통해 현재 directory를 확인하는 모습이다. (present working directory의 약어)
'mkdir'이라는 명령어는 make directory의 약어이며 말그대로 현위치에 폴더를 만드는 명령이다.
'mkdir pset2'라는 명령어를 통해 workspace 내에 pset2라는 폴더를 만드는 모습이다.
GUI상에서도 제대로 pset2라는 폴더가 생성이 된 것을 확인할 수 있다.
'cp'라는 명령어는 copy의 약어이며 말 그대로 복사하는 기능이다. 여러가지 조건을 걸 수 있는데 그 내용은 아래와 같다.
복사를 할 때에는 위와 같이 'cp [복사할 것] [복사위치]'로 활용하며 위의 예에서는 pset0폴더를 복사하여 pset3에 붙여넣으려고 하는데 에러가 발생한다. 이는 폴더를 복사할 수 없다는 내용인데 이는 아래와 같이 해결할 수 있다.
그래서 'cp -r pset0 pset3'와 같이 입력하면 정상적으로 복사가 된 것을 볼 수 있으며 이는 폴더 내에 있는 모든 파일들까지 복사가 된 것을 확인 할 수 있다.
반대로 제거를 하는 명령어는 'rm'으로 표기하며 이는 remove의 약어이다. 이 또한 여러 조건을 달 수 있는데 예시는 아래와 같다.
hi.txt를 지우기 위해 'rm hi.txt' 명령어를 주는 모습이다. 그 뒤 에 확인을 한번 할 때 yes(y)를 입력하면 정상적으로 삭제가 되는 것을 확인할 수 있다.
만약 재확인이 없이 삭제를 하고 싶다면 -f를 조건으로 넣어주면 된다. 그럼 위와 같이 되묻지 않고 바로 삭제하는 것을 알 수 있다.
폴더를 삭제할 때에는 'rm -rf pset3'와 같이 -rf 조건을 붙여주면 된다.
마지막으로 'mv'라는 명령어인데 예상할 수 있듯 move의 약어이며 파일이나 폴더의 이동뿐만 아니라 rename까지 가능하다.
Rename을 하는 모습이며 굉장히 간단하게 실행하게 된다.
Conditional statements
이 항목에서는 조건문에 대한 내용들을 알려준다.
조건문이란 말그대로 어떤 특정 조건에 부합하면 다음에 서술하는 명령을 수행하도록 짜둔 것을 의미한다.
먼저 if-else if-else문이다. C에서는 위와 같이 if문 뒤에 다중 else if를 통해 더욱 세세한 조건문을 작성할 수 있다.
다음은 switch문이다. if와는 약간 다르게 어떤 조건이 성립했다 하더라도 바로 빠져나가지 않고 break;를 기입해놔야 그 구문을 빠져나간다. 따라서 여러 조건 중 다중 조건을 만족할 때 쓰면 적합할 듯 하다.
만약 switch문을 사용했는데 break;가 없다면 나타나는 현상에 대해 설명하고 있다. 만약 x의 값이 5라면 출력되는 내용은 "Five, Four, Three, Two, One, Blast-off!"가 모두 출력되는 셈이다.
마지막으로 ? : 문이다. 왼쪽에 나타나는 조건문과 오른쪽에 나타난 조건문은 정확히 같은 역할이다. 따라서 더욱 간결한 오른쪽 조건문을 사용하는게 더 효율적이라고 할 수 있겠다.
요약해서 조건문에는 if문, switch문, ? : 문이 있겠다.
Data types
다음은 Data types에 대해 설명이 있다.
첫번째 타입은 누구나 아는 'int'이다 말그대로 정수를 표현하는데 4byte를 차지하고 범위는 위와 같다.
'int'와 비슷하게 'unsigned int'가 있는데 0을 포함한 양수만 표기할 때 사용하는 타입이다.
'char'는 문자를 저장할 때 사용하며 1byte를 소모한다.
'float'은 'int'와 같이 4byte를 차지하지만 표현방식이 가수와 소수로 표현되기 때문에 더욱 넓은 범위의 값을 표현할 수 있고 소수점까지 커버한다.
'double'은 가장 큰 data type이며 8byte이며 'float'보다 더 넓은 범위의 수를 저장할 때 쓰인다.
'void'는 data type은 아니지만 중요한 형태이다. 특히 main함수같은 경우 no return, no parameter의 형태를 띄는 데 이때 사용되는 type이 'void'이다.
여기부터 2개는 C에는 제공하진 않지만 #include <cs50.h>를 통해 제공받을 수 있는 data type이다. 먼저 'bool'은 모두 알고 있는 부울린 값을 저장하는 타입이다.
마지막으로 'string'이며 일련의 글자들을 저장할 때 사용한다.
변수를 선언할 때 어떤식으로 만들 수 있는지 설명하는 장면이며 항상 2가지를 명심하라고 한다. 첫번째는 data type, 두번째는 data name이라고 한다. 그래서 그대로만 하면 손쉽게 data를 선언할 수 있게 된다.
변수를 사용할 때는 위와 같이 선언 후 사용하며 그 뒤에 할당할 때는 '='를 사용하여 오른쪽의 값을 왼쪽의 변수에 할당하게 된다. 물론 동시에 초기화하는 방식으로 사용할 수 도 있다.
Loops
이번엔 Loops에 대해 들여다 보았다.
Loop문에는 3가지 정도로 나눌 수가 있겠다. While, do-while, for 이 세가지로.
먼저 While은 자신의 조건(boolean-expr)이 참인 한 계속 동작할 때 사용한다. 물론 따지지도 않고 계속 운영하기 위해서는 조건을 True로 입력하면 영원히 돌아가겠다.
다음은 do-while이며 while과의 차이점은 조건을 확인하기전 무조건 먼저 1번은 실행한다는 것에 있다.
Operators
마지막 shorts가 연산자에 대해 설명을 해주고 있었다.
4칙연산은 뭐 너무나 잘알 고 있는 내용이니... (modulo또한 나머지 연산자이니까)
C문법상 약간 특이하게 사용될 수 있는 것들에 대한 설명이다 위의 두 표현식은 정확히 같음을 의미하고 아래 식에서 'x++'는 'x = x + 1'과 같은 표현식이다.
Bool 식과 같은 경우는 어떠한 조건식이 참이면 True, 거짓이면 False가 되는 것을 말한다.
논리식으로 넘어가서 '&&'를 통해 AND 연산이 가능하다.
OR 연산을 원할 경우에는 '||'를 통해 표현이 가능하며,
NOT 연산의 경우 '!'를 통해 반전시킬 수 있다.
관계연산자의 경우 당연하게 부등호와 등호를 통해 표현할 수 있으며 이 때 간단한 주의사항은 언제나 부등호 뒤에 등호가 와야 한다는 점이다.
마지막으로 같은 값이냐, 다른값이냐 물어보는 관계연산자로 같은지 판별할 때에는 '=='로 다른지 판별할 때는 '!='로 쉽게 사용할 수 있다.
댓글
댓글 쓰기