본문 바로가기
기계공학부 시절의 기록/C++일기

1.1 프로그램 구조 (feat. 가장 빨리 프로그래밍 실력 늘리는 방법)

by juhyeonglee 2021. 5. 1.
728x90
반응형

 

 

제가 빠르게 복기하기 좋게 정리한 글입니다. 파일을 추가하는 세세한 방법과 과정은 마지막에 첨부된 영상으로 확인하시면 좋을 것 같습니다 :) 강의목차의 번호와 같은  목차번호를 사용하고 있으니 참고하세요!

 

 


 

 

 

#배울 용어

(표현)식 Expressions

명령문 Statements : 하나의 문장. 마무리는 ;로 해야함. 여러 표현식이 모여 하나의 명령문이 됨

함수 Functions : 하나의 기능을 수행하는 프로그램 최소 단위.

라이브러리, 표준라이브러리 : 하나의 목적 수행을 위해 필요한 여러 함수들을 모아놓은 zip?

 

#코드 실행원리

프로그램을 실행시킨다는 것은 윈도우나 MAC, 리눅스와 같은 OS(Operating system)에 ~해주세요라고 요청하는 것.

우리가 바로 뭔가를 실행시키는 것이 아니라 OS를 통해서 실행을 요청하는 것이다.

즉, 

IDE를 통해서 코드를 컴파일 - OS에 컴파일 전달 - OS는 CPU에서 사용가능한 메모리를 할당해 요청 처리.

 

#예제들

Function : 프로그램의 최소 단위

1
2
3
4
int main(void// main function. 지금은 괄호안이 비어있다.
{
    return 0;// return Statements. 정수형 main함수의 출력을 0으로 반환
}
cs

컴파일된 코드를 받아든 OS는 가장먼저 main함수를 찾는다.

 

Expressions와 Statements

1
2
3
4
5
int main(void// main function. 지금은 괄호안이 비어있다.
{
    (1 + 2)* (3 + 5);//Expressions와 Statements의 차이점
    return 0;// return Statements. 정수형 main함수의 출력을 0으로 반환
}
cs

(1+2)가 하나의 Expressions가 될 수 있고 3+5가 하나의 Expressions가 될 수 있다.

Statements는 마지막에 ;을 반드시 붙여서 마무리 해줘야 한다.

즉, Expressions이 모여 하나의 Statements를 만든다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
// main함수에서 계산한 값을 출력하고 싶다.
// 출력기능의 함수를 쓰고 싶다. 누군가 만들어 놓은 함수를 쓰기 위함
// iostream : input output stream
// # : preprecessor directive(전처리기)
 
 
int main(void// main function. 지금은 괄호안이 비어있다.
{
    int x = 5//변수(x)와 literal(5). 메모리에 정수형 x를 할당하고 5를 저장할게!
    int y = x + 3
 
    std::cout << y;
    return 0;// return Statements. 정수형 main함수의 출력을 0으로 반환
}
cs

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
// main함수에서 계산한 값을 출력하고 싶다.
// 출력기능의 함수를 쓰고 싶다. 누군가 만들어 놓은 함수를 쓰기 위함
// iostream : input output stream
// # : preprecessor directive(전처리기)
// 
// 라이브러리는 도서관이다. 필요한 기능의 함수들을 뽑아쓸 수 있는
// visual studio를 설치하면 iostream 라이브러리가 딸려서 다운된다.
// 이후에 코드를 write하다보면 내가 라이브러리를 만들 경우도 있다!
 
int main(void// main function. 지금은 괄호안이 비어있다.
{
    int x = 5//변수(x)와 literal(5). 메모리에 정수형 x를 할당하고 5를 저장할게!
    int y = x + 3
 
    std::cout << "1+2+3+4+5" << std::endl// << : stream or 연산자
    // std : standard namespace
    // namespace : 어떤 기준으로 함수들을 이름공간에 묶어놓은 것.
    // 함수들간의 충돌을 방지하기 위함?
    return 0;// return Statements. 정수형 main함수의 출력을 0으로 반환
}
cs

 

 

 

#코딩실력 빠르게 늘리는 방법

가슴뛰는 프로젝트를 했을 때 프로그래밍 실력이 가장 빠르게 성장한다.

그 프로젝트를 최선을 다해 성공적으로 마무리한 뒤의 나는 또다른 내가 된다.

www.youtube.com/watch?v=azMxWwtFzUw

 

 

출처)

홍정모의 따배씨++

www.youtube.com/playlist?list=PLNfg4W25Tapw5Yx4yuExHNybBIUk68aNz

 

 

좋은 강의에 너무나 감사하다.

이전에는 그냥 무작정 따라썼던 코드들을 한줄한줄 이해하며 공부할 수 있다.

언젠가 어느 언어든 자신감이 있는 코드마스터가 될 것이다.

 

데이터가 인간을 대신해 일을 하게하고

데이터를 제어해 로봇을 제어하고 싶다.

 

728x90
반응형

댓글