Carregar apresentação
A apresentação está carregando. Por favor, espere
1
PROGRAMAÇÃO ou LINGUAGEM C?
Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo
2
TÓPICOS 1. Introdução à Linguagem C 2. Operadores e Expressões
3. Estruturas de Controle 4. Entrada e Saída 5. Matrizes e strings 6. Funções 7. Ponteiros 8. Estruturas e Uniões 9. Arquivos Texto 10. Arquivos Binários
3
Matrizes unidimensionais
Matrizes e Strings O que são Matrizes: conjunto de variáveis de mesmo tipo, referenciadas pelo mesmo nome. Em C, matrizes são locações contíguas de memória. Podem ter uma ou mais dimensões. Strings: conjunto de caracteres. Em C, não há o tipo string, então são usadas matrizes de caracteres Matrizes unidimensionais Sintaxe: tipo nome_var [tamanho]; Em C, todas as matrizes usam zero como índice do primeiro elemento
4
Exemplo programa matriz simples
main() { int x[10]; /* reserva 10 espaços de memória */ int t; for (t=0;t<0;++t) x[t]=t; } Cálculo do tamanho de uma matriz total_em_bytes = sizeof(tipo)*comprimento Matrizes permitem lidar com muitas variáveis relacionadas
5
Exemplo trabalho com várias variáveis - média de dez
main() { int amostra[10], i, med; for (i=0;i<0;i++) { printf(“digite numero %d: “,i); scanf (“%d”,&amostra[i]); } med=0; for (i=0;i<10;i++)med=med+amostra[i]; printf (“A media e %d\n”,med/10); Verificação de limites: C não faz verificação de limites. Por que? Veja a loucura!
6
Exemplo atribuindo valores além do limite da matriz
main() { int erro[10], i; for (i=0;i<100;i++) erro[i]=1; } Matrizes são listas Exemplo matrizes são listas main() { int i; for (i=0;i<7;i++) ch[i]=‘A’ + i; } ch[0] ch[1] ch[2] ch[3] ch[4] ch[5] ch[6] A B C D E F G E daí ?
7
Lendo strings pelo teclado
Uso comum das matrizes unidimensionais Em C, uma string pode ser entendida como uma matriz de caracteres terminada em zero O zero é ‘/0’ Em uma constante de strings não é preciso se preocupar com o zero. Ex.: “Linguagem”. Como fica “Vou embora” internamente? Lendo strings pelo teclado Forma usual de ler uma string: função gets(). Sintaxe: gets (nome_matriz)
8
Exemplo lendo a string Exemplo strcpy main() { char str[80];
printf(“Digite seu nome:/n”); gets (str); printf(“Ola, %s!”,str); } Funções de String: strcpy(), strcat(), strcmp(), strlen() Função strcpy - Sintaxe: strcpy(destino,origem) Exemplo strcpy main() { char str[80]; strcpy(str,”vou embora”) } E se a string for maior do que a variável?
9
Exemplo strcat Função strcat - Sintaxe: strcat(string1,string2) main()
{ char primeiro[20], segundo[10]; strcpy(primeiro,”estou indo“); strccpy(segundo,”embora”); strcat(primeiro,segundo); printf(“Agora %s.”,primeiro); } Função strcmp - Sintaxe:strcmp(string1,string2) Retorna 0 se as strings são iguais um número positivo se a string1 for maior do que a string2 e um número negativo se string1 for menor do que a string2
10
Exemplo strcmp - senha senha() { char s[80];
printf (“digite a senha: “); gets(s); if (strcmp(s,”vou embora”)) { printf (“senha inválida\n”); return 0; } return 1; Se quiser que algo ocorra o que fazer? main() { char s[80]; for (;;) { printf(“: “); gets(s); if (!strcmp(“sair”,s)) break; }
11
Exemplo imprimir de trás pra frente
Função strlen - Sintaxe: strlen(string). Retorna comprimento. Exemplo strcat main() { char str[80]; printf(“digite um nome: “); gets(str); printf(“%d”,strlen(str)); } Exemplo imprimir de trás pra frente main() { char str[80]; int i; gets (str); for (i=strlen(str)-1;i>=0;i--) printf (“%c”,str[i]); }
12
Exemplo terminador zero string em maiúsculas
Exemplo todas main() { char s1[80], s2[80]; gets (s1); gets (s2); printf(“comprimentos:%d e %d\n”,strlen(s1),strlen(s2)); if (!strcmp(s1,s2)) printf(“as strings são iguais\n”); strcat(s1,s2); printf (“%s\n”,s1); } O terminador zero pode ter uso interessante!! Exemplo terminador zero string em maiúsculas main() { char str[80]; int i; strcpy(str,”estou indo embora”); for (i=0;str[i];i++) str[i]=toupper(str[i]); printf(“%s”,str); }
13
Exemplo outro modo de ver o printf
Variações de printf() Formato básico: printf(“%s”,nome_matriz) Posso usar apenas printf(nome_matriz)? Exemplo outro modo de ver o printf main() { char str[80]; strcpy(str,”Lafayette”); printf (str); } Matrizes bidimensionais Forma mais simples da matriz multidimensional Exemplo de declaração: int bidm[10][20]
14
Exemplo matrizes bidimensionais
main() { int t, i; num[3][4]; for (t=0;t<3;++t) for(i=0;i<4;++i) num[t][i]=(t*4) + i +1; } Cálculo do tamanho de uma matriz bytes = linhas*colunas*sizeof(tipo) Matrizes de strings - uso comum. Para criar uma matriz de strings, é utilizada uma matriz bidimensional de caracteres. Índice esquerdo = número de strings Índice direito = comprimento máximo de cada string
15
Exemplo matriz de string
Acesso a uma matriz particular Exemplo: gets (matriz_str[2]) = gets (&matriz_str[2][0]); Exemplo matriz de string main() { register int t, i, j; char texto[100][80]; for (t=0;t<100;t++){ printf (“%d: “,t); gets(texto[t]); if (!*texto[t]) break; } for (i=0;i<t;i++) printf (“%s\n”,texto[i]);
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.