linguagem c
Download
Skip this Video
Download Presentation
Linguagem C

Loading in 2 Seconds...

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

slide8
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
  • \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
  • %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

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

slide28

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
  • Sintaxe For (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

ad