Professional Documents
Culture Documents
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
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.
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
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++;
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.
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!!!