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 3. Estruturas de controle
Os comandos de controle de fluxo são utilizados para definir o fluxo de execução do programa e podem ser agrupados em comandos de laço e de decisão Veremos então: Comandos de decisão If e if – else switch Comandos de laço for while do-while goto

4 3. Estruturas de controle
IF e IF-ELSE Apenas um dos comandos, o associado ao if ou o associado ao else será executado. Exemplo: // Programa com if - número mágico main() { int magico,adivinha; randomize(); magico = random (100); printf (“Adivinhe o numero!”); scanf (“%d”,&adivinha); if (adivinha == magico) printf (“Ok, voce acertou!”); else printf (“Voce errou!!”); }

5 3. Estruturas de controle
Sintaxe If (condição) comando; else comando; IF aninhado: if objeto de um else ou de outro if. Exemplo: if (x) if (x) { if (y) printf (“ola!”); if (y) printf (“ola”); else printf (“oi!”); } else printf (“oi”!); Escada if-else-if: if (condição) comando; else if (condição) else if (condição) ...

6 3. Estruturas de controle
DO-WHILE - repete algo enquanto uma condição ocorre. Sintaxe: do { comando; } while (condição); Exemplo simples main() { int num; do { scanf (“%d”,&num); } while (num < 100); O do-while é muito usado para rotina seleção de menu!!!

7 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

8 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

9 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!

10 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í ?

11 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)

12 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?

13 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

14 Exemplo strcmp - senha senha() { char s[80];
printf (“digite a senha: “); gets(s); if (strcmp(s,”hora de dar tchau”)) { 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; }

15 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]); }

16 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,”hora de dar tchau”); for (i=0;str[i];i++) str[i]=toupper(str[i]); printf(“%s”,str); }

17 Exemplo outro modo dever o printf
Variações de printf() Formato básico: printf(“%s”,nome_matriz) Posso usar apenas printf(nome_matriz)? Exemplo outro modo dever 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]

18 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

19 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