PROGRAMAÇÃO ou LINGUAGEM C?

Slides:



Advertisements
Apresentações semelhantes
Funções em C Prof. Fabiano Utiyama.
Advertisements

Técnicas de Programação II Revisão TP1 Parte2
C/C++ para Sistemas Operacionais Professor: André Luis Meneses Silva /msn: Página:
Um programa em C Bibliotecas Variáveis globais
V Procedimentos – são estruturas que agrupam um conjunto de comandos, que são executados quando o procedimento é chamado. v Funções – são procedimentos.
Funções em C.
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
LABORATÓRIO DE PROGRAMAÇÃO
Algoritmos e Programação Linguagens de Programação Teoria Aula (09/06)
Introdução à Programação
LINGUAGEM C.
Tópicos Preliminares na Linguagem C
UDESC - Prof. Juliano Maia1 Funções. UDESC - Prof. Juliano Maia2 Índice Seção 1 – Funções em C Seção 2 – Iniciação Ponteiros Seção 3 – Recursão.
Funções em C Universidade do Estado de Santa Catarina
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Universidade Federal do Espírito Santo
Universidade Federal do Espírito Santo
Curso de Programação em C++
Curso de Programação em C++
Lafayette Batista Melo Jefferson Milanês Ferreira
PROGRAMAÇÃO ou LINGUAGEM C?
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
Ponteiros em Linguagem C
Linguagem C.
Linguagem C Estruturas de Seleção.
Ling. e Técnicas de Programação I 3º semestre Plano de Ensino 2011
Iniciação à linguagem C++
APRESENTAÇÃO: DAVID ANDERSON CARDOSO DANTAS CURSO DE C AULA 04: Funções Maceió, Maio de 2010.
Introdução a Computação e Cálculo Numérico
Introdução a Computação e Cálculo Numérico
Introdução a Computação e Cálculo Numérico
Curso de Nivelamento LCG
1 Ponteiros Ponteiros são variáveis que guardam localizações em memória. A declaração de uma variável ponteiro x para um dado tipo type é type *x; Essa.
Ordenação e Pesquisa de Dados Marco Antonio Montebello Júnior
Construção de Algoritmos AULA 03
Programação Estruturada
Linguagem C++ - Introdução
Programação II Estruturas de Dados Aula 02 - continuação
PROGRAMAÇÃO ou LINGUAGEM C?
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
Desenvolvimento de Jogos e Entretenimento Digital
UNIDADE 5 ESTRUTURAS DE DADOS HOMOGÊNEAS
Prof. Ricardo Santos PONTEIROS
Introdução à linguagem C
Programação em C++ Compiladores
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Arquivo.
Técnicas de Desenvolvimento de Programas
Estruturas de Dados Aula 2: Estruturas Estáticas 07/04/2014.
Modularização Dividir um problema em subproblemas Módulos menores facilita a depuração Dividir o desenvolvimento entre vários programadores “Reutilização”
PROGRAMAÇÃO ou LINGUAGEM C?
Declarando e Chamando Funções
Algumas notas sobre a linguagem de programação C
Algoritmos e Estrutura de Dados I Jean Carlo Mendes
Linguagens de Programação
 São utilizadas para dividir um código maior (mais complexo) em partes menores (mais simples).  Quando uma mesma tarefa é realizada várias vezes em um.
Aula Prática 3 Funções Monitoria Introdução à Programação.
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
DSC/CCT/UFCG Carga Horária: 60 h Profs.: José Eustáquio Rangel de Queiroz Roberto Medeiros de Faria Ulrich Schiel José Eustáquio Rangel.
Algoritmo e Estrutura de Dados I Introdução à Linguagem C Márcia Marra.
Profa. Maria Augusta Constante Puget
Linguagem de Programação II Apresentação
11 Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
Linguagem de Programação
Programação II Arquivos Autoria: Ernani Santos Modificação: Clebson Oliveira Adaptação: Claudia Boeres.
FUNÇÕES Dilvan Moreira (baseado em material de Z. Liang)
Fundamentos de Programação 1 Slides 18 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Arquivos Seqüências ou de Texto ”. 1.
Transcrição da apresentação:

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 7. Ponteiros 8. Estruturas e Uniões 9. Arquivos Texto 10. Arquivos Binários

Funções em detalhes Funções são blocos de construção nos quais ocorrem todas as atividades dos programas As funções em maiores detalhes possuem formas de modificar argumentos, regras de escopo, tempo de vida de variáveis, recursividade e especificidades da função main Sintaxe: especificador_tipo nome_função(lista_parâmetros) declarações de parâmetros { corpo }

Uma função simples main() { linha(); printf("\xDB UM PROGRAMA EM C \xDB\n"); getche(); } linha() int j; for(j=1;j<=20;j++) printf("\xDB"); printf("\n"); A chamada é encerrada por “;”, mas a declaração não

Variáveis locais: declaradas dentro de uma função ou de um bloco (existem durante a execução desse bloco de código) Uso de variáveis locais func1() func2() { { int x; int x; x = 10; x = -199; } } Mais uso de variáveis locais f() { char ch; printf (“continua (s/n)? :”); ch = getche(); if (ch == ‘s’) { char s[80]; printf (“digite nome:”); gets(s); }

Funções que retornam um valor – são a maioria e têm padrão o inteiro minusculo() { char ch; ch = getche(); if (ch >= 'A' && ch <= 'Z') ch+='a'-'A'; return(ch); } main() { char ch; printf("digite 'a' e depois 'b': "); ch=minusculo(); switch(ch) { case 'a': printf("\n vc pressionou 'a'."); break; case 'b': printf("\n vc pressionou 'b'" ); default: printf("\n vc escolheu algo desconhecido."); }

Comando return: faz com que haja uma saída da função e devolve valores A função retorna com chave (}) e com return. Usos: Devolver valor e retornar para a próxima instrução Causar uma saída imediata da função Só retorna um valor a cada chamada Exemplos de uso de return potência(base, exp) int base, exp; { int t; if (exp<0) return; i = 1; for(;exp;exp--) i = base * i; printf (“a resposta é: %d: “,i); }

C usa argumentos e passagem por valores Exemplo passando constante main() { printf (“%d %d %d\n”, abs(0),abs(-3),abs(10)); } abs(x) int x; return((x < 0?-x:x); Exemplo passando argumentos int enpontos; while (1) { printf(“(0 para terminar) pontos = “); scanf(“%d”&enpontos); if (!enpontos) break; else bar(enpontos); bar(pontos) int pontos; { int j; for (j=1;j<=pontos;j++) printf(“\xCD”); printf(“\n”); }

Tipos de valores devolvidos: Erro de uso de função swap (x,y) = 100; Tipos de valores devolvidos: Valores computacionais - devolve valores com base em uma operação. Ex.: sqrt() e sin() Valores que indicam sucesso na operação. Ex: fwrite() Valores não explícitos. Ex.: printf() Valores podem não ser atribuídos: Exemplo de valores não atribuídos mul (a,b)---------> no main: z = mul(x,y) int a, b; printf(“%d”,mul(x,y)); { mul(x,y) return a*b; } Regras de escopo: em c cada função é um bloco de código discreto. As variáveis podem ser locais, globais e parâmetros formais

Parâmetros formais: variáveis que assumem valores dos argumentos Exemplo de uso de parâmetros formais esta_em(s,c)-------> alternativo esta_em(char*s, char c) char *s; char c; { while (*s) if (*s == c) return 1; else s++; return 0; } Variáveis globais: conhecidas em todo o programa e declaradas fora de qualquer função mesmo que não seja antes do main.

Variáveis globais int cont; main() { cont = 100; func1(); } func1() int temp; temp = cont; func2(); printf(“%d”,cont); func2() for (cont=1;cont<10;cont++) printf(“.”);

Razões de se evitar as variáveis globais: ocupam espaço de memória pouca generalização programação de erros alteração acidental Vantagem das variáveis globais: uso dos mesmos dados em várias funções no programa Ex. geral Ex. local mul(x,y) int x, y; int x, y; mul() { { return(x*y); return(x*y); } }

Argumentos de funções: parâmetros formais dos mesmos tipos dos argumentos, podem ser feitas atribuições aos parâmetros formais ou pode ser usada dentro de uma função, são usadas como outra variável local chamada por valor e por referência - em c é feita por valor chamada por referência - é simulada Exemplos main() troca(x,y){ { int t = 10; int *x, *y; printf (“%d %d”,sqr(t),t); temp = *x; } *x = *y; sqr(x) *y = temp; int x; } { chamada: x = x*x; troca(&x,&y) return (x); }

Exemplo de funções com matrizes chamando funções com matrizes - 3 formas: declarando o ponteiro como matriz Exemplo de funções com matrizes main() { int t[10], I; for(I=0;I<10;++I) t[I]=I; mostre(t); } mostre(num) int num[10]; int I; for (I=0;I<10;I++) printf(“%d “,num[I]); especificar o parâmetro como uma matriz sem tamanho Exemplo de matriz sem tamanho mostre() int num[]; { int I; for (I=0;I<10;I++) printf(“%d “,num[I]);}

Exemplo de matriz com ponteiro especificar o parâmetro como um ponteiro Exemplo de matriz com ponteiro mostre() int *num; { int I; for (I=0;I<10;I++) printf(“%d “,num[I]);} especificar o elemento de uma matriz Exemplo de especificar elemento de uma matriz main() { int t[10], i; for (I=0;I<10;I++) t[I] = I; for (I=0;I<10;I++) mostre(t[I]); } mostre(num) int num; printf(“%d “,num);

Exemplo de uso de argc e argv Argumentos argc e argv: argumentos de linha de comando. Argc e argv são os únicos argumentos aceitos por main. Argc - número de argumentos (int). No mínimo um. Argv - ponteiro para uma matriz de ponteiros para caracteres. Cada elemento na matriz aponta para um argumento da linha de comando Exemplo de uso de argc e argv main(argc,argv) int argc; char *argv[]; { if (argc != 2) { printf(“esqueceu o nome\n”); exit(0); } printf(“alo %s”,argv[1]);

Outro exemplo de uso de argc e argv /* contagem regressiva */ main(argc,argv) int argc; char *argv[]; { int disp, cont; if (argc < 2) { printf(“faltou comprimento. Tente novamente.\n”); exit(0); } if (argc == 3 && !strcmp(argv[2],”display”)) disp = 1; else disp = 0; for(cont=atoi(argv[1]);cont;--cont) if (disp) printf (“%d “,cont); printf(“%c”,7);

Exemplo caracteres individuais da linha de comando Para se ter acesso a um caractere individual em uma das strings de comando acrescenta-se um segundo índice a argv. Exemplo caracteres individuais da linha de comando main(argc,argv) { int argc; char *argv[]; int t, I; for (t=0;t<argc;++t) { I=0; while (argv[t][I]) { printf (“%c”,argv[t][I]); ++I; } printf(“ “);

Exemplo funções não-inteiras Funções que devolvem não inteiros - quando não é o valor default é necessário duas etapas: 1) dar à função um especificador de tipo explicito; 2) identificar o tipo da função antes de chamá-la pela primeira vez Exemplo funções não-inteiras float soma(); main() { float primeiro, segundo; primeiro = 123.13; segundo = 99.09; printf(“%f”,soma(primeiro,segundo)); } float soma(a,b) float a,b; return a+b;

Exemplo protótipo Funções void - padrão do unix (nenhum valor) Protótipos - funções que se pode declarar o número e o tipo de argumentos - para grandes programas ou quando muitos programadores trabalham em um projeto Exemplo protótipo float func(int, float) /* prototipo */ main() { int x, y; x = 10; y =10; func(x,y); /* não coincide tipos */ } float func(x,y) int x; float y; { printf(“%f”,y/(float)x);