Programar em C/Operadores: diferenças entre revisões

35 bytes removidos ,  16h55min de 12 de março de 2013
sem resumo de edição
m (Abacaxi moveu a página C/Operadores para Programar em C/Operadores: Incluindo um capítulo para falar de todos os operadores em geral.)
Sem resumo de edição
{{fusão|Programar em C}}
{{reciclagem}}
 
{| border 1
|
#include <iostreamstdio.h>
using namespace std;
int main(void)
{
int firstOp = 10, secondOp = 4;
float result = (float) firstOp / secondOp;
cout << firstOp << printf("%d / "%d << secondOp <<= %f\n", = "firstOp, <<secondOp, result );
system (“pause”);
return 0;
}
Podemos utilizar qualquer uma das expressões seguintes para exprimir o tycasting.
 
float result = (float) firstOp / secondOp;
float result = float (firstOp) / secondOp;
float result = firstOp / (float) secondOp;
float result = firstOp / float (secondOp);
 
== Expoentes ==
 
O cC e o C++ não temtêm o operador expoente, no entanto, tem a função pow (de power) que está no ficheirocabeçalho da biblioteca standardpadrão <cmathmath.h>. a função pow() tem 2 argumentos, o primeiro para a base e o 2º para o expoente. o 1º argumento tem de ser float ou long floatdouble.
 
== Operadores relacionais ==
 
Voçê poderia se perguntar: Como é que o computador faz essa comparação ? de onde é que ele sabe que um número A é maior que outro B?
 
'''Resposta''': Considere que você quisesse comparar dois dados tipo char, lembrando que um char na verdade é um número inteiro na tabela ASCII. Sendo assim suponha que gostarias de comparar o caractere 'a' que é igual a 97 na tabela ascii com o caractere 't' que é 116 na tabela; assim, ao comparar 97 com 116 o que aconteçe na memória é a comparação de 01100001 (97) com 01110100 (116) em um registrador específico, vão sendo somadas as potências de 2 da esquerda para a direita de forma que fica evidente para ele (o registrador) quem é maior. Isso é o que aconteçe quando comparamos duas strings com a função strcmp e ela retorna um número para a diferença entre elas. Esse número é justamente a diferença entre os valores da tabela ASCII entre o primeiro caractere das duas.
 
notar o operador == que é a comparação de igualdade. o operador = é de atribuição.
 
Estes operadores também são binários, ie, comparam dois operandos.
 
Estes operadores também são binários mas desta vez os operandos são resultados boolean, que podem advir dos operadores relacionais (comparação) pois davam valores boolean.
* Para o operador and (&&) – basta uma das comparações ser falsa paro resultado ser falso
* Para o operador or (||) – basta uma das comparações dos operandos ser verdadeira para se tornar verdadeira
* Por fim o operador not— é um operador unário – é apenas para um valor boolean que pode ser resultado de comparação
 
Exemplo:
exemplo
* if (age <= 12 || age >= 65)
* cout << printf("Admission is free");
* else
* cout << printf("You have to pay");
 
== Precedência Operadores lógicos e Relacionais ==
* ( (5 == 5) && (3 > 6) ) // evaluates to false ( true && false ).
* ( (5 == 5) || (3 > 6) ) // evaluates to true ( true || false ).
 
{{AutoCat}}
5 622

edições