A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

PROGRAMAÇÃO ou LINGUAGEM C? Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.

Apresentações semelhantes


Apresentação em tema: "PROGRAMAÇÃO ou LINGUAGEM C? Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo."— Transcrição da apresentação:

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 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 Strings –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 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 –Função strcat - Sintaxe: strcat(string1,string2) Exemplo strcat 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 –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 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 –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 –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


Carregar ppt "PROGRAMAÇÃO ou LINGUAGEM C? Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo."

Apresentações semelhantes


Anúncios Google