Ling. C - Saída de dados

Principais funções de saída de dados

Computação Algoritmos Programação em C Lógica de Programação Programação
Ling. C - Saída de dados
Guilherme F.
em 27 de Fevereiro de 2019

No artigo anterior, foi apresentada a introdução a linguagem C. Neste, veremos os principais comandos de saída de dados em console.

1. Saída de dados em Console

A linguagem C possui três modos básicos de saída de dados na tela em modo console: printf(“TEXTO”), pucthar('A') e puts(“TEXTO 1”),


#include <stdio.h> 
#include <stdlib.h> 

main()
{
   printf("OLA\n");
   putchar('A');
   puts("\nTEXTO 1");
   system("PAUSE");
}

saida1

1.1 printf

A função printf() permite realizar saída de dados na tela formatados. Pode operar em qualquer tipos de dados, como strings, números, etc.

O protótipo da função printf é

int printf(const char *string_de_controle, ....);

Observa-se o uso de const.É um modificador de tipo de acesso. Deve preceder os modificadores de tipo(neste caso, char) e os nomes que modifica (neste caso, *string_de_controle). Variáveis do tipo const não podem ser modificadas pelo seu programa, mas pode receber um valor inicial. Ex: const int idade = 32; Cria uma variável inteira chamada idade, com um valor inicial 32 que o seu programa não pode modificar.

Você pode, porém, usar a variável idade em outros tipos de expressões. Uma variável const recebe seu valor de uma inicialização explícita ou por algum recurso dependente do hardware. O modificador de acesso const pode ser usado para proteger os objetos apontados pelos argumentos de uma função de serem modificados por esta função. Isto é, quando um ponteiro é passado para uma função, esta função pode modificar a variável real apontada pelo ponteiro. Entretanto, se o ponteiro é especificado como const na declaração dos parâmetros, o código da função não será capaz de modificar o que ele aponta. Muitas funções da biblioteca C padrão usam const em suas declarações de parâmetros.

Por exemplo, a função printf já citada. Especificar string_de_controle como const assegura que printf() não modificará a string apontada por string_de_controle. Em geral, quando uma função da biblioteca padrão não tem necessidade de modificar um objeto apontado por um argumento, ele é declarado como const. O protótipo para printf() está na biblioteca STDIO.H. A função printf() devolverá o número de caracteres escritos ou um valor negativo, se ocorrer um erro.

Eis um exemplo de código apresentando o número de caracteres passados como parâmetros para a função printf():


#include <stdio.h> 
#include <stdlib.h> 


main()
{
   int a;            
   a = printf("OLA_MARIA");   
   printf("\nQuantidade de caracteres de a: %d \n", a);
   system("PAUSE");
}

saida2

A string de controle, apresentada no protótipo da função, consiste em dois tipos de itens:

A. CARACTERES

B. COMANDOS DE FORMATO

A. CARACTERES: Conjunto de caracteres que serão impressos na tela.

B. COMANDOS DE FORMATO: Definem a maneira pela qual os argumentos subseqüentes serão mostrados. Um comando de formato começa com % e é seguido pelo código do formato.

Deve haver o mesmo número de argumentos e de comandos de formato e estes dois são combinados na ordem, da esquerda para a direita.

Conforme o exemplo anterior, pode-se observar a linha: printf(“\nQuantidade de caracteres de a: %d \n”, a);

O “\n” está indicando apenas uma nova linha, mas o “%d” é um comando de formato que indica que o resultado a ser apresentado será do tipo inteiro. A seguir, serão mostrados os códigos dos comandos de formato:

Código Formato
%c Um caracter (char)
%d Um número inteiro decimal (int)
%i O mesmo que %d(usado para compatibilidade com versões antigas do C)
%e Número em notação científica com o "e"minúsculo
%E Número em notação científica com o "E"maiúsculo
%f Ponto flutuante decimal
%g Escolhe automaticamente o melhor entre %f e %e
%G Escolhe automaticamente o melhor entre %f e %E
%o Octal sem sinal
%s String de caracteres
%u Inteiros decimais sem sinal
%x Hexadecimal sem sinal (letras minúsculas)
%X Hexadecimal sem sinal (letras maiúsculas)
%p Apresenta um ponteiro
%% Imprime o símbolo %

Códigos especiais de printf:

Código Formato
\n Nova Linha
\t Tabulação
\b Retrocesso
\" Aspas
\\ Barra
\0 Nulo
\a Som do Alto falante
\xDB Caractere Gráfico

Exemplo de código apresentando o uso de printf() com caractere gráfico e som:


#include <stdio.h> 
#include <stdlib.h> 

int main(int argc, char *argv[])
{
   int i,j;
   for(i = 0; i <= 5; i++)
   {
      for(j = 0; j <= 5; j++)
       printf("\xDB");
      
      printf("\n");
      printf("\a");
   }
   system("PAUSE");
   return 0;
}

saida3

Eis um exemplo de código apresentando as principais modos de saída do printf();


#include <stdio.h> 
#include <stdlib.h> 


main()
{      
	char p = 'r';
	int i = 12, j = -15, k = 9386;
	float r = 5.83, s = -82.3, t = 3343.21;
	char letra = 'a';
	char texto[4] = "ola";		
	char* nome = "Marcos";		
		
	printf("-------Formatacao de Codigos de printf--------\n"); 	
	printf("Texto Exemplo");   // sem quebra de linha
	printf("\nTexto Exemplo"); // com quebra de linha

	// formato caracter
	printf("\n%c",letra); //unico caracter a partir de uma variavel char
	printf("\n%c",'b');   //unico caracter impresso diretamente
	
	printf("\nValor de inteiro %d",i);	//imprime inteiro na base decimal com o %d
	printf("\nValor de inteiro %i",i);	//imprime inteiro na base decimal com o %i 
                                         //(a mesma coisa de %d)	
	
	printf("\nValor de float %e",r);	//imprime float decimal em notação científica
	printf("\nValor de float %E",r);	//imprime float	decimal em notação científica
	
	printf("\n\nDecimal, Hexa, Octal");
	printf("\n %6d  %6X  %6o",i,i,i);
	printf("\n %6d  %6X  %6o",k,k,k);
	printf("\n %6d  %6X  %6o",k+1,k+1,k+1);

	printf("\n\nPadrao, Cientifico");
	printf("\n %11f  %e", r,r);
	printf("\n %11f  %e", s,s);
	printf("\n %11f  %e\n", t,t);
	
	printf("\nValor de Texto(string): %s",texto); //imprime texto
	printf("\nSeu nome e: %s",nome); //imprime texto	
	
	// texto e numero sem formatacao
	printf("\nJoao tem %d amigos!",i);
	printf("\nConsumo Medio: %f kWh",r);	
	printf("\nImprime: %% \n"); //imprime o %
			
	printf("\n%.2f",5.3333); //modificando o numero de casas decimais para 2
	printf("\n%.10f",5.3);	//modificando para 10 casas decimais	

	printf("\n"); //imprime o %
    	
    getch();
}

saida4

Eis um exemplo de código apresentando as principais caracteres especiais printf();


#include <stdio.h> 
#include <stdlib.h> 

main()
{      
    printf("Codigos especiais de printf\n"); 
    printf("Nova linha: \n"); //Nova linha
    printf("\tTabulacao");	//Tabulação
	
    printf("\n\n"); //Nova linha
    printf("\t\bRetrocesso");	//Retrocesso
    
    printf("\n\n"); //Nova linha
    printf("ASPAS: \""); //Aspas 
    
    printf("\n\n"); //Nova linha
    printf("BARRA: \\"); //Aspas 
    
    printf("\n\n"); //Nova linha
    printf("NULO: \0"); //Nulo
  
    printf("\n\n"); //Nova linha    
       
    system("PAUSE");	       
}

1.2 puts

A função puts(nome) permite realizar saída de dados na tela seguido de uma nova linha. Pode operar em qualquer tipos de dados, como strings, números, etc.

O protótipo da função puts é:

int puts(const char *str.);

A função puts(); reconhece os mesmos códigos de barra invertida de printf() como por exemplo o \n (nova linha)e o \t (tabulação). Uma chamada a puts requer bem menos tempo do que a mesma chamada a printf porque puts pode escrever apenas strings de caractere, isto é, não pode escrever números ou fazer conversões de formato. Portanto, puts() ocupa menos espaço e é executada mais rapidamente que printf(). A função puts() é geralmente utilizado quando é importante ter um código altamente otimizado.


#include <stdio.h> 
#include <stdlib.h> 


main()
{      
   puts("OLA");
   system("PAUSE");	       
}

 

7 avaliações
Governador Valadares / MG
Mestrado: Ciências e Técnicas Nucleares (UFMG)
Computação - Algoritmos PHP Programação em C Portugol Lógica de Programação Javascript Computação - Bootstrap
Olá Pessoal, Sou Guilherme Fernandes, formado há 14 anos em ciência da Computação pela Universidade Vale do Rio Doce (Univale). Sou mestre em Ciências e Técnicas Nucleares pela Universidade Federal de Minas Gerais (UFMG) há 11 anos e atuo há mais de 10 anos em empresas de Análise, Desen ...
Oferece aulas online (sala profes)
Oferece aulas presenciais
R$ 50 / aula
Conversar Whatsapp do professor Guilherme F. Whatsapp do professor Guilherme F. WhatsApp
1ª aula demonstrativa
Cadastre-se ou faça o login para comentar nessa publicação.

Listas de exercícios, Documentos, Revisões de textos, Trabalhos?

Se seu problema for dificuldade em uma lista de exercícios, revisão de teses e dissertações, correção de textos ou outros trabalhos, peça uma ajuda pelo Tarefas Profes.

Enviar Tarefa

Confira artigos similares

Confira mais artigos sobre educação

Ver todos os artigos

Encontre um professor particular

Busque, encontre e converse gratuitamente com professores particulares de todo o Brasil