printf의 형식지정자 (format specifier)

C언어에서

printf를 이용하면

숫자등을 간단히 출력할 수 있다.

예를 들어

int변수 a의 값을 출력하려면 다음과 같이 한다.

int a = 10;

printf("%d", a);


이것이 가능한 이유는

'%d'가 a의 값을 10진수로 출력할 수 있게 하기 때문이다

이런 것을 형식지정자라고 한다.


정수출력에 사용되는 형식지정자

%d : 10진수

%o : 8진수

%x : 16진수, a~f의 소문자 사용

%X: 16진수, A-F의 대문자 사용


이러한 형식지정자를

사용하면,

같은 숫자라도 다양한 형식으로 출력해 볼 수 있다.

아래 프로그램은 10진수 15를

8진수와 16진수로 출력하고 있다.


출력함수 printf에서 사용할 수 있는 형식지정자에 대해 설명합니다.



반응형
LIST


숫자 (Numbers)


C언어에서 사용할 수 있는 

숫자들에 대해서 설명합니다.


10진수

10, 

20, 

0, 

-1,

-10

아주 쉽다. 음수는 앞에 '-'를 붙이면 된다.


16진수

이제, 컴퓨터의 세계로 왔으니,

컴퓨터가 사용하는 16진수도 알아야 한다.

16진수는 앞에 '0x' 혹은 '0X'라고 먼저 쓰고,

그 뒤에 숫자를 쓴다. '0'은 숫자 0이다.


 10진

 16진

 0

 0x0

 1

 0x1

 2

 0x2

 3

 0x3

 4

 0x4

 5

 0x5

 6

 0x6

 7

 0x7

 8

 0x8

 9

 0x9

 10

 0xA 

 11

 0xB

 12

 0xC

 13

 0xD

 14

 0xE

 15

 0xF

 16

 0x10

 17

 0x11


8진수

16진수를 많이 쓰지만, 8진수도 쓴다.

앞에 숫자 '0'을 붙여서 나타낸다.


 10진수

8진수 

 0

00 

 1

01 

 2

02 

 3

03

 4

04

 5

05

 6

06

 7

07

 8

010

 9

010


실수
소숫점을 가진 숫자도 사용할 수 있다.

3.14 같이 쓸 수도 있고,

조금

과학적으로 이런 숫자도 있다.

3.5e1


이것의 의미는 지수승을 의미한다.


그리고, 끝에 f를 붙인 소숫점 숫자도 있다.

3.14159222424232f 

이건 3.14159222424232와 거의 유사한 의미지만,

저장될 때

뒤에 몇 자리가 짤릴 수도 있다.

왜 이런 일이 생기는지는 나중에 자세히 설명한다.


문자 (Character)

숫자를 표현하는 것 말고도,

C언어에서는

알파벳 한글자씩, 즉 문자를 표현할 수 있는데,

이것은 알파벳을 작은 따옴표로 감싸서 표현한다.

이렇게

'a'

'k'


문자열 (String)

문자들이 모인 것을 

문자열, string이라고 하는데,

큰 따옴표로 감싸서 표현한다.

"Hello World"

"Bye Bye"



동영상에서 문자와 숫자 사용방법에 대해서 설명합니다.


반응형
LIST


변수(Variable)의 사용


아래 프로그램은 변수 사용의 다양한 예를 보여준다.

별로 어려운 것은 없다.

여기서는 덧셈 연산 (+)만 보여주는 데,

뺄셈은 '-'

곱셈은 '*'

나눗셈은 '/' 등의 기호도 사용할 수 있다. (이것은 나중에 자세히 설명한다.)


변수의 초기화


변수를 선언하면서 동시에 값을 지정하는 것을 초기화라고 한다.

int x = 10;

그런데, 이것은 사실 이런 것과 같다.

int x;

x = 10;

초기화를 안 할 경우, 

변수 x에는 선언할 때 이상한 값이 저장된다. 

일명 쓰레기값. 영어로는 Garbage value.

x를 가지고 계산하기 전에

적정한 값을 저장하는 것을 잊지 않을 수 있으면 초기화는 안 해도 되지만,

그럴 자신이 없으면 초기화해두는 습관을 가지는 것도 좋다.

초기값으로는 '0'을 해 두면 일반적으로 좋다.


아래 동영상에서는 변수를 선언하고, 사용하고, 초기화하는 방법을 설명합니다.



반응형
LIST

+ Recent posts