O C possui um operador impressionante e que em algumas vêzes
pode-se tornar necessário para substituição dos comandos if-else
testando expressões, e mostrando o resultado das avaliações em printf();
O seu nome é "ternário" e o seu símbolo é ?, sua forma de uso é apresentado assim:
expressão1 ? expressão2 : expressão3;
É importante sempre observar o uso dos dois pontos para não haver erros de posicionamento.
Não há muito o que falar sobre ele, basicamente ele funciona testando
a primeira expressão, se ela for verdadeira, testamos a segunda e o que vem
dentro do corpo da segunda expressão passa ser o valor da expressão.
Se a primeira expressão for tida como falsa, o C já salta para terceira
expressão e o que está em seu corpo será o valor da expressão.
Para ilustrar na prática o que falei em cima mostro este claro exemplo
acompanhado de uma imagem do programa em execução, acompanhe:
Veja abaixo o código do programa:
pode-se tornar necessário para substituição dos comandos if-else
testando expressões, e mostrando o resultado das avaliações em printf();
O seu nome é "ternário" e o seu símbolo é ?, sua forma de uso é apresentado assim:
expressão1 ? expressão2 : expressão3;
É importante sempre observar o uso dos dois pontos para não haver erros de posicionamento.
Não há muito o que falar sobre ele, basicamente ele funciona testando
a primeira expressão, se ela for verdadeira, testamos a segunda e o que vem
dentro do corpo da segunda expressão passa ser o valor da expressão.
Se a primeira expressão for tida como falsa, o C já salta para terceira
expressão e o que está em seu corpo será o valor da expressão.
Para ilustrar na prática o que falei em cima mostro este claro exemplo
acompanhado de uma imagem do programa em execução, acompanhe:
#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 TERNÁRIO" );
got_color ( 2, 25, 3, 79, 9, 15 );
int a = 7;
int b;
textcolor ( LIGHTRED );
gotoxy ( 33, 3 );
printf ( "OPERADOR TERNÁRIO" );
textcolor ( LIGHTBLUE );
gotoxy ( 23, 5 );
printf ( "Avaliando a
variável a que recebe " );
textcolor ( LIGHTRED );
printf ( "%d", a );
b = ( a == 7 ) ? 23 : 56; //verdadeiro
textcolor ( LIGHTBLUE );
gotoxy ( 23, 7 );
printf ( "b = ( a == 7
) ? 23 : 56; //verdadeiro " );
textcolor ( LIGHTRED );
printf ( "%d", b );
b = ( a <= 7 ) ? 23 : 56; //verdadeiro
textcolor ( LIGHTBLUE );
gotoxy ( 23, 9 );
printf ( "b = ( a <=
7 ) ? 23 : 56; //verdadeiro " );
textcolor ( LIGHTRED );
printf ( "%d", b );
b = ( a >= 7 ) ? 23 : 56; //verdadeiro
textcolor ( LIGHTBLUE );
gotoxy ( 23, 11 );
printf ( "b = ( a >=
7 ) ? 23 : 56; //verdadeiro " );
textcolor ( LIGHTRED );
printf ( "%d", b );
/////////////////////////////////////////////////////////////////
b = ( a != 7 ) ? 23 : 56; //Falso
textcolor ( LIGHTBLUE );
gotoxy ( 23, 13 );
printf ( "b = ( a != 7 ) ? 23 : 56; //falso " );
textcolor ( LIGHTRED );
printf ( "%d", b );
b = ( a > 7 ) ? 23 : 56; //falso
textcolor ( LIGHTBLUE );
gotoxy ( 23, 15 );
printf ( "b = ( a > 7 ) ? 23 : 56; //falso " );
textcolor ( LIGHTRED );
printf ( "%d", b );
b = ( a < 7 ) ? 23 : 56; //falso
textcolor ( LIGHTBLUE );
gotoxy ( 23, 17 );
printf ( "b = ( a < 7 ) ? 23 : 56; //falso " );
textcolor ( LIGHTRED );
printf ( "%d", b );
Sleep ( 1800 );
textcolor ( LIGHTBLUE );
gotoxy ( 22, 19 );
printf ( "Por: " );
textcolor ( LIGHTMAGENTA );
printf ( "Samuel Lima" );
textcolor ( BLACK );
gotoxy ( 22, 20 );
printf ( "sa_sp10@hotmail.com" );
Sleep ( 1800 );
textcolor ( LIGHTRED );
gotoxy ( 37, 23 );
printf ( "MUITO
OBRIGADO" );
getche ( );
return 0;
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.