MSc. Marcelo Torres – professortorres.com.br
Linguagem de Programação
01 - Introdução à Linguagem C
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.
MSc. Marcelo Torres – professortorres.com.br
Introdução
• Desenvolvida por Dennis Ritchie em 1972, em um PDP11 para recriar módulos do Unix (desenvolvido em
assembly).
• Em 1983 a ANSI (American National Standards
Institute) estabeleceu um padrão para linguagem C.
MSc. Marcelo Torres – professortorres.com.br
• Linguagem de Nível Médio
• Linguagem Imperativa
• Linguagem Estruturada
• Linguagem Compilada
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++.
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
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
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)
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
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
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;
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
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--;
MSc. Marcelo Torres – professortorres.com.br
Operadores Relacionais
•
•
•
•
•
•
>  maior que
>=  maior ou igual a
<  menor que
<=  menor ou igual a
==  igual a
!=  diferente de
MSc. Marcelo Torres – professortorres.com.br
Operadores Lógicos
• &&  AND
• ||  OR
• !  NOT
C não possui um operador lógico exclusivo para XOR
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
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
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
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
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
MSc. Marcelo Torres – professortorres.com.br
MSc. Marcelo Torres – professortorres.com.br
Download

Linguagem C - Professor Torres