Em primeiro momento é bom não confundir o operador lógico OU ( || ) do C
com o operador OU bit a bit.
Este operador OU do qual estou falando testa duas expressões
Booleanas ( 0 ou 1 ) cujo os resultados são verdadeiro ou falso.
Já o operador OU bit a bit é muito usado para manipulação de bits.
Na verdade o operador OU (||) parece ser menos rigoroso que o operador E (&&)
Usando o operador E as duas condições tem que ser verdadeiras para que seja
executado os seus comandos em seu corpo.
Já o operador OU precisa que apenas uma de suas condições seja verdadeira
para que os comandos em seu corpo seja executado.
Se ambas condições forem falsas nada é executado no seu bloco de comando,
e o programa segue seu curso normal chamando o que vem pela frente.
Para mostrar como isto acontece criei este exemplo prático e funcional.
Veja abaixo imagens do programa em execução:
Veja abaixo o código do programa em execução:
com o operador OU bit a bit.
Este operador OU do qual estou falando testa duas expressões
Booleanas ( 0 ou 1 ) cujo os resultados são verdadeiro ou falso.
Já o operador OU bit a bit é muito usado para manipulação de bits.
Na verdade o operador OU (||) parece ser menos rigoroso que o operador E (&&)
Usando o operador E as duas condições tem que ser verdadeiras para que seja
executado os seus comandos em seu corpo.
Já o operador OU precisa que apenas uma de suas condições seja verdadeira
para que os comandos em seu corpo seja executado.
Se ambas condições forem falsas nada é executado no seu bloco de comando,
e o programa segue seu curso normal chamando o que vem pela frente.
Para mostrar como isto acontece criei este exemplo prático e funcional.
Veja abaixo imagens do programa em execução:
Veja abaixo o código do programa em execução:
#include <stdio.h>
#include <conio.h>
void got_color ( int tam_lin_ini, int tam_lin_fim, int tam_ini_col,
int tam_fim_col, int a, int b ) {
int i, c;
if ( a >= 1 && a <= 16 ) {
textcolor ( a );
}
if ( b >= 1 && b <= 16 ) {
textbackground ( b );
}
for ( i = tam_lin_ini; i < tam_lin_fim; i++ ) {
for ( c = tam_ini_col; c < tam_fim_col; c++ ) {
gotoxy ( c, i );
printf ( " " );
}
}
}
int main ( ) {
system ( "title
OPERADOR LÓGICO OU" );
got_color ( 2, 25, 3, 79, 9, 15 );
int dia, mes;
textcolor ( LIGHTRED );
gotoxy ( 33, 3 );
printf ( "OPERADOR LÓGICO
OU" );
textcolor ( LIGHTBLUE );
gotoxy ( 20, 5 );
printf ( "Digite o mês
do seu nascimento: " );
textcolor ( LIGHTRED );
scanf ( "%d", &mes );
textcolor ( LIGHTBLUE );
gotoxy ( 20, 7 );
printf ( "Digite a data
do seu nascimento: " );
textcolor ( LIGHTRED );
scanf ( "%d", &dia );
if ( ( mes == 1 ) || ( dia <= 21 ) ) {
textcolor ( LIGHTBLUE );
gotoxy ( 30, 9 );
printf ( "Seu sígno é
capricórnio" );
Sleep ( 1800 );
textcolor ( BLACK );
gotoxy ( 30, 11 );
printf ( "Bom verão
capricorniano" );
} else {
textcolor ( LIGHTBLUE );
gotoxy ( 30, 9 );
printf ( "Duas condições
falsas" );
}
textcolor ( LIGHTBLUE );
gotoxy ( 26, 14 );
Sleep ( 1800 );
printf ( "Por: " );
textcolor ( LIGHTMAGENTA );
printf ( "Samuel
Lima" );
textcolor ( BLACK );
gotoxy ( 26, 15 );
printf ( "sa_sp10@hotmail.com" );
Sleep ( 1800 );
textcolor ( LIGHTRED );
gotoxy ( 37, 23 );
printf ( "MUITO
OBRIGADO" );
getche ( );
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.