Você está na página 1de 33

03 - A Linguagem C www.glecioalbuquerque.

com

Programação II
03 - A Linguagem C
Prof. Glécio Albuquerque
www.glecioalbuquerque.com
glecio.albuquerque@facape.br
glecioalbuquerque@gmail.com
03 - A Linguagem C www.glecioalbuquerque.com

Histórico
•  Projetada e implementada por
•  Denis Ritchie e Brian W. Kerninghan do
•  AT&T Bell Laboratories em 1972
•  Derivou das linguagens
•  ALGOL 68
•  CPL (Combined Programming Language)
•  BCPL (Basic CPL)
•  B
03 - A Linguagem C www.glecioalbuquerque.com

Características
•  Linguagem para propósitos gerais
•  General Purpose Language
•  Comercial
•  Científica
•  Engenharia
•  Produção
•  Sistemas operacionais (Unix, Windows)
•  Linguagens de Programação (Java)
•  Editores de Textos
•  Interfaces de comunicação
03 - A Linguagem C www.glecioalbuquerque.com

Características
•  Não se trata de uma linguagem :
•  De alto nível como Pascal
•  Nem de baixo nível como Assembler
•  Reúne as vantagens apresentadas pelos dois tipos
•  Classificada como linguagem de Nível Médio
•  Portável
•  Uso em vários sistemas operacionais / plataformas
•  Flexibilidade é outro fator importante
03 - A Linguagem C www.glecioalbuquerque.com

Características
•  Gera programas velozes pois são compilados e não
interpretados
•  É uma linguagem estruturada
•  Há divisão em módulos
•  Poderosa (É um Desafio)
•  Requer mais do programador
•  Permite controle absoluto do hardware
•  Manipulação de bits, bytes e endereços
•  O Código objeto é um texto em Assembly
03 - A Linguagem C www.glecioalbuquerque.com

Características
•  O Assembler gera o código de máquina na plataforma
desejada
•  Substitui o Assembly
•  É sensível ao caso (Case Sensitive)
•  printf é diferente de Printf
•  cont difere de Cont e de CONT

•  Todo comando termina com ;


03 - A Linguagem C www.glecioalbuquerque.com

Identificadores
•  Os dados são colocados na memória RAM em forma
de variáveis
•  Cada variável deve ser declarada com o tipo e o nome
para identificação
•  Nome de variável é chamado de identificador
•  Restrições
•  Primeiro caracter sempre letra, sublinhado
•  Demais caracteres : letras números e sublinhado (under_line)
•  Nunca deve ser usado palavras reservadas
03 - A Linguagem C www.glecioalbuquerque.com

Identificadores
•  Identificadores corretos
•  soma
•  numero
•  media
•  Identificadores inválidos
•  2soma
•  numero!3
•  media...aritmetica
•  média
•  media geometrica
•  Use nomes significativos
•  Não use nomes como kx3y4 (o que significará ?)
03 - A Linguagem C www.glecioalbuquerque.com

Tipos de Dados
•  São também chamados de :
•  Tipos primitivos
•  Escalares
•  Cinco tipos básicos C Comp Total, p 17
•  char
•  int
•  float
•  double
•  void
03 - A Linguagem C www.glecioalbuquerque.com

Tipos de Dados
Tipo Tam Tam Obs
bits Byte
char 8 1 0 a 255
‘ ’, ‘a’, ‘1’
int 32 4 -2.147.483.648 a 2.147.483.647
1 , 18, 524
float 32 4 6 dígitos precisão
1594.253
double 64 8 15 dígitos de precisão
1594.253
void - - Sem valor
08/08/16

10
03 - A Linguagem C www.glecioalbuquerque.com

Tipos de Dados
•  Não existe o tipo primitivo String
•  Deve-se criar um vetor de caracteres (char)
•  char variavel [n];
•  char nome [30];
•  As strings aparecem entre aspas “” (“Joao”)
•  Não há o tipo booleano True/False
•  O falso é 0 (zero) e o verdadeiro é 1 (um)
•  O tipo void será estudado futuramente
03 - A Linguagem C www.glecioalbuquerque.com

Tipos de Dados
•  Declaração de variáveis (criação)
•  tipo nome_variavel;
•  tipo nome_variavel [= expressao];
•  Exemplos :
•  char letra;
•  char letra = ‘a’;
•  int idade_funcionario;
•  int soma = 0;
•  float media;
•  double pib;
•  char nome_funcionario [30];
03 - A Linguagem C www.glecioalbuquerque.com

Símbolos
•  Comentários
•  /* .... */ Para comentário em várias linhas.
•  // Para um comentário na mesma linha do comando.

•  { ... } É o separador que delimita o programa ou


estruturas.

•  ; Ao final de cada comando;


03 - A Linguagem C www.glecioalbuquerque.com

Operadores
•  Aritméticos
•  + (Adição)
•  - (Subtração)
•  * (Multiplicação)
•  / (Divisão inteira)
•  % (Resto da divisão)
•  Relacionais
•  > < >= <=
•  == (igual duplo)
•  != (diferente)
03 - A Linguagem C www.glecioalbuquerque.com

Operadores
•  Booleanos
•  && (e)
•  || (ou)
•  ! (não)
•  ^ (ou exclusivo - xor)
•  Atribuição
•  = (simples a = 10;)
•  Outros (+= -= )
•  Unário
•  ++ (incremento)
•  -- (decremento)
•  Ternário ( ? )
03 - A Linguagem C www.glecioalbuquerque.com

Entrada e Saída
•  Provê interação com o usuário
•  Informando o que está pedindo dele
•  Recebendo sua entrada
•  Processando os dados
•  Devolvendo as respostas devidas
03 - A Linguagem C www.glecioalbuquerque.com

Entrada e Saída
•  Escapes e Formatos
•  Símbolos especiais usados dentro de strings
•  \n Saltar uma linha
•  \t Tabulação horizontal
•  Formatos de entrada e saída
•  %c char
•  %d int
•  %f float (%6.2f)
•  %s strings
03 - A Linguagem C www.glecioalbuquerque.com

Entrada e Saída
•  Saída de dados
•  Comando printf
•  Sintaxe :
•  printf (“texto”, [variaveis]);
•  Exemplo
•  printf(“Tudo ok !”);
•  printf(“\n O valor total e %d”, total);
•  printf(“\t O salario e %f”, salario);
•  printf(“O salario e %6.2f”, salario);
•  printf(“O estado civil e %c \n ”, estado_civil);
03 - A Linguagem C www.glecioalbuquerque.com

Entrada de Dados
•  Entrada de dados
•  Comando scanf
•  Sintaxe :
•  scanf(“%formato”, endereco_variavel);
•  Exemplo
•  scanf(“%c”, &estado_civil);
•  scanf(“%d”, &idade);
•  scanf(“%f”, &salario);
•  scanf(“%s”, nome);
03 - A Linguagem C www.glecioalbuquerque.com

Progama Exemplo
03 - A Linguagem C www.glecioalbuquerque.com

Progama Exemplo
03 - A Linguagem C www.glecioalbuquerque.com

Exercícios
1) Marque os identificadores válidos
( ) TempoMédio ( ) Maior/Valor
( ) Valor Salario ( ) Contador
( ) Y1 ( ) $minimo
( ) 1Y ( ) Valor_INSS
( ) Razao-Social ( ) valorseguro

2) Escreva a linha de comando para declarar (criar) as variáveis


seguintes (Dê nomes significativos) :
a) Matricula
b) Sexo de um funcionário
c) Idade
d) Salário
e) Dívida externa
03 - A Linguagem C www.glecioalbuquerque.com

Exercícios
3) Faça um programa que declare e inicie variáveis armazenando
a matrícula 5421, o estado civil C (Casado) e o salário 547.25.

4) Marque V ou F
( ) int x = 42
( ) int void = 14;
( ) x++; // eqüivale a x = x + 1;
( ) - -x; // eqüivale a x = x - 1;
( ) int x = y = z = 0;
( ) x += 50; // eqüivale a x = x + 50;
( ) x - = 22; // eqüivale a x = x - 22;
( ) x -= 22; /* eqüivale a x = x - 22;
03 - A Linguagem C www.glecioalbuquerque.com

Exercícios
5) Avalie as expressões abaixo (0 ou 1)
( ) 1 && 0
( ) 1 || 0
( ) !1
( ) !0
( ) x && y && z && 0
( ) x || y || z || 1
( ) (10 > 5) && ! (10 < 9 ) || (3 <= 4)
( ) 1^1
( ) 0^0
( ) 1^0
03 - A Linguagem C www.glecioalbuquerque.com

Exercícios
6) Qual o valor de x e y ao final dos trechos abaixo ?
a) X = 10;
. y = ++x;
b) X = 10;
. y = x++;

7) Faça um programa para:


a) Pedir dois números inteiros e calcular a média aritmética.
b) Agora use apenas duas variáveis.
03 - A Linguagem C www.glecioalbuquerque.com

Exercícios
8) A empresa ABC calcula seu lucro assim:
Lucro = Receita - Despesa.
Faça um Programa que receba estes dados e calcule o lucro para a
empresa.
Informe a resposta assim , por exemplo:
O Resultado foi de 400,50 ou
O Resultado foi de -652,30
Obs: Os valores estarão em Real, por exemplo, 565,52.

9) Calcule o salário líquido de um funcionário. Será informado seu


nome, seu salário base e o desconto do INSS (11%, por exemplo).
Cálculo : Liquido = Base – Base * Desconto / 100.
03 - A Linguagem C www.glecioalbuquerque.com

Exercícios Propostos
1) Pedir e subtrair 3 números.
2) Pedir e dividir dois números.
3) Uma pessoa deseja saber quantos segundos já viveu. Será
informado o seu Nome e sua idade em anos (32, 22 etc). Calcule e
informe a resposta desejada.
4) Calcule a velocidade média (Km/h) de um veículo. Será
informado a distância percorrida e o tempo.
5) Professora Margarida calcula a média anual dos seus alunos um
por um. Ela soma a nota das quatro unidades e divide por 4. Faça
um Programa para fazer isso para ela. A resposta deverá sair
assim, por exemplo, :"Pedrinho : Média ", 8. Anotas podem ter 1
casa decimal.
03 - A Linguagem C www.glecioalbuquerque.com

Exercícios Propostos
6) Calcule a área de um triângulo. Será dado a base e a altura.
7) Um motorista anota a marcação do odômetro do seu veículo
antes (Km1) e após uma viagem (Km2), bem como o número de
litros (litros) de combustível gastos. Faça um programa que leia os
3 dados acima, o preço do litro de combustível (preco), a
capacidade do tanque (capacidade) e mostre:
a) Quilometragem rodada (Km2- Km1).
b) Consumo : quantos quilômetros por litro faz o veículo
(Quilometragem/litros).
c) Autonomia do veículo (Consumo * capacidade).
d) Custo da viagem (litros * preco).
03 - A Linguagem C www.glecioalbuquerque.com

Exercícios
1) Responda verdadeiro ou falso :
( ) Nem todas as linguagens são para programadores. Como exemplo :
COBOL, e BASIC. O C é uma linguagem para programadores.
( ) C é a linguagem mais popular entre os programadores profissionais
( ) A linguagem BCPL ainda está em uso
( ) O C foi padronizado em 1983 pelo ANSI (American National Standards
Institute)
( ) C não verifica tipos de variáveis em tempo de execução
( ) C possui apenas 32 palavras chaves enquanto linguagens como o
BASIC possuem mais de 100 palavras reservadas
( ) C não é compatível com o C++
( ) O Compilador C gera códigos enxutos e velozes
03 - A Linguagem C www.glecioalbuquerque.com

Exercícios
2) C é classificada com uma linguagem nível médio. Isto significa
que ela é menos poderosa, difícil de usar e menos desenvolvida ?
Explique sua resposta.
3) Por que o C é classificado como uma linguagem portável ?
4) C desenvolveu um importante sistema operacional na década
de 70. Qual é este sistema e qual a sua importância nos dias
atuais?
5) Por que a linguagem C requer mais do programador ?
03 - A Linguagem C www.glecioalbuquerque.com

Bibliografia
•  Sebesta, Robert W
Conceitos de Linguagens de Programação,
Bookman, 2000
•  Schildt, Herbet
C, Completo e Total,
Makron Books
•  Curso IBM de Programação.
Editora PLANETA do Brasil Ltda, São Paulo, 1999
•  Civita, Victor – Enciclopédia Prática de Informática.
São Paulo-SP, Nova Cultural, 1986.
03 - A Linguagem C www.glecioalbuquerque.com

Bibliografia Recomendada
•  C Completo e Total
03 - A Linguagem C www.glecioalbuquerque.com

Obrigado!!!