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

LTPII - LINGUAGEM “C” PowerPoint PPT Presentation


  • 90 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”

  • Prof. : Jair Alves Barbosa

  • E_mail: [email protected]

Linguagem C


LINGUAGEM “C”

CONTEÚDO PROGRAMÁTICO

Linguagem C


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á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á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á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á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á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á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á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

  • 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 “C”

1 - INTRODUÇÃO

Linguagem C


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

  • 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

  • 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á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á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á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

  • 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 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


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

  • 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:

    • 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á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á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

  • 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

Pilha

Heap

Variáveis Globais

Código do Programa

Linguagem C


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++ é 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 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 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 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 = 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


    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

    • 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á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á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á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á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á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á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á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

    • 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()

      • 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()

    • É 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 printf()

    • Códigos Especiais:

      • \nnova linha

      • \rretorno do cursor

      • \ttabulador

      • \”aspas

      • \\barra

    Linguagem C


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

    • 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 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 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()

    • 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 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


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