103 lines
3.1 KiB
Markdown
103 lines
3.1 KiB
Markdown
---
|
|
title: Format Specifiers
|
|
localeTitle: Especificadores de formato
|
|
---
|
|
# Especificadores de formato
|
|
|
|
Especificadores de formato definem o tipo de dados a serem impressos na saída padrão. Seja para imprimir uma saída formatada ou para receber uma entrada formatada, precisamos de especificadores de formato. Os especificadores de formato também são chamados de string de formato. O especificador de formato é usado durante a entrada e a saída. É uma maneira de informar ao compilador que tipo de dados está em uma variável durante a entrada usando scanf () ou imprimindo usando printf (). Alguns exemplos são% c,% d,% f, etc.
|
|
|
|
Especificador de formato de caractere:% c
|
|
|
|
# incluir
|
|
|
|
int main () { char ch = 'A'; printf ("% c \\ n", ch); return 0; }
|
|
|
|
Saída: UMA
|
|
|
|
Especificador de formato inteiro:% d,% i
|
|
|
|
# incluir
|
|
|
|
int main () { int x = 45, y = 90; printf ("% d \\ n", x); printf ("% i \\ n", x); return 0; }
|
|
|
|
Saída: 45 45
|
|
|
|
Especificador de formato duplo:% f,% e ou% E
|
|
|
|
# incluir
|
|
|
|
int main () { float a = 12,67; printf ("% f \\ n", a); printf ("% e \\ n", a); return 0; }
|
|
|
|
Saída: 12,670000 1.267000e + 01
|
|
|
|
Número Octal não assinado por inteiro:% o
|
|
|
|
# incluir
|
|
|
|
int main () { int a = 67; printf ("% o \\ n", a); return 0; }
|
|
|
|
Saída: 103
|
|
|
|
Hexadecimal não assinado para número inteiro:% x,% X
|
|
|
|
# incluir
|
|
|
|
int main () { int a = 15; printf ("% x \\ n", a); return 0; }
|
|
|
|
Saída: f
|
|
|
|
Impressão em cadeia:% s
|
|
|
|
# incluir
|
|
|
|
int main () { char a \[\] = "nitesh"; printf ("% s \\ n", a); return 0; }
|
|
|
|
Saída: nitesh
|
|
|
|
* * *
|
|
|
|
scanf (formato char \*, arg1, arg2,…)
|
|
|
|
número inteiro decimal:% d
|
|
|
|
# incluir
|
|
|
|
int main () { int a = 0; scanf ("% d", & a); // entrada é 45 printf ("% d \\ n", a); return 0; }
|
|
|
|
saída: 45
|
|
|
|
Inteiro pode ser octal ou hexadecimal:% i
|
|
|
|
# incluir
|
|
|
|
int main () { int a = 0; scanf ("% i", & a); // input é 017 (octal de 15) printf ("% d \\ n", a); scanf ("% i", & a); // a entrada é 0xf (hexadecimal de 15) printf ("% d \\ n", a); return 0; }
|
|
|
|
saída: 15 15
|
|
|
|
Tipo de dados flutuante:% f,% e (double),% lf (long double)
|
|
|
|
# incluir
|
|
|
|
int main () { float a = 0,0; scanf ("% f", & a); // a entrada é 45,65 printf ("% f \\ n", a); return 0; }
|
|
|
|
Saída: 0.000000
|
|
|
|
Entrada de cadeia:% s
|
|
|
|
# incluir
|
|
|
|
int main () { char str \[20\]; scanf ("% s", str); // input is nitesh printf ("% s \\ n", str); return 0; }
|
|
|
|
Saída: nitesh
|
|
|
|
Entrada de caracteres:% c
|
|
|
|
# incluir
|
|
|
|
int main () { char ch; scanf ("% c", & ch); // input é A printf ("% c \\ n", ch); return 0; }
|
|
|
|
saída: UMA
|
|
|
|
Os% especificadores que você pode usar no ANSI C são:
|
|
|
|
| Especificador | Usado Para | |: -------------: |: -------------: | | % c | um único caractere | | % s | uma corda | | % hi | curto (assinado) | | % hu | curto (sem assinatura) | | % Lf | longa dupla | | % n | imprime nada | | % d | um inteiro decimal | | % o | um inteiro octal (base 8) | | % x | um inteiro hexadecimal (base 16) | | % p | um endereço (ou ponteiro) | | % f | um número de ponto flutuante para flutuadores | | % u | int unsigned decimal | | % e | um número de ponto flutuante em notação científica | | % E | um número de ponto flutuante em notação científica | | %% | O símbolo! | |