프로그래밍 공부

프로그래밍 700

카테고리 설명
  • 반복되는 제귀함수를 하나 더 살펴보자. 제귀함수를 사용하는 것 중에는 피보나치 수열이 있다. 이를 제귀함수로 바꾸어보자. 피보나치 수열이란, 0 ,1 ,1 , 2, 3, 5, 8, 13 이런식으로 전 수와 더해가며 나아가는 숫자 인데, 0, 1, 0+1, 1+1, 1+1+1, 1+1+1+1+1 이런식으로 전 수와 더하는 것을 피보나치 수열 이라고 한다. 이를 한번 코드로 만들어보자. 피보나치 수열을 출력한 코드이다. 이건 간단하게for문으로 반복시킨 코드이다. 이것을 제귀함수로 반복되게 만들 수 있는데, 밑과 같이 수정 할 수 있다. 이번에는 Array_sort를 찾아보자. 배열정렬인데, 배열을 내림차순, 오름차순으로 정렬해주는 것 을 이야기한다. 한번 알아보자. 배열정렬의 기본원리는 생각보다 엄청 간단..

  • int main에 대해 생각해보자. main문의 int문이 무엇일까? 바로 정수형을 이야기 한다. 이것은 변수의 자료형을 뜻하는데, int main 의 () 에 는 void가 생략되어 있는 것을 말한다. 코드에 반복되는 수가 2개가 있다. 뭔가 불편해보이지 않는가?. 이것을 하나의 코드줄로 압축하여 필요할때 가져와서 사용해보도록 하자. 이렇게 짜서 넣어놓으면 우리는 전달인자는 없고, 반환값은 있는 함수를 만들어서 제공해준 것 이다. 이렇게 사용하면 반복되는 코드를 계속해서 사용하지 않고 그때그때 필요한 것 을 가져와서 사용할 수 있게 되는 것 이다. 이번에는 전달인자를 받아오도록 해보자. 이렇게 짜서 작동시키면된다. 12줄에서 19줄 까지의 코드는 주석처리 된것과 그냥 들어간것의 결과가 같다. 출력해보면..

  • 무작위 난수 를 이야기한다. rand()를 사용하여 무작위의 수를 추출하여 출력할 수 있다. 이러한 rand를 사용하기 위해서는 표준 입출력을 가져오는 것 처럼 stdlib.h을 새로 호출해주어야 한다. 위와 같이 stdlib.h를 호출하면 난수 생성기를 사용할 준비가 되었다. 위와 같은 방식으로 %d에 rand()하여 랜덤한 수를 출력할 수 있다. 만약, 내가 여기서 범위를 제한하고 싶다고 하면, 이렇게 해주면 된다. 그러면 rand로 나타나게 되는 데이터가 생성되는데, 그 생성 데이터에 10으로 나눈 값의 나머지를 출력하게 되면, 1~10까지의 데이터가 무작위로 나타나게 되는 원리 이다. 여기서 내가 2~11까지로 제한하고 싶다고 한다면, 위와 같이 1을 더해서 출력해줄 수 있다. 그러나 실행 시 출..

  • 데이터는 각각의 변수 사이즈에 따라 저장된다. 그러나 일정 사이즈에 따라 저장되지 못하는 데이터 사이즈가 존재한다. 각 데이터 사이즈는 float과 int 등 여러가지 사이즈 에 따라 저장되는데, 각 변수의 사이즈에 따라 우선권 이 존재한다. 큰 변수는 작은 변수에 들어가지 못하지만, 작은변수는 큰 변수에 자동으로 변환되어 삽입되게 된다. 크게 중요한 것 은 아니지만, 각각의 bit단위에 따라 대용량 프로그램의 효율성이 달라질 수 있기 때문에 성능을 최대한 끌어올리고 싶다면 신경쓰는것 이 좋다. 이러한 것을 보고 계산식을 새워보자. 형변환이 이루어지지 않는 (flaot)을 빼고 계산하게 되면, 데이터의 정상적인 계산이 이루어지지않음을 알 수 있다. if문을 알아보자. 입력받은 변수의 조건이 부합하는지 검..

  • 연산자는 대입 연산자와 산술 연산자, 부호 연산자, 복합대입 연산자, 증감 연산자, 비교연산자 가 있다. 대입 연산자 : = 으로 우측에있는 데이터를 좌측에 넣어주는 역활을 한다. 산술 연산자 : +, -, *, /, % 로 좌측과 우측의 연산을 시도하는 연산자 이다. 부호 연산자 : 숫자의 음수 양수를 나타내는 +, -를 표시해주는 부호를 말한다. 복합 대입 연산자 : 연산기호를 줄여주는 역활을 한다. a = a+b를 쓸때 a+=b로 나타낼 수 있다. 두개의 결과는 같게 나오게 된다. 증감 연산자 : 1씩 더 늘려나가는것을 더 쉽게 쓰게 만들기위해 연산자를 간략하게 나타내는 것 이다. 비교 연산자 : 각각피 연산자의 크기를 비교해서 bool값으로 반환한다. 1은 참 0은 거짓을 나타낸다. 전체 코드의 ..

  • C언어 -> C++ 진행 예정 -> Direct X 작업 2D 작업과정 공부함. 6개월 후에 언리얼 엔진 -> Directx 3D 다루게 됨. 2D는 기반을 공부하는 과정이다. 기본 컴퓨터 구조 CPU (중앙처리장치) HDD (저장장치) - ( 비휘발성 저장장치 ) RAM (임의접근저장장치) - (휘발성 저장장치) 여기서 사람이 코드를 입력하고, 사람의 언어를 알아들을 수 없기 때문에 기계어를 넣어주어야함. 사람은 기계어를 알아들을 수 없기 때문에 컴퓨터 코드를 입력하여 번역하여 작업을 지시해주어야 한다. 사람 ----> 컴파일(어셈블리) ----> 컴퓨터 이러한 컴파일을 위한 플렛폼( 개발환경 ) [ 비주얼 스튜디오, 비주얼 코드 ] 사용한다. 우리는 비주얼스튜디오 를 사용하여 C 작업을 시작할 것 이..