하버드CS50 3

하버드 CS50 2장 5) 사용자 정의 함수, 중첩 루프

사용자 정의 함수는 말 그대로 내 맘대로 함수를 정의해서 쓰겠다는 것이다. 예를 들어보자. 코드의 내용은 굉장히 쉽다. "cough"를 3번 하라는 것이다. 일단 얘를 좀 더 간지나게 쓸 수 있다. 저번에 배웠던 반복문이다. for 루프를 통해서 3번을 실행하게 만들면 된다. 여기까지는 복습 차원이다. 뭔가가 바뀌었다. printf하는 부분을 cough라는 함수로 선언하여 대체해주었다. for 루프를 돌면서 i cough 함수 내용 읽고 -> main 안에서 실행 이런 순서로 간다. 이 코드는 어떻게 되는 걸까. cough가 어떤 정수 변수 n을 받는다. 그리고 n 값에 따라 for 루프가 몇 번 돌지 결정된다. 좀 더 다이나믹하게 바뀌었다. 좀 더 복잡한 코드가 나왔다. 일단 함수명을 보니 어떤 양의 ..

스터디/CS50 2023.01.25

하버드 CS50 2장 4) 자료형, 형식 지정자, 연산자

이제부터 급격하게 배우는 양이 많아진다. 자료형은 타입이라고도 불리는 녀석이다. 숫자, 문자, 불리언 이런 애들을 의미하는 것이다. 자세한 종류는 다음과 같다. 조금 어색하게 느껴졌던 타입은 long이었다. 정수의 범위에 따라서 다른 타입이 존재하는 것이 조금 어색하게 다가왔다. (하지만 실제로 쓸 일이 많을까라는 생각이 들기도 한다.) 이전에 string을 받아서 %s에 넣어줬었는데 데이터 타입에 따라서 형식지정자를 다르게 넣어주어야 한다. 데이터 타입에 대해서만 익숙해진다면 그리 어렵지 않게 체득할 수 있을 것 같다. 이건 타입별로 입력값을 받아올 수 있는 prompt를 띄워 값을 가져오는 함수들인데 마찬가지로 타입에 대한 숙지가 있으면 그리 어렵지 않게 이해할 수 있다. 이렇게 다양한 타입과 그에 ..

스터디/CS50 2023.01.15

하버드 CS 50 2장 3) 조건문과 루프

이번에 등장할 문법은 조건문과 루프이다 먼저 그 전에 배웠던 내용을 살짝 복습해보자면 변수를 선언할 때는 타입을 항상 앞에 붙여서 선언해주었다. 이번에 counter는 정수이기에 int를 붙여주었다. 여기서 counter를 하나 늘리고 싶다면 어떻게 해야 할까? 일반적인 수학을 생각하면 무슨 소리인가 싶기도 하다. 하지만 위에서 변수 할당했던 과정을 생각해보자. = 등호는 오른쪽에 있는 값을 왼쪽에 있는 변수에 할당해주는 할당 연산자이다. 이 논리를 그대로 가지고 가면 1. counter에 1을 더해준다 2. 해당 결과값을 counter에 다시 할당한다. 그렇게 해서 변수 값이 바뀌게 된다. 이걸 하기 위해 더 간단한 방식들도 있다. 모두 다 counter에 1을 더해주는 코드이다. 이번에는 조건문이다...

스터디/CS50 2023.01.15
728x90