Ltpii linguagem c
This presentation is the property of its rightful owner.
Sponsored Links
1 / 60

LTPII - LINGUAGEM “C” PowerPoint PPT Presentation


  • 81 Views
  • Uploaded on
  • Presentation posted in: General

LTPII - LINGUAGEM “C”. Prof. : Jair Alves Barbosa E_mail: [email protected] LINGUAGEM “C”. CONTEÚDO PROGRAMÁTICO. Conteúdo Programático. 1 - Introdução Histórico e Características Básicas Compiladores e Interpretadores Estrutura Básica de um programa “C” Palavras Chaves

Download Presentation

LTPII - 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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Ltpii linguagem c

LTPII - LINGUAGEM “C”

  • Prof. : Jair Alves Barbosa

  • E_mail: [email protected]

Linguagem C


Linguagem c

LINGUAGEM “C”

CONTEÚDO PROGRAMÁTICO

Linguagem C


Conte do program tico

Conteúdo Programático

  • 1 - Introdução

    • Histórico e Características Básicas

    • Compiladores e Interpretadores

    • Estrutura Básica de um programa “C”

    • Palavras Chaves

    • Ponto e vírgula, chaves e Comentários

    • Tipos de Dados ,Identificadores, Constantes e Variáveis

    • Funções : main, printf, scanf e diretiva #include

Linguagem C


Conte do program tico1

Conteúdo Programático

  • 2 - Operadores e Expressões

    • Operadores Aritméticos

    • Operador de Atribuição

    • Operadores relacionais

    • Operadores Lógicos

    • Operadores bit a bit

  • 3 - Funções de entrada e saída de caracteres

    • getch, getche, getchar, putchar, gets e puts

Linguagem C


Conte do program tico2

Conteúdo Programático

  • 4 - Instruções de Seleção (condicional)

    • Comandos if , if-else e if-else-if

    • if aninhados

    • Comandos switch e break

Linguagem C


Conte do program tico3

Conteúdo Programático

  • 5 - Instruções de Repetição (laço)

    • Comando for

    • Comando while e do-while

    • Comandos aninhados

    • Repetições Aninhadas

    • Comando Continue

Linguagem C


Conte do program tico4

Conteúdo Programático

  • 6 - Funções

    • Funções simples e variáveis locais

    • Funções com retorno de valor (comando return)

    • Conceitos Básicos de Ponteiros

    • Argumentos e parâmetros

    • Funções Recursivas

    • Variáveis externas e estáticas

    • Definição de Macros e diretiva #define

Linguagem C


Conte do program tico5

Conteúdo Programático

  • 7 - Estrutura de dados homogênea

    • Matrizes unidimensionais

    • Matrizes bi-dimensionais ou tri-dimensionais

    • Matriz como argumento de funções

    • Strings e funções de manipulação

  • 8 - Estrutura de dados heterogênea

    • Definição

    • Estruturas como argumentos de funções

Linguagem C


Conte do program tico6

Conteúdo Programático

  • 9 - Ponteiros

    • Operadores de ponteiros

    • Expressões com ponteiros

    • Ponteiros e Strings

    • Matrizes de Ponteiros

    • Ponteiros de estruturas

    • Parâmetros como ponteiros

    • Alocação dinâmica

Linguagem C


Conte do program tico7

Conteúdo Programático

  • 10 - Arquivos

    • Sistema de entrada e saída bufferizado

      • Funções fopen(), fputc(), fgetc(), fread(), fwrite(), fclose(), feof(), fseek(),fgets(), fputs(), rewind() e remove()

      • Entrada padrão (stdin), saída padrão (stdout) e erro padrão (stderr)

      • funções fprintf() e fscanf()

Linguagem C


Bibliografia

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

Linguagem C


Linguagem c1

LINGUAGEM “C”

1 - INTRODUÇÃO

Linguagem C


Hist rico

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;

Linguagem C


H st rico

Hístó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;

Linguagem C


Caracter sticas b sicas

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

  • C não efetua nenhuma verificação em tempo de execução (respons. do programador)

Linguagem C


Caracter sticas b sicas1

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;

Linguagem C


Caracter sticas b sicas2

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 inválido de a (%d) menor que b (%d) tente outro\n”,a,b);

    • scanf (“%d”,&a);

    • }

Linguagem C


Caracter sticas b sicas3

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;

Linguagem C


Compiladores e interpretadores

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;

Linguagem C


Compiladores e interpretadores1

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;

Linguagem C


Compiladores e interpretadores ciclo de desenvolvimento

Início

Editar código

fonte

Sim

Erros de

linkedição?

Não

Compilar

Sim

Executar

programa

Erros de

Erros de

compilação?

Sim

tempo de

Execução?

Não

Não

Linkeditar

Fim

Compiladores e InterpretadoresCiclo de desenvolvimento

Linguagem C


Estrutura de um programa c

Estrutura de um Programa C

  • Declarações globais

  • tipo de retorno main (lista de parâmetros)

  • {

  • comandos;

  • }

  • tipo de retorno f1 (lista de parâmetros)

  • {

  • comandos;

  • }

  • ..................

  • tipo de retorno fn(lista de parâmetros)

  • {

  • comandos;

  • }

Linguagem C


Ponto e v rgula chaves e coment rios

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 }

Linguagem C


Ponto e v rgula chaves e coment rios1

Ponto e vírgula, Chaves e Comentários

  • Um bloco de comando pode ser colocado em qualquer lugar onde seja possível a colocação de um comando.

  • Ex.:

    • #include <stdio.h>

    • #include <conio.c> // implementa getch no DevC++

    • int main(void)

    • {

    • int total, a,b;

    • if (a<b)

    • {

    • scanf(“%d”,&total);

    • printf (“%d\n”, total);

    • }

    • getch();

    • return 0;

    • }

Linguagem C


Ponto e v rgula chaves e coment rios2

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;

Linguagem C


Palavras chaves

Palavras Chaves

  • autodoubleintstruct

  • breakelselongswitch

  • case enum*register typedef

  • charexternreturnunion

  • const *floatshort unsigned

  • continueforsigned *void *

  • defaultgoto!!Sizeof volatile*

  • doifstaticwhile

  • * ANSI

Linguagem C


Mapa de mem ria em c

Mapa de Memória em C

Pilha

Heap

Variáveis Globais

Código do Programa

Linguagem C


Mapa de mem ria em c1

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)

Linguagem C


C e c

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;

Linguagem C


Tipos de dados

Tipos de Dados

  • Tipos Básicos de Dados

    • Tipo Tamanho em bits Faixa

    • char8 0 a 255

    • int 16(depende)-32768 a 32767

    • float32 -3.4E-38 a 3.4E38

      • seis dígitos de precisão

  • double64 -1.7E-308 a 1.7E308 dez dígitos de precisão

  • void0sem valor

  • Linguagem C


    Tipos de dados1

    Tipos de Dados

    • Modificadores de tipo

      • signed

      • unsigned

      • long

      • short

    • Ex.: long int 32(bits) faixa ( -2.147.483.648 a 2.147.483.647)

      • unsigned char 8 (bits) faixa de 0 a 255

    Linguagem C


    Tipos de dados2

    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;

    Linguagem C


    Identificadores

    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

    Linguagem C


    Identificadores1

    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

    Linguagem C


    Vari veis

    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

    Linguagem C


    Vari veis1

    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;

  • Linguagem C


    Vari veis2

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

    Linguagem C


    Vari veis3

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

    • }

    Linguagem C


    Vari veis4

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

    • }

    • }

    Linguagem C


    Vari veis5

    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;}

    Linguagem C


    Vari veis6

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

    Linguagem C


    Vari veis7

    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 (constchar *str)

    Linguagem C


    Diretiva include

    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 <stdio.h>

    • Recomendação :

      • Aspas para incluir arquivos do projeto;

      • Chaves angulares para incluir os arquivos de cabeçalho padrão;

    Linguagem C


    Fun o main

    Função main()

    • Função main()

      • Deve existir em algum lugar do programa e marca o ponto de início de execução do mesmo;

      • #include <stdio.h>

      • #include <conio.c> // implementga getch no devC++

      • int main (void)

      • {

      • printf( “hello este é o meu primeiro programa\n”);

      • getch();

      • return 0;

      • }

    Linguagem C


    Fun o printf

    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)

    Linguagem C


    Fun o printf1

    Função printf()

    • Códigos Especiais:

      • \nnova linha

      • \rretorno do cursor

      • \ttabulador

      • \”aspas

      • \\barra

    Linguagem C


    Fun o printf2

    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

    Linguagem C


    Fun o printf3

    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

    Linguagem C


    Fun o printf4

    Função printf()

    • #include <stdio.h>

    • #include <conio.c> // implementa getch no devC++

    • int main (void)

    • {

      • int i;

      • for (i=0; i<80;i+=10)

        • printf(“ %d”,i); ======> 0 10 20 30 40 50 60 70

      • printf(“ valor de float(%f) \n”, 123.4567); ===> valor de float(123.4567)

    • printf(“string (%s)\n”, “teste de impressão”);===> string( teste de impressão)

    • getch();

    • return 0;

    • }

    Linguagem C


    Fun o printf5

    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 = 1234.56;

      • printf(“%f\n”, soma); ===> 1234.56

      • printf(“%8f\n”, soma); ====> 1234.56

      • printf(“%012f\n”, soma); ====> 000001234.56

    Linguagem C


    Fun o printf6

    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;

    Linguagem C


    Fun o printf7

    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”, 8976.12345678); ==> 8976.1234

    • printf(“%5.9s\n”,”hello, como vai”); ===> hello com

    Linguagem C


    Fun o printf8

    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”, 3456.8909); ===> 3456.89

      • printf(“%10.2d\n”, 3456.8909); ====> 3456.89

    • Manipulação outros tipos de dados

      • l - tipo de dado long ( Ex. %ld, %lf);

      • h - tipo de dado short (Ex. %hu);

    Linguagem C


    Fun o scanf

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

    Linguagem C


    Fun o scanf1

    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

    Linguagem C


    Fun o scanf2

    Função scanf()

    • #include <stdio.h>

    • #include <conio.c> // implementa getch no devC++

    • int main (void)

    • {

    • int i, j;

    • unsigned soma;

    • scanf (“%d%d”, &i,&j);

    • scanf (“%u”, &soma);

    • }

    Linguagem C


    Fun o clrscr

    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.

    Linguagem C


    Fun o clrscr1

    Função clrscr()

    • Exemplo:

      #include <conio.c> // implementa clrscr no devC++

      #include <stdio.h>

      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;

      }

    Linguagem C


    Fun o gotoxy

    Informe sua idade

    25

    Sua fase é adulta

    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.

    Colunas (1 => 80)

    Linhas (1 => 24)

    Linguagem C


    Fun o gotoxy1

    Função gotoxy()

    • Esta função possibilita o posicionamento exato do cursor na execução de qualquer programa em C.

      gotoxy(<coluna> , <linha>);

    • Exemplo:

      #include <conio.c> // implementa gotoxy no devC++

      #include <stdio.h>

      :

      gotoxy(24,11); /* posiciona cursor coluna 24 linha 11 */

      printf("Aula de Laboratorio deProgramacao");

    Linguagem C


  • Login