Linguagem c
This presentation is the property of its rightful owner.
Sponsored Links
1 / 39

Linguagem C PowerPoint PPT Presentation


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

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

Download Presentation

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


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

  • As expressões são formadas pelos elementos básicos de C. Dados e operadores, os dados podem ser representados por variáveis ou constantes.

  • Os principais tipos de C são:

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

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

  • 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

  • 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

    • 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

    • main(){}

    • main () {}

    • main (){ }

    • main(){}

    • main() {}

    Prof. Ana Emilia de Melo Queiroz


    Primeiro programa

    Primeiro Programa

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

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

    Prof. Ana Emilia de Melo Queiroz


    A fun o printf

    A função printf

    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

    • \nNova linha

    • \rRetorno do cursor

    • \tTab

    • \bRetrocesso (backspace)

    • \”Aspas

    • \\Barra

    • \fSalta página de formulário

    • \0Nulo (zero)

    Prof. Ana Emilia de Melo Queiroz


    C digos printf

    Códigos Printf

    • %cCaracter Simples

    • %dDecimal

    • %eNotação Científica

    • %fPonto Flutuante

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

    • %oOctal

    • %sCadeia de caracteres

    • %uDecimal sem sinal

    • %xHexadecimal

    • %ldDecimal Longo

    • %lfPonto Flutuante Longo (Double)

    Prof. Ana Emilia de Melo Queiroz


    Printf tamanho na impress o

    Printf – Tamanho na Impressão

    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

    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

    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

    • 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

    • 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

    • 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

    • 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

    #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

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

    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

    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

    • 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

    • 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

    while (conta < 10)

    {

    total+=conta;

    }

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

    Laço While

    Prof. Ana Emilia de Melo Queiroz


    La o while1

    Laço while

    • 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

    do {

    total+=conta;

    } while (conta < 10)

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

    Prof. Ana Emilia de Melo Queiroz


    La o do while1

    Laço do - while

    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

    • SintaxeFor (conta = 0; conta < 10; conta ++)

      • Inicio Teste Incremento

    • Flexibilidades

    Prof. Ana Emilia de Melo Queiroz


    La o for1

    Laço for

    • 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

    • 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

    • 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


  • Login