As Operações Aritméticas em c

30
As operações aritméticas tradicionais são a adição, a subtração, a multiplicação e a divisão, embora operações mais avançadas (tais como as manipulações de porcentagens, raiz quadrada, exponenciação e funções logarítmicas) também sejam por vezes incluídas neste ramo. A aritmética desenrola-se em obediência a uma ordem de operações. A aritmética abrange o estudo de algoritmos manuais para a realização de operações com os números naturais, inteiros, racionais (na forma de frações) e reais. Tais operações, no entanto, podem ser realizadas com o uso de ferramentas como calculadoras, computadores ou o ábaco, o que não lhes tira o carácter aritmético. Operadores Aritméticos e de Atribuição As linguagens de programação dispões de uma variedade considerável de operadores aritméticos, Os operadores aritméticos são usados para desenvolver operações matemáticas. A seguir apresentamos a lista dos operadores aritméticos do C: Operador + - * / % ++ -- Ação Soma (inteira e ponto flutuante) Subtração ou Troca de sinal (inteira e ponto flutuante) Multiplicação (inteira e ponto flutuante) Divisão (inteira e ponto flutuante) Resto de divisão (de inteiros) Incremento (inteiro e ponto flutuante) Decremento (inteiro e ponto flutuante) O C possui operadores unários e binários. Os unários agem sobre uma variável apenas, modificando ou não o seu valor, e retornam o valor final da variável. Os binários usam duas variáveis e retornam um terceiro valor, sem alterar as variáveis originais. A soma é um operador binário pois pega

description

principais tipos de operadores matemáticos em linguagem c

Transcript of As Operações Aritméticas em c

As operaes aritmticas tradicionais so a adio, a subtrao, a multiplicao e a diviso, embora operaes mais avanadas (tais como as manipulaes de porcentagens, raiz quadrada, exponenciao e funes logartmicas) tambm sejam por vezes includas neste ramo. A aritmtica desenrola-se em obedincia a uma ordem de operaes.A aritmtica abrange o estudo de algoritmos manuais para a realizao de operaes com os nmeros naturais, inteiros, racionais (na forma de fraes) e reais. Tais operaes, no entanto, podem ser realizadas com o uso de ferramentas como calculadoras, computadores ou o baco, o que no lhes tira o carcter aritmtico.Operadores Aritmticos e de AtribuioAs linguagens de programao dispes de uma variedade considervel de operadores aritmticos, Os operadores aritmticos so usados para desenvolver operaes matemticas. A seguir apresentamos a lista dos operadores aritmticos do C: Operador + - * / % ++ --Ao Soma (inteira e ponto flutuante) Subtrao ou Troca de sinal (inteira e ponto flutuante) Multiplicao (inteira e ponto flutuante) Diviso (inteira e ponto flutuante) Resto de diviso (de inteiros) Incremento (inteiro e ponto flutuante) Decremento (inteiro e ponto flutuante)

O C possui operadores unrios e binrios. Os unrios agem sobre uma varivel apenas, modificando ou no o seu valor, e retornam o valor final da varivel. Os binrios usam duas variveis e retornam um terceiro valor, sem alterar as variveis originais. A soma um operador binrio pois pega duas variveis, soma seus valores, sem alterar as variveis, e retorna esta soma. Outros operadores binrios so os operadores - (subtrao), *, / e %. O operador - como troca de sinal um operador unrio que no altera a varivel sobre a qual aplicado, pois ele retorna o valor da varivel multiplicado por -1. O operador / (diviso) quando aplicado a variveis inteiras, nos fornece o resultado da diviso inteira; quando aplicado a variveis em ponto flutuante nos fornece o resultado da diviso "real". Assim seja o seguinte trecho de cdigo: int a = 17, b = 3; int x, y; float z = 17. , z1, z2; x = a / b; y = a % b; z1 = z / b; z2 = a/b;ao final da execuo destas linhas, os valores calculados seriam x = 5, y = 2, z1 = 5.666666 e z2 = 5.0 . Note que na linha correspondente a z2, primeiramente feita uma diviso inteira (pois os dois operandos so inteiros). Somente aps efetuada a diviso que o resultado atribudo a uma varivel float. Os operadores de incremento e decremento so unrios que alteram a varivel sobre a qual esto aplicados. O que eles fazem incrementar ou decrementar, a varivel sobre a qual esto aplicados, de 1. Ento x++; x--;so equivalentes a x=x+1; x=x-1;Estes operadores podem ser pr-fixados ou ps- fixados. A diferena que quando so pr-fixados eles incrementam e retornam o valor da varivel j incrementada. Quando so ps-fixados eles retornam o valor da varivel sem o incremento e depois incrementam a varivel. Ento, em x=23; y=x++;teremos, no final, y=23 e x=24. Em x=23; y=++x;teremos, no final, y=24 e x=24. Uma curiosidade: a linguagem de programao C++ tem este nome pois ela seria um "incremento" da linguagem C padro. A linguagem C++ igual a linguagem C s que com extenses que permitem a programao orientada a objeto, o que um recurso extra. O operador de atribuio do C o =. O que ele faz pegar o valor direita e atribuir varivel da esquerda. Alm disto ele retorna o valor que ele atribuiu. Isto faz com que as seguintes expresses sejam vlidas: x=y=z=1.5; /* Expressao 1 */

if (k=w) ... /* Expressao 2 */A expresso 1 vlida, pois quando fazemos z=1.5 ela retorna 1.5, que passado adiante. A expresso dois ser verdadeira se w for diferente de zero, pois este ser o valor retornado por k=w. Pense bem antes de usar a expresso dois, pois ela pode gerar erros de interpretao. Voc no est comparando k e w. Voc est atribuindo o valor de w a k e usando este valor para tomar a deciso. As linguagens de programao dispes de uma variedade considervel de operadores aritmticos, e como veremos posteriormente, a linguagem C e C++ tm um grande conjunto de operadores. Reportemo-nos por agora aos mais comuns.Trataremos aqui de conhecer: Os operadores aritmticos Expresses aritmticas Regras de Precedncia e Associao Regras de AvaliaoOperadores AritmticosOs operadores aritmticos esto implementados na generalidade das linguagens de programa, ainda que possam ter algumas ligeiras variaes em alguns casos.Os operadores podem subdividir-se em: Operadores unrios - por envolverem apenas um operador Operadores binrios - por envolverem dois operadores Operadores de atribuio - por permitirem a atribuio de um valor a uma varivel Operadores especiais - existentes em algumas linguagens como a C e C++Operadores unrios (de sinal)

OperadormenosmaisSmbolo-*Exemplo- x+ xOperaonegao de xvalor do operando

.O operador de sinal no deve ser confundido com o operador subtraco e soma, pois apesar de utilizarem o mesmo smbolo, so operadores diferentes.Assim nos seguintes exemplo:supondo que m = 5 ento -m ser igual a -5.supondo a expresso j = 3 - - xesta ser interpretada como sendo J = 3 - ( -x )Operadores binrios

OperadormultiplicaodivisosomasubtracoSmbolo*/+-Exemplox * yx / yx + yx - yOperaomultiplica x por ydivide x por ysoma x a yde x subtrai y

Em relao aos operadores de atribuio, a generalidade das linguagens implementa o operador igual, sendo que a linguagem C e C++ implementam outros que veremos posteriormente aquando do estudo das linguagens.Operador de atribuio

OperadorigualSmbolo=Exemplox = yOperaoatribui o valor de Y a x

Operador especialAlgumas linguagens dispem ainda de um operador ou funo que permite calcular o resto da diviso inteira de dois nmeros, .que representaremos por agora por resto(x,y).assim por exemplo o resto(9,5) 4Veremos posteriormente algumas aplicaes deste operador.Expresses aritmticasUma das capacidades mais importante do computador a facilidade de manipulao de expresses matemticas mais ou menos complexas, pelo que de importncia capital a compreenso da forma como estas so tratadas.Um programa depois de escrito passa, como vimos, por um processo de compilao antes da sua execuo efectiva. No processo de compilao so executadas, entre outras tarefas a interpretao das declaraes do programa e o estabelecimento da sequncia de operaes a serem executadas a propsito de cada uma delas.No caso das expresses aritmticas este processo executado tendo em ateno duas propriedades fundamentais, a precedncia e a associao. Estas propriedades afectam a forma como os operadores so aos operadores. A precedncia - estabelece que os operadores de maior precedncia tm os seus operandos atribudos antes dos de menor precedncia, independentemente da ordem em que surjam na expresso. Veja a tabela de precedncias e associao.Considere os seguintes exemplos:2 + 3 * 43 * 4 + 2Em ambos os casos a expresso avaliada em 14. Isto acontece porque primeiro executada a multiplicao por ter maior precedncia e s depois a soma. A associao - estabelece, no caso dos operadores terem a mesma precedncia, a ordem pela qual os operandos sero agrupado, da esquerda para a direita ou da direita para a esquerda. Esta propriedade estabelecida para cada operador. Veja a tabela de precedncia e associao que se segue.Considere o seguinte exemplo:a + b - cEsta expresso ser agrupada da esquerda para a direita, de acordo com as suas propriedades de associao, pelo que a ordem ser primeiro a soma e s depois a subtraco.So tambm utilizados os parntesis curvos para a criao de expresses matemticas, que impem uma determinada ordem de agrupamento.Considere os seguintes exemplos:( 2 - 3 ) * 42 - ( 2 * 4)No primeiro exemplo seria avaliado primeiro o parntesis ( 2 - 3 ) e s depois seria efectuada a multiplicao.No segundo exemplo os parntesis seriam desnecessrios j que a multiplicao tem precedncia relativamente subtraco. No entanto, uma boa prtica que, mesmo que irrelevantes sejam utilizados os parntesis mesmo nas expresses mais simples.No caso de expresses com parntesis encaixados, a ordem de agrupamento do mais interior ao mais exterior, sendo aplicada a propriedade da associatividade correspondente aos operadores envolvidos.Assim na seguinte expresso 1 + ( ( 3 + 1 ) / ( 8 - 4 ) - 5 ) a ordem de agrupamento ser:1 + ( ( 3 + 1 ) / ( 8 - 4 ) - 5 ) 1 + ( 4 / ( 8 - 4 ) - 5 )1 + (4 / 4 - 5)1 + ( 1 - 5 )1 + - 4- 3Regras de Precedncia e AssociaoClasse do operadorunriosmultiplicativoaditivorelacionaisigualdadeANDORatribuioOperadores da classe- + ! * / Resto()+ - == &&||=Associatividadedireita / esquerdaEsquerda / direitaesquerda / direitaesquerda / direitaesquerda / direitaesquerda / direitaesquerda / direitadireita / esquerdaPrecednciamaior

menor

Voltaremos a este assunto a propsito das linguagens de programao.Regras de AvaliaoComo foi referido anteriormente, a avaliao um processo distinto, constituindo uma propriedade importante. Esta refere-se ordem pela qual o compilador avalia os operadores. Os compiladores reorganizam as expresses desde que esta no afecte o resultado.Chama-se a ateno para o facto de a diviso poder levantar alguns problemas em alguns compiladores, especialmente quando esto envolvidos operandos de tipos diferentes ou operandos negativos.No caso dos operandos serem de tipo diferente devemos forar a converso entre tipos.Relativamente aos operandos negativos, estes devem ser evitados..

Conhecendo os operadores aritmticos em C++ Operadores Aritimticos C++

TipoOperadorSintaxe

Adio+a + b

Subtrao-a - b

Multiplicao*a * b

Diviso/a / b

Mdulo(resto)%5 % 2 (resulta 1)

Pr incremento++++a

Ps incremento++a++

Pr decremento----a

Ps decremento--a--

Atribuio por adio+=a += b o mesmo que (a= a+b)

Atribuio por subtrao-=a -= b o mesmo que (a= a-b)

Atribuio por multiplicao*=a *= b o mesmo que (a= a*b)

Atribuio por diviso/=a /= b o mesmo que (a= a/b)

Atribuio por mdulo%=a%=b o mesmo que (a= a%b)

Operadores relacionais ou comparativos como o prprio nome diz, oferecem a possibilidade de estabelecer uma relao comparativa/condicional entre seus operandos.

Preparamos uma tabela contendo os operadores relacionais/comparativos em C++ e suas funes:

Operadores Relacionais C++

TipoOperadorSintaxe

Menor que a > b

Menor ou igual que= b

Igual a==a == b

Diferente de!=a != b

No (Lgico)!!a

E (Lgico)&&a && b

Ou (Lgico)||a || b

Exemplos de comportamento

OperadorRetorno ( verdadeiro / falso )

< Menor que

30 < 20falso

30 < 60verdadeiro

30 < 30falso

> Maior que

30 > 1verdadeiro

30 > 100falso

30 > 29verdadeiro

= 40falso

== Igual a

30 == 30verdadeiro

30 == 32falso

!= Diferente de

30 != 20verdadeiro

30 != 10verdadeiro

30 != 30falso

! No

!(30 == 30)falso

!(30 > 10)falso

!(30 < 1)verdadeiro

&& E

(10 > 1 && 1>=1)verdadeiro

(10 != 11 && 1>2)falso

|| Ou

(10 > 20 || 30 > 20)verdadeiro

(40 != 10 || 20==30)verdadeiro

Operadores Lgicos E (&&), OU (||) e de Negao (!) Vimos no artigo passado de nossa apostila de C, uma explicao sobre valores lgicos true ou false em computao.

Vamos agora entrar mais em detalhes e ver como possvel representar informaes apenas com true ou false, 1 ou 0.E bem como o artigo passado, usaremos apenas idias e conceitos, nada de cdigo por hora.Operador lgico 'E' em linguagem C: &&Vamos supor que voc passou em um concurso, o cargo para ser programador e trabalhar para o governo.No edital voc leu: necessrio ser brasileiro e ser maior de 18 anos.

Ou seja, voc s pode fazer esse concurso se for brasileiro E TAMBM se tiver de 18 anos ou mais.Se for brasileiro mas tiver menos de 18 anos, no pode.Se tiver mais de 18 anos mas no for brasileiro, tambm no pode.

Ou seja: todas as condies devem ser obedecidas para termos um resultado positivo (que no caso poder fazer o concurso).

Vamos agora trazer para o nosso mundo da programao em linguagem C.Esse E, vamos representar por &&

Ento, para fazer o concurso: (ser brasileiro) && (ter 18 anos ou mais)Vamos supor que voc brasileiro. Vamos representar esse fato como '1', pois verdade.Vamos supor que voc tem 18 anos, representaremos isso pelo valor lgico '1' tambm.

Ento: 1 && 1 resulta em verdade, ou 1.

E se voc for menor?Nossa expresso fica: 1 && 0, que resulta em resultado negativo, ou 0. Ento voc no pode fazer o concurso.Operador lgico 'OU' em linguagem C: ||Vamos supor que voc quer trabalhar em outro pas, no Canad por exemplo.Para isso ser possvel voc deve ser canadense OU ser casado com uma canadense.

Se voc for canadense, mas no for casado com uma, pode trabalhar? Sim, pode.Se voc no Operadores Lgicos E (&&), OU (||) e de Negao (!)Vimos no artigo passado de nossa apostila de C, uma explicao sobre valores lgicos true ou false em computao.

Vamos agora entrar mais em detalhes e ver como possvel representar informaes apenas com true ou false, 1 ou 0.E bem como o artigo passado, usaremos apenas idias e conceitos, nada de cdigo por hora.

Operador lgico 'E' em linguagem C: &&Vamos supor que voc passou em um concurso, o cargo para ser programador e trabalhar para o governo.No edital voc leu: necessrio ser brasileiro e ser maior de 18 anos.

Ou seja, voc s pode fazer esse concurso se for brasileiro E TAMBM se tiver de 18 anos ou mais.Se for brasileiro mas tiver menos de 18 anos, no pode.Se tiver mais de 18 anos mas no for brasileiro, tambm no pode.

Ou seja: todas as condies devem ser obedecidas para termos um resultado positivo (que no caso poder fazer o concurso).

Vamos agora trazer para o nosso mundo da programao em linguagem C.Esse E, vamos representar por &&

Ento, para fazer o concurso: (ser brasileiro) && (ter 18 anos ou mais)Vamos supor que voc brasileiro. Vamos representar esse fato como '1', pois verdade.Vamos supor que voc tem 18 anos, representaremos isso pelo valor lgico '1' tambm.

Ento: 1 && 1 resulta em verdade, ou 1.

E se voc for menor?Nossa expresso fica: 1 && 0, que resulta em resultado negativo, ou 0. Ento voc no pode fazer o concurso.

Operador lgico 'OU' em linguagem C: ||Vamos supor que voc quer trabalhar em outro pas, no Canad por exemplo.Para isso ser possvel voc deve ser canadense OU ser casado com uma canadense.

Se voc for canadense, mas no for casado com uma, pode trabalhar? Sim, pode.Se voc no for canadense, mas for casado com uma canadense, pode trabalhar l? Sim, pode.

Pode porque para isso ser possvel (para ser verdade), necessrio ser canadense OU ser casado com uma.Preenchendo apenas um dos requisitos, voc est apto e o resultado positivo.E se voc for canadense e casado com uma canadense? Ora, bvio que pode tambm.

Esse OU ser representado em programao pelo smbolo: ||

Ento: "1 || 0" resulta em valor lgico verdadeiro (true, ou 1)"0 || 1" tambm, assim como "1 || 1" tambm vai resultar em valor lgico verdadeiro.

Assim, para expresses que possuem a condio OU (||), se uma das condies for verdadeira, toda a sentena ser.E para a expresso ser falsa, todas as condies devem ser falsas.

Bem bvio, no?

Operador lgico de negao em linguagem C: !Agora est bem claro pra voc que as condies e expresses ou so verdadeiras (true ou 1) ou so falsas (false ou 0).

Quando queremos negar algo, colocamos o smbolo ! antes do que queremos negar.Por exemplo, 1 + 1 dois?A resposta sim, ou '1'. Ou '!0', pois o contrrio de 0 1.

2 + 2 trs? Falso ou 0. Ou '!1', pois o contrrio de 1 0

Operadores Lgicos E (&&), OU (||) e de Negao (!)Vimos no artigo passado de nossa apostila de C, uma explicao sobre valores lgicos true ou false em computao.

Vamos agora entrar mais em detalhes e ver como possvel representar informaes apenas com true ou false, 1 ou 0.E bem como o artigo passado, usaremos apenas idias e conceitos, nada de cdigo por hora.

Operador lgico 'E' em linguagem C: &&Vamos supor que voc passou em um concurso, o cargo para ser programador e trabalhar para o governo.No edital voc leu: necessrio ser brasileiro e ser maior de 18 anos.

Ou seja, voc s pode fazer esse concurso se for brasileiro E TAMBM se tiver de 18 anos ou mais.Se for brasileiro mas tiver menos de 18 anos, no pode.Se tiver mais de 18 anos mas no for brasileiro, tambm no pode.

Ou seja: todas as condies devem ser obedecidas para termos um resultado positivo (que no caso poder fazer o concurso).

Vamos agora trazer para o nosso mundo da programao em linguagem C.Esse E, vamos representar por &&

Ento, para fazer o concurso: (ser brasileiro) && (ter 18 anos ou mais)Vamos supor que voc brasileiro. Vamos representar esse fato como '1', pois verdade.Vamos supor que voc tem 18 anos, representaremos isso pelo valor lgico '1' tambm.

Ento: 1 && 1 resulta em verdade, ou 1.

E se voc for menor?Nossa expresso fica: 1 && 0, que resulta em resultado negativo, ou 0. Ento voc no pode fazer o concurso.

Operador lgico 'OU' em linguagem C: ||Vamos supor que voc quer trabalhar em outro pas, no Canad por exemplo.Para isso ser possvel voc deve ser canadense OU ser casado com uma canadense.

Se voc for canadense, mas no for casado com uma, pode trabalhar? Sim, pode.Se voc no for canadense, mas for casado com uma canadense, pode trabalhar l? Sim, pode.

Pode porque para isso ser possvel (para ser verdade), necessrio ser canadense OU ser casado com uma.Preenchendo apenas um dos requisitos, voc est apto e o resultado positivo.E se voc for canadense e casado com uma canadense? Ora, bvio que pode tambm.

Esse OU ser representado em programao pelo smbolo: ||

Ento: "1 || 0" resulta em valor lgico verdadeiro (true, ou 1)"0 || 1" tambm, assim como "1 || 1" tambm vai resultar em valor lgico verdadeiro.

Assim, para expresses que possuem a condio OU (||), se uma das condies for verdadeira, toda a sentena ser.E para a expresso ser falsa, todas as condies devem ser falsas.

Bem bvio, no?

Operador lgico de negao em linguagem C: !Agora est bem claro pra voc que as condies e expresses ou so verdadeiras (true ou 1) ou so falsas (false ou 0).

Quando queremos negar algo, colocamos o smbolo ! antes do que queremos negar.Por exemplo, 1 + 1 dois?A resposta sim, ou '1'. Ou '!0', pois o contrrio de 0 1.

2 + 2 trs? Falso ou 0. Ou '!1', pois o contrrio de 1 0

Operadores Lgicos E (&&), OU (||) e de Negao (!)Vimos no artigo passado de nossa apostila de C, uma explicao sobre valores lgicos true ou false em computao.

Vamos agora entrar mais em detalhes e ver como possvel representar informaes apenas com true ou false, 1 ou 0.E bem como o artigo passado, usaremos apenas idias e conceitos, nada de cdigo por hora.

Operador lgico 'E' em linguagem C: &&Vamos supor que voc passou em um concurso, o cargo para ser programador e trabalhar para o governo.No edital voc leu: necessrio ser brasileiro e ser maior de 18 anos.

Ou seja, voc s pode fazer esse concurso se for brasileiro E TAMBM se tiver de 18 anos ou mais.Se for brasileiro mas tiver menos de 18 anos, no pode.Se tiver mais de 18 anos mas no for brasileiro, tambm no pode.

Ou seja: todas as condies devem ser obedecidas para termos um resultado positivo (que no caso poder fazer o concurso).

Vamos agora trazer para o nosso mundo da programao em linguagem C.Esse E, vamos representar por &&

Ento, para fazer o concurso: (ser brasileiro) && (ter 18 anos ou mais)Vamos supor que voc brasileiro. Vamos representar esse fato como '1', pois verdade.Vamos supor que voc tem 18 anos, representaremos isso pelo valor lgico '1' tambm.

Ento: 1 && 1 resulta em verdade, ou 1.

E se voc for menor?Nossa expresso fica: 1 && 0, que resulta em resultado negativo, ou 0. Ento voc no pode fazer o concurso.

Operador lgico 'OU' em linguagem C: ||Vamos supor que voc quer trabalhar em outro pas, no Canad por exemplo.Para isso ser possvel voc deve ser canadense OU ser casado com uma canadense.

Se voc for canadense, mas no for casado com uma, pode trabalhar? Sim, pode.Se voc no for canadense, mas for casado com uma canadense, pode trabalhar l? Sim, pode.

Pode porque para isso ser possvel (para ser verdade), necessrio ser canadense OU ser casado com uma.Preenchendo apenas um dos requisitos, voc est apto e o resultado positivo.E se voc for canadense e casado com uma canadense? Ora, bvio que pode tambm.

Esse OU ser representado em programao pelo smbolo: ||

Ento: "1 || 0" resulta em valor lgico verdadeiro (true, ou 1)"0 || 1" tambm, assim como "1 || 1" tambm vai resultar em valor lgico verdadeiro.

Assim, para expresses que possuem a condio OU (||), se uma das condies for verdadeira, toda a sentena ser.E para a expresso ser falsa, todas as condies devem ser falsas.

Bem bvio, no?

Operador lgico de negao em linguagem C: !Agora est bem claro pra voc que as condies e expresses ou so verdadeiras (true ou 1) ou so falsas (false ou 0).

Quando queremos negar algo, colocamos o smbolo ! antes do que queremos negar.Por exemplo, 1 + 1 dois?A resposta sim, ou '1'. Ou '!0', pois o contrrio de 0 1.

2 + 2 trs? Falso ou 0. Ou '!1', pois o contrrio de 1 0

Operadores Lgicos E (&&), OU (||) e de Negao (!)Vimos no artigo passado de nossa apostila de C, uma explicao sobre valores lgicos true ou false em computao.

Vamos agora entrar mais em detalhes e ver como possvel representar informaes apenas com true ou false, 1 ou 0.E bem como o artigo passado, usaremos apenas idias e conceitos, nada de cdigo por hora.

Operador lgico 'E' em linguagem C: &&Vamos supor que voc passou em um concurso, o cargo para ser programador e trabalhar para o governo.No edital voc leu: necessrio ser brasileiro e ser maior de 18 anos.

Ou seja, voc s pode fazer esse concurso se for brasileiro E TAMBM se tiver de 18 anos ou mais.Se for brasileiro mas tiver menos de 18 anos, no pode.Se tiver mais de 18 anos mas no for brasileiro, tambm no pode.

Ou seja: todas as condies devem ser obedecidas para termos um resultado positivo (que no caso poder fazer o concurso).

Vamos agora trazer para o nosso mundo da programao em linguagem C.Esse E, vamos representar por &&

Ento, para fazer o concurso: (ser brasileiro) && (ter 18 anos ou mais)Vamos supor que voc brasileiro. Vamos representar esse fato como '1', pois verdade.Vamos supor que voc tem 18 anos, representaremos isso pelo valor lgico '1' tambm.

Ento: 1 && 1 resulta em verdade, ou 1.

E se voc for menor?Nossa expresso fica: 1 && 0, que resulta em resultado negativo, ou 0. Ento voc no pode fazer o concurso.

Operador lgico 'OU' em linguagem C: ||Vamos supor que voc quer trabalhar em outro pas, no Canad por exemplo.Para isso ser possvel voc deve ser canadense OU ser casado com uma canadense.

Se voc for canadense, mas no for casado com uma, pode trabalhar? Sim, pode.Se voc no for canadense, mas for casado com uma canadense, pode trabalhar l? Sim, pode.

Pode porque para isso ser possvel (para ser verdade), necessrio ser canadense OU ser casado com uma.Preenchendo apenas um dos requisitos, voc est apto e o resultado positivo.E se voc for canadense e casado com uma canadense? Ora, bvio que pode tambm.

Esse OU ser representado em programao pelo smbolo: ||

Ento: "1 || 0" resulta em valor lgico verdadeiro (true, ou 1)"0 || 1" tambm, assim como "1 || 1" tambm vai resultar em valor lgico verdadeiro.

Assim, para expresses que possuem a condio OU (||), se uma das condies for verdadeira, toda a sentena ser.E para a expresso ser falsa, todas as condies devem ser falsas.

Bem bvio, no?

Operador lgico de negao em linguagem C: !Agora est bem claro pra voc que as condies e expresses ou so verdadeiras (true ou 1) ou so falsas (false ou 0).

Quando queremos negar algo, colocamos o smbolo ! antes do que queremos negar.Por exemplo, 1 + 1 dois?A resposta sim, ou '1'. Ou '!0', pois o contrrio de 0 1.

2 + 2 trs? Falso ou 0. Ou '!1', pois o contrrio de 1 0