안녕하세요 ! 초보개발자 입니다.
이 블로그는 개인 공부 정리용 블로그 입니다.
혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.
그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.
그럼 시작하도록 하겠습니다.
printf 함수
말 그대로 화면에 데이터를 출력하는 함수 입니다.
앞에서 hello.c라는 예제를 가지고 간단히 알아 보았지만 사용법은 어렵지 않다. 하지만 지시자(앞에서 사용했던 %d 이런것들 ) 의 개수가 많아 처음에는 어렵게 느껴진다. 하지만 값을 어떤 형식으로 출력해 줄 것인지를 정해주기 위한 것으로 다음과 같은 지시자가 있다.
정수 |
%d - 10진 정수로 출력 |
%o - 8진 정수로 출력 |
|
%x - 16진 정수로 출력 |
|
%u - 부호없는 정수로 출력 |
|
%p - 메모리 주소로 출력 |
|
실수 |
%f - 부동소수점으로 출력 |
%e - 지수 표현식으로 출력 |
|
%g - 부동 소수점 수를 간략한 형식으로 출력 |
|
문자,문자열 |
%c - 문자로 출력 |
%s - 문자열로 출력 |
|
%% - %로 출력 |
예제를 통해 실습을 해 보겠습니다.
아래와 같이 입력해주세요.
printf("num1의 10진수 값은 ? %d 입니다.\n",num1);
1) printf 의 %d 값은 먼저 num1에 저장되어 있는 값으로 대체 됩니다.
2) 그리고 문자열을 출력하게 됩니다.
쉽죠 ?
이런식으로 예제를 보시면 되겠습니다.
결과 값은 아래와 같습니다.
scanf 함수
scanf함수는 printf 함수와는 반대로 값을 입력 받는데 사용이 됩니다. scanf함수의 사용법은 printf함수의 사용법과 비슷합니다.
printf함수와 같이 지시자를 이용합니다.
간단히 예제를 통해 알아 보겠습니다.
scanf 함수의 사용법은
scanf("%d", &num);
1) scanf함수에서 %d 는 정수형을 입력받으란 의미입니다.
2) 입력받은 %d의 값을 num 변수에 저장을 하라는 뜻입니다.
printf함수와 비슷한가요 ?
printf("num1의 10진수 값은 ? %d 입니다.\n",num1);
printf함수에서는 num1의 값을 %d에 대체하여 출력하라는 뜻입니다. scanf와 printf 함수의 순서에 유의해주세요
그렇다면 scanf함수의 num 앞에 붙은 '&' 이것은 무엇일까요 ?
나중에 배우게 될 엄청 어려운 ㅜㅜ 포인터 라는 것입니다. 이것은 나중에 배우게 되겠죠 ?
저는 10진수 10을 입력하였습니다.
실행결과는 위의 그림처럼 나오게 됩니다.
ps) 그런데 두번째 줄 #pragma warning(disable:4996) 이것은 무엇 일까요 ? 이것은 현재 scanf 함수는 안전하지 않으므로 기능이 강화된 대체 함수를 사용하라는 경고가 나타나지 않게 하는 지시자 입니다. 두번째 줄을 넣는게 어렵다면 scanf의 강화된 함수인 scanf_s 함수를 사용 하시면 됩니다.
여기까지 printf함수와 scanf함수에 대해서 알아 보았습니다.
다음시간에는 진법에 대해서 알아 보겠습니다.
'프로그래밍 > C언어' 카테고리의 다른 글
[C언어] 연산자 (2) | 2017.04.05 |
---|---|
[C언어] 진법 (0) | 2017.04.04 |
[C언어] 변수(2) (1) | 2017.04.03 |
[C언어] 변수(1) (0) | 2017.04.02 |
[C언어] hello.c 분석 (0) | 2017.04.02 |