Neste artigo, abordaremos o básico, a sintaxe e os exemplos de uso de especificadores de formato em C Programação .
Especificadores de formato em C
O especificadores de formato são usados para especificar o formato da string de saída, que é impressa no console usando o printf() função e também podem ser usados no scanf() função para obter entrada do usuário. Nós usamos o % símbolo com cada especificador de formato. A linguagem C fornece diferentes especificadores de formato para cada tipo de dados. Alguns dos especificadores de formato você pode usar em seus programas C são mencionados na tabela abaixo:
Tipo de dados | Especificador de formato | |
inteiro | Número inteiro chamuscado | %d |
Número inteiro sem sinal | %eu | |
Número inteiro curto com sinal | %oi | |
Inteiro curto não assinado | %hu | |
dobro | dobro | %lf |
duplo longo | %Lf | |
personagem | %c | |
longo | longo | %EU |
Longo sem assinatura | %Lu | |
Não assinado longo longo | %llu | |
longo longo | %lli ou %lld | |
corda | %s | |
não imprime nada | %n | |
Pontos Flutuantes de Notações Científicas | %e ou %E | |
Imprime ponteiros | %p | |
%o | representação octogonal | |
%x | Representação hexadecimal |
Por meio dos especificadores de formato mencionados acima no função printf() , você pode recuperar os dados armazenados nele.
Aqui estão alguns exemplos simples usando especificadores de formato para diferentes tipos de dados em C:
1: inteiros
#includeint principal ( ) {
int num = 10 ;
printf ( 'Inteiro assinado: %d \n ' , num ) ;
printf ( 'Inteiro sem sinal: %u \n ' , num ) ;
printf ( 'Inteiro Curto com Sinal: %hi \n ' , ( curto ) num ) ;
printf ( 'Inteiro curto não assinado: %hu \n ' , ( não assinado curto ) num ) ;
retornar 0 ;
}
2: Duplo
#includeint principal ( ) {
dobro num = 10.5 ;
printf ( 'Duplo: %lf \n ' , num ) ;
printf ( 'Duplo longo: %Lf \n ' , ( longo dobro ) num ) ;
retornar 0 ;
}
3: Personagem
#includeint principal ( ) {
Caracteres CH = 'a' ;
printf ( 'Personagem: %c \n ' , CH ) ;
retornar 0 ;
}
4: longo
#includeint principal ( ) {
longo num = 100000 ;
printf ( 'Longo: %ld \n ' , num ) ;
printf ( 'Compro não assinado: %lu \n ' , ( não assinado longo ) num ) ;
printf ( 'Longo Longo: %lld \n ' , ( longo longo ) num ) ;
printf ( 'Não assinado Long Long: %llu \n ' , ( não assinado longo longo ) num ) ;
retornar 0 ;
}
5: Corda
#includeint principal ( ) {
Caracteres str [ ] = 'Olá Mundo!' ;
printf ( 'Cordas \n ' , str ) ;
retornar 0 ;
}
6: Diversos
#includeint principal ( ) {
dobro num = 123,45 ;
printf ( 'Pontos flutuantes de notações científicas: %e \n ' , num ) ;
printf ( 'Imprime ponteiros: %p \n ' , & num ) ;
printf ( 'Representação octogonal: %o \n ' , quinze ) ;
printf ( 'Representação hexadecimal: %x \n ' , quinze ) ;
printf ( 'Imprime o caractere %%: %% \n ' ) ;
retornar 0 ;
}
Formatação com especificadores de formato
Algumas ferramentas em C podem ser usadas para formatar a saída, elas geralmente são inseridas entre o % sinal e o símbolo do especificador de formato. Mencionamos algumas das ferramentas de formatação abaixo:
- O período (.) sinal separa a largura do campo com precisão.
- O menos (-) sinal indica o alinhamento à esquerda.
- O número depois de % sinal especifica a largura mínima do campo a ser impresso.
Exemplo
No código de exemplo abaixo, usamos as ferramentas de formatação com os especificadores de formato:
#includeint principal ( )
{
Caracteres str [ ] = 'Linux' ;
printf ( '%30s \n ' , str ) ;
printf ( '%-30s \n ' , str ) ;
printf ( '%10,5s \n ' , str ) ;
printf ( '%-20,5s \n ' , str ) ;
retornar 0 ;
}
No código acima %30s especifica que a string deve ser impressa em um campo com largura mínima de 30 caracteres. %-30s indica a impressão da string em um campo de no mínimo 30 caracteres, mas deve ser alinhado à esquerda. O mesmo é o caso para $ 10,5s e %-20,5s.
Conclusão
O especificadores de formato são usados na formatação de funções de entrada e saída, incluindo printf() funções. O especificadores de formato determinam o formato da string de saída e são usados com o % personagem. Quando o valor é armazenado na variável, você não pode exibir a saída no console diretamente sem usar os especificadores de formato. Nós discutimos diferentes tipos de especificadores de formato com o código de exemplo na seção acima do guia.