Buscar

Algoritmos 05 - Estrutura Sequencial Introducao

Prévia do material em texto

N575 - Algoritmos e 
Programação de Computadores 
 
Modelo Algorítmico - Estrutura Sequencial: Introdução 
 
 
Prof. Raphael Torres Santos Carvalho 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
1 
Roteiro 
 Objetivo 
 Estrutura Sequencial 
 Declaração de Variáveis 
 Inicialização de Variáveis 
 Funções de entrada e saída 
 Função de saída: printf() 
 Função de entrada: scanf() 
 Funções para caracteres 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
2 
Objetivo 
 Definir a estrutura sequencial para programação. 
 Entender como é a declaração das variáveis. 
 Conhecer as funções de entrada e saída de dados na 
Linguagem C. 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
3 
Estrutura Sequencial 
 Assim como o algoritmo, a linguagem C é sequencial. Isto é, os 
comandos são executados uma linha depois da outra. 
 Para montar um algoritmo, primeiro divide-se o problema 
apresentado em três fases fundamentais: 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
4 
Entrada Processamento Saída 
Estrutura Sequencial 
/*Incluir bibliotecas*/ 
#include <....> 
... 
 
int main () 
{ 
 /* Declaracao de Variaveis */ 
 ... 
 /* Entrada/Saída de Dados */ 
 ... 
 /* Processamento*/ 
 ... 
 return(0); 
} 
 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
5 
Estrutura Sequencial 
#include <stdio.h> 
int main () 
{ 
 /* Declaracao de Variaveis */ 
 int Dias; 
 float Anos; 
 /* Entrada de Dados */ 
 printf ("Entre com o número de dias: "); 
 scanf ("%d",&Dias); 
 /* Conversao Dias->Anos */ 
 Anos=Dias/365.25; 
 printf ("\n\n%d dias equivalem a %f anos.\n",Dias,Anos); 
 return(0); 
} 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
6 
Estrutura Sequencial 
#include <stdio.h> 
int main () 
{ 
 /* Declaracao de Variaveis */ 
 int Dias; 
 float Anos; 
 /* Entrada de Dados */ 
 printf ("Entre com o número de dias: "); 
 scanf ("%d",&Dias); 
 /* Conversao Dias->Anos */ 
 Anos=Dias/365.25; 
 printf ("\n\n%d dias equivalem a %f anos.\n",Dias,Anos); 
 return(0); 
} 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
7 
FUNÇÃO PRINCIPAL QUE RETORNA UM NÚMERO INTEIRO 
Estrutura Sequencial 
#include <stdio.h> 
int main () 
{ 
 /* Declaracao de Variaveis */ 
 int Dias; 
 float Anos; 
 /* Entrada de Dados */ 
 printf ("Entre com o número de dias: "); 
 scanf ("%d",&Dias); 
 /* Conversao Dias->Anos */ 
 Anos=Dias/365.25; 
 printf ("\n\n%d dias equivalem a %f anos.\n",Dias,Anos); 
 return(0); 
} 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
8 
COMENTÁRIOS 
Estrutura Sequencial 
#include <stdio.h> 
int main () 
{ 
 /* Declaracao de Variaveis */ 
 int Dias; 
 float Anos; 
 /* Entrada de Dados */ 
 printf ("Entre com o número de dias: "); 
 scanf ("%d",&Dias); 
 /* Conversao Dias->Anos */ 
 Anos=Dias/365.25; 
 printf ("\n\n%d dias equivalem a %f anos.\n",Dias,Anos); 
 return(0); 
} 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
9 
DECLARAÇÃO DE VARIÁVEIS 
Estrutura Sequencial 
#include <stdio.h> 
int main () 
{ 
 /* Declaracao de Variaveis */ 
 int Dias; 
 float Anos; 
 /* Entrada de Dados */ 
 printf ("Entre com o número de dias: "); 
 scanf ("%d",&Dias); 
 /* Conversao Dias->Anos */ 
 Anos=Dias/365.25; 
 printf ("\n\n%d dias equivalem a %f anos.\n",Dias,Anos); 
 return(0); 
} 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
10 
ENTRADA (LEITURA) E SAÍDA (ESCRITA) DE DADOS 
Estrutura Sequencial 
#include <stdio.h> 
int main () 
{ 
 /* Declaracao de Variaveis */ 
 int Dias; 
 float Anos; 
 /* Entrada de Dados */ 
 printf ("Entre com o número de dias: "); 
 scanf ("%d",&Dias); 
 /* Conversao Dias->Anos */ 
 Anos=Dias/365.25; 
 printf ("\n\n%d dias equivalem a %f anos.\n",Dias,Anos); 
 return(0); 
} 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
11 
INSTRUÇÕES 
Declaração de Variáveis 
 A declaração de todas as variáveis de um programa em C deve ser feita 
no início do código, antes de ser realizado a leitura/escrita e 
processamento dos dados. 
 Exemplo: 
 
#include <stdio.h> 
int main () 
{ 
 /* Declaracao de Variaveis */ 
 int Dias; 
 float Anos; 
 /* Entrada/Saída de Dados */ 
 ... 
 /* Processamento*/ 
 ... 
 return(0); 
} 
 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
12 
Inicialização das variáveis 
 Para alterar ou inicializar uma variável, utiliza-se o comando 
atribuição. É a operação mais simples do C, e consiste em 
atribuir um valor constante ou valor de uma expressão a uma 
variável. 
 Sintaxe: 
variável = expressão ou constante; 
 Observações: 
 Não confundir este operador com o sinal aritmético de igualdade. 
 Reparar qual o tipo de variável que vai receber a atribuição. O 
que está do lado direito do operador de atribuição deve ser do 
mesmo tipo do que está do lado esquerdo. 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
13 
Funções de Entrada e Saída 
 Na linguagem C, os dados são trocados com o usuário através 
do teclado e do monitor. 
 Para que os dados sejam lidos (entrada pelo teclado) e 
mostrados (saída pelo monitor), são utilizadas funções. 
 As funções de entrada e saída em C são: 
 Printf() 
 Scanf() 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
14 
Função de Saída: printf() 
A função printf() é parte de um conjunto de funções pré-
definidas armazenadas em uma biblioteca padrão de 
rotinas de entrada e saída da linguagem C (stdio.h) 
 Permite apresentar na tela os valores de qualquer tipo de dado. 
Utiliza o mecanismo de formatação, que permite traduzir 
a representação interna na memória de variáveis, para a 
representação composta de caracteres ASCII, que pode 
ser apresentada na tela (e entendida pelos “humanos”). 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
15 
Função de Saída: printf() 
printf("string de formato", arg1, arg2, ... ); 
 
 
 
A string de formato é uma sequência de caracteres entre 
aspas, contendo o conteúdo a ser apresentado. 
 Esta string (que sempre deve estar presente) pode especificar 
atravésde tags especiais (as sequências de conversão) quantos 
outros argumentos estarão presentes nesta chamada da função. 
Os outros argumentos serão variáveis cujos valores serão 
formatados e apresentados na tela. 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
16 
string de formato 
variáveis 
Função de Saída: printf() 
Exemplo: 
 
 Seja o valor de uma variável inteira x é 12, então a execução da 
função: 
 
int x = 12; 
printf("Valor de x = %d", x); 
 
 Imprime na tela a frase: Valor de x = 12. 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
17 
Função de Saída: printf() 
 Exemplo: 
 
 Seja y uma variável do tipo caráter com valor ‘A’, então a execução da 
instrução: 
 
char y = ‘A’ 
printf("x = %d e y = %c", x, y); 
 
 Imprime na tela a frase: x = 12 e y = A. 
 
 Observe que uma tag (sequência de conversão) pode ocorrer dentro de 
qualquer posição na string de formato. 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
18 
Função de Saída: printf() 
 A função printf() não tem um número fixo de argumentos. 
 Em sua forma mais simples, pelo menos um argumento deve estar 
presente – a string de controle. 
 Uma string de controle sem nenhuma sequência de conversão será 
literalmente impressa na tela. 
 Com variáveis adicionais, a única forma de saber qual o número de 
variáveis que será apresentado é por inspeção da string de controle. 
 Desta forma, cuidado deve ser tomado para que o número de 
variáveis após a string de controle esteja de acordo com o número 
de sequências de conversão presente na string de controle. 
 Além de ter o número correto de argumentos e sequências de 
conversão, o tipo de cada variável deve estar de acordo com a 
sequência de conversão especificada na string de controle. 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
19 
Função de Saída: printf() 
 A seqüência de conversão pode ser reconhecida dentro da 
string de controle por iniciar sempre com o caráter '%'. 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
20 
Especificador Saída Exemplo 
c caractere a 
d ou i inteiro decimal com sinal 392 
e notação científica (mantissa/expoente) usando o caractere 'e' 3.9265e+2 
E notação científica (mantissa/expoente) usando o caractere 'E' 3.9265E+2 
f ponto flutuante decimal 392.65 
g Usa %e ou %f (o que for mais curto) 392.65 
G Usa %E ou %F (o que for mais curto) 392.65 
s seqüência de caracteres casa 
u inteiro decimal sem sinal 7235 
x inteiro hexadecimal sem sinal 7fa 
X inteiro hexadecimal sem sinal (letras maiúsculas) 7FA 
p apontador de endereços B800:0000 
% Um caractere '%' seguido de outro caractere '%' imprimirá % % 
Função de Saída: printf() 
 As tags também podem conter sub-especificadores flags, width, 
length e precision, que são opcionais e seguem as seguintes 
especificações: 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
21 
flags Descrição 
- 
Justifica à esquerda dentro da largura de determinado campo; Justificativa à direita é o 
padrão 
+ 
Força o resultado a preceder com um sinal + ou - mesmo para números positivos. Por 
padrão, apenas os números negativos são precedidos por um sinal -. 
espaço Se nenhum sinal vai ser escrito, um espaço em branco é inserido antes do valor. 
# 
Usado com os especificadores x ou X o valor é precedido de 0x ou 0X, respectivamente, 
para valores diferentes de zero. 
Usado com e, E e f, que força a saída conter um ponto decimal, mesmo se nenhum dígito 
viesse seguir. Por padrão, se nenhum dígito seguir, nenhum ponto decimal é escrito. 
Utiliza-se com g ou G, o resultado é o mesmo que com e ou E, mas zeros à direita não são 
removidos. 
0 
Preenche o número com zeros à esquerda em vez de espaços, onde o preenchimento é 
especificado. 
Função de Saída: printf() 
 As tags também podem conter sub-especificadores flags, width, 
length e precision, que são opcionais e seguem as seguintes 
especificações: 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
22 
width Descrição 
número 
Número mínimo de caracteres a serem impressos. Se o valor a ser impresso é inferior a 
este número, o resultado será preenchido com espaços em branco. O valor não é 
truncado mesmo que o resultado seja maior. 
* 
A largura não é especificada na string de formato, mas será um argumento adicional de 
valor inteiro que antecede o argumento que tem que ser formatado. 
Função de Saída: printf() 
 As tags também podem conter sub-especificadores flags, width, 
length e precision, que são opcionais e seguem as seguintes 
especificações: 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
23 
.precision descrição 
.numero 
 Para os especificadores de inteiro (d, i, u, x, X): precisão especifica o número mínimo de 
dígitos a serem escritos. Se o valor a ser escrito é inferior a este número, o resultado será 
preenchido com zeros à esquerda. O valor não é truncado mesmo se o resultado for mais 
longo. A precisão de 0 significa que nenhum caractere é escrito para o valor 0. 
 Para os especificadores e, E e f: este é o número de dígitos a ser impresso após o ponto 
decimal. 
 Para os especificadores g e G: Este é o número máximo de algarismos significativos a ser 
impresso. 
 Para s: este é o número máximo de caracteres a serem impressos. Por padrão todos os 
caracteres são impressos até que o caractere nulo \’0’ final seja encontrado. 
 Para o tipo c: ele não tem efeito. 
 Quando nenhuma precisão for especificada, o default é 1. Se o “ponto” for especificado 
sem um valor explícito para a precisão, é assumido 0. 
.* 
A precisão não é especificada na string de formato, mas, como um argumento adicional de 
valor inteiro que precede o argumento de que tem que ser formatado. 
Função de Saída: printf() 
 As tags também podem conter sub-especificadores flags, width, 
length e precision, que são opcionais e seguem as seguintes 
especificações: 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
24 
length descrição 
h 
Quando utilizado, o argumento é interpretado como um short int ou short 
int unsigned (só se aplica aos especificadores de inteiro: i, d, u, x e X). 
l 
Quando utilizado, o argumento é interpretado como um long int ou 
unsigned long int para os especificadores de inteiros (i, d, u, x e X), e como 
largura um de caractere ou de uma cadeia de caracteres para os 
especificadores c e s. 
Função de Saída: printf() 
#include <stdio.h> 
int main(void) { 
 char ch ='M'; 
 signed int si = -175; 
 float f = 175.0; 
 
 printf("Caractere = %c\n", ch); 
 printf("Inteiro decimal com sinal = %d\n", si); 
 printf("Inteiro decimal com sinal = %i\n", si); 
 printf("Real em ponto flutuante = %f\n", f); 
 printf("Real com notacao cientifica com E = %E\n", f); 
 printf("Real com notacao cientifica com e = %e\n", f); 
 printf("Inteiro decimal sem sinal = %u\n", si); 
 printf("Inteiro em base hexadecimal= %X\n", si); 
 printf("Inteiro em base hexadecimal = %x\n", si); 
 printf("Caractere %c\n", '%'); 
 printf("Caractere %%\n"); 
 return(0); 
} 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
25 
Função de Saída: printf() 
 Sequência de escape 
 Ao executar os exemplos verifique que ‘\n’ não é impresso. 
 A barra inclinada é chamada de sequência de escape, indicando 
que o próximo caractere não é para ser impresso mas representa 
caracteres invisíveis ou caracteres que não estão representados 
no teclado, por exemplo. 
 Alguns destes caracteres são: 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
26 
Código Descrição 
\n Passa para uma nova linha 
\t Tabulação 
\b Backspace 
\\ Exibe o caractere ‘\’ 
\” Exibe o caractere ‘”’ 
#include <stdio.h> 
int main(void) { 
 
 printf("Primeira linha.\nSegunda linha.\n"); 
 printf("\n\tQuarta linha com 'tab'\n"); 
 printf("Mar\bia\n"); 
 printf("Caractere contra barra: \\\n"); 
 printf("Caractere aspas duplas: \"\n"); 
 return 0; 
} 
 
Função de Entrada: scanf() 
 A função scanf() pode ser utilizada para entrada de dados a partir do 
teclado e seu protótipo é: 
 
scanf(“string de controle”, arg1, arg2, ...); 
 
 Uma diferença fundamental existe entre esta função e a função 
printf(). Os argumentos são os endereços das variáveis que irão 
receber os valores lidos e não, como em printf(), as próprias 
variáveis. 
 A indicação que estamos referenciando um endereço e não a 
variável se faz pelo operador unário & (o endereço de). 
 Não confundir com os operadores binários && relacional ou & bit-a-
bit. 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
27 
Função de Entrada: scanf() 
 scanf("%d", &var); 
 
 
 
 
Espera que um valor inteiro sejam digitados no teclado. 
O dado digitado é armazenado na variável com o 
endereço. 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
28 
Tipo de dado da variável 
Endereço da variável(“&” na frente) 
Nome da variável 
Função de Entrada: scanf() 
 Exemplo incluindo variáveis reais é: 
 
int i; 
float x; 
scanf("%d %f", &i, &x); 
 
 Assumindo que a linha de entrada no teclado fosse 34 56.43, a 
execução do exemplo iria terminar com o valor 34 sendo 
armazenado em i e 56,43 em x. 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
29 
Função de Entrada: scanf() 
 Usualmente o campo de controle só contém especificações de 
conversão, que são utilizadas para interpretar os dados que 
serão lidos. 
 No entanto outros caracteres podem aparecer. 
 O campo de controle pode conter: 
 Especificações de conversão, consistindo do caractere %, um 
caractere opcional de supressão da atribuição (caractere *), um 
número opcional para especificar o tamanho máximo do campo, 
e um caractere de conversão; 
 Espaços, caracteres de tabulação ou linefeeds (tecla enter) que 
são ignorados; 
 Caracteres comuns (não %) que devem casar com o próximo 
caractere diferente de branco da entrada. 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
30 
Função de Entrada: scanf() 
 Para que os valores digitados sejam separados por vírgulas, o 
comando deveria ser escrito da seguinte maneira: 
 
scanf("%d, %f", &i, &x); 
 
 Observar que deve haver uma correspondência exata entre os 
caracteres não brancos do controle e os caracteres digitados. 
 Neste caso a entrada deveria ser: 35, 46.3 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
31 
Função de Entrada: scanf() 
 Exemplo: 
 
#include <stdio.h> 
int main (void) { 
 char c; 
 int num1, num2; 
 
 printf("Programa para ilustrar a funcao scanf.\n"); 
 printf("Entre com um caracter qualquer.\n"); 
 scanf("%c", &c); 
 printf("O codigo ASCII do caractere %c vale %d.\n", c, c); 
 printf("Agora entre com dois numeros inteiros "); 
 printf("separados por virgula.\n"); 
 scanf("%d, %d", &num1, &num2); 
 printf("A soma destes numeros vale %d.\n", num1+num2); 
 return 0; 
} 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
32 
Funções getchar() e putchar() 
 Para ler e escrever caracteres do teclado as funções de 
entrada e saída mais simples são getchar() e putchar() e seus 
protótipos são: 
 
int getchar(void); e int putchar(int c); 
 
 Apesar da função getchar() retornar um parâmetro inteiro é 
possível atribuir este valor a uma variável do tipo char porque 
o código do caractere está armazenado no byte ordem mais 
baixa. 
 O mesmo acontece com a função putchar() que recebe um 
inteiro, mas somente o byte de ordem mais baixa é passado 
para a tela do computador. 
 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
33 
Funções getchar() e putchar() 
 Exemplo: 
 
#include <stdio.h> 
int main() { 
 char c; 
 int i; 
 
 printf("Entre com um caractere entre 0 e 9.\n"); 
 c = getchar(); 
 printf("O caracter lido foi o "); 
 putchar(c); 
 return 0; 
} 
 
 
 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
34 
Funções getchar() e putchar() 
 Qual a diferença em usar “getch” e “scanf”? 
 
 A principal diferença é que utilizando getch() o usuário 
simplesmente aperta a tecla e o sistema lê diretamente a tecla 
pressionada. Enquanto que com o scanf() é necessário apertar 
<ENTER>. 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
35 
Função gets() 
 Para a leitura de strings, utiliza-se a função gets(). Esta função coloca 
o terminador nulo “\0” quando o usuário aperta <ENTER>. 
 Exemplo: 
 
#include <stdio.h> 
int main () 
{ 
 char string[100]; 
 printf ("Digite uma string: "); 
 gets (string); 
 printf ("\n\nVoce digitou %s\n",string); 
 return(0); 
} 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
36 
Dúvidas? 
N
5
7
5
 -
 A
lg
o
ri
tm
o
s 
e 
P
ro
gr
am
aç
ão
 d
e 
C
o
m
p
u
ta
d
o
re
s 
37

Continue navegando