아두이노/C언어 기초 강좌

[제3강] 표준 입출력 함수

깜장빠뿌 2016. 9. 18. 22:08

[제3강] 표준 입출력 함수

 

 

[Printf() 함수 사용]

 

오늘은 표준입출력 함수에 대해서 알아보겠습니다.


저번시간에 마지막에 올려드린 내용.. 다들 기억하시죠???

C언어에서 가장 기본이 되는 화면(모니터)출력 함수는 printf() 함수 입니다.

어떻게 사용하느냐?

printf("  문자..... ");

이렇게 하면 간단하게 " " 안의 문자들이 화면에 출력이됩니다.

그럼, 예제하나 띄워드리죠.

#include<stdio.h>
int main(void)
{
   printf("표준 출력 함수 예제");

   return 0;
}

정말 간단하죠? 이렇게 하면 화면에 "표준 출력 함수 예제"가 보이게 됩니다.

 

표준 입출력 함수인 printf() 함수를 사용하기 위해서는 #include<stdio.h> 라는 문장을 꼭 넣어줘야 합니다.

 

왜냐하면, printf() 함수가 stdio.h 라는 별도의 헤더 파일안에 선언이 되어 있습니다.

 

정말 궁금하시면, Dev C++ 폴더에 가서 stdio.h 라는 파일을 찾아서 열어보세요.

 

그럼 정말 printf() 함수가 정의되어 있습니다.

 

아무튼 이런 C언어에서 제공하는 기본 함수를 사용하기 위해서는 그 함수가 선언되어 있는 헤더파일을 가지고 오면 간단히 사용가능 합니다.


그럼, printf()함수에 살을 더 붙여보죠.

int a=5;
printf("%d",a);

이렇게 출력시켜 보세요.


화면에 "5" 가 나옵니다.


어떻게 이런 결과가 나오냐면,  printf()함수는 화면에 " " 안의 내용이 출력 된다고 앞에서 이야기 했죠.

 

그런데, 위에 보면 " " 안의 내용이 %d 요것만 되어 있는데,

 

이건 지난 2강 마지막에 파라미터를 이야기했었는데, 거기에 보면, %d 가 정수를 출력하는 지시어(?) 입니다.
(정확한 표현이 생각이 안나군요.. 그냥 손가는데로 적겠습니다.)


그리고 a라는 변수는 int a 로해서 정수형 변수라고 선언을 했구요.


그래서 정수형 변수를 출력시킨겁니다.

 

물론 위에서 %d 처럼 변수의 값을 출력을 시킬때는 printf() 함수안의 내용도 변형이 되어야 하는데, 출력시키고자 하는 변수의 순서대로 뒤에 꼼마(,)로 추가하시면 됩니다.

 

아래 처럼요.

 

int a=1, b=2;
printf("%d, %d",a, b);


이렇게 변수형파라미터가 2개 선언되어있을때는 ,로 각각 구분시켜 줍니다.


아.... 다른 형을 출력시킬때도 변수형과 지시어만 바꾸어 주면 됩니다.


예를 들어 소수형을 출력시킬려면

float a=1.5;
printf("%f",a);

이렇게 하시면 됩니다^^

[표준 입력 함수 scanf()]


이렇게 화면에 출력 시키는 방법을 알았으니깐.


이제 사용자로부터 입력을 받는 방법을 알아보도록 하죠.


입력 함수중 가장 기본적인 함수는 scanf() 함수입니다.

scanf()함수의 경우도 pritnf()함수의 경우와 비슷하게 사용하시면 됩니다.


입력을 받을때,


int a;
scanf("%d",&a);     // scanf("입력받고자하는 변수형파라미터","변수이름");

이런 형식으로 사용하시면 됩니다. 물론 위의 경우와 마찬가지로 정수의 경우 %d의 변수형파라미터로 입력을 받습니다.


그리고 ,뒤의 a 앞에 붙은 &는 포인터와 관련되어 있는데,


지금은 그냥 &를 붙여서 변수를 사용한다고 생각하세요.

 

(포인터를 지금 건들이면, 포기자가 많아질수도^^)

그럼, 주절주절 설명하는 것보다 한번의 예제를 보시는 것이 더 많은 도움이 되시리라 생각됩니다.

#include<stdio.h>
int main(void)
{
   int a;
   printf("숫자를 입력하세요 :");
   scanf("%d",&a);
   printf("\n입력한 숫자는 : %d 입니다.",a);

   return 0;
}


이것을 직접 실행해 보시면, 흐름을 아시게 될겁니다.


위에서 \n 은 처음 보시는 것인데,


\n의 뜻은 간단하게 워드프로세서(한글)에서 마치 엔터키를 친 효과가 나타납니다.


그리고 \t의 경우는 tap 키를 누른 효과가 나타나구요.


뭐. 다른 것도 있지만, 이 정도만 알고 계셔도 상관없으실것 같네요.

 

(파일로 입출력하더라도 저거 2개가 가장 많이 쓰이게 되더군요..)

 

 

 

 

getch()이나 putch() 등의 함수도 있지만, 초보단계에서는 활용도는 높지 않습니다.


오히려 윈도 프로그래밍을 하시더라도, 


printf()형식과 비슷한 버퍼의 용도가 있는 함수를 더 많이 사용하실겁니다.


우리 강좌는 위에것은 다루지 않고 넘어가도록 하죠..


필요하신 분은 책을 참고하시거나 인터넷 검색하시는 것이 더 도움이 될듯합니다.

 

요 C언어 강좌는 아두이노를 위한 강좌이니깐요^^

 

 

 

[주석문에 대한 설명]


오늘의 강좌 내용이 너무 짧은것 같아서 주석문에 대해 설명드리고 마치도록 하겠습니다.


주석문은 프로그램이 위에 예제에서 처럼 몇줄안될때는 별 상관없지만, 


프로그램이 커짐에따라 함수와 변수의 사용이 늘어날때 유용하게 사용할수 있습니다.


나중에 그 소스를 다시 보더라도 주석을 달아 놓으면 무슨 내용인지 감을 잡을수가 있죠..


그리고 컴파일러는 주석문의 내용은 그냥 없는 것처럼 인식을 하고 넘어갑니다.

우선 형식은

 

"//주석문이지"  와 "/* 주석문일껄? */" 두개의 종류가 있습니다.


//의 경우는 한라인에 한해서 주석문이 되구요..

두번째껀 /* 와 */ 사이의 모든 내용이 주석문이 됩니다.

간단하게..


#include<stdio.h>
int main()
{
   int a;   //int형 변수를 선언
   printf("Hi");   /*Hi를 화면에 출력 */
}

이렇게 주석문 사용을 합니다. 주석문 습관은 정말 중요합니다.

 

간단하게 코딩을 하시더라도 주석문 작성하는 습관을 들이세요!!