Técnicas de Programação I
Prof:. Msc. Arimatéia Junior
[email protected]
Fortaleza-2011
Entrada e Saída – C
Funções que realizam E/S em
console
FUNÇÃO
FUNCAO
OPERAÇÃO
OPERACAO
getchar ( )
lê um caractere; espera por <enter>
getche ( )
lê um caractere com eco; não espera por
<enter>
getch ( )
lê um caractere sem eco; não espera por
<enter>
putchar ( )
imprime um caractere na tela
gets ( )
lê uma string via teclado
puts ( )
imprime uma string na tela
2
Entrada e Saída – C

Exemplo
main ( )
{
char ch;
clrscr();
printf ( “\nDigite um caractere\n”);
ch = getchar( );
printf ( “\n Todos sabem que você digitou %c”, ch);
}
DSC/CCT/UFCG – Técnicas de Programação
3
Entrada e Saída – C

Exemplo
main ( )
{
char ch;
ch = getch( );
printf (“ \ nSomente agora saberemos”);
printf (“que você digitou %c”, ch);
}
DSC/CCT/UFCG – Técnicas de Programação
4
Entrada e Saída – C

Exemplo
#include <stdio.h>
int main()
{
char buffer[10];
clrscr();
printf(”\nEntre com o seu nome: ");
gets(buffer);
printf(”\nO nome é: %s\n", buffer);
return 0;
}
DSC/CCT/UFCG – Técnicas de Programação
5
Entrada e Saída – C

Exemplo
main ( )
{
char nome[40];
clrscr();
printf (“\nDigite seu nome: ”);
gets (&nome[0]);
puts (“Bom dia ”);
puts (nome);
}
DSC/CCT/UFCG – Técnicas de Programação
6
Entrada e Saída – C

getchar()/ putchar()

Não são funções, são macros
 Alguns
compiladores não permitem
a inserção de espaços entre os nomes das
macros e os parênteses
do
{
letra = getchar();
putchar(letra);
} while(letra != ´\n´);
do
putchar(letra = getchar());
while(letra != ´\n´);
DSC/CCT/UFCG – Técnicas de Programação
7
Entrada e Saída – C
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
void main(void)
{
int letra;
printf("Quer continuar? (S/N):");
do
{
letra=getche();
letra=toupper(letra);
} while ((letra != 'S') && (letra != 'N'));
if (letra == 'S')
printf("\nOK\n");
else
printf("\nPor que nao?\n");
}
DSC/CCT/UFCG – Técnicas de Programação

Macro
toupper()
8
Entrada e Saída – C
 E/S via
console
FUNÇÃO
FUNCAO
E/S formatada
PROTÓTIPO
printf()
int printf (char *str,...);
scanf()
int scanf (char *str,...);
DSC/CCT/UFCG – Técnicas de Programação
9
Entrada e Saída – C

printf()
ESPECIFICAÇÃO
DE FORMATO
Formato
Descrição
%d
Número decimal
%ld
Número decimal longo
%o
Notação octal sem sinal
%x
Hexadecimal sem sinal
%u
Decimal sem sinal
%c
Um único caractere
%s
String
%e
Notação científica
%f
Ponto flutuante
%g
Menor entre %e e %f
%p
Endereço de memória
%%
Impressão de um %
10
Entrada e Saída – C

printf()
Indicadores
Significado
─ (sinal menos)
faz uma justificação à esquerda;
+ (sinal mais)
o valor a escrever contém sempre um
sinal (- ou +);
valor inteiro
tamanho em caracteres do valor a
escrever (se o valor para ser escrito
ocupar mais caracteres do que o
especificado, não é truncado);
indicador na forma num1.num2
num1 tamanho total em caracteres
do valor a escrever;
num2
precisão
(número
de
algarismos decimais).
11
Entrada e Saída – C

scanf()
Formato
ESPECIFICAÇÃO DE
FORMATO
Tipo
%d
int
%ld
long int
%u
unsigned int
%f
float
%lf
double
DSC/CCT/UFCG – Técnicas de Programação
12
Entrada e Saída – C
\n
Caracteres de
Controle
Nova linha
\r
ENTER
\t
Tabulação (TAB)
\b
Retrocesso (BACKSPACE)
\“
Aspas
\\
Barra
\v
Tabulacão vertical
\a
Sinal sonoro
13
Entrada e Saída – C

Exemplo
#include<stdio.h>
main()
{
clrscr();
puts("012345678901234567890");
printf("%-7.2f\n",123.234);
printf("%7.2f\n",123.234);
printf("%-5.2f\n",123.234);
printf("%5.2f\n",3.324);
printf("%10s\n","Alô");
printf("%-10s\n","Alô");
printf("%5.7s\n","123456789");
}
DSC/CCT/UFCG – Técnicas de Programação
14
Entrada e Saída – C

Exemplo
main()
{
char str[80];
clrscr();
puts("Digite abcdefghijklmnopqrstuvwxyz:");
scanf("%20s",str);
puts(str);
scanf("%20s",str); /* o programa não parará nesta chamada a scanf()
porque */
puts(str); /* ainda haverá caracteres não transferidos no buffer de
entrada */
}
DSC/CCT/UFCG – Técnicas de Programação
15
Download

Técnicas de Programação I