SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
Programação de
Computadores
Aula 4 e 5
23 e 30/08/2012
Profª Ms. Engª Elaine Cecília Gatto
Unidade 4: Vetores, Matrizes e Strings
Curso de Bacharelado em Engenharia de Computação
Universidade do Sagrado Coração – USC
Bauru/SP
STRINGS
• São sequências, conjuntos ou cadeira de caracteres diversos,
  sendo representados por aspas;
• Em C não existe um tipo STRING explícito;
• Não é um tipo primitivo da linguagem;
• Não existe uma palavra reservada que declare uma variável do
  tipo STRING (como acontece em pascal, java, etc);
• Em C utiliza-se um vetor ou matriz do tipo CHAR para
  armazenar uma STRING;
• Mas qual o tamanho da STRING? Quando ela termina?
• Utilizar um caracter terminador: 0 (null = zero)  forma que
  as funções reconhecem o fim da string;
Strings Constantes
• Sempre que o compilador encontra qualquer coisa entre aspas
  duplas, ele reconhece que se trata de uma string constante.

                                    Posição da memória   string
printf(“%s”, “Saudações”);
                                          1092             S
                                          1093             A
                                          1094             U
                                          1095             D
                                          1096             A
                                          1096             C
                                          1097             O
                                          1098             E
                                          1099             S
                                          1100            0
SCANF()
#include <stdio.h>                 • Observe a saída do
#include <stdlib.h>                  programa! Consegue
                                     notar o que há de
int main(){
                                     diferente  entre   a
                                     entrada de dados e a
  char nome[100];                    saída?
  printf("Digite o seu nome: ");
  scanf("%s", nome);
  printf("Saudacoes, %s", nome);
  printf("n ");
  system("PAUSE");
  return 0;
}
SCANF()                         • Esta instrução lê cada caractere digitado
                                     e os armazena a partir do endereço
                                     nome.
#include <stdio.h>                 • O processo termina quando um
#include <stdlib.h>                  caractere branco é encontrado.
                                   • Nesse ponto é incluído automaticamente
                                     o caractere 0 na próxima posição livre.
int main(){                        • Não é permitido ultrapassar o limite
  char nome[100];                    estipulado na criação do vetor/matriz.
                                   • O espaço para 0 deve ser previsto.
  printf("Digite o seu nome: ");
                                   • A função scanf() entende um espaço em
  scanf("%s", nome);                 branco como o término da entrada.
  printf("Saudacoes, %s", nome);   • Por isso, na saída, apenas o primeiro
                                     nome digitado é apresentado.
  printf("n ");
  system("PAUSE");
  return 0;
}
SCANF()                         • Mas se digitarmos o nome inteiro sem
                                     espaços, observe a saída!
                                   • Observe esta instrução novamente.
#include <stdio.h>                   Porque está sendo usado nome e não
#include <stdlib.h>                  &nome?
                                   • Neste caso, nome é equivalente a
                                     &nome[0]
int main(){                        • O nome de uma matriz é o seu endereço
  char nome[100];                    inicial
  printf("Digite o seu nome: ");   • Scanf() é muito utilizada para ler uma
                                     mistura de tipos de dados numa mesma
  scanf("%s", nome);                 instrução.
  printf("Saudacoes, %s", nome);
  printf("n ");
  system("PAUSE");
  return 0;
}
GETS()
                                   • Usada para leitura de
#include <stdio.h>                   textos ;
#include <stdlib.h>                • Propósito: ler unicamente
                                     uma cadeia de caracteres
int main(){                          do teclado enquano a tecla
  char nome[100];                    ENTER não for pressionada;
  printf("Digite o seu nome: ");   • Todos     os     caracteres
                                     digitados               são
  gets(nome);                        armazenados,       inclusive
  printf("Saudacoes, %s", nome);     espaços e tabulações;
  printf("n ");                   • O caractere 0 é incluído
  system("PAUSE");                   no final;
  return 0;
}
GETS()
#include <stdio.h>                 • Problemas     com    esta
#include <stdlib.h>                  função: pode armazenar
                                     caracteres    além    da
                                     capacidade definida;
int main(){
  char nome[100];
  printf("Digite o seu nome: ");
  gets(nome);
  printf("Saudacoes, %s", nome);
  printf("n ");
  system("PAUSE");
  return 0;
}
GETS()
                                                • Neste exemplo, é declarado
#include <stdio.h>
                                                  um vetor de tamanho 10, mas
#include <stdlib.h>
                                                  o nome digitado contém 20
int main(){
                                                  caracteres. Observe que o
  char nome[10];                                  vetor armazena 10 caracters a
  printf("Exemplo de estouro de string. n");     mais do que foi especificado.
  printf("Digite o seu nome: ");
  gets(nome);                                   • Para resolver este problema,
  printf("Saudacoes, %s", nome);                  deve-se usar FGETS()
  printf("n ");
  system("PAUSE");
  return 0;
}
FGETS()
#include <stdio.h>
                                   • O código ao lado utiliza fgets.
#include <stdlib.h>
                                     O vetor declarado tem 15
                                     posições e somente essas 15
int main(){                          posições são preenchidas.
  char nome[15];                   • Na saída, observa-se que o
  printf("Digite o seu nome: ");     nome digitado é maior que as
  fgets(nome, 15, stdin);            15 posições, e portanto, o
                                     restante    do    nome       é
  printf("Saudacoes, %s", nome);
                                     desprezado.
  printf("n ");
  system("PAUSE");
  return 0;
}
PUTS()
#include <stdio.h>
#include <stdlib.h>

int main(){
  char nome[80];
  printf("Digite o seu nome: ");
  gets(nome);
  puts("");
  puts("Saudacoes, ");
  puts(nome);                                            • É o complemento da função
  puts("");                                                gets();
  puts("Imprimindo a partir da quarta posicao: ");
  puts(&nome[4]);                                        • Propósito: imprimir uma
  puts("");                                                única string por vez;
  puts("a funcao puts() pula linha automaticamente!");   • O endereço da string deve ser
  puts("");                                                enviado para putx como
  system("PAUSE");                                         argumento;
  return 0;
}
Inicializando strings
char nome[] = {‘E’, ‘l’, ‘a’, ‘i’, ‘n’, ‘e’, ‘0’};
char nome[] = “Elaine”;
EXEMPLO:
#include <stdio.h>
#include <stdlib.h>

int main(){
  char saudacao[]="Saudacoes, ";
  char nome[80];
  printf(" Digite o seu nome: ");
  gets(nome);
  printf("%s%s n", saudacao, nome);
  system("PAUSE");
  return 0;
}
Função STRCPY()
                                        • Copia ou atribui o conteúdo da
#include <stdio.h>                        string de origem para a string de
#include <stdlib.h>                       destino. Ambas devem ter, no
#include <string.h>                       mínimo, o mesmo tamanho;

int main(){                             • Sintaxe: strcpy(string_destino,
   char nome_original[30] ;               string_origem);
   char nome_copia[30];
   printf(" Digite um nome: ");
   gets(nome_original);
   strcpy(nome_copia, nome_original);
   printf(" Nome original: ");
   puts(nome_original);
   printf(" Nome copia: ");
   puts(nome_copia);
   system("PAUSE");
   return 0;
}
Função STRCAT()
#include <stdio.h>                            • Concatena o conteúdo da string
#include <stdlib.h>
                                                de origem ao final do conteúdo
#include <string.h>
                                                da string de destino.
                                              • Essa função não verifica se a
int main(){                                     primeira cadeia tem espaço
   char cadeia1[100];                           suficiente para que a segunda
   char cadeia2[10];                            cadeia seja adicionada ao seu
   printf(" Digite o seu primeiro nome: ");     final.
   gets(cadeia1);                             • Sintaxe:     strcat(string_destino,
   printf(" Digite o seu segundo nome: ");      string origem);
   gets(cadeia2);
   strcat(cadeia1, cadeia2);
   printf("%s", cadeia1);
   puts("");
   system("PAUSE");
   return 0;
}
Função STRCMP()
#include <stdio.h>                              • Compara o conteúdo da string
#include <stdlib.h>                               1 com o conteúdo da string 2;
#include <string.h>
                                                • Retorna um número inteiro;
int main(){
  char string1[20], string2[20];
                                                • Se forem iguais, a função
  int resultado;                                  retorna zero;
  printf(" Digite uma palavra: ");
  gets(string1);
                                                • Se o número retornado for
  printf(" Digite uma palavra: ");                menor que zero, então a
  gets(string2);                                  string1 é menor que a string
  resultado = strcmp(string1, string2);
  if(resultado ==0 ){
                                                  2;
          puts("As strings sao iguais.");       • Se o número retornado for
      }
  else{
                                                  maior que zero, então a
          puts("As strings sao diferentes.");     string1 é maior que a string2;
      }
  system("PAUSE");
  return 0;
}
Função STRCMP()
Função STRLEN()
#include <stdio.h>                                  • Recebe     como argumento o
#include <stdlib.h>                                     endereço de uma string e
#include <string.h>                                     retorna o seu tamanho;
int main(){                                         •   O      comprimento       do
  char string1[20], string2[20];                        vetor/matriz da string deve
  int tamanho1, tamanho2;                               ser um a mais que o inteiro
  printf(" Digite uma palavra: ");                      retornado por strlen();
  gets(string1);                                    •   O terminador 0 não é
  printf(" Digite uma palavra: ");                      contabilizado;
  gets(string2);
  tamanho1 = strlen(string1);
  tamanho2 = strlen(string2);
  printf("O tamanho da string1 e: %d", tamanho1);
  puts("");
  printf("O tamanho da string2 e: %d", tamanho2);
  puts("");
  system("PAUSE");
  return 0;
}
Função STRUPR()
#include <stdio.h>                                • Converte o conteúdo da string
#include <stdlib.h>                                 em letras maiusculas
#include <string.h>

int main(){
   char string[20];
   printf(" n Escreva uma palavra: ");
   gets(string);
   printf(" n String original: %s", string);
   strupr(string);
   printf(" n String convertida: %s", string);
   printf("nn");
   system("pause");
   return 0;
}
Função STRLWR()
#include <stdio.h>                               • Converte o conteúdo da string
#include <stdlib.h>                                em letras minusculos
#include <string.h>

int main(){
  char string[20];
  printf(" n Escreva uma palavra com todas
as letras em maiusculo: ");
  gets(string);
  printf(" n String original: %s", string);
  strupr(string);
  printf(" n String convertida: %s", string);
  printf("nn");
  system("pause");
  return 0;
}
Exercícios
1. Desenvolver um programa que obtenha as seguintes
   informações para os “n” colegas da sua turma de
   Programação de Computadores:
                                variavel    qtde caracteres
                                nome        15
                                sobrenome   30
                                endereço    80
                                telefone    10
                                idade       3
• Realize as seguintes tarefas:
• Copie o nome do seu colega para uma variável denominada
  nome2;
• Concatene o sobrenome à variável nome2;
Exercícios
• Obtenha o tamanho da variável nome2;
• Imprima todas as informações de cada um dos seus colegas na
  tela;
2. Faça um programa em C que leia 10 strings, imprima o
    tamanho de cada uma delas e troque as letras para
    maiusculas. Dica: use o FOR.
3. Troque as letras do exercício anterior, por minusculas.
4. Escreva um programa em C que receba o nome, a idade e o
    sexo de 10 pessoas e armazene, em um vetor/matriz, as
    pessoas que forem do sexo masculino e maiores de 18 anos.
Exercícios
5. Escreva um programa que faça a seguinte pergunta ao
    usuário: “Quem é o criador da Linguagem C?”. O usuário
    deve escrever a resposta e o programa deve verificar:
• Se o usuário responder corretamente, uma mensagem de
  “parabéns, voce acertou!”, deve ser emitida;
• Se o usuário responder incorretamente, uma mensagem de
  “que pena, voce errou!”, deve ser emitida.

6. Se você terminou todos os exercícios acima, então agora,
   termine os exercícios de matrizes e vetores das aulas
   passadas!

Contenu connexe

Tendances

Estrutura de Dados - Aula 06 - Pilhas Estáticas
Estrutura de Dados - Aula 06 - Pilhas EstáticasEstrutura de Dados - Aula 06 - Pilhas Estáticas
Estrutura de Dados - Aula 06 - Pilhas EstáticasLeinylson Fontinele
 
Logica programacao python-slides
Logica programacao python-slidesLogica programacao python-slides
Logica programacao python-slidesronaldo ramos
 
Estrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Estrutura de Dados - Aula 09 - Listas Simplesmente EncadeadasEstrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Estrutura de Dados - Aula 09 - Listas Simplesmente EncadeadasLeinylson Fontinele
 
Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Pacc UAB
 
Pesquisa e Ordenação - Aula 07 - Métodos de Ordenação (Bin sort - Bucket sort)
Pesquisa e Ordenação - Aula 07 - Métodos de Ordenação (Bin sort - Bucket sort)Pesquisa e Ordenação - Aula 07 - Métodos de Ordenação (Bin sort - Bucket sort)
Pesquisa e Ordenação - Aula 07 - Métodos de Ordenação (Bin sort - Bucket sort)Leinylson Fontinele
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Eder Samaniego
 
Linguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesLinguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesElaine Cecília Gatto
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à ProgramaçãoMario Sergio
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosMario Jorge Pereira
 
Comparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs JavaComparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs JavaMario Sergio
 

Tendances (20)

Estrutura de Dados - Aula 06 - Pilhas Estáticas
Estrutura de Dados - Aula 06 - Pilhas EstáticasEstrutura de Dados - Aula 06 - Pilhas Estáticas
Estrutura de Dados - Aula 06 - Pilhas Estáticas
 
Logica programacao python-slides
Logica programacao python-slidesLogica programacao python-slides
Logica programacao python-slides
 
Estrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Estrutura de Dados - Aula 09 - Listas Simplesmente EncadeadasEstrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Estrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
 
Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1
 
Amostragem - estatistica
Amostragem - estatisticaAmostragem - estatistica
Amostragem - estatistica
 
Algoritmo - tipos de dados
Algoritmo - tipos de dadosAlgoritmo - tipos de dados
Algoritmo - tipos de dados
 
Pesquisa e Ordenação - Aula 07 - Métodos de Ordenação (Bin sort - Bucket sort)
Pesquisa e Ordenação - Aula 07 - Métodos de Ordenação (Bin sort - Bucket sort)Pesquisa e Ordenação - Aula 07 - Métodos de Ordenação (Bin sort - Bucket sort)
Pesquisa e Ordenação - Aula 07 - Métodos de Ordenação (Bin sort - Bucket sort)
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2
 
Introdução a ciência de dados com Python
Introdução a ciência de dados com PythonIntrodução a ciência de dados com Python
Introdução a ciência de dados com Python
 
Linguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesLinguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e Funções
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Introdução a python
Introdução a pythonIntrodução a python
Introdução a python
 
Algoritmos: Variáveis e Constantes
Algoritmos: Variáveis e ConstantesAlgoritmos: Variáveis e Constantes
Algoritmos: Variáveis e Constantes
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Tabela Hash
Tabela HashTabela Hash
Tabela Hash
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Comparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs JavaComparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs Java
 

En vedette

Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-Mauro Pereira
 
Algoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlex Camargo
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 
Metodologías del aprendizaje.....1
Metodologías del aprendizaje.....1Metodologías del aprendizaje.....1
Metodologías del aprendizaje.....1ericka cervantes
 
Coletanea de-exercicios-resolvidos-em-liguagem-c
Coletanea de-exercicios-resolvidos-em-liguagem-cColetanea de-exercicios-resolvidos-em-liguagem-c
Coletanea de-exercicios-resolvidos-em-liguagem-cricard0606
 
Algoritmos e Programação: Manipulação de strings
Algoritmos e Programação: Manipulação de stringsAlgoritmos e Programação: Manipulação de strings
Algoritmos e Programação: Manipulação de stringsAlex Camargo
 
Livro Linguagem C - Completo
Livro Linguagem C - CompletoLivro Linguagem C - Completo
Livro Linguagem C - CompletoMarcos Quinho
 
Introdução a estrutura de dados josé lucas rangel - raulzinho.cb@hotmail.com
Introdução a estrutura de dados   josé lucas rangel - raulzinho.cb@hotmail.comIntrodução a estrutura de dados   josé lucas rangel - raulzinho.cb@hotmail.com
Introdução a estrutura de dados josé lucas rangel - raulzinho.cb@hotmail.comRaul Batalha
 
Fundamentos da programação de computadores 2ª edição
Fundamentos da programação de computadores   2ª ediçãoFundamentos da programação de computadores   2ª edição
Fundamentos da programação de computadores 2ª ediçãoLeandro Rocha de Oliveira
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlgWillians Miyabara
 
Coletanea de-exercicios-resolvidos-em-liguagem-c
Coletanea de-exercicios-resolvidos-em-liguagem-cColetanea de-exercicios-resolvidos-em-liguagem-c
Coletanea de-exercicios-resolvidos-em-liguagem-cWilson Kushima
 

En vedette (14)

Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Algoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: Matrizes
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Aula 5 aed - matrizes
Aula 5   aed - matrizesAula 5   aed - matrizes
Aula 5 aed - matrizes
 
Metodologías del aprendizaje.....1
Metodologías del aprendizaje.....1Metodologías del aprendizaje.....1
Metodologías del aprendizaje.....1
 
1 exercicio de vectores em C
1 exercicio de vectores em C1 exercicio de vectores em C
1 exercicio de vectores em C
 
Coletanea de-exercicios-resolvidos-em-liguagem-c
Coletanea de-exercicios-resolvidos-em-liguagem-cColetanea de-exercicios-resolvidos-em-liguagem-c
Coletanea de-exercicios-resolvidos-em-liguagem-c
 
Algoritmos e Programação: Manipulação de strings
Algoritmos e Programação: Manipulação de stringsAlgoritmos e Programação: Manipulação de strings
Algoritmos e Programação: Manipulação de strings
 
13 14.00 estrategias reproductivas hicotea_c.leguízamo
13 14.00 estrategias reproductivas hicotea_c.leguízamo13 14.00 estrategias reproductivas hicotea_c.leguízamo
13 14.00 estrategias reproductivas hicotea_c.leguízamo
 
Livro Linguagem C - Completo
Livro Linguagem C - CompletoLivro Linguagem C - Completo
Livro Linguagem C - Completo
 
Introdução a estrutura de dados josé lucas rangel - raulzinho.cb@hotmail.com
Introdução a estrutura de dados   josé lucas rangel - raulzinho.cb@hotmail.comIntrodução a estrutura de dados   josé lucas rangel - raulzinho.cb@hotmail.com
Introdução a estrutura de dados josé lucas rangel - raulzinho.cb@hotmail.com
 
Fundamentos da programação de computadores 2ª edição
Fundamentos da programação de computadores   2ª ediçãoFundamentos da programação de computadores   2ª edição
Fundamentos da programação de computadores 2ª edição
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
 
Coletanea de-exercicios-resolvidos-em-liguagem-c
Coletanea de-exercicios-resolvidos-em-liguagem-cColetanea de-exercicios-resolvidos-em-liguagem-c
Coletanea de-exercicios-resolvidos-em-liguagem-c
 

Similaire à Vetores, Matrizes e Strings em C Parte 3

Biblioteca strings profª ms
Biblioteca strings profª msBiblioteca strings profª ms
Biblioteca strings profª msJoelsa Soares
 
Linguagem c wellington telles - aula 03
Linguagem c   wellington telles - aula 03Linguagem c   wellington telles - aula 03
Linguagem c wellington telles - aula 03profwtelles
 
unidade04-c3-handout.pdf
unidade04-c3-handout.pdfunidade04-c3-handout.pdf
unidade04-c3-handout.pdfAlexSouza974126
 
Aprendendo objective c - parte 1
Aprendendo objective c - parte 1Aprendendo objective c - parte 1
Aprendendo objective c - parte 1Alamo Saravali
 
Introdução ao Framework Grails
Introdução ao Framework GrailsIntrodução ao Framework Grails
Introdução ao Framework GrailsBruno Catão
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao cprofwtelles
 
Tutorial dev cpp 002 - criação, leitura e alteração de arquivos
Tutorial dev cpp   002 - criação, leitura e alteração de arquivosTutorial dev cpp   002 - criação, leitura e alteração de arquivos
Tutorial dev cpp 002 - criação, leitura e alteração de arquivosFlávio Freitas
 
Aula 14 - Entrada e Saida em linguagem C.pdf
Aula 14 - Entrada e Saida em linguagem C.pdfAula 14 - Entrada e Saida em linguagem C.pdf
Aula 14 - Entrada e Saida em linguagem C.pdfvictorlopes714651
 
Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222Bianca Dantas
 
Capítulo 05 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 05 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 05 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 05 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Os Fantasmas !
 
Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2engenhariadecomputacao
 
Linguagem C (Parte 2)
Linguagem C (Parte 2)Linguagem C (Parte 2)
Linguagem C (Parte 2)Daniel Barão
 
Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell scriptbrunobione
 

Similaire à Vetores, Matrizes e Strings em C Parte 3 (20)

Biblioteca strings profª ms
Biblioteca strings profª msBiblioteca strings profª ms
Biblioteca strings profª ms
 
Ling c
Ling cLing c
Ling c
 
Linguagem c wellington telles - aula 03
Linguagem c   wellington telles - aula 03Linguagem c   wellington telles - aula 03
Linguagem c wellington telles - aula 03
 
unidade04-c3-handout.pdf
unidade04-c3-handout.pdfunidade04-c3-handout.pdf
unidade04-c3-handout.pdf
 
Aprendendo objective c - parte 1
Aprendendo objective c - parte 1Aprendendo objective c - parte 1
Aprendendo objective c - parte 1
 
Introdução ao Framework Grails
Introdução ao Framework GrailsIntrodução ao Framework Grails
Introdução ao Framework Grails
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Canivete shell
Canivete shellCanivete shell
Canivete shell
 
Canivete shell
Canivete shellCanivete shell
Canivete shell
 
Tutorial dev cpp 002 - criação, leitura e alteração de arquivos
Tutorial dev cpp   002 - criação, leitura e alteração de arquivosTutorial dev cpp   002 - criação, leitura e alteração de arquivos
Tutorial dev cpp 002 - criação, leitura e alteração de arquivos
 
Aula 14 - Entrada e Saida em linguagem C.pdf
Aula 14 - Entrada e Saida em linguagem C.pdfAula 14 - Entrada e Saida em linguagem C.pdf
Aula 14 - Entrada e Saida em linguagem C.pdf
 
Java4
Java4Java4
Java4
 
Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222
 
Capítulo 05 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 05 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 05 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 05 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Strings em php
Strings em phpStrings em php
Strings em php
 
Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2
 
Linguagem C (Parte 2)
Linguagem C (Parte 2)Linguagem C (Parte 2)
Linguagem C (Parte 2)
 
Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell script
 
Python 02
Python 02Python 02
Python 02
 

Plus de Elaine Cecília Gatto

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaElaine Cecília Gatto
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaElaine Cecília Gatto
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Elaine Cecília Gatto
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCElaine Cecília Gatto
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxElaine Cecília Gatto
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Elaine Cecília Gatto
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarElaine Cecília Gatto
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesElaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationElaine Cecília Gatto
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfElaine Cecília Gatto
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Elaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoElaine Cecília Gatto
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsElaine Cecília Gatto
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoElaine Cecília Gatto
 

Plus de Elaine Cecília Gatto (20)

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etaria
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à Medicina
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPC
 
entrevista r7.pdf
entrevista r7.pdfentrevista r7.pdf
entrevista r7.pdf
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptx
 
Empoderamento Feminino
Empoderamento FemininoEmpoderamento Feminino
Empoderamento Feminino
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCar
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de Correlações
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label Classification
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
 
Curtinhas de sábado.pdf
Curtinhas de sábado.pdfCurtinhas de sábado.pdf
Curtinhas de sábado.pdf
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamento
 
Cheat sheet Mips 32 bits
Cheat sheet Mips 32 bitsCheat sheet Mips 32 bits
Cheat sheet Mips 32 bits
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcação
 

Dernier

Verbos - transitivos e intransitivos.pdf
Verbos -  transitivos e intransitivos.pdfVerbos -  transitivos e intransitivos.pdf
Verbos - transitivos e intransitivos.pdfKarinaSouzaCorreiaAl
 
Aula 6 - O Imperialismo e seu discurso civilizatório.pptx
Aula 6 - O Imperialismo e seu discurso civilizatório.pptxAula 6 - O Imperialismo e seu discurso civilizatório.pptx
Aula 6 - O Imperialismo e seu discurso civilizatório.pptxMarceloDosSantosSoar3
 
Como fazer um Feedback Eficaz - Comitê de Gestores
Como fazer um Feedback Eficaz - Comitê de GestoresComo fazer um Feedback Eficaz - Comitê de Gestores
Como fazer um Feedback Eficaz - Comitê de GestoresEu Prefiro o Paraíso.
 
Poder do convencimento,........... .
Poder do convencimento,...........         .Poder do convencimento,...........         .
Poder do convencimento,........... .WAGNERJESUSDACUNHA
 
FORMAÇÃO POVO BRASILEIRO atividade de história
FORMAÇÃO POVO BRASILEIRO atividade de históriaFORMAÇÃO POVO BRASILEIRO atividade de história
FORMAÇÃO POVO BRASILEIRO atividade de históriaBenigno Andrade Vieira
 
Caça palavras - BULLYING
Caça palavras  -  BULLYING  Caça palavras  -  BULLYING
Caça palavras - BULLYING Mary Alvarenga
 
O-P-mais-importante.pptx de Maria Jesus Sousa
O-P-mais-importante.pptx de Maria Jesus SousaO-P-mais-importante.pptx de Maria Jesus Sousa
O-P-mais-importante.pptx de Maria Jesus SousaTeresaCosta92
 
arte retrato de um povo - Expressão Cultural e Identidade Nacional
arte retrato de um povo - Expressão Cultural e Identidade Nacionalarte retrato de um povo - Expressão Cultural e Identidade Nacional
arte retrato de um povo - Expressão Cultural e Identidade Nacionalidicacia
 
Poema sobre o mosquito Aedes aegipyti -
Poema sobre o mosquito Aedes aegipyti  -Poema sobre o mosquito Aedes aegipyti  -
Poema sobre o mosquito Aedes aegipyti -Mary Alvarenga
 
Apresentação sobrea dengue educação.pptx
Apresentação sobrea dengue educação.pptxApresentação sobrea dengue educação.pptx
Apresentação sobrea dengue educação.pptxtaloAugusto8
 
autismo conhecer.pptx, Conhecer para entender
autismo conhecer.pptx, Conhecer para entenderautismo conhecer.pptx, Conhecer para entender
autismo conhecer.pptx, Conhecer para entenderLucliaResende1
 
Peixeiras da Coruña. O Muro da Coruña. IES Monelos
Peixeiras da Coruña. O Muro da Coruña. IES MonelosPeixeiras da Coruña. O Muro da Coruña. IES Monelos
Peixeiras da Coruña. O Muro da Coruña. IES MonelosAgrela Elvixeo
 
Trabalho DAC História 25 de Abril de 1974
Trabalho DAC História 25 de Abril de 1974Trabalho DAC História 25 de Abril de 1974
Trabalho DAC História 25 de Abril de 1974AnaRitaFreitas7
 
Atividade de matemática para simulado de 2024
Atividade de matemática para simulado de 2024Atividade de matemática para simulado de 2024
Atividade de matemática para simulado de 2024gilmaraoliveira0612
 
Termo de audiência de Mauro Cid na ìntegra
Termo de audiência de Mauro Cid na ìntegraTermo de audiência de Mauro Cid na ìntegra
Termo de audiência de Mauro Cid na ìntegrafernando846621
 
SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123
SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123
SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123JaineCarolaineLima
 
ARTE BARROCA E ROCOCO BRASILEIRO-min.pdf
ARTE BARROCA E ROCOCO BRASILEIRO-min.pdfARTE BARROCA E ROCOCO BRASILEIRO-min.pdf
ARTE BARROCA E ROCOCO BRASILEIRO-min.pdfItaloAtsoc
 
Depende De Nós! José Ernesto Ferraresso.ppsx
Depende De Nós! José Ernesto Ferraresso.ppsxDepende De Nós! José Ernesto Ferraresso.ppsx
Depende De Nós! José Ernesto Ferraresso.ppsxLuzia Gabriele
 

Dernier (20)

Verbos - transitivos e intransitivos.pdf
Verbos -  transitivos e intransitivos.pdfVerbos -  transitivos e intransitivos.pdf
Verbos - transitivos e intransitivos.pdf
 
Abordagem 1. Análise textual (Severino, 2013).pdf
Abordagem 1. Análise textual (Severino, 2013).pdfAbordagem 1. Análise textual (Severino, 2013).pdf
Abordagem 1. Análise textual (Severino, 2013).pdf
 
Abordagens 4 (Problematização) e 5 (Síntese pessoal) do texto de Severino (20...
Abordagens 4 (Problematização) e 5 (Síntese pessoal) do texto de Severino (20...Abordagens 4 (Problematização) e 5 (Síntese pessoal) do texto de Severino (20...
Abordagens 4 (Problematização) e 5 (Síntese pessoal) do texto de Severino (20...
 
Aula 6 - O Imperialismo e seu discurso civilizatório.pptx
Aula 6 - O Imperialismo e seu discurso civilizatório.pptxAula 6 - O Imperialismo e seu discurso civilizatório.pptx
Aula 6 - O Imperialismo e seu discurso civilizatório.pptx
 
Como fazer um Feedback Eficaz - Comitê de Gestores
Como fazer um Feedback Eficaz - Comitê de GestoresComo fazer um Feedback Eficaz - Comitê de Gestores
Como fazer um Feedback Eficaz - Comitê de Gestores
 
Poder do convencimento,........... .
Poder do convencimento,...........         .Poder do convencimento,...........         .
Poder do convencimento,........... .
 
FORMAÇÃO POVO BRASILEIRO atividade de história
FORMAÇÃO POVO BRASILEIRO atividade de históriaFORMAÇÃO POVO BRASILEIRO atividade de história
FORMAÇÃO POVO BRASILEIRO atividade de história
 
Caça palavras - BULLYING
Caça palavras  -  BULLYING  Caça palavras  -  BULLYING
Caça palavras - BULLYING
 
O-P-mais-importante.pptx de Maria Jesus Sousa
O-P-mais-importante.pptx de Maria Jesus SousaO-P-mais-importante.pptx de Maria Jesus Sousa
O-P-mais-importante.pptx de Maria Jesus Sousa
 
arte retrato de um povo - Expressão Cultural e Identidade Nacional
arte retrato de um povo - Expressão Cultural e Identidade Nacionalarte retrato de um povo - Expressão Cultural e Identidade Nacional
arte retrato de um povo - Expressão Cultural e Identidade Nacional
 
Poema sobre o mosquito Aedes aegipyti -
Poema sobre o mosquito Aedes aegipyti  -Poema sobre o mosquito Aedes aegipyti  -
Poema sobre o mosquito Aedes aegipyti -
 
Apresentação sobrea dengue educação.pptx
Apresentação sobrea dengue educação.pptxApresentação sobrea dengue educação.pptx
Apresentação sobrea dengue educação.pptx
 
autismo conhecer.pptx, Conhecer para entender
autismo conhecer.pptx, Conhecer para entenderautismo conhecer.pptx, Conhecer para entender
autismo conhecer.pptx, Conhecer para entender
 
Peixeiras da Coruña. O Muro da Coruña. IES Monelos
Peixeiras da Coruña. O Muro da Coruña. IES MonelosPeixeiras da Coruña. O Muro da Coruña. IES Monelos
Peixeiras da Coruña. O Muro da Coruña. IES Monelos
 
Trabalho DAC História 25 de Abril de 1974
Trabalho DAC História 25 de Abril de 1974Trabalho DAC História 25 de Abril de 1974
Trabalho DAC História 25 de Abril de 1974
 
Atividade de matemática para simulado de 2024
Atividade de matemática para simulado de 2024Atividade de matemática para simulado de 2024
Atividade de matemática para simulado de 2024
 
Termo de audiência de Mauro Cid na ìntegra
Termo de audiência de Mauro Cid na ìntegraTermo de audiência de Mauro Cid na ìntegra
Termo de audiência de Mauro Cid na ìntegra
 
SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123
SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123
SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123
 
ARTE BARROCA E ROCOCO BRASILEIRO-min.pdf
ARTE BARROCA E ROCOCO BRASILEIRO-min.pdfARTE BARROCA E ROCOCO BRASILEIRO-min.pdf
ARTE BARROCA E ROCOCO BRASILEIRO-min.pdf
 
Depende De Nós! José Ernesto Ferraresso.ppsx
Depende De Nós! José Ernesto Ferraresso.ppsxDepende De Nós! José Ernesto Ferraresso.ppsx
Depende De Nós! José Ernesto Ferraresso.ppsx
 

Vetores, Matrizes e Strings em C Parte 3

  • 1. Programação de Computadores Aula 4 e 5 23 e 30/08/2012 Profª Ms. Engª Elaine Cecília Gatto Unidade 4: Vetores, Matrizes e Strings Curso de Bacharelado em Engenharia de Computação Universidade do Sagrado Coração – USC Bauru/SP
  • 2. STRINGS • São sequências, conjuntos ou cadeira de caracteres diversos, sendo representados por aspas; • Em C não existe um tipo STRING explícito; • Não é um tipo primitivo da linguagem; • Não existe uma palavra reservada que declare uma variável do tipo STRING (como acontece em pascal, java, etc); • Em C utiliza-se um vetor ou matriz do tipo CHAR para armazenar uma STRING; • Mas qual o tamanho da STRING? Quando ela termina? • Utilizar um caracter terminador: 0 (null = zero)  forma que as funções reconhecem o fim da string;
  • 3. Strings Constantes • Sempre que o compilador encontra qualquer coisa entre aspas duplas, ele reconhece que se trata de uma string constante. Posição da memória string printf(“%s”, “Saudações”); 1092 S 1093 A 1094 U 1095 D 1096 A 1096 C 1097 O 1098 E 1099 S 1100 0
  • 4. SCANF() #include <stdio.h> • Observe a saída do #include <stdlib.h> programa! Consegue notar o que há de int main(){ diferente entre a entrada de dados e a char nome[100]; saída? printf("Digite o seu nome: "); scanf("%s", nome); printf("Saudacoes, %s", nome); printf("n "); system("PAUSE"); return 0; }
  • 5. SCANF() • Esta instrução lê cada caractere digitado e os armazena a partir do endereço nome. #include <stdio.h> • O processo termina quando um #include <stdlib.h> caractere branco é encontrado. • Nesse ponto é incluído automaticamente o caractere 0 na próxima posição livre. int main(){ • Não é permitido ultrapassar o limite char nome[100]; estipulado na criação do vetor/matriz. • O espaço para 0 deve ser previsto. printf("Digite o seu nome: "); • A função scanf() entende um espaço em scanf("%s", nome); branco como o término da entrada. printf("Saudacoes, %s", nome); • Por isso, na saída, apenas o primeiro nome digitado é apresentado. printf("n "); system("PAUSE"); return 0; }
  • 6. SCANF() • Mas se digitarmos o nome inteiro sem espaços, observe a saída! • Observe esta instrução novamente. #include <stdio.h> Porque está sendo usado nome e não #include <stdlib.h> &nome? • Neste caso, nome é equivalente a &nome[0] int main(){ • O nome de uma matriz é o seu endereço char nome[100]; inicial printf("Digite o seu nome: "); • Scanf() é muito utilizada para ler uma mistura de tipos de dados numa mesma scanf("%s", nome); instrução. printf("Saudacoes, %s", nome); printf("n "); system("PAUSE"); return 0; }
  • 7. GETS() • Usada para leitura de #include <stdio.h> textos ; #include <stdlib.h> • Propósito: ler unicamente uma cadeia de caracteres int main(){ do teclado enquano a tecla char nome[100]; ENTER não for pressionada; printf("Digite o seu nome: "); • Todos os caracteres digitados são gets(nome); armazenados, inclusive printf("Saudacoes, %s", nome); espaços e tabulações; printf("n "); • O caractere 0 é incluído system("PAUSE"); no final; return 0; }
  • 8. GETS() #include <stdio.h> • Problemas com esta #include <stdlib.h> função: pode armazenar caracteres além da capacidade definida; int main(){ char nome[100]; printf("Digite o seu nome: "); gets(nome); printf("Saudacoes, %s", nome); printf("n "); system("PAUSE"); return 0; }
  • 9. GETS() • Neste exemplo, é declarado #include <stdio.h> um vetor de tamanho 10, mas #include <stdlib.h> o nome digitado contém 20 int main(){ caracteres. Observe que o char nome[10]; vetor armazena 10 caracters a printf("Exemplo de estouro de string. n"); mais do que foi especificado. printf("Digite o seu nome: "); gets(nome); • Para resolver este problema, printf("Saudacoes, %s", nome); deve-se usar FGETS() printf("n "); system("PAUSE"); return 0; }
  • 10. FGETS() #include <stdio.h> • O código ao lado utiliza fgets. #include <stdlib.h> O vetor declarado tem 15 posições e somente essas 15 int main(){ posições são preenchidas. char nome[15]; • Na saída, observa-se que o printf("Digite o seu nome: "); nome digitado é maior que as fgets(nome, 15, stdin); 15 posições, e portanto, o restante do nome é printf("Saudacoes, %s", nome); desprezado. printf("n "); system("PAUSE"); return 0; }
  • 11. PUTS() #include <stdio.h> #include <stdlib.h> int main(){ char nome[80]; printf("Digite o seu nome: "); gets(nome); puts(""); puts("Saudacoes, "); puts(nome); • É o complemento da função puts(""); gets(); puts("Imprimindo a partir da quarta posicao: "); puts(&nome[4]); • Propósito: imprimir uma puts(""); única string por vez; puts("a funcao puts() pula linha automaticamente!"); • O endereço da string deve ser puts(""); enviado para putx como system("PAUSE"); argumento; return 0; }
  • 12. Inicializando strings char nome[] = {‘E’, ‘l’, ‘a’, ‘i’, ‘n’, ‘e’, ‘0’}; char nome[] = “Elaine”; EXEMPLO: #include <stdio.h> #include <stdlib.h> int main(){ char saudacao[]="Saudacoes, "; char nome[80]; printf(" Digite o seu nome: "); gets(nome); printf("%s%s n", saudacao, nome); system("PAUSE"); return 0; }
  • 13. Função STRCPY() • Copia ou atribui o conteúdo da #include <stdio.h> string de origem para a string de #include <stdlib.h> destino. Ambas devem ter, no #include <string.h> mínimo, o mesmo tamanho; int main(){ • Sintaxe: strcpy(string_destino, char nome_original[30] ; string_origem); char nome_copia[30]; printf(" Digite um nome: "); gets(nome_original); strcpy(nome_copia, nome_original); printf(" Nome original: "); puts(nome_original); printf(" Nome copia: "); puts(nome_copia); system("PAUSE"); return 0; }
  • 14. Função STRCAT() #include <stdio.h> • Concatena o conteúdo da string #include <stdlib.h> de origem ao final do conteúdo #include <string.h> da string de destino. • Essa função não verifica se a int main(){ primeira cadeia tem espaço char cadeia1[100]; suficiente para que a segunda char cadeia2[10]; cadeia seja adicionada ao seu printf(" Digite o seu primeiro nome: "); final. gets(cadeia1); • Sintaxe: strcat(string_destino, printf(" Digite o seu segundo nome: "); string origem); gets(cadeia2); strcat(cadeia1, cadeia2); printf("%s", cadeia1); puts(""); system("PAUSE"); return 0; }
  • 15. Função STRCMP() #include <stdio.h> • Compara o conteúdo da string #include <stdlib.h> 1 com o conteúdo da string 2; #include <string.h> • Retorna um número inteiro; int main(){ char string1[20], string2[20]; • Se forem iguais, a função int resultado; retorna zero; printf(" Digite uma palavra: "); gets(string1); • Se o número retornado for printf(" Digite uma palavra: "); menor que zero, então a gets(string2); string1 é menor que a string resultado = strcmp(string1, string2); if(resultado ==0 ){ 2; puts("As strings sao iguais."); • Se o número retornado for } else{ maior que zero, então a puts("As strings sao diferentes."); string1 é maior que a string2; } system("PAUSE"); return 0; }
  • 17. Função STRLEN() #include <stdio.h> • Recebe como argumento o #include <stdlib.h> endereço de uma string e #include <string.h> retorna o seu tamanho; int main(){ • O comprimento do char string1[20], string2[20]; vetor/matriz da string deve int tamanho1, tamanho2; ser um a mais que o inteiro printf(" Digite uma palavra: "); retornado por strlen(); gets(string1); • O terminador 0 não é printf(" Digite uma palavra: "); contabilizado; gets(string2); tamanho1 = strlen(string1); tamanho2 = strlen(string2); printf("O tamanho da string1 e: %d", tamanho1); puts(""); printf("O tamanho da string2 e: %d", tamanho2); puts(""); system("PAUSE"); return 0; }
  • 18. Função STRUPR() #include <stdio.h> • Converte o conteúdo da string #include <stdlib.h> em letras maiusculas #include <string.h> int main(){ char string[20]; printf(" n Escreva uma palavra: "); gets(string); printf(" n String original: %s", string); strupr(string); printf(" n String convertida: %s", string); printf("nn"); system("pause"); return 0; }
  • 19. Função STRLWR() #include <stdio.h> • Converte o conteúdo da string #include <stdlib.h> em letras minusculos #include <string.h> int main(){ char string[20]; printf(" n Escreva uma palavra com todas as letras em maiusculo: "); gets(string); printf(" n String original: %s", string); strupr(string); printf(" n String convertida: %s", string); printf("nn"); system("pause"); return 0; }
  • 20. Exercícios 1. Desenvolver um programa que obtenha as seguintes informações para os “n” colegas da sua turma de Programação de Computadores: variavel qtde caracteres nome 15 sobrenome 30 endereço 80 telefone 10 idade 3 • Realize as seguintes tarefas: • Copie o nome do seu colega para uma variável denominada nome2; • Concatene o sobrenome à variável nome2;
  • 21. Exercícios • Obtenha o tamanho da variável nome2; • Imprima todas as informações de cada um dos seus colegas na tela; 2. Faça um programa em C que leia 10 strings, imprima o tamanho de cada uma delas e troque as letras para maiusculas. Dica: use o FOR. 3. Troque as letras do exercício anterior, por minusculas. 4. Escreva um programa em C que receba o nome, a idade e o sexo de 10 pessoas e armazene, em um vetor/matriz, as pessoas que forem do sexo masculino e maiores de 18 anos.
  • 22. Exercícios 5. Escreva um programa que faça a seguinte pergunta ao usuário: “Quem é o criador da Linguagem C?”. O usuário deve escrever a resposta e o programa deve verificar: • Se o usuário responder corretamente, uma mensagem de “parabéns, voce acertou!”, deve ser emitida; • Se o usuário responder incorretamente, uma mensagem de “que pena, voce errou!”, deve ser emitida. 6. Se você terminou todos os exercícios acima, então agora, termine os exercícios de matrizes e vetores das aulas passadas!