Procurar
Últimos assuntos
Quem está conectado?
Há 2 usuários online :: 0 registrados, 0 invisíveis e 2 visitantes Nenhum
[ Ver toda a lista ]
O recorde de usuários online foi de 192 em Ter Out 26, 2021 6:07 am
tabulação em c - printf
Página 1 de 1
tabulação em c - printf
Especificadores de formato
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
Exibindo o sinal de positivo ou negativo antes de um número
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:
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
Formatando valores float
printf(" %5.3f ", valor); /* Exibe valor com um mínimo de 5 caracteres e com 3 dígitos a direita do ponto decimal */
Justificando à esquerda
Por padrão, printf justifica o texto à direita. Para justificar à esquerda coloque um sinal de subtração após o %.
Exemplo:
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
Verificando quantos caracteres printf exibiu
Usando o controlador ANSI para exibir em cores, limpar a tela e posicionar o cursor
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 :
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:
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
Exibindo o sinal de positivo ou negativo antes de um número
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:
- Código:
#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);
}
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
Formatando valores float
printf(" %5.3f ", valor); /* Exibe valor com um mínimo de 5 caracteres e com 3 dígitos a direita do ponto decimal */
Justificando à esquerda
Por padrão, printf justifica o texto à direita. Para justificar à esquerda coloque um sinal de subtração após o %.
Exemplo:
- Código:
#include <stdio.h>
int main()
{
int valor = 1;
printf("Justificado a direita => %5d\n",valor);
printf("Justificado a esquerda => %-5d\n",valor);
return(0);
}
- Código:
#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);
}
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
Verificando quantos caracteres printf exibiu
- Código:
#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);
}
Usando o controlador ANSI para exibir em cores, limpar a tela e posicionar o cursor
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 :
- Código:
#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);
}
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:
- Código:
#include <stdio.h>
int main()
{
printf("\033[2J"); /* limpa a tela */
return(0);
}
juk- Mensagens : 281
Data de inscrição : 02/04/2012
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Seg Jul 29, 2024 9:20 pm por juk
» H2 ERRO h2-databse not found
Dom Jul 28, 2024 5:16 pm por juk
» NPM START ERRO PSSecurityException UnauthorizedAccess
Dom Jul 28, 2024 5:02 pm por juk
» Top 5 GUI tools for PostgreSQL in 2024
Qua Jun 26, 2024 9:04 pm por juk
» Configurando wifi via Terminal no Ubuntu 22.04
Ter maio 28, 2024 9:59 pm por juk
» Atividade Complementar Classes Abstratas, Interfaces e Tratamento de Exceções
Seg maio 20, 2024 10:55 pm por juk
» Atividade Complementar Classes Abstratas, Interfaces e Tratamento de Exceções
Seg maio 20, 2024 10:52 pm por juk
» CRIANDO UM MONITOR VIRTUAL
Qui maio 16, 2024 9:29 pm por juk
» Atividade Prática 5: Classes Abstratas e Interfaces
Seg maio 13, 2024 10:24 pm por juk