iOS/정보처리기사

[정보처리기사] C언어 - 출력 변환 기호(%d, %f, %c, %s, %x, %o, 16진수, 8진수 변환)

Chafle 2022. 5. 24. 18:42
반응형

출력 변환 기호란?

그릇의 크기정해서 출력물로 표현해준다.

 

기호 의미 데이터
%d 부호 있는 10진수 출력 double 정수, 문자
%f 고정 소수점으로 출력 float 정수, 실수
%c 문자 출력 character 문자
%s 문자열 출력 string 문자열 포인터
%x 16진수 출력 hexadecimal number 정수
%o 8진수 출력 octal number 정수

 

 

출력 변환 기호란?

예를 들어

printf("%d", 10)이면 

10이라는 값이 %d에 대입돼서, 부호 있는 10진수로 출력이 된다

%d는 문자도 받을 수 있는데, 모든 문자는 ASCII코드로 숫자화 할 수있어서, 문자를 대입해도 숫자로 출력할 수 있다.

 

 


 

ex.

1. printf("값1: %d, 값2: %d", 10, 5);  -> 값1: 10, 값2: 5

2. printf("값: %c", 65);   -> 값: A

3. printf("값: %c", 'A');  -> 값: A

4. printf("값: %s", "반갑습니다");  -> 값: 안녕하세요

5. printf("값: %x", 34);  -> 값: 22

6. 10진수->2진수->16진수로

 

6-해설

10진수->2진수

128  64  32  16  8  4  2  1

0       0     1   0    0   0  1  0

2진수->16진수(4개씩 잘라서 구한다.)

8  4  2  1 | 8  4  2  1

0  0  1  0 | 0  0  1  0

1이 있는 부분의 값이 22이므로 16진수로 변환하면 22

 

7. printf("값: %o", 34);  -> 값: 42

 

7-해설10진수->2진수->8진수

128  64  32  16  8  4  2  1

0      0     1    0   0   0  1  0

2진수->8진수(3개씩 잘라서 구한다)

2  1 | 4  2  1 | 4  2  1

0  0  1  0  0 | 0  1  0

1이 있는 부준의 값이 42이므로 16진수로 변환하면 42

 


 

정수형 자리수 지정

 

 

1. printf("값: %d", 13);   -> 값: 13

 

2. print("값: %5d", 13);   -> 값: ○○○13

%5d는 공간을 5개 만들고 우측부터 작성한다고 생각

 

3. printf("값: %05d", 13);    ->값: 00013

%05d는 공간을 5개 만드는데, 공간을 0으로 채우고 우측부터 작성한다고 생각

 

 

 


 

실수형 자리수 지정

 

1. printf("값: %f", 3.26);  -> 값: 3.260000

실수는 소수점이 6자리이다.

 

2.  printf("값: %6.1f", 3.3);  -> 값: ○○○3.3

6.1f는 6개의 공간을 만들고 소수점 1자리까지 표현한다(소숫점(.)까지 공간에 포함)

 

3. printf("값: %-6.1f", 3.26);  -> 값: 3.3○○○

-6.1f 6개의 공간을 만들고 왼쪽부터 출력하고(-) , 소숫점1자리 까지 표현해라

 

4. printf("값: %-6.3f"., 3.26);  -> 값: 3.260○

6.3f는 6개의 공간을 만들고 왼쪽부터 출력해서(-), 소숫점 3자리 까지 표현해라

 

 

반응형

 


 

ex.

 

#include<stdio.h>

void main() {

double d_value;

float f_value = 5.65;

int n;

d_value = f_value;

d_value= d_value +0.5;

n = (int)d_value;

printf("%3.1f, %d", d_vlaue, n);

}

 

답 6.2, 6

 

  d_value f_value n
d_value = f_value 5.65 5.65  
d_value+0.5 6.15    
int(d_value)     6
[n은 정수형 공간인데
d_value는 실수라서 그릇크기가 달라서 넣을 수 없는데, 실수인 d_value를  int화(정수화) 시킨다 -> 반올림 올림 아니고 버림한다]
%3.1f 공간 3개 만들고
소수점 1자리까지 표현한다
○○○에 6.15를 넣는데 0.05는 반올림해서 6.2(.포함 공간3개)
   
반응형