1 / 15

PROGRAMAÇÃO ou LINGUAGEM C?

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

sunila
Télécharger la présentation

PROGRAMAÇÃO ou LINGUAGEM C?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PROGRAMAÇÃO ou LINGUAGEM C? Centro Federal de Educação Tecnológica da ParaíbaCoordenação de InformáticaProfessor: 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: tiponome_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<t;i++) printf (“%s\n”,texto[i]); }

More Related