본문 바로가기

C 언어

백준으로 배우는 C 언어 02. Hello World!

프로그래밍을 배우기 시작하면 항상 한 번씩은 해보는 것이 있죠. 바로 Hello World!인데요, 백준 역시 "세상아 반갑다"로 시작을 하네요. 백준 단계별 풀어보기의 첫 단계인 입출력과 사칙연산의 1번 문제 Hello World!(#2557)를 풀어보도록 하겠습니다. 


 

백준으로 배우는 C 언어 01. Xcode 설치하기

C 언어를 배우기 시작하면서 이것저것 찾아보다가 백준(Baekjoon)이라는 사이트를 알게 되었는데요, 기초부터 고급까지 수만 개의 문제들을 풀어볼 수 있는 사이트입니다. 코딩에 관한 기초 지식만 있다면 단계별..

torotoblog.tistory.com


먼저 문제를 찾아야 하겠죠. 백준 https://www.acmicpc.net/ 사이트에 들어간 후 상단 메뉴에 있는 문제 > 단계별로 풀어보기로 들어가 주세요. 

1 단계는 입출력과 사칙연산입니다. 총 11개의 예제 문제들이 있네요. 하나씩 파헤쳐 봅시다. 

입출력과 사칙연산의 첫 문제는 프로그래밍을 배우지 않은 사람들도 안다는 그 유명한 Hello World!이네요. 클릭해서 문제를 확인해 봅시다. 

1 단계인 만큼 문제는 아주 간단하네요. Hello World!라는 문구를 출력하면 되고, 입력은 없습니다. 그럼 바로 Xcode(혹은 비주얼 스튜디오)를 실행시킨 후 코딩을 시작해보죠.

#include <stdio.h>

int main(void) {
    printf("Hello World!\n");
    return 0;
}

아주 간단하죠? 그럼 이제 한 줄씩 알아봅시다!

#include <stdio.h>

stdio.h는 C 언어의 표준 코드들을 담고 있는 라이브러리(Library)입니다. 단어의 뜻에서 알 수 있듯이 stdio.h라는 라이브러리를 포함시키라는 의미의 코드입니다. 4번 줄에 있는 printf 함수도 이 라이브러리 안에 포함되어있죠. 만약 이 줄이 포함되어있지 않다면 컴파일러는 printf함수가 어떤 역할을 하는지 알 수 없어서 오류를 내보내게 됩니다.

int main(void) {
}

C 언어의 가장 베이스가 되는 함수입니다. 제일 먼저 실행되고 또 제일 마지막에 종료되는, 이름에서 알 수 있듯이 메인이 되는 함수죠. 여기서 다른 언어들과 조금 다른 부분을 알 수 있는데요, 리턴 값을 갖지 않는 void 형식의 메인 함수를 가지고 있는 다른 언어들과 달리 int 형식의 메인 함수를 갖고 있습니다. 물론 C 언어에서도 void를 사용해도 되지만 int 형식의 함수를 권장하고 있습니다.

printf("Hello World!\n");

출력을 담당하는 printf 함수입니다! 문자열을 출력하기 위해 큰 따옴표 ""로 묶여있죠. 제일 마지막에 있는 \n는 줄 바꿈 기호인데요, printf 함수는 스스로 다음 줄로 넘어가지 않고 한 줄에 프린트되기 때문에 다음 줄로 넘기기 위해서는 \n을 마지막에 입력해 줘야 합니다. 제일 마지막에는 세미콜론 ;을 입력해서 마무리하는 걸 잊지 마세요.

return 0;

메인 함수가 int 형식으로 되어있으니 리턴 값이 있어야 하겠죠! 아까 메인 함수 형식을 정수로 설정했기 때문에 반환하는 값도 정수가 되어야 합니다. 그렇기 때문에 0을 반환하라는 코드를 삽입해 준거죠. C 언어에서는 main 함수의 리턴 값에 따라 정상적으로 종료했는지의 여부를 판단하는데요, 0을 반환하면 정상 종료, 그 외의 값들은 비정상 종료가 됩니다.

이제 코드를 제대로 입력했는지 테스트를 해 봅시다. 좌측 상단에 있는 디버그 버튼을 클릭하면 우측 하단에 Hello World!라고 출력이 되어있을 겁니다. 그 아래에는 아까 설명한 듯이 0을 반환해서 프로그램이 종료되었다고 뜨네요(Program ended with exit code: 0). 위 사진과 같이 나왔다면 맞게 하신 겁니다 ㅎㅎ

디버그도 성공적으로 됐다면 제출을 해야겠죠. 백준 사이트로 돌아가서 상단에 있는 제출 버튼을 클릭한 후 언어를 C로 선택해 줍시다. 방금 전 만든 소스 코드를 입력한 뒤 아래에 제출 버튼을 클릭하시면 됩니다. 코드 공개 여부는 원하는 대로 하셔도 상관없습니다!

그러면 위 사진과 같이 뜨면서 채점을 해 줍니다. 맞았다고 뜨네요ㅎㅎ 코드를 실행하면서 사용되는 메모리, 시간, 코드 길이 등도 함께 볼 수 있습니다.


 

백준으로 배우는 C 언어 03. We love kriii

저번 강좌에 이어서 두 번째 강좌네요! 두 번째 문제인 We love kriii에서는 저번 Hello World에 이어 printf 함수를 조금 더 디테일하게 살펴볼 겁니다. 바로 시작할까요?! 백준으로 배우는 C 언어 01. Xcode 설..

torotoblog.tistory.com