Primeiro analise os seguintes comandos abaixo:
int a = 10, b = 20, c = 30, d = 40, e = 50;
a = a + 7; ==> a += 7;
b = b - 4; ==> b -= 4;
c = c * 5; ==> c *= 5;
d = d / 3; ==> d /= 3;
e = e % 9; ==> e %= 9;
É muito comum quando estamos programando atribuir um determinado valor
a uma variável, aliás, isto é fato, uma variável sem valor pode exibir lixo
na saída, bons compiladores detectam quando uma variável precisa ser inicializada.
Más o que ocorre é que muitas vêzes temos que atribuir o resultado de uma
expressão a uma variável, e se ela já possui um valor será atualizado com o
novo valor da expressão.
O que quero mostrar aqui é uma técnica adotada por C usando uma forma abreviada,
estas abreviações estão do lado direito das atribuições mostrada no exemplo acima.
Estas operações são equivalentes e cabe ao bom programador utilizá-las.
Os operadores +=, -=, *=, /=, e %= chamam-se operadores aritiméticos de atribuição
e o seu uso é fácil e recomendável.
Veja abaixo uma imagem exemplo do programa em execução:
int a = 10, b = 20, c = 30, d = 40, e = 50;
a = a + 7; ==> a += 7;
b = b - 4; ==> b -= 4;
c = c * 5; ==> c *= 5;
d = d / 3; ==> d /= 3;
e = e % 9; ==> e %= 9;
É muito comum quando estamos programando atribuir um determinado valor
a uma variável, aliás, isto é fato, uma variável sem valor pode exibir lixo
na saída, bons compiladores detectam quando uma variável precisa ser inicializada.
Más o que ocorre é que muitas vêzes temos que atribuir o resultado de uma
expressão a uma variável, e se ela já possui um valor será atualizado com o
novo valor da expressão.
O que quero mostrar aqui é uma técnica adotada por C usando uma forma abreviada,
estas abreviações estão do lado direito das atribuições mostrada no exemplo acima.
Estas operações são equivalentes e cabe ao bom programador utilizá-las.
Os operadores +=, -=, *=, /=, e %= chamam-se operadores aritiméticos de atribuição
e o seu uso é fácil e recomendável.
Veja abaixo uma imagem exemplo do programa em execução:
Veja abaixo o código do programa:
#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 <= 16 ) {
textcolor ( a );
}
if ( 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
OPERADORES ARITIMÉTICOS DE ATRIBUIÇÃO" );
got_color ( 2, 25, 3, 79, 0, 15 );
textcolor ( LIGHTRED );
gotoxy ( 22, 3 );
printf ( "OPERADORES
ARITIMÉTICOS DE ATRIBUIÇÃO" );
int a = 10, b = 20, c = 30, d = 40, e = 50;
a += 7;
//a = a + 7 ;
b -= 4;
//b = b - 4 ;
c *= 5;
//c = c * 5 ;
d /= 3;
//d = d / 3 ;
e %= 9;
//e = e % 9 ;
textcolor ( LIGHTBLUE );
gotoxy ( 12, 5 );
printf ( "Declaramos as
variáveis e atribuímos um valor a cada uma" );
textcolor ( BLACK );
gotoxy ( 12, 7 );
printf ( "int a = 10, b = 20, c = 30, d = 40, e = 50;" );
textcolor ( LIGHTRED );
gotoxy ( 12, 9 );
printf ( "Atribuição
normal%19sAtribuição abreviada", " ");//Formatação de saída
com printf
textcolor ( LIGHTBLUE );
gotoxy ( 12, 11 );
printf ( "a = a +
7;%14s==>%12sa += 7;", " ", " " );//Formatação de saída
com printf
textcolor ( LIGHTRED );
printf ( " %d", a );
textcolor ( LIGHTBLUE );
gotoxy ( 12, 12 );
printf ( "b = b -
4;%14s==>%12sb -= 4;", " ", " " );//Formatação de saída
com printf
textcolor ( LIGHTRED );
printf ( " %d", b );
textcolor ( LIGHTBLUE );
gotoxy ( 12, 13 );
printf ( "c = c *
5;%14s==>%12sc *= 5;", " ", " " );//Formatação de saída
com printf
textcolor ( LIGHTRED );
printf ( " %d", c );
textcolor ( LIGHTBLUE );
gotoxy ( 12, 14 );
printf ( "d = d /
3;%14s==>%12sd /= 3;", " ", " " );//Formatação de saída
com printf
textcolor ( LIGHTRED );
printf ( " %d", d );
textcolor ( LIGHTBLUE );
gotoxy ( 12, 15 );
printf ( "e = e %%
9;%14s==>%12se %%= 9;", " ", " " );//Formatação de saída
com printf
textcolor ( LIGHTRED );
printf ( " %d", e );
Sleep ( 1800 );
textcolor ( LIGHTBLUE );
gotoxy ( 26, 19 );
printf ( "Por: " );
textcolor ( LIGHTMAGENTA );
printf ( "Samuel Lima" );
textcolor ( BLACK );
gotoxy ( 26, 20 );
printf ( "sa_sp10@hotmail.com" );
Sleep ( 1800 );
textcolor ( LIGHTRED );
gotoxy ( 37, 23 );
printf ( "MUITO
OBRIGADO" );
getche ( );
}