Escolar Documentos
Profissional Documentos
Cultura Documentos
C
Linguagem
Para Engenharia()
{
aplicação à programação
de microcontroladores;
}
Professor Tiago Balen
Na última aula
Aula 1 – 09/05/2009
1) Introdução à lógica de programação
2) Introdução à linguagem C
3) Declaração e utilização de bibliotecas
4) Diretivas de compilação
5) Declaração de variáveis / tipos de dados
6) Estrutura geral de um programa em C
7) Funções de entrada e saída
Hoje
Aula 2 – 16/05/2009
1) Operadores matemáticos, lógicos,
relacionais, incremento/decremento e
igualdade
2) Testes de condição (if, switch/case)
3) Laços de repetição (for, while, do/while)
4) Funções
Operadores
São elementos da linguagem utilizadas para
alterar valores de variáveis, a fim de realizar
uma determinada operação
Tipos de operadores:
Atribuição
Aritméticos
Incremento/decremento
Relacionais
Lógicos
Operadores de ponteiros
Outros operadores especiais
Operadore de Atribuição
Utilizado para atribuir um valor a uma variável,
diretamente, ou através de uma expressão
Seu símbolo é um sinal de igualdade: =
Utilização:
nome_da_variavel = expressão, valor ou variável;
Exemplo:
int x=1, y=7, z;
z=x+y; O operador de atribuição não é igual ao
operador relacional de igualdade, como
veremos posteriormente
Conversão de tipos na Atribuição
Em C, pode-se atribuir à uma variável de
um tipo o valor de uma variável de outro
tipo
A variável do lado direito da expressão é
convertida no tipo do lado esquerdo
Para isso se houver uma redução de tipo
o valor da variável maior é truncado,
ignorando-se os BITs mais significativos
Conversão de tipos na Atribuição
Exemplo:
int x = 100; // incializa as variáveis atribuindo 100 para “x”,
char letra = ‘C’; // “C” para letra e
float f; // nada para “f”
void funcao(void) // cria a função “funcao” – veremos depois
{
letra = x; // atribui o valor de “x” à variável “letra”
x = f; // atribui o valor de “f” à variável “x”
f = letra; // atribui o valor de “letra” à variável “x”
f = x ; // atribui o valor de “x” à variável “f”
Múltiplas atribuições:
}
y = z = x = w = 1;
Operadores Aritméticos
São operadores matemáticos
Módulo:
x = y%2; // divide y por dois e atribui o resto da divisão à x
// se no momento da operação y tiver o vlor 3,
por // exemplo: (3/2 = 1 com resto =1), o resto (1)
será // atribuído a x
Operadores Aritméticos
Exemplos:
Incremento
x++; // ambas instruções incrementam a variável x em uma
++x; // unidade (x=x+1)
Decremento
x--; // ambas instruções decrementam a variável x em uma
--x; // unidade (x=x-1)
A ordem do operador (prefixo ou sufixo) é tratada de maneira diferente
quando aparece em expressões ou testes condicionais
x = 5;
y = ++x; // incrementa x e y recebe x (6)
Exercício
Crie um projeto no LCC
Abra o arquivo texto exemplo1.txt (teleduc)
Cole o código fonte na área de edição do programa
Estude o programa tentando prever seu funcionamento
Salve, compile e execute (ctrl+S; ctrl+F5)
Entre com valores de variáveis tal que y > x;
Remova o comentário que anula uma das linhas do
programa e re-execute
Posteriormente escreva algumas linhas para treinar as
funções de decremento e incremento
Operadores relacionais
São operadores normalmente usados em teste
condicionais do tipo: “se y > x então faça isso...”
Breve Revisão
And Or
Operadores lógicos
Exemplo
z = (6>4) && !(13<2) || (3<=4); // neste caso z receberá o valor
// booleano 1 (verdadeiro)
if (x < 10)
{
if (x == 1) { ... }
elseif (x == 2) { ... }
else
A IDENTAÇÃO é um recurso não
{
obrigatório, mas que organiza e
if (x%2)
torna mais legível e compreensível
{ o código fonte em C. Principalmente
printf(“...”); quanto há muitos bloco condicionais
} aninhados
}
}
Testes Condicionais
Uma alternativa para o teste de condições é o comando switch que testa uma
variável ou expressão sucessivamente contra uma lista de valores inteiros ou
caracteres
Sintaxe:
switch(expressão)
{
case constante1:
sequência de comandos;
break;
case constante2:
sequência de comandos;
break;
...
default:
sequência de comandos;
}
Testes Condicionais
Exemplo
switch(x)
{
case 1:
x = x-1;
break;
case 2:
x = x-2;
break;
...
default:
x = x;
}
Exemplo
Demonstração de programa
Exercício
Crie um projeto no LCC
Abra o arquivo texto exemplo2.txt (teleduc)
Cole o código fonte na área de edição do programa
Estude o programa tentando prever seu funcionamento
Salve, compile e execute (ctrl+S; ctrl+F5)
Adicione uma nova opção qualquer no menu principal do
programa (inicial)
Adicione uma nova opção de operação (x2) a ser
realizada
Laços de Repetição
Os principais comandos de repetição da linguagem C são:
for
while
do / while
São utilizados para repetir um determinado trecho de
programa um numero de vezes que pode ser:
definido
indefinido
infinito
Laço de Repetição for
O laço for
Sintaxe:
for(inicialização; condição; incremento/decremento)
{
sequência de comandos;
}
Exemplo
for(x=0; x<10; x++) printf(“ %d”, x); // imprime o valor da variavel x em
// cada iteração do laço
Laço de Repetição for
Laço for encadeado
Chamada
void main()
{
programa principal;
}
Funções
Ou declarar antes e definir no final
void main()
{
programa principal;
}