백발 청년 햄버거 메뉴

목차

    안녕하세요. 백발청년입니다.

    오늘도 홍정모 교수님의 C++강의인 따배씨++의 강의노트를 포스팅합니다.

    항상 강의를 들으며 노트에 메모하고, 그 메모한 것을 바탕으로 포스팅을 진행합니다.

    지난번에는 블로그에 홍정모 교수님이 직접 오셔서 댓글도 달아주셨습니다. 친절하신분입니다.

    (동국대 교수님이라 그렇게 생각하는거 아닙니다.)

     


    지난 시리즈

    3부 : 코딩하다 막혔을 때는? https://whiteheadyouth.tistory.com/170

    2부 : 솔루션, 프로젝트 관리 https://whiteheadyouth.tistory.com/161

    1부 : 통합개발환경의 기본적인 사용법 - 윈도우 비주얼 스튜디오 https://whiteheadyouth.tistory.com/155

    0부 : 홍정모 교수님의 따배씨++ 무료로 인강 듣는 방법 https://whiteheadyouth.tistory.com/89

     

    그럼 지금부터 강의노트 포스팅을 시작해보겠습니다.

     

    "안녕하세요 홍정모 입니다." 의 한마디로 시작하는 친절한 강의를 듣자면 기분이 좋아집니다.

     

     

    오늘은 프로그램의 구조에 대해 공부 하겠습니다.

     

    오늘 배울 주요 내용은 아래와 같습니다.

     

    Expressions : 표현(식)
    Statements : 명령문
    Functions : 함수
    라이브러리, 표준 라이브러리


     

      프로그램을 실행시킨다는 것은 OS에게 ~해주세요 하고 요청하는 것.


     

    프로그램을 실행시킨다는 것은 윈도우즈나 리눅스, 맥과 같은 OS에게 "~ 해주세요." 하고 요청하는 것과 같습니다. 우리는 프로그램을 통해 직접 명령을 내리는것이 아니라, OS를 통해서 하는 것 입니다. (컴파일된) 코드를 내밀면서 이걸 해주세요~ 하는 것 입니다.

    그럼 OS가 CPU와 메모리를 활용해서 실행하는 것이죠.

     

    프로그램의 최소 단위는 함수로 정의합니다. 이런 내용이 이해가 안되어도 괜찮습니다. 앞으로의 강의 내용에서 이해가 될 때까지 계속해서 반복하실 예정이라고 하니까요.

     

     

      함수라는건 내가 뭘 넣을테니 내부적으로 뭔가를 해서 결과를 내놔라.

     

    우리가 수학시간에도 배우지만, 간단하게 정리하자면 내가 뭔가를 넣을테니 함수 니가 내적으로 뭔가를 해서 결과를 내놓아라 하는 것입니다. 때문에 무엇이 들어가고, 들어간 것으로 무엇을 하고, 그래서 결과가 뭐가 나오나가 중요합니다.

     

    main : 함수의 이름. 쉽게 바꿀수 없습니다. 바꿀 수는 있지만 그렇게 하지 않습니다.

    OS가 프로그램을 시작할 때 main을 찾습니다. 기능을 수행하는 프로그램은 main이라는 함수가 반드시 있어야 한다고 합니다.

     

    함수 뒤의 ( ) 괄호 : 다른 것들이 들어가게 되어 있으나, int main()에서는 가장 간단한 형태라서 빈칸으로 넣어둔 것 입니다. (void)로 표현해도 됩니다.

     

     

    빈칸이나 빈줄은 컴파일러가 무시합니다. 빈칸이나 빈줄은 코딩을 하는 사람이 편하려고 넣는 것입니다. 즉, 얼마든지 넣어도 된다는 의미입니다.

     

     

    { : main의 몸체 입니다. { }로 쌓여있는 부분에서 작성을 하는 것이죠.

     

     

    int : 출력을 의미합니다. 또한 Integer, 정수의 약자 입니다.

     

    return : 돌려준다는 의미. return 0; -> OS에게 0을 돌려주게 해주세요.

    세미콜론(;) : C나 C++에서는 문장이 끝났다는 것을 표기해 주는 것입니다.

    그래서 위의 그림에서 return 0 다음에 세미콜론이 없어서 오류 메시지가 떴네요.

    세미콜론을 넣으면 Statement가 되고, 없으면 Expression이 됩니다.

    Statement : 일반적으로 명령문이라고 생각하면 됩니다. 컴퓨터에게 무엇을 시킬 것인가를 생각하게 합니다.

     

     

    위에서 return 0 다음에 세미콜론이 없는 상태에서 빌드를 해보았습니다.

    코드 상에서도 빨간줄로 ';'가 필요합니다 라고 떴지만, 빌드를 하면 실패를 하게되고, 구문오류 ';'이(가) '}' 앞에 없습니다. 라고 나옵니다.

    syntax error(구문오류)가 나왔는데요. 코딩시간의 대부분은 문법을 작성하는 것보다는 오류를 찾는 시간에 소요가 된다고 합니다.

     

    오류메시지는 읽어보고 모르겠으면 항상 구글에 검색하시면 됩니다.

    검색하기에 영문판이 좋아서 교수님은 영문판을 사용하신다고 하십니다만, 저는 선천적 영어울렁증(그래도 수능 98점)이 있어 한글판이 편합니다.

     

    오류메시지를 보고 "설마 이런걸 누가 겪어봤겠어... " 싶어도 검색해보면 거의 다 있다고 합니다. 세상엔 비슷한 사람이 많으니까요.

     

     

    // 뒤에 쓰인 부분은 주석입니다.

     

    int x; x라는 변수를 선언합니다.

    integer x 니까, 정수형의 데이터를 받을 x라는 변수(메모리 공간)을 할당해 주는겁니다.

    VB에서는 보통 Dim x as integer 정도로 표현합니다. (이렇게 VBA 포스팅을 어물쩍 넘어가려는 심산인가요...)

     

    위 그림에서 x에는 2라는 정수를 넣었구요.

    y에는 x+3이라는 값을 넣었습니다. x는 현재 2니까 y는 5가 되겠네요.

     

    2, 3, 5 같은 것을 리터럴 이라고 합니다. 리터럴은 다음에 자세히 포스팅해볼게요.(아직 강의에 제대로 안나왔어요.)

     

    그림에서는 return y; 라고 코딩을 했는데요. 이렇게 해도 5가 나오진 않습니다.

     

    출력을 해보고 싶으면 출력을 하는 함수를 넣어줘야 합니다.

     

     

     

    #include : 포함을 시킨다. 여기서 #은 전처리기 입니다.

    iostream : input output stream 으로, 입출력을 가능하게 해 주는 기능입니다.

    preprocessor directive 라고 하죠. 네 사실 잘 모르겠습니다. 이거 교수님이 보시면 댓글 또 달아주시려나 모르겠습니다.

    사실 그 전에 강의를 계속 들으면서 알아가야겠지요.

     

     

    std : namespace 라는데 이건 좀 더 알아보아야 겠습니다.

    std : standard library의 일부이고, 비주얼스튜디오에 딸려있는거랍니다. 라이브러리를 활용하면 코딩속도가 빨라진다고 하네요.

    서식같은개념으로 받아들이면 될까요?

    :: (콜론두번) -> std 안에 들어있는 cout을 접근할 수 있게 되는 거죠.

    뒤에 보면 std::endl;이라고 하니, 마찬가지로 std안에 있는 endl을 접근하게 하는 내용이겠습니다.

    << : stream, output 오퍼레이터 입니다.

     

    std::cout << y << std::endl;

    를 해석해보면,  cout은 출력을 하는 내용일 것이고, cout에 y(지금은 x+3이니 5겠네요.)를 넣어주고, endl, 줄바꿈을 해주게 코딩을 했네요.

     

     

     

    복습을 하라고 숙제를 내 주시고 강의를 마치신 홍정모 교수님.

     

    표현식과 명령문의 차이는 뭘까요?

    -> 세미콜론이 있고 없고의 차이인데, 명령문은 시키는거고 표현식은 음...;; 표현하는 식? x+y 같은?

     

    함수와 라이브러리의 차이는 뭘까요?

    -> 함수와 라이브러리는 둘다 어떤 기능을 내장하고 있다는 공통점이 있지만, 함수는 공통어 같은거라면 라이브러리는 개인의 서식같은 거라고 생각하면 되지 않을까요? 맞나요 교수님??

     

    C++에서 문장을 끝내는 기호는 뭘까요?

    -> 세미콜론 (;)

     

    문법 오류란 무엇인가요?

    -> syntax error, 즉 문법이 맞지 않다는 거고, 보통 ;을 생략한다든지 하는 내용이고, 문법상 구문에 오류가 생기는 거겠습니다.

     

     

     

     저는 언제자려고 아직까지 포스팅을 하고 있고...

    그리고 이제 또 다음 강의를 들으러 가봅니다.

    댓글
    위쪽 화살표
    도움이 되었다면 공감(하트)과 댓글을 부탁드려요.
    //스크립트는 script로 수정해주세요.//