|
|
Se esta página lhe ajudar, considere fazer uma doação |
|
4. printf
| ESPECIFICADOR |
VALOR |
| %d |
inteiro |
| %o |
inteiro em formato octal |
| %x |
inteiro em formato hexadecimal |
| %X |
| %u |
unsigned int |
| %ld |
long int |
| %f |
float |
| %c |
char |
| %e |
float em formato exponencial |
| %E |
| %g |
float. C escolhe melhor maneira de exibição entre
normal e exponencial |
| %G |
| %s |
string |
| %p |
endereço de um ponteiro |
| %n |
quantos caracteres a função printf exibiu |
Por padrão o sinal de subtração precede um número negativo. Para que o sinal de
adição preceda um número positivo inclua um sinal de adição logo após o % no
especificador de formato.
Exemplo:
#include <stdio.h>
int main()
{
int nr_pos,nr_neg;
nr_pos = 3;
nr_neg = -3;
printf("nr_pos = %+d\n",nr_pos);
printf("nr_neg = %d\n",nr_neg);
return(0);
}
|
4.3 Formatando valores inteiros
| SINTAXE |
EFEITO |
| printf (" %5d ",valor); |
exibe valor com um mínimo de 5 caracteres |
| printf(" %05d ",valor); |
exibe valor com um mínimo de 5 caracteres precedendo-o com zeros |
| #%o |
exibe um valor octal precedido de 0 (zero) |
| #%x |
exibe um valor hexadecimal precedido de 0x |
| #%X |
/* Exibe valor com um mínimo de 5 caracteres
e com 3 dígitos a direita do ponto decimal */
printf(" %5.3f ", valor);
|
4.5 Justificando à esquerda
Por padrão, printf justifica o texto à direita. Para justificar à esquerda coloque
um sinal de subtração após o %.
Exemplo:
#include <stdio.h>
int main()
{
int valor = 1;
printf("Justificado a direita => %5d\n",valor);
printf("Justificado a esquerda => %-5d\n",valor);
return(0);
}
|
4.6 Quebrando uma string em duas linhas
#include <stdio.h>
int main()
{
printf("Esta string é muito grande e por isso foi\
quebrada em mais de uma linha. Para fazer isso você\
deve usar o sinal de barra invertida.");
return(0);
}
|
4.7 Caracteres de escape
| CARACTERE |
SIGNIFICADO |
| \a |
aviso sonoro |
| \b |
retrocesso |
| \f |
avanço de formulário |
| \n |
nova linha |
| \r |
retorno do carro (sem alimentação de linha) |
| \t |
tabulação horizontal |
| \v |
tabulação vertical |
| \\ |
caractere de barra invertida |
| \' |
apóstrofe |
| \" |
aspas |
| \? |
interrogação |
| \nnn |
valor ASCII em octal |
| \xnnn |
valor ASCII em hexadecimal |
#include <stdio.h>
int main()
{
int nr_caracteres;
printf("Verificando quantos caracteres printf exibiu.%n",&nr_caracteres);
printf("\nA frase acima tem %d caracteres.",nr_caracteres);
return(0);
}
|
No exemplo acima, o especificador %n coloca o número de caracteres exibidos por printf
na variável &nr_caracteres.
Exibindo em cores
SEQUÊNCIA DE ESCAPE |
COR |
| \033[30m |
Cor do primeiro plano preta |
| \033[31m |
Cor do primeiro plano vermelha |
| \033[32m |
Cor do primeiro plano verde |
| \033[33m |
Cor do primeiro plano laranja |
| \033[34m |
Cor do primeiro plano azul |
| \033[35m |
Cor do primeiro plano magenta |
| \033[36m |
Cor do primeiro plano ciano |
| \033[37m |
Cor do primeiro plano branca |
| \033[40m |
Cor do fundo preta |
| \033[41m |
Cor do fundo vermelha |
| \033[42m |
Cor do fundo verde |
| \033[43m |
Cor do fundo laranja |
| \033[44m |
Cor do fundo azul |
| \033[45m |
Cor do fundo magenta |
| \033[46m |
Cor do fundo ciano |
| \033[47m |
Cor do fundo branca |
Exemplo :
#include <stdio.h>
int main()
{
printf("\033[41m"); /* fundo vermelho */
printf("\033[37m"); /* primeiro plano branco */
printf("Exibindo o fundo em vermelho e o primeiro plano em branco.\n");
return(0);
}
|
Posicionando o cursor
SEQUÊNCIA DE ESCAPE |
FUNÇÃO |
| \033[x;yH |
posiciona o cursor na linha x, coluna y |
| \033[xA |
move o cursor x linhas para cima |
| \033[xB |
move o cursor x linhas para baixo |
| \033[yC |
move o cursor y colunas para a direita |
| \033[yD |
move o cursor y colunas para a esquerda |
| \033[S |
armazena a posição atual do cursor |
| \033[U |
restaura a posição do cursor |
| \033[2J |
limpa a tela |
| \033[K |
limpa a linha atual |
Exemplo:
#include <stdio.h>
int main()
{
printf("\033[2J"); /* limpa a tela */
return(0);
}
|
|
|
Se esta página lhe ajudou, considere fazer uma doação |
|