* 본 강의를 유튜브에서 보실 수 있습니다.
C언어로 출력하는 방법부터 기초 문법까지 + Dev-C++ 사용법/세이버의 C언어 강의 3강
여러분 안녕하세요. 세이버입니다. 유튜브에 C언어 강의 3강이 업로드되었습니다. C언어로 어떻게 출력을 할까요? main 함수란 무엇인가요? 세미콜론은 무엇이고 헤더파일이란 무엇일까요? Dev-C++�
poci.tistory.com
여러분 안녕하세요. 세이버입니다.
1강과 2강에서는 C언어와 컴파일러에 대하여 간략하게 설명만 해드렸습니다.
세이버의 C언어 강의 1강_C언어란 무엇인가?? : https://poci.tistory.com/3
세이버의 C언어 강의 2강_개발환경 구축하기(Dev-C++ 설치법) : https://poci.tistory.com/4
이번 강에서는 여러분들도 C언어를 이용해서 컴퓨터에게 뭔가 명령을 할 수 있게끔 해드리겠습니다.
이번 강을 통하여 여러분들이 컴퓨터에 명령을 내림으로써 희열과 갑의 기분을 느끼시길 바랍니다.
1. Dev-C++ 사용법
2강에서는 Dev-C++를 설치하는 방법만 알려드리고 사용하는 방법은 알려드리지 않았습니다.
아직 Dev-C++를 설치 못하신 분들은 아래 강의를 보고 오심을 추천드립니다.
세이버의 C언어 강의 2강_개발환경 구축하기(Dev-C++ 설치법) : https://poci.tistory.com/4
세이버의 C언어 강의 2강_개발환경 구축하기(Dev-C++ 설치법)
여러분 안녕하세요. 세이버입니다. 저번 강에서는 프로그래밍과 C언어가 무엇이고, C언어의 장점에 대해서 간략하게 설명했습니다. 이번 강에서는 프로그래밍을 하기 위한 개발환경을 구축하는 법을 소개해드리겠..
poci.tistory.com
정상적으로 Dev-C++를 설치하셨으면 바탕화면에 이런 아이콘이 있을 겁니다.
없으면 검색해서 찾아보세요. 검색하셔도 없다면 설치가 제대로 안된 겁니다.
아이콘을 클릭하시면 아래와 같은 기본 화면이 나옵니다.
왼쪽 상단에 있는 File 아래에 있는 빈 종이 아이콘을 클릭합니다.
그런 다음 [Source File]을 클릭합니다.
그러면 이제 프로그래밍 언어를 작성할 수 있는 작업창이 나옵니다.
여기에 코드를 작성하시면 됩니다.
2. C언어에서 꼭 필요한 것
C언어는 여러 함수로 이루어져 있습니다.
이 글을 보고 있는 고등학생들은 함수라는 단어를 보면 f(x)=x+2 같은 함수식을 생각하실 겁니다.
그렇지만 C언어에서의 함수는 개념 자체가 다릅니다.
C언어에서 함수란 일정한 동작을 수행하는 명령어의 집합입니다.
예를들어 출력 함수는 C언어의 여러 기능 중 출력을 도맡아서 수행하는 함수입니다.
이렇게 여러 기능을 맡는 함수들이 모여서 C언어 프로그램을 이루게 됩니다.
여러 가지 함수 중 C언어에서 가장 중요한 함수는 main함수입니다.
아이돌도 main보컬이 없으면 노래가 안 살 듯이 C언어도 main함수가 없으면 프로그램이 동작하지 않습니다.
그래서 컴파일러가 C언어 프로그램을 실행시킬 때 제일 먼저 확인하는 부분은 main함수의 유무입니다.
main함수가 있으면 main함수를 중심으로 프로그램을 실행하게 됩니다.
그럼 main함수는 어떻게 만드냐?? 간단합니다.
모든 함수는 함수 이름과 함수의 영역으로 이루어져 있습니다.
그래서 함수를 선언할 때도 위의 두 개가 꼭 있어야 합니다.
함수 선언법
함수 이름(파리미터)
{
함수의 내용
}
파라미터까지 설명하면 너무 복잡해져서 지금은 설명하지 않고 함수 이름과 영역만 설명하겠습니다.
함수 이름은 말 그래도 함수의 이름입니다.
영역은 이 함수의 범위가 어디서부터 어디까지인지를 중괄호({})로 표현한 겁니다.
따라서 main 함수는
main()
{
}
이렇게 선언하시면 됩니다.
main함수 이름은 꼭 main이어야 합니다.
안 그러면 에러가 납니다.
3. 출력을 해보자
그럼 이제 출력을 해보겠습니다.
출력(出力, output)이란 데이터를 모니터와 같은 출력장치에 나타내는 것을 의미합니다.
쉽게 말해 모니터에 문자나 그림 같은 것을 띄우는 것이 출력입니다.
C언어에서 무언가를 출력할 때는 출력 함수를 사용합니다.
출력 함수도 여러 가지가 있지만, 여기서 사용할 출력 함수는 printf() 함수입니다. (print(인쇄하다)+f)
printf() 사용법은 다음과 같습니다.
printf("출력할 문장");
여기서 잠깐 짚고 넘어갈 부분은 끝부분에 ;(세미콜론)이 있다는 것입니다.
책이나 글에서 한 줄이 끝났다는 것을 의미하는 것이 .(마침표)라면 C언어에서는 ;가 마침표의 역할을 합니다.
그래서 한 줄마다 끝에 ;가 없다면 컴파일러가 줄 해석을 잘못해 에러가 발생하게 됩니다.
그러니 ;을 잊지 말고 써주세요.
한번 실습해보겠습니다.
위와 같이 printf() 함수를 쓰신 다음 [Exrcute]-[Compile & Run]을 클릭하면 컴파일을 하고, 컴파일이 완료되면 실행이 됩니다.
클릭하는 게 복잡하시면 단축키를 사용하실 수 도 있습니다. 단축키는 F11입니다.
실행이 완료되어 입력한 문장이 출력되면 성공한 겁니다.
그런데 아마 C언어를 조금 알고 있는 분이 이걸 보시면 약간 의아하실 겁니다.
그리고 집중력 있게 이 글을 보신 분도 약간 이상하다는 걸 알 겁니다.
왜냐하면 printf 함수를 선언하지 않았으니까요.
함수는 크게 사용자 정의 함수와 시스템 정의 함수가 있습니다.
용어 그대로 사용자 정의 함수는 사용자가 함수를 직접 정의하는 것이고,
시스템 정의 함수는 편의를 위해 시스템이 자동으로 정의하는 것입니다.
출력, 입력 같이 프로그래밍에서 많이 사용되는 기능을 가진 함수들은 기본적으로 시스템 정의 함수입니다.
그래서 위에서 printf 함수를 정의하지 않아도 프로그램이 동작한 것입니다.
하지만 이러한 설명에도 C언어를 배우신 분들은 이상하다고 생각하실 겁니다.
그리고 컴파일을 했을 때 하단에 나오는 문구를 봐도 약간 이상한 점이 있습니다.
Warning이라고 뜬 부분을 해석하면 '호환되지 않는 내장 함수 'printf'의 암시적 선언'이라고 합니다.
즉, 코드에 printf 함수가 선언이 되지 않아서 생기는 경고입니다.
아까는 선언 안 해도 된다며.....
위의 코드처럼 간단한 코드에서는 선언을 안 해도 프로그램이 대충 함수를 인식합니다.
그런데 프로그램이 복잡해지면 함수를 인식하는데 어려움이 있고, 인식이 안되면 에러가 나겠죠??
그래서 printf 함수를 선언을 해주긴 해야 합니다.
그럼 어떻게 하냐?? main 함수처럼
printf()
{
}
이렇게 선언을 해야 하나?? 그건 아닙니다.
시스템 정의 함수들을 정리한 파일이 있습니다.
그 파일을 헤더파일이라고 합니다.
printf 함수도 헤더파일에 정의되어 있으니 여러분들은 이 헤더파일을 가져다가 쓰시기만 하면 됩니다.
그러면 헤더파일도 선언을 해야 하는데, 간단하게 선언할 수 있습니다.
헤더파일 선언법
#include<헤더파일명.h>
이렇게 선언하시면 됩니다.
단, 헤더파일은 코드의 맨 윗줄에 선언해야 합니다.
이유를 간단하게 설명하면 C언어가 절차지향이라서 그렇습니다.
절차지향이 뭔가는 나중에 때가 되면 설명해드릴게요.
시스템에서 제공해주는 헤더파일은 여러 가지가 있습니다.
그중 printf 함수가 선언된 파일을 stdio.h입니다.
stdio가 Standard Input/Output (표준 입출력)의 약어입니다.
그래서 이렇게 헤더파일을 선언한 후 코드를 실행해보시면 Warning 없이 잘 출력되는 것을 확인할 수 있을 겁니다.
이렇게 해서 printf 함수를 이용한 간단한 문장을 출력하는 방법에 대해서 배워보았습니다.
이번 강의가 어렵다고 느끼신 분들이 있을 텐데, 이걸로 어렵다고 하시면 나중에는 머리 터집니다.
어렵다고 생각하지 마시고 코드를 직접 하나하나 타자로 치시면서 익히시면 학습하시기 수월하실 겁니다.
오늘도 수고하셨습니다.
정리
- C언어는 main 함수가 꼭 필요하며, main 함수를 중심으로 프로그램이 실행된다.
- C언어에서 간단한 문장을 출력할 때에는 printf 함수를 사용한다.
- pritnf 함수를 사용하려면 stdio.h 헤더파일을 선언해야 한다.
강의가 유익하셨거나 마음에 드셨으면 구독과 좋아요, 댓글 부탁드립니다.
궁금하신 점이나 질문은 댓글이나 메일을 남겨주세요.
'C언어' 카테고리의 다른 글
세이버의 C언어 강의 6강_변수란 무엇인가 (0) | 2018.10.21 |
---|---|
세이버의 C언어 강의 5강_서식문자 응용편 (0) | 2018.10.07 |
세이버의 C언어 강의 4강_좀 더 복잡하게 출력하기 (0) | 2018.10.06 |
세이버의 C언어 강의 2강_개발환경 구축하기(Dev-C++ 설치법) (0) | 2018.09.27 |
세이버의 C언어 강의 1강_C언어란 무엇인가?? (0) | 2018.09.25 |