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, DAMAS, L. M. D. Linguagem C. Rio de Janeiro: LTC, LOPES, A; GARCIA, G. Introdução à programação algoritmos. Rio de Janeiro: Campus, 2002.
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.
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 a ) 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 = ; 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