Este post descreve superficialmente algumas das funções de "entrada" (input) e de "saída" (output) mais importantes da linguagem C. Todas estão na biblioteca stdio. Portanto, seu programa deve ter um #include <stdio.h> para usar essas funções.
- printfA função printf (print formatted) exibe na tela do monitor uma lista formatada de números, caracteres, strings, etc.
Sintaxe da função:
printf (string_de_controle,lista_de_argumentos);
Na string_de_controle teremos uma descrição de tudo que a função vai colocar na tela. Isto é feito usando-se os códigos de controle, que usam a notação %. Com isso, indicamos quais, de qual tipo e em que posição estão as variáveis a serem apresentadas.
Alguns dos códigos %:
Código | Significado |
%d | Inteiro |
%f | Float |
%c | Caractere |
%s | String |
%% | Coloca na tela um % |
Alguns exemplos de printf() e o que eles exibem:
printf ("Teste %% %%") → Teste % %
printf ("%f",40.345) → 40.345000
printf ("%2.2f",40.345) → 40.34
printf ("Um caractere %c e um inteiro %d",'D',120) → Um caractere D e um inteiro 120
printf ("%s e um exemplo","Este") → Este e um exemplo
printf ("%s%d%%","Juros de ",10) → Juros de 10%
Códigos de Barra Invertida
Código | Significado |
\b | Retrocesso (“backspace”) |
\n | Nova linha (“new line”) |
\t | Tabulação horizontal (“tab”) |
\“ | Aspas duplas |
\‘ | Aspas simples |
\0 | Nulo (0 em decimal) |
\\ | Barra invertida |
\a | Sinal sonoro (“beep) |
Exemplos:
printf ("Ola! Eu esto\bu vivo!"); → Ola! Eu estu vivo!
printf ("Ola! Eu esto\nu vivo!"); → Ola! Eu esto
u vivo!
printf ("Ola! Eu esto\tu vivo!"); → Ola! Eu Esto u vivo!
printf ("\"Ola! Eu estou vivo! \""); → "Ola! Eu estou vivo!"
printf ("Ola! Eu esto\0u vivo!"); → Olá! Eu esto
printf (“\\Ola! Eu estou vivo!\\"); → \Olá! Eu estou vivo!\
- scanf
A função scanf (scan format) lê do teclado e "formata" uma lista de números, caracteres, strings, etc.
Sintaxe da função:
scanf (string_de_controle,lista_de_argumentos);
Usando a função scanf() podemos pedir dados ao usuário. Devemos ficar atentos a fim de colocar o mesmo número de argumentos que o de códigos de controle na string de controle. Outra coisa importante é lembrar-se de colocar o & antes das variáveis da lista de argumentos.
Exemplo:
#include <stdio.h>
int main ()
{
char Ch;
scanf("%c", &Ch);
printf ("Voce pressionou a tecla %c",Ch);
return(0);
}
- gets e getchar(),
Assim como scanf(), leem uma string do teclado.
getchar() lê apenas um caractere.
gets() lê uma string até o final da linha ou até que não haja mais dados para ler, e adiciona o terminador de string "\0".
Sintaxe da função get:
gets(nome_da_string);
Exemplo:
#include <stdio.h>
int main ()
{
char exemplo[10];
printf ("Digite o seu nome: ");
gets (exemplo);
printf ("O nome é: %s", exemplo);
return(0);
}
O programa pede ao usuário que entre uma string, que será armazenada na string exemplo. A função retorna o próprio exemplo.
Gets não é uma função segura, pois com essa função pode ocorrer um estouro da quantidade de posições que foi especificada na string. Por exemplo, se no código a cima o usuário digitar como entrada:
Ricardo Pereira Neto
Ou seja, digitar um total de 20 caracteres: 21 posições (incluindo o '\0' ) serão utilizadas para armazenar a string. Como a string exemplo[] só tem 10 caracteres, os 11 caracteres adicionais serão colocados na área de memória subsequente à ocupada por ela, escrevendo uma região de memória que não está reservada à string. Este efeito é conhecido como "estouro de buffer" e pode causar problemas imprevisíveis.
Sintaxe da função getchar:
variavel = getchar();
Esta função retorna o valor inteiro referente ao código ASCII do caractere lido, porém você pode atribuir este valor a uma variável do tipo caractere. Caso ocorra um erro, ela retorna EOF.
Exemplo da utilização de getchar:
#include <stdio.h>
int main()
{
char caracter;
printf("\n");
printf("Utilizando getchar()\n");
printf("--------------------\n");
printf("\n");
printf("Entre com um caracter :");
caracter = getchar();
printf("\nVocê digitou o caracter %c\n\n",caracter);
return(0);
}
Fonte: Curso de Linguagem C - UFMG (com adaptações)
Link direto para Apostila: http://migre.me/3U6Yp
Nenhum comentário:
Postar um comentário