Introdução à Linguagem C

Slides:



Advertisements
Apresentações semelhantes
Um programa em C Bibliotecas Variáveis globais
Advertisements

Manipulação de Strings Marco Reis. Novo arquivo Adicione ManipulacaoDeStrings.c ao projeto. Cada projeto pode ter apenas um método main. Como outros programas.
Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.1 Octave Cadeias e ficheiros.
Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Strings 4.1 Octave Strings.
Programação para Engenharia I
Profª. Leticia Lopes Leite LAPRO A - FACIN
ICC – Matrizes Jorge Macêdo.
Introdução à Programação
Prof. Luis Otavio Alvares
Introdução a Programação
Introdução a Programação
Programação II Funções especiais Ricardo de Sousa Britto
UDESC - Prof. Juliano Maia
LPG - I: Ponteiros e Vetores/Matrizes UDESC - SBS
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
LINGUAGEM ESTRUTURADA TURBO C
Universidade Federal do Espírito Santo Programação II Vetores Professora: Norminda Luiza.
Linguagem C Strings.
Armazenamento de Dados em Arquivos
Vetores, Matrizes e Funções
Estruturas de Dados Homogêneas Unidimensionais – Vetores e Strings
Slides Prof. Jean SIMÃO Revisão: Prof. João FABRO
Linguagem C Strings.
Armazenamento de Dados em Arquivos
Estruturas de Dados Homogêneas Multidimensionais – Matrizes
Matrizes e Funções - Continuação
Slides: Prof. SIMÃO Revisão: Prof. João Fabro
Fundamentos de Programação 1
Linguagem de Programação
Strings Definição: Não confundir caracteres com strings
Aula prática 7 Strings Monitoria de Introdução à Programação
PROGRAMAÇÃO ESTRUTURADA II
Linguagem de Programação II Parte VII
CADEIA DE CARACTERES (Strings)
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Programação II Estruturas de Dados Aula 02 - continuação
Curso de C/C++ Aula 2 Instrutor: Luiz Felipe Sotero
Computação Eletrônica
Vetor Prof. Guilherme Baião S. Silva Adaptações:
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Aula prática 7 Strings Monitoria de Introdução à Programação
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas.
Estruturas de Dados Aula 6: Cadeias de Caracteres
STRINGS Dilvan Moreira (baseado no livro Big Java e Z. Liang)
Programação de Computadores I – Arquivos
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IX Subprogramação e Recursividade.
1 Introdução à Linguagem C Strings Deise Saccol Adaptado de slides das Profas. Patrícia Jaques e Mônica Py.
1 Introdução à Linguagem C Strings Deise Saccol Adaptado de slides das Profas. Patrícia Jaques e Mônica Py.
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Aula prática 7 Strings Monitoria de Introdução à Programação.
Algoritmo e Estrutura de Dados I Aulas 12 – Linguagem C Strings Márcia Marra
 O que são arrays:  estruturas de dados homogêneas  coleção de elementos do mesmo tipo referenciada por um nome comum  um array pode ser imaginado.
Estruturas Homogêneas – Vetores e Matrizes
Profa. Maria Augusta Constante Puget
Aula prática 7 Strings Monitoria de Introdução à Programação.
Linguagem de Programação
Arrays e Matrizes na Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
PCI- Vetores Profa. Mercedes Gonzales Márquez. Aula 5 - VetoresAlgoritmos e Estruturas de Dados I Sequência de valores todos do mesmo tipo Nome único.
Computação – Informática Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Matrizes em C”
Fundamentos de Programação 1 Slides 19 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Arquivos Binários”.
Fundamentos de Programação 1 Aula N. 02 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Laços de Repetição em C”
Fundamentos de Programação 1 Slides C – Número 4 Prof. SIMÃO Jean Marcelo SIMÃO Estrutura de Dados Homogêneas “vetores de números e de caracteres”
Estrutura de Dados STRUCTS Dilvan Moreira. Objetivos  Entender o que são e como usar:  Estrutura de Dados para a Linguagem C  Structs (Registros)
Estruturas Homogêneas - Vetores
1 Aula 07 Strings Prof. Filipe Mutz. 2 Em nossos programas ainda não vimos como armazenar palavras e textos, e eles são muito importantes! Exemplos: Programas.
Computação – Informática Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Matrizes em C” 1.
Fundamentos de Programação 1 Slides 18 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Arquivos Seqüências ou de Texto ”. 1.
Aula Prática 7 STRINGS Monitoria  Um dos tipos de arranjos que mais ocorre em C é o arranjo de caracteres, ou string. C não suporta um tipo básico.
Fundamentos de Programação 1
Transcrição da apresentação:

Introdução à Linguagem C Strings Luis Otavio Alvares Adaptado de slides das profas. Deise Saccol, Patrícia Jaques e Mônica Py

Strings Não existe um tipo String em C. Strings em C são vetores do tipo char que terminam com ‘\0’. Para literais string, o próprio compilador coloca ‘\0’. #include <stdio.h> #include <stdlib.h> main(){ char re[8] = "lagarto"; //tamanho máximo de 7 caracteres printf ("%s", re); system("pause"); }

Para ler uma String Comando gets #include <stdio.h> #include <stdlib.h> main(){ char re [80]; printf ("Digite o seu nome: "); gets(re); printf ("Oi %s\n", re); system("pause"); }

#include <string.h> Tratamento de strings #include <string.h> Principais funções para manipulação de strings: strcmp (s1, s2): comparação de strings strlen(s1): devolve o tamanho da string strcpy(para, de): copia string strcat(str1,str2): concatena duas strings strupr(str): coloca str em letras maiúsculas strlwr(str): coloca str em letras minúsculas

Para comparar duas strings strcmp (s1, s2); retorna 0 se as duas strings são iguais, um valor <0 se s1 for menor que s2 (ordem alfabética) e >0 se s1 for maior que s2 (diferencia maiúsculas de minúsculas) #include <stdio.h> #include <stdlib.h> #include <string.h> main( ){ char re[80]; printf ("Digite a senha: "); scanf ("%s", &re); if (strcmp(re,"laranja")==0) { printf ("Senha correta\n"); } else { printf ("Senha invalida\n"); system("pause"); Pode utilizar scanf no lugar do gets, só que o scanf não lê espaços em branco. Se o usuário digitar: >“Alexandre Costa e Silva” o scanf vai pegar apenas “Alexandre”. O gets pega tudo.

Para saber o tamanho de uma string int size = strlen(str); Retorna um valor inteiro com o número de caracteres da string (desprezando o “\0”). #include <stdio.h> #include <stdlib.h> #include <string.h> main(){ char re[80]; printf ("Digite a palavra: "); scanf ("%s", &re); // gets(re); int size=strlen(re); printf ("Esta palavra tem %d caracteres.\n", size); system("pause"); }

Para copiar o conteúdo de uma string para outra strcpy(str1, str2); copia o conteúdo de str2 para str1 (str1 não deve ser menor que str2) #include <stdio.h> #include <stdlib.h> #include <string.h> main() { char str[80]; strcpy (str, "Alo"); printf ("%s\n", str); system("pause"); }

Para concatenar duas strings strcat(str1,str2): Esta função é utilizada para concatenar (unir / juntar) duas strings. str2 será adicionada no final de str1 #include <stdio.h> #include <stdlib.h> #include<string.h> int main(){ char str1[40],str2[10],str3[40]="teste"; strcpy(str1,"inicio"); strcpy(str2,"FIM"); strcat(str1,str2); strcat(str3,str1); printf("%s\n",str1); printf("%s\n",str3); system("pause"); }

Exemplo do uso das funções #include <stdio.h> #include <stdlib.h> #include <string.h> main(){ char palavra[30], palavra2[30], teste[30]; int tam, comp; printf ("\n Informe uma string: "); gets (palavra); printf ("A palavra digitada eh %s\n", palavra); printf ("\n Informe uma segunda string: "); gets (palavra2); printf ("A palavra digitada eh %s\n", palavra2); strcpy (teste,"aula teste"); printf ("A palavra copiada eh %s\n", teste); strcat (teste, " 1"); printf ("A palavra concatenada eh %s\n", teste); tam=strlen(palavra); printf ("\nO tamanho da primeira string eh %d", tam); comp=strcmp (palavra, palavra2); if (comp==0) printf ("\nSao iguais: %d", comp); else printf ("\nSao diferentes: %d", comp); printf ("\nMaiusculo: %s", strupr(palavra)); printf ("\nMinusculo: %s\n", strlwr(palavra)); system("pause"); }

Exercício Escreva um programa que leia duas strings e as coloque na tela. Imprima também a segunda letra de cada string.

Exemplo de solução #include <stdio.h> #include <stdlib.h> 1. Escreva um programa que leia duas strings e as coloque na tela. Imprima também a segunda letra de cada string. #include <stdio.h> #include <stdlib.h> #include <string.h> main(){ char palavra[30]; printf ("\n Informe uma string: "); gets (palavra); printf ("A palavra digitada eh %s\n", palavra); printf ("\nA segunda letra da string digitada eh %c", palavra[1]); printf ("\n Informe uma segunda string: "); printf ("\nA segunda letra da string digitada eh %c\n", palavra[1]); system("pause"); }

Exercício Escreva um programa que leia uma string, conte quantos caracteres desta string são iguais a 'a' e substitua os que forem iguais a 'a' por 'b'. O programa deve imprimir o número de caracteres modificados e a string modificada.

Exemplo de solução #include <stdio.h> #include <stdlib.h> 2. Escreva um programa que leia uma string, conte quantos caracteres desta string são iguais a 'a' e substitua os que forem iguais a 'a' por 'b'. O programa deve imprimir o número de caracteres modificados e a string modificada. #include <stdio.h> #include <stdlib.h> #include <string.h> main(){ char string[30]; int tamanho, i, contaA=0; printf ("\nInforme uma string: "); gets (string); tamanho=strlen(string); for (i=0;i<tamanho;i++) { if (string[i]=='a') { contaA=contaA+1; string[i]='b'; } printf ("\nO numero de caracteres modificados eh %d", contaA); printf ("\nA string modificada eh %s\n", string); system("pause");

Exercício Faca um programa que leia o nome de 5 pessoas e mostre os nomes armazenados. Utilize vetores.

Exemplo de solução 3. Faca um programa que leia o nome de 5 pessoas e mostre os nomes armazenados. Utilize vetores. #include <stdio.h> #include <stdlib.h> #include <string.h> main(){ char nomes[5][10]; int cont; for (cont=0;cont<5;cont++) { printf ("\nInforme o nome %d: ", cont); gets(nomes[cont]); } printf ("\nO nome armazenado na posicao %d eh %s", cont, nomes[cont]); system("pause");

Exercícios 4. Uma empresa concederá um aumento de salário aos seus funcionários, variável de acordo com o cargo, conforme a tabela abaixo. Faça um programa que leia o salário e o cargo de um funcionário e calcule o novo salário. Se o cargo do funcionário não estiver na tabela, ele deverá então receber 40% de aumento. Mostre o salário antigo, o novo salário e a diferença.  Cargo Percentual Gerente 10% Engenheiro 20% Técnico 30%

#include <stdio.h> #include <string.h> #include <stdlib.h> main(){ char cargo[20]; float salario, novoSalario; printf ("\nDigite o cargo: "); scanf ("%s", cargo); printf ("\nDigite o salario: "); scanf ("%f", &salario); if (strcmp(cargo, "gerente")==0) novoSalario=salario*1.1; else if (strcmp(cargo, "engenheiro")==0) novoSalario=salario*1.2; else if (strcmp(cargo, "tecnico")==0) novoSalario=salario*1.3; else novoSalario=salario*1.4; printf ("\nO salario antigo eh %.2f, o salario novo eh %.2f e a diferenca eh de R$ %.2f\n", salario, novoSalario, novoSalario-salario); system("pause"); }