Introdução à linguagem C, Operadores
Sejam bem vindos ao curso de introdução à linguagem de programação C, nesta aula iremos aprender sobre operadores.
Operadores
Operadores são instruções para que o computador faça manipulações matemáticas ou lógicas, nesta aula iremos ver os operadores aritméticos, que fazem manipulaões matemáticas.
Operadores Aritméticos
A tabela abaixo demonstra os operadores e seus respectivos exemplos:
Operador | Finalidade | Exemplo | Resultado |
---|---|---|---|
+ | Adição | 2 + 1 | 3 |
- | Subtração | 5 - 2 | 3 |
* | Multiplicação | 3 * 3 | 9 |
/ | Divisão | 8 / 2 | 4 |
% | Divisão euclidiana (Resto) | 5 % 2 | 1 |
Exemplo de programa:
int soma = 10 + 20 + 30;
int sub = 90 - 45;
double div = 30 / 10;
double mult = 10 * 4;
int resto = 10 % 3;
printf("Soma: %d \n", soma);
printf("Subtracao: %d \n", (90 - 45));
printf("divisao: %lf \n", div);
printf("multiplicacao: %lf \n", mult);
printf("Resto: %d \n", resto);
Operadores de incremento e decremento
O operador de incremento (++) soma 1 ao seu operando enquanto que o de decremento (--) subtrai 1. A tabela abaixo mostra os dois tipos de uso:
Operador | Intrução | Pré-fixado | Pós-fixado |
---|---|---|---|
++ | var = var + 1 | ++var | var++ |
-- | var = var - 1 | --var | var-- |
A diferança entre o pós-fixado e o pré-fixado é que o primeiro executa o incremento e depois a instrução, enquanto o segundo executa a instrução e depois o incremento, o programa a seguir exemplifica:
#include <stdio.h>
int main() {
int inc1, inc2;
inc1 = 10;
inc2 = ++inc1;
printf("Exemplo de incremento inc1: %d\n", inc1);
printf("Exemplo de incremento inc2: %d\n", inc2);
}
Saída:
Exemplo de incremento inc1: 11
Exemplo de incremento inc2: 11
#include <stdio.h>
int main() {
int inc1, inc2;
inc1 = 10;
inc2 = inc1++;
printf("Exemplo de incremento inc1: %d\n", inc1);
printf("Exemplo de incremento inc2: %d\n", inc2);
}
Saída:
Exemplo de incremento inc1: 11
Exemplo de incremento inc2: 10
A mudança é sensível e o leitor precisa tomar cuidado para não confundilos.
Casting
Este recurso força um determinado valor assumir um determinado tipo, exemplo:
#include <stdio.h>
int main() {
int var1 = (int) 10/3;
printf("Exemplo de casting: %d\n", var1);
}
Saída:
Exemplo de casting: 3;
Precedência
É a prioridade com que os operadores são executados pelo compilador. Caso os operadores tenham o mesmo nível de precedência eles são analisados da esquerda para direita:
Precedência | Operador |
---|---|
Alta | Incremento, decremento, multiplicação, divisão e módulo. |
Baixa | Soma, subtração. |
O uso de parenteses faz com que a precedência de operadores mude, mudando também o resultado final, exemplo:
10/2+3+1 = 9;
10/(2+3)+1 = 6;
Existem ainda os operadores relacionais, lógicos e bit a bit que serão vistos na próxima aula.
Função scanf
Esta função fica dentro da biblioteca stdio e é responsável por ler a entrada padrão, que no nosso caso é o teclado. Ela recebe como primeiro parâmetro uma string contendo a sequência do tipo a ser lido, os demais parâmetros são as variáveis que receberão os valores lidos. Obs: É necessário utilizar o ‘&’ na frente do nome da variável, esta instrução será explicada mais a frente.
Exemplo:
#include <stdio.h>
int main() {
int n1, n2;
printf("Entre com dois numeros inteiro:\n");
scanf("%d%d", &n1, &n2);
printf("Voce digitou: %d e %d \n", n1, n2);
}
Saída:
Voce digitou: 3 e 7;
Comentários
Comentários são partes do código que serão ignoradas pelo compilador, é bastante útil para organização do programa. Existem dois tipos de comentários: o de linha e de várias linhas, como se pode ver abaixo:
#include <stdio.h>
int main() {
int n1, n2; //comentário que será ignorado.
printf("Entre com dois numeros inteiro:\n");
scanf("%d%d", &n1, &n2);
printf("Voce digitou: %d e %d \n", n1, n2);
/*
Comentário
de varias
linhas
*/
}
Saída:
Voce digitou: 3 e 7;