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

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

Linguagem C1 LINGUAGEM DE PROGRAMAÇÃO I “C” Prof. : Marcelo Mendes Portal do aluno MRM Sistemas des.

Apresentações semelhantes


Apresentação em tema: "Linguagem C1 LINGUAGEM DE PROGRAMAÇÃO I “C” Prof. : Marcelo Mendes Portal do aluno MRM Sistemas des."— Transcrição da apresentação:

1 Linguagem C1 LINGUAGEM DE PROGRAMAÇÃO I “C” Prof. : Marcelo Mendes Portal do aluno MRM Sistemas des

2 Linguagem C2 CARGA HORÁRIA 80 horas Período: 15/08/2014 a 12/08/2014

3 Linguagem C3 AVALIAÇÕES 22/08/ /09/ /09/2014

4 Linguagem C4 Bibliografia Schildt, H., C Completo e Total, Editora Makron Books do Brasil Editora Ltda, 1997, 827p (livro texto). Evaristo. J., Aprendendo a programar: programando em C, Book Express,2001, 205p Mizrahi, V. V., Treinamento em Linguagem C, Curso Completo, Módulos 1 (241p) e 2 (273p), Makron Books do Brasil Editora Ltda,1990

5 Linguagem C5 Software Dev-C++

6 Linguagem C6 LINGUAGEM “C” 1 - INTRODUÇÃO

7 11/23/2014Linguagem C7 Histórico ·Linguagem C foi inventada e implementada por Brian W. Kernighan Dennis Ritchie em um DEC-PDP 11 sobre o S.O. Unix na década de 1970; ·Predecessor Linguagem B, de Ken Thompson, que tinha forte influencia da linguagem BCPL, de Martin Richards; ·Inicialmente C era fornecida junto com o S.O. Unix, versão 5;

8 11/23/2014Linguagem C8 Histórico Com os microcomputadores apareceram grande número de implementações de C o que gerava discrepâncias; Em 1983 o ANSI (American National Standards Institute) estabeleceu um padrão;

9 11/23/2014Linguagem C9 Características Básicas Linguagem de Nível Médio, pois combina elementos de linguagens de alto nível (Basic, Pascal) com a funcionalidade da linguagem assembler ( instruções de máquinas) Permite manipulação de bits, bytes e endereços; Linguagem Portável (Portabilidade);

10 11/23/2014Linguagem C10 Características Básicas As primeiras implementações de C não consistiam parâmetros e argumentos, já o padrão ANSI introduziu o conceito de protótipos de funções; Possui 32 palavras chaves (27 originais de seus criadores e 5 do comitê ANSI) ( Obs.: Basic possui mais de 100); C é estruturada, apesar de não permitir a criação de funções dentro de funções;

11 11/23/2014Linguagem C11 Características Básicas Principal componente estrutural de C é a função (blocos de construção); Tem o conceito de bloco de código ou bloco de instruções, que é um grupo de comandos de programa conectado logicamente e tratado como uma unidade; if (a < b) { printf(“valor de A é menor que B”); scanf (“%d”,&numero); }

12 11/23/2014Linguagem C12 Características Básicas C é uma linguagem para programadores, dá ao programador o que ele quer: poucas restrições, poucas reclamações, estruturas de blocos,funções isoladas e um conjunto de palavras chaves ; Inicialmente C foi usada para S.O, compiladores, interpretadores, planilhas, SGBD, hoje é usada na construção de sistemas comerciais, sistemas de controle, etc. (portabilidade, código compacto e rápido); Atualmente em grande crescimento devido ascensão do S.O Linux;

13 11/23/2014Linguagem C13 Compiladores e Interpretadores Qualquer linguagem de programação pode ser compilada ou interpretada; Compiladores e interpretadores são programas que operam sobre o código-fonte; Interpretador lê o código-fonte linha por linha e executa-a; Compilador lê todo o código-fonte e converte-o para código-objeto;

14 11/23/2014Linguagem C14 Compiladores e Interpretadores Código-objeto não é executável, precisa ser utilizado um linkeditor para torná-lo executável; Programas C são criados por intermédio da linkedição de um ou mais códigos-objetos com uma ou mais bibliotecas; Uma biblioteca é um conjunto de códigos- linkeditáveis criados, fornecidos com os compiladores ou adquiridos;

15 11/23/2014Linguagem C15 Compiladores e Interpretadores Ciclo de desenvolvimento Início Editar código fonte Compilar Erros de compilação? Linkeditar Erros de linkedição? Executar programa Erros de tempo de Execução? Fim Não Sim

16 11/23/2014Linguagem C16 Estrutura de um Programa C Declarações globais tipo de retorno main (lista de parâmetros) { comandos; } tipo de retorno função1 (lista de parâmetros) { comandos; } tipo de retorno função2 (lista de parâmetros) { comandos; }

17 11/23/2014Linguagem C17 Ponto e vírgula, Chaves e Comentários Ponto e vírgula: –Todos os comandos em C terminam obrigatoriamente com “;”. Chaves (Blocos de Comando) –utilizadas para definir um bloco de comando, que são grupos de comandos relacionados que são tratados como uma unidade e estão logicamente conectados. Um bloco começa com uma { e termina com uma }

18 11/23/2014Linguagem C18 Ponto e vírgula, Chaves e Comentários –Um bloco de comando pode ser colocado em qualquer lugar onde seja possível a inserção de um comando. –Ex.: –#include –int main() –{ – int total, a,b; – printf ("Digite um numero: "); – scanf("%d",&a); – printf ("Digite outro numero: "); – scanf("%d",&b); – printf ("Os numeros digitados foram %d %d",a,b); – getch(); //segura tela – return 0; –}

19 11/23/2014Linguagem C19 Ponto e vírgula, Chaves e Comentários Comentários: –Começa com o par de caracteres /* e termina com */. Em C++ e alguns compiladores //; –Tudo é ignorado entre os símbolos de comentários; –Uma palavra chave não pode conter comentários; –Ex.: /* x = x+1 ; printf (“ %d\n”,x); */ soma_total + = valorMensal + /* valor mensal das despesas */ acumuladoAnterior;

20 11/23/2014Linguagem C20 Palavras Chaves autodoubleintstruct breakelselongswitch case enum*register typedef charexternreturnunion const *floatshort unsigned continueforsigned *void * defaultgoto!!Sizeof volatile* doifstaticwhile * ANSI

21 11/23/2014Linguagem C21 Mapa de Memória em C Pilha Heap Variáveis Globais Código do Programa

22 11/23/2014Linguagem C22 Mapa de memória em C Pilha = usada para guardar o endereço de retorno das chamadas de função, argumentos para funções e variáveis locais e estado atual da CPU; Heap = região de memória livre a ser usada pelo programa via funções de alocação dinâmica (Ex.: listas encadeadas e árvores)

23 11/23/2014Linguagem C23 C e C++ C++ é uma versão estendida e melhorada de C, projetada para suportar programação orientada a objetos (OOP - Oriented Object Programming); C++ é um superconjunto de C; Compiladores C++ também são compiladores C padrão ANSI completo;

24 11/23/2014Linguagem C24 Tipos de Dados Tipos Básicos de Dados Tipo Tamanho em bits Faixa char8 0 a 255 int 16(depende) a float E-38 a 3.4E38 seis dígitos de precisão double E-308 a 1.7E308 dez dígitos de precisão void0sem valor

25 11/23/2014Linguagem C25 Tipos de Dados Modificadores de tipo –signed –unsigned –long –short Ex.: long int 32(bits) faixa ( a ) unsigned char 8 (bits) faixa de 0 a 255

26 11/23/2014Linguagem C26 Tipos de Dados Os modificadores signed, unsigned, short e long podem ser aplicados aos tipos básicos char e int; long pode ser aplicado a double (long float tem o mesmo significado que double); Signed com int é redundante; unsigned com ponto flutuante pode ser permitido mas reduz portabilidade;

27 11/23/2014Linguagem C27 Identificadores Identificadores = nomes de variáveis, funções e outros objetos definidos pelos usuários (não usar caracteres especiais); Primeiro caractere deve ser letra ou um underscore e o restante pode ser letras, números ou undersocores; Correto = xyz, soma_de_tudo Incorreto = 1x, ju!lio

28 11/23/2014Linguagem C28 Identificadores Em C, letras maiúsculas e minúsculas são diferentes; Identificador não pode ser uma palavra chave de C; Os identificadores devem ser auto explicativos; Sugestão = somaTotalMensal, indicadorDeRepeticao ou soma_total_mensal e indicador_de_repeticao

29 11/23/2014Linguagem C29 Variáveis Posição nomeada de memória, que é usada para guardar um valor que pode ser modificado pelo programa. Todas as variáveis em C devem ser declaradas antes de serem usadas. Forma geral de declaração: –tipo lista_de_variáveis; –onde tipo = qualquer tipo válido mais qualquer modificador

30 11/23/2014Linguagem C30 Variáveis –Lista_de_variáveis = um ou mais nomes de identificadores separados por vírgulas. –O nome da variável não tem nenhuma relação com o seu tipo. Ex.: –short int controlador, id_processo_1; –unsigned int total_funcionarios; –double balanco_anual;

31 11/23/2014Linguagem C31 Variáveis Onde declarar: –interna as funções ou blocos(variáveis locais); –parâmetros de funções (parâmetros formais); –fora de todas as funções (variáveis globais). Variáveis Locais (auto - redundante): –Só podem ser referenciadas dentro das funções ou blocos onde foram declaradas; –Só existem enquanto o bloco de código onde estão está sendo executado (armazenadas na pilha);

32 11/23/2014Linguagem C32 Variáveis int calculaQuadrado (void) { int valor; scanf(“%d”, &valor); return (valor*valor); } int calculaCubo (void) { int valor; scanf(“%d”, &valor); return (valor*valor*valor); }

33 11/23/2014Linguagem C33 Variáveis –As variáveis locais podem ser declaradas dentro de qualquer bloco e não apenas no início das funções. void CalculaMediaDoisNumeros (void) { int primeiroValor, segundoValor; printf(“entre como primeiro número = “); scanf(“%d”, &primeiroValor); printf (“entre com segundo valor = “); scanf (“%d”,&segundoValor); if (primeiroValor > egundoValor) { int media; /* só é valida dentro do bloco */ media = (primeiroValor+segundoValor)/2; printf (“media = %d \n”, media); }

34 11/23/2014Linguagem C34 Variáveis Parâmetros Formais: – São variáveis que recebem os valores dos argumentos das funções e devem ser do mesmo tipo; –Se comportam como qualquer outra variável local dentro da função; int ImprimeQuadrado( int valor) { int numeroPontos; for (numeroPontos=0; numeroPontos <10; numeroPontos++) printf(“.”); printf(“ O quadrado de (%d) é (%d)\n”, valor, valor *valor); return valor*valor;}

35 11/23/2014Linguagem C35 Variáveis Variáveis Globais – não usar( guardadas em área específica memória): –São reconhecidas dentro do contexto em que estão declaradas; –São declaradas fora das funções; int contador,x; /* declaração de variável global */ int main (void) { contador = 50; x=50; ImprimePontos(); printf (“ Contador (%d) \n”, contador); /* imprime o valor 50 */ getch(); return 0; } int ImprimePontos(void) { for (contador =0; contador < 100; contador ++) printf( “%d”,x+contador); }

36 11/23/2014Linguagem C36 Variáveis Const –Não podem ser modificadas pelo programa só podem receber um valor inicial; const int contador = 100; –Pode ser usado também para proteger os valores passados como parâmetros de uma função; int Produto (const int a, const int b) { a += b; /* não pode ser efetuada - erro de sintaxe */ return (a*b); } –Muitas funções da biblioteca C padrão usam const em suas declarações de parâmetros, por exemplo : – size_t strlen (const char *str)

37 11/23/2014Linguagem C37 Diretiva include Instrui ao compilador a ler outro arquivo a ser adicionado aquele que contém a diretiva; Nome do arquivo deve estar entre aspas ( procura-o inicialmente no diretório atual ) ou entre símbolos de menor ou igual ( procura-o no padrão do compilador - diretórios de include ); #include “meuProjeto.hpp” #include Recomendação : –Aspas para incluir arquivos do projeto; –Chaves angulares para incluir os arquivos de cabeçalho padrão;

38 11/23/2014Linguagem C38 Função main() – Deve existir em algum lugar do programa e marca o ponto de início de execução do mesmo; #include #include // implementga getch no devC++ int main (void) { printf( “hello este é o meu primeiro programa\n”); getch(); return 0; }

39 11/23/2014Linguagem C39 Função printf() É uma função que imprime um determinado conteúdo na tela; Forma geral –int printf (“string de controle”, lista de argumentos); –string de controle - contém caracteres que serão exibidos na tela e comandos de formatação; –lista de argumentos - contém os valores a serem formatados; Deve haver o mesmo número de argumentos e de comandos de formato ( ordem: esquerda->direita )

40 11/23/2014Linguagem C40 Função printf() Códigos Especiais: \nnova linha \rretorno do cursor \ttabulador \”aspas \\barra

41 11/23/2014Linguagem C41 Função printf() Códigos de impressão formatada %cCaractere %d, %iInteiros com sinal %eNotação científica (e minúsculo) %ENotação científica (E maiúsculo) %fPonto flutuante %gusa %e ou %f, que for mais curto %Gusa %E ou %f, que for mais curto

42 11/23/2014Linguagem C42 Função printf() Códigos de impressão formatada %oOctal %sString %uInteiros sem sinal %xHexadecimal (letras minúsculas) %XHexadecimal (letras maiúsculas) %Escreve o símbolo

43 11/23/2014Linguagem C43 Função printf() #include #include // implementa getch no devC++ int main (void) { int i; for (i=0; i<80;i+=10) printf(“ %d”,i); ======> printf(“ valor de float(%f) \n”, ); ===> valor de float( ) printf(“string (%s)\n”, “teste de impressão”);===> string( teste de impressão) getch(); return 0; }

44 11/23/2014Linguagem C44 Função printf() Largura mínima de campo –Número colocado entre o símbolo % e o código de formato; –0 antes do especificador de largura mínima coloca 0s a esquerda; –Usado para produzir tabelas; double soma; soma = ; printf(“%f\n”, soma); ===> printf(“%8f\n”, soma); ====> printf(“%012f\n”, soma); ====>

45 11/23/2014Linguagem C45 Função printf() Especificador de precisão –Segue o especificador de largura mínima se houver; –Consiste em um ponto (.) seguido de um número; –Ponto flutuante - especifica o número de casas decimais; – %g ou %G - especifica a quantidade de dígitos significativos;

46 11/23/2014Linguagem C46 Função printf() –String - determina o comprimento máximo do campo; –Inteiros - identifica o número de dígitos dos números, sendo adicionado zeros para completar; printf (“%.4f\n”, ); ==> printf(“%5.9s\n”,”hello, como vai”); ===> hello com

47 11/23/2014Linguagem C47 Função printf() Justificação –As saídas são justificadas a direita, para justificar a esquerda colocar o sinal menos após o %; printf(“%-10.2f\n”, ); ===> printf(“%10.2d\n”, ); ====> Manipulação outros tipos de dados –l - tipo de dado long ( Ex. %ld, %lf); –h - tipo de dado short (Ex. %hu);

48 11/23/2014Linguagem C48 Função scanf() Rotina de entrada pela console; Próximo do inverso da printf –int scanf(“string de controle”, lista de argumentos); –string de controle - determina como os valores serão lidos; –lista de argumentos - argumentos a serem lidos (passar endereços);

49 11/23/2014Linguagem C49 Função scanf() Especificadores de formato %clê caracter %dlê inteiro %e, %flê ponto flutuante %olê octal %slê string %xlê hexadecimal %glê ponto flutuante %u lê inteiro sem sinal

50 11/23/2014Linguagem C50 Função scanf() #include #include // implementa getch no devC++ int main (void) { int i, j; unsigned soma; scanf (“%d%d”, &i,&j); scanf (“%u”, &soma); }

51 11/23/2014Linguagem C51 Função clrscr() Esta função efetua a limpeza de toda a tela (ou janela). Esta limpeza consiste em apagar todos os símbolos (ou caracteres) que estavam sendo apresentados em um momento anterior. Com a limpeza de toda a tela o cursor fica posicionado na primeira posição dela, ou seja, no canto superior esquerdo.

52 11/23/2014Linguagem C52 Função clrscr() Exemplo: #include // implementa clrscr no devC++ #include int main (void) { float salario; printf(“ Digite o salario do funcionario: “); scanf(“%f “,&salario); clrscr( ); printf(“O salario lido e = %.2f ”, salario); getch(); return 0; }

53 11/23/2014Linguagem C53 Função gotoxy() A execução de um programa elaborado no compilador C abre uma nova janela que possui um tamanho padrão de 24 linhas, por 80 colunas. Informe sua idade 25 Sua fase é adulta Linhas (1 => 24) Colunas (1 => 80)

54 11/23/2014Linguagem C54 Função gotoxy() Esta função possibilita o posicionamento exato do cursor na execução de qualquer programa em C. gotoxy(, ); Exemplo: #include // implementa gotoxy no devC++ #include : gotoxy(24,11); /* posiciona cursor coluna 24 linha 11 */ printf("Aula de Laboratorio deProgramacao");


Carregar ppt "Linguagem C1 LINGUAGEM DE PROGRAMAÇÃO I “C” Prof. : Marcelo Mendes Portal do aluno MRM Sistemas des."

Apresentações semelhantes


Anúncios Google