Entrada e Saída em C
Autor: Binha | Publicado: 2011-02-18T08:29:00-08:00

<!--[if gte mso 9]>           <![endif]--><!--[if gte mso 9]>     Normal   0         21         false   false   false      PT-BR   X-NONE   X-NONE                                                                                                     <![endif]--><!--[if gte mso 9]>                                                                                                                                                                                                                                                                                                                                                                                                                                <![endif]--><!--[if gte mso 10]>   /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Tabela normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0cm 5.4pt 0cm 5.4pt;  mso-para-margin-top:0cm;  mso-para-margin-right:0cm;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0cm;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;}  <![endif]-->  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.- printf  A 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.345000printf ("%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 &amp; antes das variáveis da lista de argumentos.  Exemplo:  #include <­stdio.h>   int main ()    {   char Ch;    scanf("%c", &amp;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".   <!--[if gte mso 9]>           <![endif]--><!--[if gte mso 9]>     Normal   0         21         false   false   false      PT-BR   X-NONE   X-NONE                                                                                                     <![endif]--><!--[if gte mso 9]>                                                                                                                                                                                                                                                                                                                                                                                                                                <![endif]--><!--[if gte mso 10]>   /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Tabela normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0cm 5.4pt 0cm 5.4pt;  mso-para-margin-top:0cm;  mso-para-margin-right:0cm;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0cm;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;}  <![endif]-->  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.   <!--[if gte mso 9]>           <![endif]--><!--[if gte mso 9]>     Normal   0         21         false   false   false      PT-BR   X-NONE   X-NONE                                                                                                     <![endif]--><!--[if gte mso 9]>                                                                                                                                                                                                                                                                                                                                                                                                                                <![endif]--><!--[if gte mso 10]>   /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Tabela normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0cm 5.4pt 0cm 5.4pt;  mso-para-margin-top:0cm;  mso-para-margin-right:0cm;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0cm;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;}  <![endif]-->  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 <­std­io.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