msc. marcelo torres – professortorres.com.br. linguagem de programação 01 - introdução à...

22
MSc. Marcelo Torres – professortorres.com.br

Upload: internet

Post on 22-Apr-2015

111 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

MSc. Marcelo Torres – professortorres.com.br

Page 2: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

Linguagem de Programação

01 - Introdução à Linguagem C

MSc. Marcelo Torres – professortorres.com.br

Page 3: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

MSc. Marcelo Torres – professortorres.com.br

Bibliografia

• Schildt, Herbert – C Completo e Total. São Paulo: Pearson, 1997

• ASCENCIO, A, F. G.; DE CAMPOS, E. A. V. Fundamentos da programação de computadores. São Paulo: Pearson, 2008.

• DAMAS, L. M. D. Linguagem C. Rio de Janeiro: LTC, 2007.

• LOPES, A; GARCIA, G. Introdução à programação - 500 algoritmos. Rio de Janeiro: Campus, 2002.

Page 4: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

MSc. Marcelo Torres – professortorres.com.br

Introdução

• Desenvolvida por Dennis Ritchie em 1972, em um PDP-11 para recriar módulos do Unix (desenvolvido em assembly).

• Em 1983 a ANSI (American National Standards Institute) estabeleceu um padrão para linguagem C.

Page 5: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

MSc. Marcelo Torres – professortorres.com.br

• Linguagem de Nível Médio

• Linguagem Imperativa

• Linguagem Estruturada

• Linguagem Compilada

Page 6: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

MSc. Marcelo Torres – professortorres.com.br

C x C++

• C++ é uma versão estendida e melhorada de C., projetada para suportar programação orientada a objetos.

• Como C++ é derivado de C, não é possível programar em C++ sem recorrer a linguagem C.

Esta disciplina abordará conceitos referentes à linguagem C++.

Page 7: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

MSc. Marcelo Torres – professortorres.com.br

Os 5 tipos básicos de dados

• char um caracter (1 byte)• int número inteiro de 2 bytes (de -32.767 a 32.767)• float número real de 4 bytes, com 6 casas de precisão• double número real de 8 bytes, com 10 casas de

precisão• void declara explicitamente que uma função não

retorna valor

Page 8: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

MSc. Marcelo Torres – professortorres.com.br

Modificadores de Tipo Básico

Exceto void, todos os demais tipos de dados podem ser modificados pelos modificadores a seguir:•signed é o padrão dos inteiros e reais, permitindo atribuir valores menores e maiores que zero (e o próprio zero)•unsigned modifica os inteiros e reais para permitir somente números maiores ou iguais a zero

Page 9: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

MSc. Marcelo Torres – professortorres.com.br

• long duplica a capacidade de um tipo básico de dado

– long double (16 bytes)

• short reduz pela metade a capacidade de um tipo básico de dado

– Short float (2 bytes)

Page 10: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

MSc. Marcelo Torres – professortorres.com.br

Declaração de Variáveis

Em C, uma variável é declarada em qualquer ponto do código, colocando o tipo de dado seguido no nome da variável.

•int contador – double msg – char ativo

Page 11: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

MSc. Marcelo Torres – professortorres.com.br

• Uma variável pode ser LOCAL, quando declarada dentro de um bloco { } de código ou GLOBAL quando declarada no escopo principal do programa.

• Duas ou mais variáveis LOCAIS podem ter o mesmo nome, sem que isto cause erros no programa.

• Uma variável LOCAL não pode ter o mesmo nome de uma variável GLOBAL

Page 12: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

MSc. Marcelo Torres – professortorres.com.br

Modificadores de Tipo de Acesso

• const define valores que não podem ser modificados ao longo do programa – constantes.

– const double pi = 3.141592;• volatile define que uma variável poderá ter seu valor

alterado sem que haja uma atribuição explícita (mudanças de valores em ponteiros)

– const volatile unsigned int *porta = 0x30;

Page 13: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

MSc. Marcelo Torres – professortorres.com.br

Operadores

• = atribuição• - subtração• + adição• * multiplicação• / divisão• % módulo (resto da divisão)• -- decremento• ++ incremento

Page 14: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

MSc. Marcelo Torres – professortorres.com.br

Incremento e Decremento

Em C é possível utilizar um atalho para operações de incremento e decremento.

•X = X + 1; pode ser convertido em X++;

•Y = Y – 1; pode ser convertido em Y--;

Page 15: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

MSc. Marcelo Torres – professortorres.com.br

Operadores Relacionais

• > maior que• >= maior ou igual a• < menor que• <= menor ou igual a• == igual a• != diferente de

Page 16: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

MSc. Marcelo Torres – professortorres.com.br

Operadores Lógicos

• && AND• || OR• ! NOT

C não possui um operador lógico exclusivo para XOR

Page 17: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

MSc. Marcelo Torres – professortorres.com.br

Operador Ternário

O Operador ternário substitui certas cláusulas IF-ELSE•EXP ? IF : ELSE

– x = 10– y = x > 9 ? 100 : 200

Page 18: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

MSc. Marcelo Torres – professortorres.com.br

Operadores de Ponteiro

Um ponteiro é um endereço de memória de uma variável.•& devolve o endereço na memória de seu operando

– m = &cont; põe o endereço de cont em m•* devolve o valor da variável localizado no endereço referido

– q = *m; põe o valor de cont em q

Page 19: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

MSc. Marcelo Torres – professortorres.com.br

Parênteses, Colchetes e Chaves

• ( ) Define a precedência de operações• [ ] Define o tamanho de um vetor• { } Define o escopo de um bloco de código

Page 20: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

MSc. Marcelo Torres – professortorres.com.br

Type Cast

É possível forçar o tipo de dados de uma expressão através do TYPE CAST•(tipo) expressão

– (int) x/2

Page 21: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

MSc. Marcelo Torres – professortorres.com.br

C Reduzido

Existe uma variante de atribuição que reduz a quantidade de código•x = x + 10 x += 10•y = y * 3 y *= 3

Page 22: MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br

MSc. Marcelo Torres – professortorres.com.br