Linguagem c
Download
1 / 39

Linguagem C - PowerPoint PPT Presentation


  • 175 Views
  • Uploaded on

Linguagem C. Sumário. As origens do C. C é uma linguagem de Médio Nível C é uma linguagem Estruturada C é uma linguagem para Programadores Compiladores X Interpretadores A Forma de um programa em C A Biblioteca e a Linkedição Compilação Separada Compilando um programa C

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Linguagem C' - sally


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

Linguagem C

Prof. Ana Emilia de Melo Queiroz


Sum rio
Sumário

  • As origens do C.

    • C é uma linguagem de Médio Nível

    • C é uma linguagem Estruturada

    • C é uma linguagem para Programadores

    • Compiladores X Interpretadores

    • A Forma de um programa em C

    • A Biblioteca e a Linkedição

    • Compilação Separada

    • Compilando um programa C

    • O Mapa de Memória C

  • Expressões em C.

    • O cinco tipos básicos de C

    • Variáveis Locais de declaração, variáveis locais, Parâmetros formais, variáveis globais.

    • Inicialização de variáveis.

    • Cosntantes, Hexadecimais, Octais, String, Caracteres e Barra invertida.

Prof. Ana Emilia de Melo Queiroz


Sum rio1
Sumário

  • Operadores, atribuição, conversão de tipos em atribuições, atribuições múltiplas, operadores aritméticos, Incremento e Decremento, Operadores relacionais e lógicos.

  • Matrizes Unidimensionais – Vetores

  • Matrizes Bidimensionais e multidimensionais– Matriz

    • Matriz e String.

    • Inicialização de Matrizes.

Prof. Ana Emilia de Melo Queiroz


Origens do c
Origens do C

  • C nasceu de BCPL, que influenciou uma linguagem chamada B.

  • Na década de 70, B levou ao desenvolvimento do C.

  • C foi padronizado pela ANSI(American National Standards Instituite) em 1983.

  • O livro C completo total adota o padrão ANSI e exemplifica outras implementações.

Prof. Ana Emilia de Melo Queiroz


N vel da linguagem c
Nível da Linguagem C

  • C é uma linguagem de médio nível, pois combina elementos das linguagens de alto nível com elementos de linguagem com assembler.

  • Permite manipulação de Bits.

  • Suportam o conceito de tipos de dados.(Inteiros, Caracter, Real).

  • Linguagem estruturada(apesar da restrição de não ser formalmente)

  • C é uma linguagem para programadores profissionais.

  • Inicialmente utilizada para fazer programas de sistemas.

    • Sistemas Operacionais

    • Interpretadores

    • Editores

    • Programas de planilhas eletrônicas

    • Compiladores

    • Gerenciador de Banco de Dados

Prof. Ana Emilia de Melo Queiroz


Compiladores x interpretadores a biblioteca e a linkedi o
Compiladores X Interpretadores A Biblioteca e a LinkEdição

  • Referem-se ao modo como um programa é executado.

  • Um interpretador lê o código-fonte do seu programa uma linha por vez executando a instrução específica contida nessa linha.

  • Um compilador lê o programa inteiro e converte-o para código-objeto. O código Objeto é uma tradução do código fonte do programa em uma forma que o computador possa executar diretamente.

  • O código objeto também conhecido como código de máquina

  • Todo Compilador C vem com a biblioteca C padrão.

  • Muitas das funções que se precisa implementar já estão na biblioteca C padrão. Elas agem com blocos básicos que o programador pode combinar.

  • Se o programador escrever uma função que irá utilizar muitas vezes, ela pode ser colocada em uma biblioteca.

Prof. Ana Emilia de Melo Queiroz


Compila o separada e mapa de mem ria
Compilação Separada e Mapa de Memória

  • Muitos programas C podem estar contidos num mesmo arquivo.

  • Caso o tamanho cresça muito ele deve ser dividido em vários arquivos, os quais podem se compilados separadamente.

  • Quando todos os arquivos estiverem todos compilados eles serão linkeditados para formar o código-objeto completo.

  • O gerenciamento da memória é feita da seguinte forma:

    • Quatro regiões de memória, que possuem funções específicas

    • A primeira contém o código-fonte

    • A segunda contém as variáveis globais

    • A terceira contém a pilha

      • Possui os endereços de retorno

      • Argumentos para funções e variáveis locais

    • A quarta contém o Heap – Estrutura de dados.

      • Área de alocação dinâmica de C, que podem ser utilizadas em listas encadeadas e árvores.

Prof. Ana Emilia de Melo Queiroz


Linguagem c

tipo bytes escala

char 1 -128 a 127

int 2 -32.768 a 32.767

float 4 3.4e-38 a 3.4e+38

double 8 1.7e-308 a 1.7e+308

Long ou Long int (4 bytes)

Unsigned Char (0 a 255)

Unsigned int (0 a 65.535)

obs: int tem sempre o tamanho da palavra da máquina

Prof. Ana Emilia de Melo Queiroz


Comandos b sicos
Comandos básicos Dados e operadores, os dados podem ser representados por variáveis ou constantes.

Instruções de E/S

Saída de Dados

Entrada de Dados

Processamento de dados

Prof. Ana Emilia de Melo Queiroz


Vari vel
Variável Dados e operadores, os dados podem ser representados por variáveis ou constantes.

  • Variável: “objeto” que pode assumir diversos valores;

  • espaço de memória de um certo tipo de dado associado a um nome para referenciar seu conteúdo

    Main ( )

    {

    int idade;

    idade = 30;

      printf (“ A idade é : %d”, idade);

    }

Prof. Ana Emilia de Melo Queiroz


Nomes e declara o de vari veis
Nomes e declaração de Variáveis Dados e operadores, os dados podem ser representados por variáveis ou constantes.

  • Quantos caracteres quiser (32);

  • comece com letras ou sublinhado:

    • Seguidos de letras, números ou sublinhados

  • C é sensível ao caso:

    • peso <> Peso <> pEso

  • não podemos definir um identificador com o mesmo nome que uma palavra chave

    • auto static extern int long if while do ......

  • Instrução para reservar uma quantidade de memória para um certo tipo de dado, indicando o nome pelo qual a área será referenciada

    >> tipo nome-da-variável; ou

    >> tipo nome1, nome2,...,nomen

    EX: char nome;

    int idade, num;

  • Prof. Ana Emilia de Melo Queiroz


    Constantes hexadecimais octais string caracteres e barra invertida
    Constantes, Hexadecimais, Octais, String, Caracteres e Barra invertida.

    • Referem-se a valores fixos que o programa não pode alterar.

      • Podem ser de qualquer tipo de dados básicos

      • Sua representação depende do seu tipo.

      • Constantes de caractere são envolvidas por aspas simples. Ex:’a’

      • Constantes inteiras são preenchidas com números fracionários. Ex: 10 e -100

      • Constantes em ponto flutuante requerem o ponto decimal seguido pela parte fracionária do número. Ex: 11.123

      • C também que seja utilizada uma notação científica para representar números em ponto flutuante.

      • Existem dois tipos de números em ponto flutuante:

        • float

        • double.

      • Constantes Hexadecimais e Octais

        • Hexadecimal – sistema numérico de base 16 dígitos de 0 a 9 + os caracteres A a F, que representam os números 10, 11, 12, 13, 14 e 15.

        • Octal – sistema numérico de base 8 – dígitos de 0 a 7

    Prof. Ana Emilia de Melo Queiroz


    Linguagem programa o c
    Linguagem Programação C invertida.

    • Estrutura Básica de um Programa em C

    • Meu primeiro programa

    • A função printf

    • Códigos Especiais

    • Códigos printf()

    Prof. Ana Emilia de Melo Queiroz


    Estrutura b sica da linguagem
    Estrutura Básica da Linguagem invertida.

    • main(){}

    • main () {}

    • main (){ }

    • main(){}

    • main() {}

    Prof. Ana Emilia de Melo Queiroz


    Primeiro programa
    Primeiro Programa invertida.

    • Main(){ printf (“Meu primeiro programa”);}

    • Main(){printf (“Meu primeiro programa”);}

    Prof. Ana Emilia de Melo Queiroz


    A fun o printf
    A função printf invertida.

    printf (“Meu primeiro programa”,<argumentos>);

    printf (“Este é o número: %d”,2);

    • Este é o número: 2

      printf (“%s esta a %d milhões de milhas\ndo sol.”,”Venus”,67);

    • Venus esta a 67 milhões de milhasdo sol.

      printf (“A letra %c ”,’j’);

      printf (“Pronuncia-se %s”,”jota”);

    • A letra j procuncia-se jota

    Prof. Ana Emilia de Melo Queiroz


    C digos especiais
    Códigos Especiais invertida.

    • \n Nova linha

    • \r Retorno do cursor

    • \t Tab

    • \b Retrocesso (backspace)

    • \” Aspas

    • \\ Barra

    • \f Salta página de formulário

    • \0 Nulo (zero)

    Prof. Ana Emilia de Melo Queiroz


    C digos printf
    Códigos Printf invertida.

    • %c Caracter Simples

    • %d Decimal

    • %e Notação Científica

    • %f Ponto Flutuante

    • %g %e ou %f, o mais curto

    • %o Octal

    • %s Cadeia de caracteres

    • %u Decimal sem sinal

    • %x Hexadecimal

    • %ld Decimal Longo

    • %lf Ponto Flutuante Longo (Double)

    Prof. Ana Emilia de Melo Queiroz


    Printf tamanho na impress o
    Printf – Tamanho na Impressão invertida.

    main()

    {

    printf(“Os alunos são %2d.\n”,350);

    printf(“Os alunos são %4d.\n”,350);

    printf(“Os alunos são %5d.\n”,350);

    }

    A saída será

    Os alunos são 350.

    Os alunos são 350.

    Os alunos são 350.

    Prof. Ana Emilia de Melo Queiroz


    Printf tamanho na impress o1
    Printf – Tamanho na Impressão invertida.

    main()

    {

    printf(“%4.2f\n”,3456.78);

    printf(“%3.2f\n”,3456.78);

    printf(“%3.1f\n”,3456.78); printf(“%10.3f\n”,3456.78);

    }

    A saída será

    3456.78

    3456.78

    3456.7

    3456.780

    Prof. Ana Emilia de Melo Queiroz


    Printf complementando com 0
    Printf – Complementando com 0 invertida.

    main()

    {

    printf(“\n%04d”,21);

    printf(“\n%06d”,21);

    printf(“\n%6.4d”,21);

    printf(“\n%6.0d”,21);

    }

    A saída será

    0021

    000021

    0021

    21

    Prof. Ana Emilia de Melo Queiroz


    Printf imprimindo caracters
    Printf – Imprimindo Caracters invertida.

    • printf(“%d %c %x %o \n”, ‘A’, ‘A’, ‘A’, ‘A’ );

      Saída = 65 A 41 101

    • printf(“%c %c %c %c \n”, ‘A’, 65, 0x41, 0101 );

      Saída = A A A A

    Prof. Ana Emilia de Melo Queiroz


    Estruturas de controle
    Estruturas de Controle invertida.

    • Estruturas de seleção ou decisão

      • Estrutura de Seleção Simples

      • Estrutura de Seleção Composta

      • Estrutura de Seleção Encadeada

      • Estrutura de seleção de Múltipla Escolha

    Prof. Ana Emilia de Melo Queiroz


    Enunciado sele o simples
    Enunciado – Seleção Simples invertida.

    • Verifique se um número fornecido pelo usuário é ímpar. Se for exiba a mensagem: “O número é ímpar”.

    #include <conio.c>

    main()

    {

    int mnum;

    printf("Informe um número");

    scanf("%d", &mnum);

    if (mnum % 2 == 1)

    printf("O número %d é ímpar.",mnum);

    getch();

    }

    Prof. Ana Emilia de Melo Queiroz


    Enunciado sele o composta
    Enunciado – Seleção Composta invertida.

    • A empresa X Ltda. Concedeu bônus de 20% do valor do salário a todos funcionários com tempo de trabalho na empresa igual ou superior a cinco anos e de 10% aos demais. Calcular e exibir o valor do bônus.

    • Percebem a condição e o bloco de instrução respectivo?

    • Programa

    Prof. Ana Emilia de Melo Queiroz


    Sel composta programa
    Sel. Composta - Programa invertida.

    #include <conio.c>

    main()

    {

    int mtem;

    float msal, mbonus;

    printf("Informe o tempo de serviço\n");

    scanf("%d", &mtem);

    printf("Informe o salário\n");

    scanf("%f", &msal);

    if (mtem >= 5)

    mbonus = msal * 0.2;

    else

    mbonus = msal * 0.1;

    printf("O bônus é de: %10.2f",mbonus);

    getch();

    }

    Prof. Ana Emilia de Melo Queiroz


    Enunciado sele o encadeada
    Enunciado – Seleção Encadeada invertida.

    • Faça algoritmo que receba 03 valores que representarão os lados de um triângulo. Verifique se os valores formam um triângulo e classifique esse triângulo como:

      • Eqüilátero - três lados iguais

      • Isóscele - dois lados iguais

      • Escaleno - três lados diferentes

      • Lembre-se que para formar um triângulo nenhum dos lados pode ser igual a zero e um lado não pode ser maior que a soma dos outros dois.

    Prof. Ana Emilia de Melo Queiroz


    Linguagem c

    main() { invertida.

    int mladoa, mladob, mladoc;

    printf("Informe os lados de um triângulo\n");

    scanf("%d %d %d", &mladoa, &mladob, &mladoc);

      if (mladoa == 0 || mladob == 0 || mladoc == 0)

    printf("A figura não é um triângulo\n");

    else {

    if (mladoa>mladob+mladoc || mladob>mladoa+mladoc ||mladoc>mladoa+mladob)

    printf("A figura não é um triângulo\n");

    else {

    if (mladoa == mladob && mladob == mladoc)

    printf("A figura é um triângulo equilátero\n");

    else {

    if (mladoa == mladob || mladoa == mladoc || mladob == mladoc)

    printf("A figura é um triângulo isóceles\n");

    else

    printf("A figura é um triângulo escaleno\n");

    }

    }

    }

    }

    Prof. Ana Emilia de Melo Queiroz


    Sele o m ltipla escolha
    Seleção Múltipla Escolha invertida.

    opcao = getche();

    switch(opcao)

    {

    case ‘A’ :

    printf(“Você seleconou opção A”); break;

    case ‘E’ :

    printf(“Você seleconou opção E”); break;

    case ‘X’ :

    printf(“Você seleconou opção X”); break;

    case ‘I’ :

    printf(“Você seleconou opção I”); break;

    default

    printf(“Escolha incorreta”);

    }

    Prof. Ana Emilia de Melo Queiroz


    Algumas fun es em c
    Algumas funções em C invertida.

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

      Lê um tipo de variável (d,c) e armazena em um endereço de memória (variável a, b)

    • Car = getch()Lê um caracter do teclado (Enter desnecessário). Não echoa na tela.

    • Car = getche()Lê um caracter do teclado (Enter desnecessário). Eechoa na tela.

    • Car = getchar()

      Lê próximo caracter de entrada. Termina com Enter. (stdio.h)

    • putchar(car)

      Imprime um caracter de entrada. Termina com Enter. (stdio.h)

    Prof. Ana Emilia de Melo Queiroz


    Estruturas de repeti o
    Estruturas de Repetição invertida.

    • Laço while

    • Laço do – while

    • Laço for

      • Repetição (laço) deve ser finito

      • Quando se usa teste, em algum momento os comandos modificam a condição de teste para torná-la falsa.

    Prof. Ana Emilia de Melo Queiroz


    La o while

    invertida.

    while (conta < 10)

    {

    total+=conta;

    }

    Printf(“Total = %d”, total);

    Laço While

    Prof. Ana Emilia de Melo Queiroz


    La o while1
    Laço while invertida.

    • Ler 850 números fornecidos pelo usuário e calcular média.

    main()

    {

    float soma, num, media;

    int cont ;

    soma = 0;

    cont = 0;

    while (cont < 850)

    {

    scanf(“%d”, &num);

    soma += num;

    cont += 1;

    }

    media = media / cont;

    printf(“A média é: %d“,media);

    }

    Prof. Ana Emilia de Melo Queiroz


    La o do while
    Laço do - while invertida.

    do {

    total+=conta;

    } while (conta < 10)

    Printf(“Total = %d”, total);

    Prof. Ana Emilia de Melo Queiroz


    La o do while1
    Laço do - while invertida.

    main()

    {

    float soma, num, media;

    int cont ;

    soma = 0;

    cont = 0;

    do {

    scanf(“%d”, &num);

    soma += num;

    cont += 1;

    } while (cont >= 850)

    media = media / cont;

    printf(“A média é: %d“,media);

    }

    • Ler 850 números fornecidos pelo usuário e calcular média.

    Prof. Ana Emilia de Melo Queiroz


    La o for
    Laço for invertida.

    • Sintaxe For (conta = 0; conta < 10; conta ++)

      • Inicio Teste Incremento

    • Flexibilidades

    Prof. Ana Emilia de Melo Queiroz


    La o for1
    Laço for invertida.

    • Ler 850 números fornecidos pelo usuário e calcular média.

    main()

    {

    float soma, num, media;

    int cont ;

    soma = 0;

    for (cont = 0; cont < 850, cont++)

    {

    scanf(“%d”, &num);

    soma += num;

    }

    media = media / cont;

    printf(“A média é: %d“,media);

    }

    Prof. Ana Emilia de Melo Queiroz


    La o for flexibilidades
    Laço for - flexibilidades invertida.

    • Qualquer expressão do laço for pode ter várias instruções separadas por vírgula;For (x=0, y=0; x+y < 100; x++, y=y+1)

    • Podemos usar caracteres em vez de inteirosFor (ch=a; ch <= z; ch++)

    Prof. Ana Emilia de Melo Queiroz


    La o for flexibilidades1
    Laço for - Flexibilidades invertida.

    • Podemos usar chamadas a funções em qualquer uma das expressões do laçoFor (ch=getch(); ch != `X`; ch=getch()))

    • Qualquer parte do laço for pode ser omitida mas os ; devem permanecerFor ( ; (ch = getch()) != `X`; )For ( ; (ch = getch()) != `X`; printf(“%c”,c+1))For ( ; ; ) = Laço infinito

    Prof. Ana Emilia de Melo Queiroz