프로그래밍의 기본 원리 1

Develop Kim·2024년 10월 23일

programmers

목록 보기
32/40

0 들어가기

0-1 과정 소개

1 프로그래밍의 기본 원리

1-1 프로그래밍 개념과 원리 / 프로그램 개발 과정

1-1-1 왜 컴파일 언어를 이해해야 하는가

  • c언어는 컴파일 언어, js는 인터프리터 언어
  • 타입스크립트는 js에 자동으로 타입을 붙여주며 타입이 기본으로 붙어있는 컴파일 언어를 이해하면 이해가 쉬울 것

1-1-2 프로그래밍의 개념

  • 프로그래밍이란? 어느 하나의 서비스를 만드는 것

  • 컴퓨터의 언어는 이진수(0,1), 즉 기계어이다. 결국 c언어와 js는 사람의 언어이다.
    우리가 프로그램을 쉽게 하기 위해 쓰는 언어를 기계어로 바꾸는 과정을 컴파일이라고 한다.

  • 컴파일과 링크를 한번에 하는 것을 빌드 과정이라고 함

1-1-3 내 생애 최초 C언어로 Hello World 출력하기

  • hello world는 개발자들에게 meme임

  • c언어를 실습해보자
#include <stdio.h> // js에서 import와 동일한 기능
// <stdio.h>는 라이브러리임 printf도 여기에 포함된 기능

int main()
{
    printf("Hello World");

    return 0;
}
  • 함수는 입력값과 특정 산식을 가진 형태이며 프로그래밍에서도 유사함

  • 엄격한 문법을 쓰는 이유는 잠재적 오류를 사전에 차단하기 위해서임
    • c언어에서 ;를 생략하면 컴파일에서 에러가 발생함
    • 자바스크립트는 한줄씩 해석하기 때문에 에러가 안남

1-2 변수와 자료형 / 연산자

1-2-1 변수와 자료형 1

  • 변수란 특정 값을 지속적으로 사용하기 위해 네이밍을 쉽게 해준 것

  • 스택 메모리는 데이터를 쌓아가는 형태이므로 최신 데이터일수록 먼저 찾음(first in, last out)
  • 힙 영역은 Q라고도 하며 먼저들어온 순대로 나가게 됨(first in, first out)

  • 지역변수는 지역을 벗어나면 소멸하게 되고 소멸 순서는 d, c, b, a 순으로 소멸하게 됨

1-2-2 변수와 자료형 2

  • 변수 선언 시 어떤 용도로 사용할 것인지 결정을 해야 공간을 결정함

  • 실습을 해보자면 int는 정수가 들어가야 하는데 소수점을 사용하게 되면 에러가 발생함
#include <stdio.h>

int main()
{
    int width = 10;
    int height = 20;
    printf("사각형은 %d", width * height);

    return 0;
} // 200
#include <stdio.h>

int main()
{
    double area;
    int r = 5;
    area = r * r * 3.14;
    printf("원은 %f", area);

    return 0;
} // 78.5

  • 테스트를 해보면 10진수와 문자열로 나오는 것을 볼 수 있다.
#include <stdio.h>

int main()
{
    char ch1 = 'a';
    
    printf("%d, %c", ch1, ch1);

    return 0;
} // 65, a 

1-2-3 상수에 관하여

  • 상수도 메모리 값을 가지고 있지만 그 값은 변경하지 못 한다.

  • 아래 코드는 에러가 안날 거 같지만 에러가 난다 왜일까? 가비지 값이 들어가 있기 때문에 const를 사용하지 못 하는 것이라 함,,,
#include <stdio.h>

int main()
{
    const int TEN;
    TEN = 20;

    return 0;
}

1-2-4 사용자로부터 데이터 입력

  • scanf 함수 설명:
    • scanf는 표준 입력(주로 키보드)에서 데이터를 읽어오는 함수입니다.
    • 사용 형식은 scanf("형식 지정자", &변수);입니다.
    • "형식 지정자": 입력할 데이터의 형식을 지정하는 부분입니다. 여기서는 %d가 사용되었는데, %d는 정수를 의미합니다.
    • &변수: 입력받은 데이터를 저장할 변수의 주소를 넘겨줍니다. &는 변수의 메모리 주소를 나타내는 연산자입니다.
int main()
{
    int input = 0;           // 정수형 변수 input을 선언하고 0으로 초기화합니다.
    scanf("%d", &input);     // 사용자의 입력을 받아서 input 변수에 저장합니다.
    printf("input : %d", input); // input에 저장된 값을 출력합니다.

    return 0;
}
profile
김개발의 개발여정

0개의 댓글