본문 바로가기
2024 C언어 강의

1강 C언어 기초 - C언어 학습에 앞서 이해해야 할 것

by 여름코딩 2024. 3. 3.
반응형

 

안녕하세요 판타지코딩월드입니다.

 

강의를 시작하는 이 시점 3월 3일 새학기, 새로운 마음으로 C언어를 학습하기 위한 분들이 많이 찾으셨을 것 같습니다.

 

저는 여러분이 C언어라는 프로그래밍 언어를 큰 짐으로 느끼지 않고 공학도로써 새로운 도전을 뒷받침 해주는 유용한 도구로써 쓸 수 있도록 도와드리고자 하는 마음으로 강의를 시작하게 되었습니다.

 

우리가 흔히 사용하는 언어와는 다른 부분이 많아서 배우기에 쉽지 않은 부분과 그만하고 싶은 마음이 들 때도 많으시겠지만, 반수 또는 직종 변경을 할게 아니라면 꾸준히 학습해서 원하는 프로그램 하나 쯤 만들어 보고 앞으로의 꿈을 향해 나아가길 바라겠습니다.

 

특히 C언어는 '프로그래밍 언어의 특성과 흐름'을 이해하면 그 이후로는 술술 풀리는 강의이기도 합니다. 그러니까 여러분도 눈 앞의 과제 제출만을 목표로 하기 보다는 'C언어 너 하나는 내것으로 만들겠어'라는 드라마 주인공 같은 마음으로 끝까지 함께 했으면 좋겠습니다.

 

그럼 저도 잘 부탁 드립니다!

 

아래 C언어의 기초 관련한 강의 이어집니다.

 


 

(아래 로고는 응원하는 마음 듬뿍 담아 만들어 보았는데 어때요?)

 

 

 

오늘은 첫 시간이면서도 의욕을 북돋우기 위한 시간인 만큼 간단하고도 기본적인 강의를 하겠습니다.

(이미 기초가 되어 있는 분들은 강의 목차 보고 필요한 곳으로 가셔서 학습하세요.)

 

C언어 관련해서 공부를 한다면 이 문장은 한 번쯤 접해보셨을 거에요.

 

"Hello world"

 

따로 공부를 하지 않으셨더라도 교재 첫 페이지나 학교 수업 1강이 이 내용이었을 겁니다.

 

그래서 오늘은 이 페이지에서도 간단히 흥미를 일으키기 위해 이 내용을 짚고 넘어가겠습니다.

 


 

 

1. 문자열을 출력하기 - 출력 함수 printf

 

Hello world라는 문장이 프로그래밍에서 유명한 이유는 이 문장을 IDE에 입력하고, cmd창에 출력하는 연습을 가장 먼저 시작하기 때문입니다.

(IDE는 개발을 위한 여러 가지 도구가 통합된 환경이고, Full name이 궁금하시면 검색해 보세요. 나중에 한 번 다루겠지만, 코딩을 하고 코드를 실행하는 과정을 이해하는데 도움이 될 겁니다.)

 

내가 입력한 문자열이 cmd라는 개발자만의 특수한 환경처럼 느껴지는 창에 출력되는 것을 보면서 프로그래밍 언어에 대한 신비감을 상승하기 위한 작업으로 보입니다.

 

그래서 우리는 Visual Studio라는 IDE를 활용해서 실습을 하겠습니다. (설치 방법은 유튜브나 여러 사이트에 많고 어렵지 않으니 개인적으로 연습을 할 수 있는 PC에 설치해 두시면 좋을거에요.)

 

Visual studio에서 빈 프로젝트를 생성하고 소스코드를 작성 할 파일을 생성하셨다면 아래와 같이 적어주세요.

 

#include<stdio.h>

int main()
{
    printf("Hello world!");
}

 

이게 끝입니다.

 

입력 후 코드를 '빌드(Build)'한 후 '컴파일(Compile)' 하고 실행을 하면 되는데, 이 과정은 단축키로 할 수 있습니다.

 

빌드(Build)는 'Ctrl + Shift + B', 컴파일(Compile)후 실행은 'Ctrl + F5'로 간단히 할 수 있습니다.

 

Visual studio 창에서 마우스로도 할 수 있는 작업들이니 각 버튼이 어디에 있는지 확인해 두는 것도 좋겠습니다.

 

이렇게 코드를 실행하면 아래와 같은 출력 결과가 cmd창에 나타날 겁니다.

 

Hello world

 

 

이 작업을 보고 바로 '출력'이라고 합니다.

 

그렇다면 위의 코드 중 어떤 부분이 출력이라는 역할을 하는 것 같나요?

 

printf("Hello world!");

 

 

바로 이 부분입니다.

 

printf라는 영어 단어가 흔히 쓰는 단어이기 때문에 눈치 채셨을 거에요.

 

"Hello World!"라는 문자를 printf 내에 작성하고 ';' 문자를 뒤에 붙여주는 것이 바로 '출력 함수'의 사용 방법입니다.

 

여기서 알아두셔야 할 것은 Hello world! 라는 문자열을 큰 따옴표 안에 작성해 주었다는 것, 그리고 마지막에 ; 문자를 붙여 주었다는 것입니다.

 

여기서는 왜? 라는 의문 보다는 당연히 붙여주어야 할 '약속' 정도로 이해하시는게 좋겠습니다.

 

저도 사실 대학 1학년 시절 대학원생 조교에게 왜 여기서는 붙이고 여기서는 붙이지 않나요? 라고 물어본 경험이 있는데, 딱 이렇게 답해 주더군요.

 

아마 학술적인 내용이 포함되어서 그랬는지는 모르겠습니다만, 실제로 코딩을 하다 보니 알아서 손에 익는 부분이라 체화시키고 넘어가는게 더 중요한 것 같습니다.

 

 

2. 문자열을 출력하기 - include의 의미

 

출력을 위한 함수를 공부해 보았으니 이번에는 가장 먼저 작성한 '#include' 에 대해서 알아보겠습니다.

 

#include <stdio.h>

 

이 코드의 stdio.h는 '표준 입출력'을 위한 헤더 파일이라고 부릅니다.

 

그런데 이렇게 표현하면 코린이 입장에서는 이해가 다소 어려울 것 같습니다.

(물론 의미를 이해하고 넘어가면 좋습니다.)

 

아까 문자열 출력을 위해서 printf 함수를 사용했습니다.

 

그런데 이 함수를 활용하기 위해서는 이 함수에 대한 내용을 담고 있는 '헤더 파일'을 추가해야 하는 것입니다.

 

그래서 추가하는 것이 바로 'stdio.h'이고, 이것을 추가하기 위한 명령어가 바로 #include인 것입니다.

 

예를 더 들어보자면, 절대값을 구해주는 함수가 있습니다. 바로 abs인데요, 이 함수를 사용하기 위해서는 관련 헤더 파일을 추가해야 합니다.

 

해당 헤더 파일 이름은 math.h입니다.

 

#include <math.h>

 

 

이렇게 작성해서 헤더 파일을 불러오고 관련 함수를 사용할 수 있겠죠.

 

이제 이해가 되셨죠?

 

그럼 이제 이런 의문이 드실거에요.

 

'그럼 매번 함수를 쓸 때마다 적절한 헤더파일을 추가해 줘야 되나요? 함수 마다 뭐가 필요한지 어떻게 다 외워요!'

 

맞습니다. 누구나 할 수 있는 질문입니다.

 

하지만 이건 걱정하지 않으셔도 됩니다.

 

여러분이 한 학기동안 또는 기본서 한 권을 다 뗄 동안 기본적으로 'stdio.h'를 거의 매번 작성하게 될 거고, 다른 헤더 파일이 필요한 함수를 사용할 때에는 어떤 헤더 파일에 어떤 함수가 정의되어 있는지 일관성이 보일겁니다.

 

abs, cos, sqrt의 헤더 파일은 math.h

strcmp, strcpy의 헤더 파일은 string.h

(strcmp는 문자열 비교, strcpy는 문자열 복사 기능을 합니다.)

 

함수의 일관성과 헤더 파일의 이름의 관련성이 느껴지시죠?

 

이처럼 함수를 사용하기 위한 헤더 파일을 익히는건 어렵지 않고, 기본적인 함수들은 몇 번 연습하다 보면 어떤 헤더 파일을 추가해야 하는지 익숙해질겁니다.

 

그리고 개발자가 되면 필요한 함수를 검색해서 사용하는 일도 많습니다.

 


 

오늘은 첫 강의를 시작하는 날인 만큼 C언어를 배우기 위해 어떤 마음으로 임하면 좋을지에 대해서도 이야기 해보고, 간단한 코딩도 해 보았습니다.

 

처음 접할 때는 다소 낯선 언어일지라도, 학습을 하다 보면 언어의 흐름이 느껴지실거에요.

 

이해하면 할 수록 자신감이 생기는 분야이기 때문에 꾸준하게 가시면 좋겠습니다.

 

그럼 다음 강의부터 화이팅 해봐요!

 

화이팅!

 

반응형