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

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

PROGRAMAÇÃO ou LINGUAGEM C?

Apresentações semelhantes


Apresentação em tema: "PROGRAMAÇÃO ou LINGUAGEM C?"— 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 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]);


Carregar ppt "PROGRAMAÇÃO ou LINGUAGEM C?"

Apresentações semelhantes


Anúncios Google