MCO018703 2018 2 AULA03
1 Objetivos
O aluno será capaz de:
- Compilar, executar pequenos programa em C usando o CodeBlocks.
- Declarar e usar variáveis locais inteiras e reais.
- Usar as funções de entrada e saída: scanf() e printf().
2 Introdução a linguagem C
A linguagem C foi criada por Dennis Ritchie, em 1972, no centro de Pesquisas da Bell Laboratories. Sua primeira utilização importante foi a reescrita do Sistema Operacional UNIX, que até então era escrito em assembly. Em meados de 1970 o UNIX saiu do laboratório para ser liberado às universidades. Foi o suficiente para que o sucesso da linguagem atingisse proporções tais que, por volta de 1980, já existiam várias versões de compiladores C oferecidas por diversas empresas, não sendo mais restritas apenas ao ambiente UNIX, como também compatível a outros sistemas operacionais. O C é uma linguagem de propósito geral, sendo adequada à programação estruturada. No entanto é mais utilizada para escrever compiladores, analisadores léxicos, bancos de dados, editores de texto, e sistemas embarcados.
A linguagem C pertence a uma família de linguagens cujas características são: portabilidade, modularidade, compilação separada, recursos de baixo nível, geração de código eficiente, confiabilidade, regularidade, simplicidade e facilidade de uso.
Fonte: [1] - Centro de Computação - UNICAMP
- Histórico Completo
- Características da Linguagem
- O C K&R (uma especificação informal da linguagem) e o ANSI C
- Linguagem imperativa e procedural.
2.1 Comentários
Os comentários no programa fonte não têm função nenhuma para o compilador e serve apenas para aumentar a legibilidade e clareza do programa, podem ser inseridos com “//” que valem de onde começam até o fim da linha ou com “/*” e “*/”, sendo considerado comentário tudo entre “/*” e “*/”.
2.2 Identificadores
Um identificador é um símbolo definido pelo usuário que pode ser um rótulo (label), uma constante, um tipo, uma variável, um nome de programa ou subprograma (procedimento ou função). Normalmente devem começar com um caractere alfabético e não podem conter espaços em branco, podendo ter no máximo 32 caracteres, não havendo distinção entre maiúsculas e minúsculas.
2.3 Endentação
A endentação também não tem nenhuma função para o compilador e serve para tornar a listagem do programa mais claro dando hierarquia e estrutura ao programa.
2.4 Constantes
Constantes são valores declarados no início do programa e que não se alteram na execução do programa. Podem ser expressas em qualquer base numérica.
2.5 Variáveis
Uma declaração de variável consiste do nome do tipo de dado seguido do nome da variável. Todas as variáveis devem ser declaradas antes de serem usadas. As variáveis devem ser declaradas no início de cada função, procedimento ou início do programa.
2.6 Elementos definidos pela linguagem C:
- Letras (alfanuméricas) Aa até Zz;
- Dígitos (numéricos) - 0 até 9;
- Operadores;
- Tipos de dados.
2.7 Operadores e Símbolos Especiais
Operador | Significado | Exemplo |
---|---|---|
* | multiplicação | a = b * c |
/ | divisão | a = b / c |
% | resto | a = 13 % 3, a = 1 |
+ | adição | a = b + c |
- | subtração | a = b - c |
= | atribuição | a = b |
== | comparação compara dois operandos | if(a == 10) |
< | menor que | a < b |
<= | menor ou igual | a <= b |
> | maior que | a > b |
>= | maior ou igual | a >= b |
!= | diferente de | a=10, Se( a != 3) então verdadeiro |
<< | deslocamento de bit a esquerda | 3 (00000011) << 1 = 6 (00000110) |
>> | deslocamento de bit a direita | 4 (00000100) >> 1 = 2 (00000010) |
& | lógica E bit a bit | 00000011 & 00000110 = 00000010 |
&& | lógica E (AND) | a=2, Se(a>1 && a<3) então verdadeiro |
^ | OU exclusivo bit a bit | 00001100 ^ 00000110 = 00001010 |
| | OU inclusivo bit a bit | 00001101 = 0001101 |
|| |
lógica OU (OR) | a=4, Se( a>3 || a<5) então verdadeiro |
! | lógica Não (NOT) | Se( ! a ) equivalente a Se( a == 0) |
~ | complemento bit a bit | ~00010101 = 11101010 |
" | delimitador de string | "Arduino" |
2.8 Tipos de dados
Um Tipo de Dado define o conjunto de valores que uma variável pode assumir e as operações que podem ser feitas sobre ela. Toda variável em um programa deve ser associada a um tipo de dado, conforme a tabela abaixo.
Tipo | Descrição do tipo |
---|---|
Static | Variável global inicializada com 0 |
int1 | De_ne um n_mero com 1 bit faixa 0 ou 1 |
int8 ou Int | De_ne um n_mero com 8 bits faixa de 0 a 127 |
int16 ou Long | De_ne um n_mero com 16 bits faixa de 0 a 32.767 |
int32 | De_ne um n_mero com 32 bits faixa de 0 à 3.4 E38 |
Char | De_ne um caractere com 8 bits faixa Aa à Zz |
Float | De_ne um n_mero com 32 bits faixa de 3.4 E-38 à 3.4 E38 |
Short | Por padrão é o mesmo que int1 |
]
3 Referências
[1] http://ordemnatural.com.br/pdf-files/CartilhadoArduino_ed1.pdf
[2] http://xbot.com.br/externo/OpneMoniot/Programando_Microcontroladores_PIC_Linguagem_C.pdf