Aula_14.ppt
-
Upload
ailton-varela -
Category
Documents
-
view
13 -
download
0
Transcript of Aula_14.ppt
Linguagem CLinguagem C
Aula 14Aula 14
TópicosTópicosTópicosTópicos
Variáveis compostas Homogéneas:Variáveis compostas Homogéneas: MatrizesMatrizes
StringsStrings
São um conjunto de variáveis São um conjunto de variáveis identificadas por um identificadas por um mesmo nomemesmo nome..
HomogêneasHomogêneas (vectores e matrizes) (vectores e matrizes)
HeterogêneasHeterogêneas (estruturas) (estruturas)
Variáveis CompostasVariáveis CompostasVariáveis CompostasVariáveis Compostas
Posição do livroPosição do livro
00 11 22 …… n-1n-1
00 788788 598598 265265 …… 156156
11 145145 258258 369369 …… 196196
22 989989 565565 345345 …… 526526
⋮⋮ ⋮⋮ ⋮⋮ ⋮⋮ ⋱⋱ ⋮⋮
m-m-11 845845 153153 564564 892892 210210
Pra
tele
ira
Pra
tele
ira
Variáveis Compostas Variáveis Compostas HomogêneasHomogêneas:: Exemplo:: ExemploVariáveis Compostas Variáveis Compostas HomogêneasHomogêneas:: Exemplo:: Exemplo
Utilizados para armazenar conjuntos de Utilizados para armazenar conjuntos de dados cujos elementos necessitam ser dados cujos elementos necessitam ser endereçados por endereçados por mais de um índicemais de um índice..
Também são conhecidos comoTambém são conhecidos como matrizesmatrizes..
Arranjos multidimensionaisArranjos multidimensionaisArranjos multidimensionaisArranjos multidimensionais
00 11 22 …… n-1n-1
00 788788 598598 265265 …… 156156
11 145145 258258 369369 …… 196196
22 989989 565565 345345 …… 526526
⋮⋮ ⋮⋮ ⋮⋮ ⋮⋮ ⋱⋱ ⋮⋮
m-m-11 845845 153153 564564 892892 210210
Arranjos de Arranjos de 22 dimensões dimensões
Arranjos multidimensionaisArranjos multidimensionais:: Exemplos:: ExemplosArranjos multidimensionaisArranjos multidimensionais:: Exemplos:: Exemplos
Como declarar:Como declarar:
Exemplos:Exemplos:
<tipo> <nome> [<tamanho1>][<tamanho2>]...;<tipo> <nome> [<tamanho1>][<tamanho2>]...;
int Vector[5][9];float cubo[20][12];
int Vector[5][9];float cubo[20][12];
Matrizes na Linguagem CMatrizes na Linguagem CMatrizes na Linguagem CMatrizes na Linguagem C
O compilador reserva uma porção O compilador reserva uma porção contígua contígua da da memória para armazenar os elementos das memória para armazenar os elementos das matrizes.matrizes.
Matrizes na Linguagem CMatrizes na Linguagem CMatrizes na Linguagem CMatrizes na Linguagem C
Matrizes na Linguagem CMatrizes na Linguagem CMatrizes na Linguagem CMatrizes na Linguagem C
O tamanho de uma matriz é O tamanho de uma matriz é pré-definidopré-definido, , ou seja, após a compilação, não pode ser ou seja, após a compilação, não pode ser mudado.mudado.
Portanto, e matrizes são chamadas Portanto, e matrizes são chamadas estruturas de dados estáticasestruturas de dados estáticas, pois , pois mantém o mantém o mesmo tamanho mesmo tamanho ao longo de ao longo de toda a execução do programa.toda a execução do programa.
Atribuir valores na declaração da matriz:Atribuir valores na declaração da matriz:
float matriz[2][3] = {{1,2,3},{4,5,6}};float matriz[2][3] = {{1,2,3},{4,5,6}};
Matrizes na Linguagem C Matrizes na Linguagem C :: Exemplos:: ExemplosMatrizes na Linguagem C Matrizes na Linguagem C :: Exemplos:: Exemplos
Preenche uma matriz n Preenche uma matriz n ×× m com zeros: m com zeros:
for (i=0; i < N; i++)
for (j=0; j < M; j++)
Matriz[i][j] = 0;
for (i=0; i < N; i++)
for (j=0; j < M; j++)
Matriz[i][j] = 0;
Matrizes na Linguagem C Matrizes na Linguagem C :: Exemplos:: ExemplosMatrizes na Linguagem C Matrizes na Linguagem C :: Exemplos:: Exemplos
Boa prática de programação:Boa prática de programação: Definir o tamanho de Matrizes com Definir o tamanho de Matrizes com constantesconstantes
flexibiliza a manutenção do código.flexibiliza a manutenção do código.
#define TAM_MAX 20#define TAM_MAX 20
int Vet[TAM_MAX][TAM_MAX];int Vet[TAM_MAX][TAM_MAX];
Matrizes na Linguagem C Matrizes na Linguagem C :: Exemplos:: ExemplosMatrizes na Linguagem C Matrizes na Linguagem C :: Exemplos:: Exemplos
Leitura dos dados de uma matriz:Leitura dos dados de uma matriz:
for (i=0; i<TAM_MAX; i++) for (j=0; j<TAM_MAX; j++)
{ printf("Digite o número: ");
scanf("%f", &Vet[i][j]);}
for (i=0; i<TAM_MAX; i++) for (j=0; j<TAM_MAX; j++)
{ printf("Digite o número: ");
scanf("%f", &Vet[i][j]);}
Matrizes na Linguagem C :: ExemplosMatrizes na Linguagem C :: ExemplosMatrizes na Linguagem C :: ExemplosMatrizes na Linguagem C :: Exemplos
Determinar:Determinar:
1.1. M[3][0]M[3][0]
2.2. M[4][2]M[4][2]
3.3. M[1][3]M[1][3]
4.4. M[5][M[0][2]]M[5][M[0][2]]
5.5. M[M[3][1]][1]M[M[3][1]][1]
00 11 22 33
00 11 22 33 44
11 55 -5-5 33 00
22 11 11 11 11
33 -3-3 22 00 00
44 00 00 11 11
55 -1-1 -1-1 -2-2 -2-2
1.1. -3-3
2.2. 11
3.3. 00
4.4. -2-2
5.5. 11
Matrizes na Linguagem C :: Problema Matrizes na Linguagem C :: Problema AAMatrizes na Linguagem C :: Problema Matrizes na Linguagem C :: Problema AA
String é um vector de caracteres, cujo fim é String é um vector de caracteres, cujo fim é indicado com um indicado com um carácter nulocarácter nulo (valor inteiro (valor inteiro zero).zero).
O terminador nulo também pode ser escrito O terminador nulo também pode ser escrito como como '\0‘.'\0‘.
Ao definir uma string, deve-se levar em Ao definir uma string, deve-se levar em consideração, além do número de caracteres da consideração, além do número de caracteres da string, o caracter nulo que termina a string.string, o caracter nulo que termina a string.
StringsStringsStringsStrings
Strings :: Strings :: LeituraLeitura a através do teclado a através do tecladoStrings :: Strings :: LeituraLeitura a através do teclado a através do teclado
Função Função gets()gets()
Lê string até o Lê string até o primeiro enterprimeiro enter
Função Função scanf()scanf()
Lê string até o Lê string até o primeiro espaço em brancoprimeiro espaço em branco
char curso[15] = "Engenharia"; char curso[15] = "Engenharia";
char curso[15];
strcpy(curso,"Engenharia"); // precisa da biblioteca// string.h
char curso[15];
strcpy(curso,"Engenharia"); // precisa da biblioteca// string.h
Strings :: Atribuição de valoresStrings :: Atribuição de valoresStrings :: Atribuição de valoresStrings :: Atribuição de valores
A Linguagem C possui algumas funções especiais A Linguagem C possui algumas funções especiais para análise e manipulação de caracteres.para análise e manipulação de caracteres.
Tais funções estão definidas na biblioteca Tais funções estão definidas na biblioteca ctype.hctype.h
A biblioteca A biblioteca ctype.hctype.h possibilita a possibilita a manipulação de manipulação de caracterescaracteres, não de strings inteiras., não de strings inteiras.
Manipulação de caracteresManipulação de caracteresManipulação de caracteresManipulação de caracteres
Função Função toupper
Converte seu argumento para uma letra Converte seu argumento para uma letra maiúsculamaiúscula::
Função Função tolower
Converte seu argumento para uma letra Converte seu argumento para uma letra minúsculaminúscula::
<var1> = toupper(var2);<var1> = toupper(var2);
<var1> = tolower(var2);<var1> = tolower(var2);
Manipulação de caracteresManipulação de caracteres:: Funções :: Funções tolowertolower e e touppertoupperManipulação de caracteresManipulação de caracteres:: Funções :: Funções tolowertolower e e touppertoupper
FunçãoFunção Testa se seu argumento é umTesta se seu argumento é um
isalnumisalnum caracter caracter alfanuméricoalfanumérico
isalphaisalpha caracter caracter alfabéticoalfabético
isasciiisascii caracter caracter ASCIIASCII (0 a 127) (0 a 127)
iscntrliscntrl caracter de controle (caracter de controle (0-0x1F0-0x1F ou ou 0x7F0x7F))
isgraphisgraph caracter imprimível no monitor (caracter imprimível no monitor (não levanão leva espaço em consideração)espaço em consideração)
isprintisprint caracter imprimível no monitor (caracter imprimível no monitor (levaleva espaço espaço em consideração)em consideração)
Manipulação de caracteres :: Outras Manipulação de caracteres :: Outras funçõesfunçõesManipulação de caracteres :: Outras Manipulação de caracteres :: Outras funçõesfunções
FunçãoFunção Testa se seu argumento é umTesta se seu argumento é um
islowerislower caracter caracter minúsculominúsculo
isupperisupper caracter maiúsculocaracter maiúsculo
ispunctispunct caracter de caracter de pontuaçãopontuação
isspaceisspace caracter de caracter de espaçoespaço, , tabulaçãotabulação
isdigitisdigit caracter numérico (caracter numérico (0-90-9))
isxdigitisxdigit dígito hexadecimal (dígito hexadecimal (0-90-9, , a-fa-f ou ou A-FA-F))
Manipulação de caracteres :: Outras Manipulação de caracteres :: Outras funçõesfunçõesManipulação de caracteres :: Outras Manipulação de caracteres :: Outras funçõesfunções
A Linguagem C possui funções especiais para A Linguagem C possui funções especiais para análise e manipulação de análise e manipulação de stringsstrings..
Tais funções estão definidas na biblioteca Tais funções estão definidas na biblioteca string.hstring.h..
A biblioteca A biblioteca string.hstring.h possibilita a manipulação possibilita a manipulação de strings completas (sem considerar caracter a de strings completas (sem considerar caracter a caracter).caracter).
Manipulação de strings :: Biblioteca Manipulação de strings :: Biblioteca string.hstring.hManipulação de strings :: Biblioteca Manipulação de strings :: Biblioteca string.hstring.h
strcat(str1, str2)strcat(str1, str2)
Concatena str2 ao final de str1Concatena str2 ao final de str1
int tam = strlen(str1);int tam = strlen(str1);
Devolve o tamanho de str1Devolve o tamanho de str1
Manipulação de strings :: Biblioteca Manipulação de strings :: Biblioteca string.hstring.hManipulação de strings :: Biblioteca Manipulação de strings :: Biblioteca string.hstring.h
int valor = strcmp(str1, str2);int valor = strcmp(str1, str2); valor = 0, se str1 e str2 são iguais;valor = 0, se str1 e str2 são iguais;
valor < 0, se str1 < str2;valor < 0, se str1 < str2;
valor > 0, se str1 > str2;valor > 0, se str1 > str2;
int valor = strcmpi(str1, str2);int valor = strcmpi(str1, str2);
Mesmo que Mesmo que strcmpstrcmp, mas não é sensível ao caso, mas não é sensível ao caso
Manipulação de strings :: Biblioteca Manipulação de strings :: Biblioteca string.hstring.hManipulação de strings :: Biblioteca Manipulação de strings :: Biblioteca string.hstring.h
strupr(str)strupr(str)Converte uma string para maiúsculas.Converte uma string para maiúsculas.
strlwr(str)strlwr(str)Converte uma string para minúsculas.Converte uma string para minúsculas.
strrev(str)strrev(str)Inverte o conteúdo de uma string.Inverte o conteúdo de uma string.
strset(str,char)strset(str,char)Substitui todos os caracteres de uma string pelo caracter Substitui todos os caracteres de uma string pelo caracter
especificado.especificado.
Manipulação de stringsManipulação de strings:: Biblioteca :: Biblioteca string.hstring.hManipulação de stringsManipulação de strings:: Biblioteca :: Biblioteca string.hstring.h
A seguintes funções fazem parte da biblioteca A seguintes funções fazem parte da biblioteca stdlib.hstdlib.h
FunçãoFunção ConverteConverte
atoi(atoi(<str><str>)) String em intString em int
atof(atof(<str><str>)) String em floatString em float
itoa(itoa(<int><int>)) Int em stringInt em string
Manipulação de strings: Conversão para Manipulação de strings: Conversão para númerosnúmerosManipulação de strings: Conversão para Manipulação de strings: Conversão para númerosnúmeros
Faça um programa que leia e imprima uma Faça um programa que leia e imprima uma matriz quadrada de dimensão matriz quadrada de dimensão N.N.
Matrizes na Linguagem C :: ProblemaMatrizes na Linguagem C :: ProblemaMatrizes na Linguagem C :: ProblemaMatrizes na Linguagem C :: Problema
QuestõesQuestõesQuestõesQuestões