Category (Click)
개발보드 덕질하기
🖐️

[2023 방통대 C 스터디] 2. Hello, World!

2023 방통대 C 스터디 강의노트
한국방송통신대학교 컴퓨터과학과의 C언어 스터디에 사용한 자료입니다.
배움은 끝이 없기에 강의노트라 하더라도 오류가 있을 수 있으며, 이 점에 대해서는 둥글게 지적 부탁드립니다.
읽기 전 아래 내용을 숙지하여주시기 바랍니다.
강의 노트에서 중요한 부분은 이렇게 노란색 전구()로 강조합니다.
한국어로 번역했을 때 뜻이 명확하지 않은 일부 용어는 의미를 분명히 하기 위해 한국어로 뜻을 번역하지 않고 영어 원문을 그대로 사용하거나 말음을 한국어로 표기합니다.
강의 노트는 스터디 내용을 대체할 수 없으며 이해를 위한 자세한 내용은 스터디에서 언급합니다.
강의 노트는 Light 테마에서 보시는것을 권장합니다.
스터디는 Windows 11, Visual Studio IDE 환경에서 진행합니다.
mac인 경우 패러렐즈를 이용해 Windows 11 ARM을 설치하여 동일하게 진행할 수 있습니다.
모든 강의 노트의 저작권은 작성자 차완기에게 있으며 무단 복제를 금합니다.

#방통대 2023 C 스터디 강의노트 태그 전체 글보기

이제 본격적으로 C언어 프로그래밍을 시작할 차례입니다. 프로그래밍 입문의 신고식이라 할 수 있는 Hello, World! 프로그램을 작성해보며 C의 기본적인 문법을 알아보도록 하겠습니다.

Hello, World!

아래 소스코드는 터미널 창에 “Hello, World!” 라는 문구를 띄우는 간단한 예시입니다.
#include <stdio.h> int main() { printf("Hello, World!"); return 0; }
C
복사

#include

C언어는 프로그래밍을 위한 기본적인 뼈대만 제공할 뿐 화면에 글씨를 쓰는 기능은 지원하지 않습니다. 이를 위해 외부 라이브러리를 사용해야 하는데요, C언어의 Standard Library 중 하나인 stdio.h를 사용합니다.
stdio.h는 Standard Input, Output의 약자로, 화면에 글씨를 출력하거나 키보드로 입력받거나 파일을 읽고 쓸 때 사용합니다.
stdio.h의 주요 함수
이러한 stdio.h 라이브러리를 사용하기 위해서는 #include라는 문장을 이용하며 이후 이어지는 홀화살괄호(<>) 안에 라이브러리의 이름을 입력합니다.
Standard Library는 C언어에서 기본적으로 제공하는 라이브러리로, 프로그래밍을 위한 기본적인 기능들을 제공합니다. Standard Library는 여러가지 헤더파일로 구성되어 있으며, 대표적으로 stdio.h, stdlib.h, string.h 등이 있습니다. 이 중 stdio.h는 입출력과 관련된 함수들을 제공하며, C언어에서 출력을 담당하는 printf() 함수도 stdio.h 라이브러리에 포함되어 있습니다.
stdio.h에 대한 자세한 내용은 뒤의 stdio.h 섹션에서 다룹니다.
#include와 같이 앞에 # 문자가 들어간 문장은 전처리문으로, 컴파일 과정에서 특수하게 취급됩니다. 이와 관련한 설명은 여기서는 넘어가고 이후 전처리문 섹션에서 자세히 알아보도록 하겠습니다.

main() 함수

프로그램을 컴파일해 실행하면 main() 함수가 실행됩니다. 즉, main() 함수는 프로그램의 시작점을 나타내는데요, 중괄호({}) 안에서 프로그래밍을 시작하면 됩니다.
여기서는 함수와 관련된 자세한 설명을 다루지 않습니다. 함수의 타입, 인자값, 반환값은 뒤의 함수 섹션에서 다룹니다.

printf() 함수

프로그램의 목적인 “Hello, World!”를 출력하기 위해 stdio.hprintf() 함수를 사용합니다.
printf(”Hello, World!”);
printf : 함수의 이름을 작성합니다.
() : 괄호 안에 함수에 제공할 데이터를 입력합니다. 여기서는 글씨를 출력하는 printf()함수를 사용하였기 때문에 출력할 글씨에 대한 정보를 넣어 주었습니다.
”Hello, World!” : C언어에서 글씨의 연속인 문자열은 큰따옴표(””) 안에 작성해 표현합니다.
; : C언어의 모든 구문의 끝에는 세미클론(;)을 입력해야 합니다.
세미클론은 전처리기를 제외하고 중괄호를 사용하지 않는 모든 문장의 끝에 입력합니다. 지금은 감이 잡히지 않더라도 코드를 작성하다 보면 언제 입력해야하는지 감이 생길것입니다.

return 문

return문은 함수의 종료를 알리는 역할을 합니다. 따라서 함수에서의 의도한 모든 동작이 완료된 후 입력하는데요, return 0;을 입력해 0을 반환하는 것은 프로그램이 정상적으로 종료되었음을 의미합니다.
만약 return문을 printf() 함수 위에 올려다 놓으면 printf() 함수가 작동하지 않은 체 프로그램이 종료되는 것을 확인할 수 있습니다.
VS의 컴파일러에서는 main() 함수에서 return문을 생략하여도 0이 반환된 것으로 간주합니다. 다만, 다른 플랫폼에서 생략했을 때 예기치 않은 결과가 발생할 수 있기 때문에 권장하지 않습니다.

주석

모든 프로그래밍 언어는 소스코드의 가독성을 높히기 위해 주석 이라는 기능을 지원합니다. 주석을 사용하게 되면 주석으로 표기된 부분은 컴파일 과정에서 모두 무시됩니다.
C 언어에서는 두 가지 종류의 주석을 지원합니다.
// : 한 줄에 주석을 작성할 때 사용합니다. // 뒤의 내용은 해당 줄 끝까지 주석 처리됩니다.
/* */ : 여러 줄에 걸쳐 주석을 작성할 때 사용합니다. 아래와 같이 함수의 설명을 작성하거나 파일을 설명할 때 주로 사용합니다.