C언어 강좌6.C언어 인풋/아웃풋 함수 scanf, printf

Posted by 슈퍼너드 리보
2020. 10. 8. 19:09 프로그래밍/C
반응형

C언어의 입출력 기능을 갖고 있는 scanf와 printf 펑션에 대해 배워 보겠다. 앞으로의 모든 예제와 실습은 이 scanf와 printf 가져다 쓰기 때문에 C언어 공부에 있어 이 두 함수를 자유자재로 쓸 수 있는건 기본중의 기본이다. 

입력펑션 scanf()

scanf 함수는 사용자로부터 변수를 입력 받는 기능을 가졌다. 작성법은 아래와 같이 scanf("변환명세",&변수");로 작성하면 되는데요. 컴파일하면 변수를 입력하라고 커서가 깜빡거린다. 거기다가 변수로 아무거나 입력해보세요. 눈에 보이지는 않지만 여러분이 입력한 변수가 변환명세에 의해 변환되어 메모리에 입력이 된다. 여러분이 키보드로 숫자 3을 입력하면 scanf는 변환명세에 맞춰 정수면 정수, 문자면 문자, 부호 없는 정수면 정수 이런 식으로 변환을 하여 메모리에 저장시킨다. 



관련개념 변화명세 Conversion Specifier

변환명세에는 이러한것들이 있다.


출력함수 printf()

printf는 앞서서 printf("룰루랄라") 이런식으로 문자열을 출력 할 때 썼을거다. 변환명세를 넣어 사용하길 원한다면 다음과 같다.


printf와 scanf는 약간 다른 점이라곤 printf는 변환명세 앞에 문자열이 올 수 있다는거고 (정확하게 말하면 인식이 된다는 거죠) 변수 앞에 어퍼센트가 없다는 점이겠네요.


변환명세 위치에 변수가 변환명세에 맞춰 출력된다.


한번 예제를 봐보자.

 #include <stdio.h>

int main()

{
     int a; 
     printf("아무 숫자나 입력해보세요 : ");

     scanf("%d",&a);
     
     printf("여러분이 입력한 숫자는 : %d\n",a);

}

이것을 컴파일 한다면



아무 숫자나 입력해보라는 문자열이 출력 됩니다. 이제 여기다가 키보드로 원하는 숫자를 하나 입력해보자. 저는 8을 입력해보았다.

이렇게 코드가 출력되었다면 잘 따라하신겁니다. 변환명세를 좀 바꿔보겠다. scanf의 변화명세를 f로 바꿔보겠다. f는 변수를 실수 형식으로 입력받는 변환명세다.

그랬더니 두번째 줄 코드의 숫자가 변했다!! scanf가 알게모르게 작동 되는걸 확인 할 수 있다.


출력펑션의 관련개념 ①이스케이프 문자 

이스케이프 문자는 \n(\ 기호는 백스페이스 옆에 붙어 있고, 백슬레쉬 기호로 보이기도 한다)이라 칠 수 있는데 printf 함수에서 줄바꿈을 해주는 제어 문자의 일종이다. 제어 문자에는 다음과 같은것들이 있다.



반응형