Computação Eletrônica
-
Upload
chase-woodward -
Category
Documents
-
view
31 -
download
1
description
Transcript of Computação Eletrônica
![Page 1: Computação Eletrônica](https://reader036.fdocuments.net/reader036/viewer/2022082611/5681342d550346895d9b1c81/html5/thumbnails/1.jpg)
Computação Eletrônica
Strings em C
Prof. Leandro Almeida
Adaptado de Ameliara Freire
![Page 2: Computação Eletrônica](https://reader036.fdocuments.net/reader036/viewer/2022082611/5681342d550346895d9b1c81/html5/thumbnails/2.jpg)
2
Strings
Strings em C Em C não há o tipo de dado String, deve-se
usar um vetor de caracteres, com uma posição para cada caractere e uma extra para um delimitador ‘\0’ (null).
Declaração: char identificador[dimensão + 1]; Exemplo: char str[8] = “EXEMPLO”; =>char str[8] = {‘E’, ‘X’, ‘E’, ‘M’, ‘P’, ‘L’, ‘O’, ‘\0’}; As funções de manipulação de Strings
armazenam automaticamente o ‘\0’
![Page 3: Computação Eletrônica](https://reader036.fdocuments.net/reader036/viewer/2022082611/5681342d550346895d9b1c81/html5/thumbnails/3.jpg)
3
Strings
Strings em C Constantes: (Entre aspas duplas)
“UFRPE” = ‘U’ ‘F’ ‘R’ ‘P’ ‘E’ ‘\0’Exemplo:char exemplo[10] = “UFRPE”;
Processando Strings Cada elemento do vetor é um caractere e pode ser
acessado individualmenteUm elemento ‘\0 significa o fim do vetor.
![Page 4: Computação Eletrônica](https://reader036.fdocuments.net/reader036/viewer/2022082611/5681342d550346895d9b1c81/html5/thumbnails/4.jpg)
4
Strings
Strings em C Exemplo:
main( ) {char nome[10] = “exemplo”;printf(“%s”, nome);printf(“%c”, nome[0]);
}
![Page 5: Computação Eletrônica](https://reader036.fdocuments.net/reader036/viewer/2022082611/5681342d550346895d9b1c81/html5/thumbnails/5.jpg)
5
Caracteres
Entrada e saída para caracteres getchar e putchar
int getchar() recebe um único caractere. Armazena a entrada até que <ENTER> (‘\n’) seja
pressionado. retorna como um inteiro.
int putchar(int c) imprime um único caractere passado como inteiro. retorna o mesmo inteiro
![Page 6: Computação Eletrônica](https://reader036.fdocuments.net/reader036/viewer/2022082611/5681342d550346895d9b1c81/html5/thumbnails/6.jpg)
Caracteres
Entrada e saída#include <stdio.h>
#include <conio.h>
main( )
{
int c;
printf( "Digite um caracter:");
c = getchar( );
printf("\nValor inteiro: %d",c);
printf( "\nInfo digitada: ");
putchar( c );
getche();
}
6
![Page 7: Computação Eletrônica](https://reader036.fdocuments.net/reader036/viewer/2022082611/5681342d550346895d9b1c81/html5/thumbnails/7.jpg)
Strings
Entrada e saída usando gets e puts: gets – faz a leitura de uma linha até digitar
<enter> Incluindo espaços, caracteres especiais, números,
acentos, etc. O “fflush(stdin)” deve vir antes, principalmente quando
o gets é usado dentro de um laço de repetição. puts – realiza a apresentação do vetor lido com
gets A impressão também pode ser realizada usando printf
7
![Page 8: Computação Eletrônica](https://reader036.fdocuments.net/reader036/viewer/2022082611/5681342d550346895d9b1c81/html5/thumbnails/8.jpg)
Para ler cadeias de caracteres com scanf devemos alterar a string controle:
scanf("%[^\n]s", nome);
Ou
scanf("%99[^\n]s", nome);
Ajustando o scanf
![Page 9: Computação Eletrônica](https://reader036.fdocuments.net/reader036/viewer/2022082611/5681342d550346895d9b1c81/html5/thumbnails/9.jpg)
Strings
Entrada e saída usando scanf e printf:#include <stdio.h>
#include <conio.h>
main( )
{
char str[100];
printf( "Digite uma informacao:");
scanf(“%s”, str);
printf( "\nInfo digitada: ");
printf("\n%s",str);
getche();
}
9
![Page 10: Computação Eletrônica](https://reader036.fdocuments.net/reader036/viewer/2022082611/5681342d550346895d9b1c81/html5/thumbnails/10.jpg)
Strings
Entrada e saída usando gets e puts:#include <stdio.h>
#include <conio.h>
main( )
{
char str[100];
printf( "Digite uma informacao:");
fflush(stdin);
gets(str);
printf( "\nInfo digitada: ");
puts( str );
printf("\n%s",str);
getche();
}
10
![Page 11: Computação Eletrônica](https://reader036.fdocuments.net/reader036/viewer/2022082611/5681342d550346895d9b1c81/html5/thumbnails/11.jpg)
11
Strings
Entrada e saída para strings scanf: lê strings até que um espaço em branco
seja encontrado. Exemplo:
#include <stdio.h>main(){
char nome[40];printf(“Digite seu nome:”);scanf(“%s”, nome);printf(“Boa noite %s”, nome);
}
![Page 12: Computação Eletrônica](https://reader036.fdocuments.net/reader036/viewer/2022082611/5681342d550346895d9b1c81/html5/thumbnails/12.jpg)
12
Strings
Funcoes de manipulacao de strings e caracteres
strcopy(a,b): faz uma copia de todos os caracteres de b para a.
strcat(a,b): adiciona os caracteres da string b à string a
strcmp(a,b): compara duas strings caracter por caracter e retorna 0 se elas forem iguais. Nunca compare strings usando o operador ==.
islower(char): diz se o caracter é minusculo isupper(char): diz se um caracter é maiusculo
![Page 13: Computação Eletrônica](https://reader036.fdocuments.net/reader036/viewer/2022082611/5681342d550346895d9b1c81/html5/thumbnails/13.jpg)
13
![Page 14: Computação Eletrônica](https://reader036.fdocuments.net/reader036/viewer/2022082611/5681342d550346895d9b1c81/html5/thumbnails/14.jpg)
14
![Page 15: Computação Eletrônica](https://reader036.fdocuments.net/reader036/viewer/2022082611/5681342d550346895d9b1c81/html5/thumbnails/15.jpg)
15
Strings
Funcoes de manipulacao de strings e caracteres
strlen(char[] a): devolve o tamanho da string a tolower(char): devolve o caracter para minusculo toupper(char): devolve o caracter pra maiusculo
![Page 16: Computação Eletrônica](https://reader036.fdocuments.net/reader036/viewer/2022082611/5681342d550346895d9b1c81/html5/thumbnails/16.jpg)
16
Exercicio
Faça um programa que solicita o usuario digitar o nome e endereco completo (armazenando em duas strings). Em seguida o programa imprime na tela o que foi digitado.
![Page 17: Computação Eletrônica](https://reader036.fdocuments.net/reader036/viewer/2022082611/5681342d550346895d9b1c81/html5/thumbnails/17.jpg)
17
Exercicio
Faça um programa que solicita o usuário digitar o nome e sobrenome
Em seguida o programa solicita ao usuário digitar rua, numero, bairro, cidade (capturando todos os dados como string).
Finalmente o programa concatena o nome e sobrenome e mostra na tela.
Depois o programa concatena os dados do endereço e imprime o endereço de uma só vez.
![Page 18: Computação Eletrônica](https://reader036.fdocuments.net/reader036/viewer/2022082611/5681342d550346895d9b1c81/html5/thumbnails/18.jpg)
18
1) Elabore um programa que receba uma linha de texto e conte as vogais apresentando o respectivo histograma na seguinte forma:
Exemplo:
Linha de texto passada: “Na próxima quarta-feira é feriado.”
a : ****** (6) e : *** (3) i : *** (3) o : ** (2) u : * (1)
Tomar cuidado com letras em maiúsculo. Pode ser necessário o uso de funções apresentadas na aula sobre strings.
1) Implemente um programa que receba uma linha de texto, retire os espaços em excesso existentes deixando apenas um espaço entre as várias palavras. As alterações de quantidade de espaços em branco devem ser realizadas diretamente no vetor do texto. Não deve ser utilizado vetor auxiliar.