NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalTutoriaisKatiaduarte : Cbasico005
Quer receber novidades e e-books gratuitos?

FILTRO DE TUTORIAIS:


Linguagem C – Entrada/Saída (console)

 

Objetivos

Nos artigos anteriores foram utilizadas as funções “scanf()” e “printf()”, porém não entramos em maiores detalhes. Agora estudaremos essas e outras funções de entrada e saída pelo console. Através deste artigo será possível entender melhor os programas publicados anteriormente.

 

Pré-requisitos

Para um melhor aprendizado é necessário que o leitor tenha acompanhado o artigo anterior, pois os artigos obedecem a uma seqüência.

 

Nota: Este artigo faz parte do curso de “Linguagem C – Básico”.

 

Função printf()

 

A função printf() já foi apresentada e explicada de forma simplificada no primeiro artigo. Agora teremos a oportunidade de rever esses conceitos e aprofundar mais no assunto.

 

Essa função tem por finalidade imprimir dados na tela. Isto é feito através da sintaxe:

 

printf(“expressão de controle”, lista de argumentos);

 

Na “expressão de controle” são inseridos todos os caracteres a serem exibidos na tela e/ou códigos de formatação, responsáveis por indicar o formato em que os argumentos devem ser impressos. Esses argumentos devem estar incluídos na “lista de argumentos” e caso contenha mais de um devem ser separados por virgula. A lista abaixo mostra os tipos de códigos de formatação permitido na linguagem C.

 

Código de formatação Descrição
%c Caracteres simples
%d Inteiros decimais com sinal
%I Inteiros decimais com sinal
%e Notação cientifica (e minúsculo)
%E Notacão cientifica (E maiúsculo)
%f Ponto flutuante decimal
%g Usa %e ou %f (qual for mais curto)
%G Isa %E ou %F (qual for mais curto)
%o Octal sem sinal
%s Cadeia de caracteres
%u Inteiros decimais sem sinal
%x Hexadecimal sem sinal (letras minúsculas)
%X Hexadecimal sem sinal (letras maiúsculas)
%% Escreve o símbolo de porcentagem (%)

Tabela 1: Tipos de códigos de formatação

 

Ao colocar em printf() os comandos %e ou %E estaremos imprimindo em notação cientifica. No caso de usarmos “%g” ou “%G” o compilador decide se escreve em ponto flutuante ou notação cientifica, o qual for mais curto. Veja o exemplo abaixo:

 

Os códigos especiais (barra invertida) são apresentados abaixo e também pode ser inseridos na “expressão de controle”. Veja a descrição de cada um deles:

Código especial Descrição
\n Nova linha
\t Tab
\b Retrocesso
\” Aspas
\\ Barra
\f Salta formulário
\0 Nulo
 

Tabela 2: Tipos de códigos especiais

 

É possível também especificar o tamanho do campo, o número de casas decimais e justificar à esquerda a saída.

 

Ao colocar um número entre o símbolo % e o código de formatação estamos especificando a largura mínima do campo. Ou seja, caso o comprimento da saída seja menor ela é completada com espaços. Podemos também completar com zeros para isto coloca-se antes do número especificador de largura um zero. Por exemplo, colocaríamos %08d para que um inteiro decimal com um número de dígitos inferior a oito seja completado com zeros.

 

Para indicar a precisão logo após o especificador de largura coloca-se um ponto seguido de um número inteiro. Quando se aplica a precisão em ponto flutuante estamos indicando o número de casas decimais que será mostrado. Por exemplo, %12.5f significa que o número ponto flutuante terá tamanho doze com cinco casas decimais. Já no caso do %g ou %G indica a quantidade de dígitos significativos. E em string especifica o numero Maximo de caracteres.

 

Por padrão a saída é justificada à direita, mas pode ser justificada à esquerda quando acrescentamos logo atrás do “%” um sinal negativo. Por exemplo, %-12.5f.

 

Função scanf()

 

A função scanf() permite ler os dados de entrada do teclado. O seu uso é muito comum nos programas, como podemos verificar em outros artigos. Veja agora a sua sintaxe que é muito parecida com a do printf().

 

scanf(“expressão de controle”, argumentos);

 

A “expressão de controle” é composta pelos códigos de formatação apresentados anteriormente que indica o tipo do dado a ser lido. A quantidade de argumentos deve ser igual a dos códigos de formatação e separadas por virgulas. A lista de argumentos deve ser constituída pelos endereços das variáveis. Para isto usamos o operador de endereço “&” que deve preceder o nome da variável que se deseja atribuir o valor da entrada. É necessário que o tipo de dado do argumento seja compatível com os códigos de formatação. Exemplo:

 

As funções printf() e scanf() fazem parte da biblioteca padrão de entrada e saída de dados. Portanto deve-se incluir a biblioteca “stdio.h” através da diretiva “include”. Isto é incluir a seguinte linha no começo dos programas: “#include<stdio.h>”.

 

Trabalhando com caracteres

 

Embora scanf() e printf() possa ser usadas para ler e escrever caracteres respectivamente, existem outras. Um exemplo disso são as funções getchar() e putchar() também pertencentes na biblioteca padrão c “studio.h”.

 

Função getchar()

 

Esta função é responsável por lê um caractere do teclado. Veja o exemplo abaixo:

 

 

A função original getchar() baseado em UNIX armazena a entrada no buffer até que seja pressionado ENTER. O que pode ser desagradável em ambientes interativos, pois deixa um ou mais caracteres esperando na fila depois que getchar() retorna. O padrão ANSI determina que a função getchar() pode ser implementada de forma interativa, mas na prática isso raramente acontece. Para resolver este problema pode-se utilizar outras funções alternativas como as getch() e getche().

 

Função putchar()

 

Escreve na tela um caractere a partir da posição atual do cursor. Veja nosso próximo exemplo.

 

 

Qualquer código barra invertida apresentado na tabela 2 podem ser usados com a função putchar(), como mostrado no programa acima.

 

As funções getch() e getche()

 

As funções getch() e getcher() retornam imediatamente após uma tecla ser pressionada. A única diferença é que a getch() não mostra o caractere na tela enquanto que a getche() mostra. Na maioria dos compiladores C, a biblioteca a ser inserida no programa para utilizar essas duas funções é a “conio.h”. Essas funções serão usadas em programas futuros.

 

Trabalhando com string

 

Para ler e escrever strings por meio do console podemos também usar as funções gets() e puts() respectivamente. Sendo que os protótipos dessas funções são encontrados em “stdio.h”.

 

As funções gets() e puts()

 

Usando gets() é possível inserir caracteres pelo teclado até que o Enter seja pressionado. No final da string é colocado um terminador nulo e então a função retorna.

 

A função puts() pode receber os códigos de barra invertida apresentados na tabela 2 neste artigo e é considerada muito mais rápida do que o printf(). O único problema é que puts() trabalha apenas com string de caracteres enquanto que o printf() trabalha com todos os tipos de dados.

 

 

Conclusão

 

Conclui-se que existem vários tipos de entrada e saída de dados pelo console. Sendo que os mais comuns são as funções scanf() e printf(), pois podem ser usadas para qualquer tipo de dados existentes em C, além dos dados serem formatados com  facilidade.

Quer receber novidades e e-books gratuitos?

Cursos Online

  • Banco de Dados
  • Carreira
  • Criação/Web
  • Excel/Projetos
  • Formação
  • + Todas as categorias
  • Essential SSL

    Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

    Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

    Todos os direitos reservados, Júlio Battisti 2001-2020 ®

    [LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

    APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI