본문 바로가기

전자 공학/C언어 C++

[C언어 독학하기] 2. printf, scanf_s, 특수 문자, 서식 문자

반응형

 

 

 

안녕하세요. 취업한 공대누나입니다.

오늘은 지난 시간에 공부했던 printf를 더 자세하게 배워보고

scanf또한 배워보도록 하겠습니다.

눈으로 읽는 것 보다 직접 따라해보는 것이 훨씬 좋다는 거 인지해주세요!

 

printf는 데이터를 출력하는 함수입니다.

지난 시간에는 Hello World!를 출력했었죠

이번에는 printf를 이용하여 다양한 기능(?)들을 수행해보려고 합니다.

 

1. 특수 문자

한 번 실습을 통해 어떻게 기능들이 사용되는지 몇가지 예를 들어 보도록 하겠습니다.

\n과 \t을 저는 주로 많이 사용합니다.

다음과 같이 소스 코드를 작성한 후 실행해보도록 하겠습니다.

잘 안보이실까봐 메모장에 복붙 하였습니다. ㅎㅎ

 

Ctrl+F5를 눌러 컴파일을 진행하면 아래와 같은 화면이 나타나게 됩니다.

 

 

천천히 해석해보실 수 있으신가요?

각 프린트 문마다 엔터(\n)를 입력하여 모두 개행된 것을 볼 수 있습니다.

탭기능과 작은따옴표, 큰따옴표, 그리고 느낌표가 지워진 것 까지 확인이 가능합니다.

 

저와 같이 따라하셔도 좋고 여러 가지를 응용해서 작성해보셔도 좋습니다^^

이런 것들은 시험을 위해서가 아니라면 굳이 외우실 필요 없습니다.

필요할 때 마다 찾아쓰면 되고 자주 쓰는건 저절로 외워지기 마련이죠.

 

 

 

2. 서식 문자

 

서식 문자란 출력 형태를 지정해 주는 문자입니다.

간단하게 표로 아래와 같이 정리해 보았습니다.

아래에서 예제로 함께 이해해보도록 하겠습니다.

 

 

아래와 같이 소스 코드를 작성 후 컴파일 해보도록 하겠습니다.

 

 

자 우선 소스 코드에서 문법을 주목해서 봐주시기 바랍니다.

\n은 모두 개행을 위해 넣은 것입니다.

1. %d의 출력 형태는 10진수 정수입니다. 1을 입력하기 위해 다음과 큰 따옴표 뒤에 ,를 입력 후 정수를 썼습니다.

2. 한 번에 많은 서식 문자를 입력했으면 순서대로 ,를 써가며 입력해주면 됩니다.

3. 소수는 %f를 이용해서 표현을 했습니다.

4. %x는 10을 16진수로 표현하기 위해 사용했습니다.

5. 문자를 출력하고 싶을 때는 ,를 하고 작은 따옴표 사이에 문자를 입력해야 합니다.

6. 문자열을 출력하고 싶을 때는 ,를 하고 큰 따옴표 사이에 문자열을 입력해야 합니다.

 

 

해당 출력 내용입니다.

 

 

3. scanf_s

 

scanf_s는 키보드로부터 데이터를 입력받는 함수입니다.

이 함수를 사용하기 위해서는 printf와 마찬가지로 <stdio.h>을 include 해야 합니다.

scanf_s를 사용하기 위해서는 위의 서식 문자 내용을 이해하고 있어야 합니다.

 

아래와 같이 소스코드를 작성한 후 컴파일 해보도록 하겠습니다.

 

 

int num1; 이라는 것은 다음 시간에 자세히 설명하겠지만

num1이라는 정수형 변수를 선언해준 것입니다. 

여기서는 어려우면 입력받을 문자의 공간을 할당해주었다고 생각하고 넘어가시면 됩니다.

 

scanf_s 문법은 위의 소스코드와 같습니다.

입력받을 숫자 혹은 문자를 서식 코드에 맞게 작성해준 후 입력 받을 공간을 ,뒤에 써줍니다.

scanf_s안의 %d를 보면 10진수 정수를 입력받겠구나를 알 수 있고

그 정수를 num1이라는 곳에 입력받는구나 라고 알 수 있습니다.

이 때 입력받는 num1이라는 공간 앞에는 &기호를 꼭 써줘야 합니다!

자세한 설명은 얼마 후 포스팅에 있을 예정입니다.

 

 

10을 printf를 이용하여 16진수와 8진수로 각각 출력을 해보았습니다.

제가 해본 예제 말고 다른 것들도 마구마구 출력 해보시면

이해가 금방 가실겁니다.

컴파일 에러가 나는 것이 있으면 댓글로 알려주세요 ㅎㅎ

반응형