SlideShare uma empresa Scribd logo
COMANDOS DE DECISÃO
Disciplina: Introdução à Ciência da Computação
Professora: Cindy Fernandes
cindy.fernandes@unifesspa.edu.br ↔ cindystella@ufpa.br
COMANDOS DE DECISÃO
Expressões Lógicas
Decisão Simples
EXPRESSÕES LÓGICAS
Em C, não existe um tipo específico para a representação de valores lógicos.
Entretanto, qualquer valor pode ser interpretado como um valor lógico:
“zero representa falso e qualquer outro valor representa verdade”.
Por exemplo:
5, –3, 1.2 e 'a' são verdadeiros, enquanto 0 e 4 – 4 são falsos.
0 representa o valor lógico "falso"
1 representa o valor lógico "verdade"
Para gerar um valor lógico, usamos os operadores relacionais. Através deles podemos
comparar dois valores de diversas formas.
O resultado da avaliação de um operador relacional é 0 se a comparação é falsa e 1 se
verdadeira.
printf("%d %d", 5<6, 6>7);
A saída produzida pela instrução será 1 0.
Além dos operadores relacionais, C oferece também operadores lógicos.
Com eles, podemos criar expressões lógicas compostas.
Os operadores lógicos funcionam conforme as regras definidas na lógica matemática.
Numa expressão contendo operadores aritméticos, relacionais e lógicos, a
avaliação é efetuada na seguinte ordem:
• Primeiro avaliam-se todos os operadores aritméticos;
• Em seguida, avaliam-se os operadores relacionais;
• Só então, avaliam-se os operadores lógicos.
Exercício Qual a saída produzida pela instrução a seguir?
printf("%d %d %d %d", !3, !0, 3+'a'>'b'+2 && !'b', 1 || !2 && 3);
Exercício Qual a saída produzida pela instrução a seguir?
printf("%d %d %d %d", !3, !0, 3+'a'>'b'+2 && !'b', 1 || !2 && 3);
!3 => NOT 3 operação lógica que diz que isso só é
verdade(1) se e somente se o operador for
falso(0); nesse caso operador ≠ 0
!0 => NOT 0 operação lógica que diz que isso só é
verdade(1) se e somente se o operador for
falso(0); nesse caso operador = 0
3+'a'>'b'+2 && !’b’ 1º operação aritmetica
2º operação logica que diz que isso
só é verdade(1) se e somente se x e y
forem verdade;
1 || !2 && 3
Verd 0 AND 1
0
operação lógica que diz que isso
só é verdade(1) se e somente se x
ou y for verdade;
DECISÃO SIMPLES
A estrutura condicional ou de decisão simples serve para escolher um entre
dois comandos alternativos.
Em C, a estrutura condicional é codificada da seguinte forma:
if( condição ) comando1; else comando2;
avalia a condição, que deve ser uma
expressão lógica;
se a condição for verdadeira, executa
apenas o comando1;
senão, executa apenas o comando2.
O uso de decisão simples
O programa solicita as duas notas obtidas
pelo aluno, calcula sua média e,
em função desse valor, decide se o aluno
está ou não aprovado.
Pode ser que um dos comandos
alternativos, ou ambos, seja composto
por mais de uma instrução.
Nesse caso, teríamos que usar blocos,
agrupando as instruções em cada
alternativa dentro de um par de
chaves.
No Dev, ou qualquer outra IDE, quando
quero mudar a cor tanto das fontes como do
fundo da tela, utilizo a função system, dessa
forma: system("color XY"). onde X é a cor
de fundo da tela e Y a cor da letra que podem
ser escolhidas nessa "tabela", onde a primeira
coluna é a cor de fundo e a segunda cor da
letra. Exemplo: fundo preto e letras verdes
Também pode acontecer de não haver duas alternativas numa decisão simples, ou seja, ou o
comando é executado ou, então, nada é feito.
O programa do problema a seguir exemplifica isso.
“Em uma empresa paga-se R$ 19,50 a hora e recolhe-se para o imposto de renda 10% dos salários
acima de R$ 1.500,00. Dado o número de horas trabalhadas por um funcionário, informar o valor do
seu salário líquido”.
Obviamente, para calcular o salário bruto, basta multiplicar o número de horas trabalhadas pelo
valor pago por hora. O salário líquido será igual ao salário bruto, a menos que o seu valor exceda o
limite de R$ 1500,00. Nesse caso, o salário líquido será apenas 90% do salário bruto.
Exercícios
1. Dados dois números distintos, informe qual deles é o maior. Entre pelo teclado com os
dois números e imprima o maior.
2. Dado um ano, informe se ele é ou não bissexto*. [Dica: um ano é bissexto se é divisível
por 4 mas não por 100. Também são bissextos os divisíveis por 400].
3. Uma empresa determinou um reajuste salarial de 5% a todos os seus funcionários. Além
disto, concedeu um abono de R$ 100,00 para aqueles que recebem até R$ 750,00. Dado o
valor do salário de um funcionário, informar para quanto ele será reajustado.
* No caso do Calendário Gregoriano este dia extra é incluído no final do mês de fevereiro, que passa a ter 29 dias (ano com 366
dias) em lugar dos 28 dias de anos normais (ano de 365 dias).
Exercícios
1. Dados dois números distintos, informe qual deles é o maior. Entre pelo teclado com os
dois números e imprima o maior.
Exercícios
2. Dado um ano, informe se ele é ou não bissexto*. [Dica: um ano é bissexto se é divisível
por 4 mas não por 100. Também são bissextos os divisíveis por 400].
Exercícios
3. Uma empresa determinou um reajuste salarial de 5% a todos os seus funcionários. Além
disto, concedeu um abono de R$ 100,00 para aqueles que recebem até R$ 750,00. Dado o
valor do salário de um funcionário, informar para quanto ele será reajustado.
CONDICIONAIS ANINHADOS E ENCADEADOS
A estrutura condicional serve para selecionar e executar um entre dois comandos
alternativos.
É possível que, algumas vezes, um destes comandos alternativos (ou ambos) sejam
também condicionais.
Nesse caso, dizemos que o primeiro condicional é o principal e o outro está aninhado ou
encadeado, conforme indicado a seguir:
Para exemplificar o uso desses condicionais, vamos considerar o seguinte problema:
“Dados três números verificar se eles podem representar as medidas dos lados de um
triângulo e, se puderem, classificar o triângulo em equilátero, isósceles ou escaleno”.
Para codificar o programa, devemos lembrar das seguintes definições:
“Dados três números verificar se eles podem representar as medidas dos lados de um triângulo e, se puderem, classificar o
triângulo em equilátero, isósceles ou escaleno”.
Exercício
Numa faculdade, os alunos com
média pelo menos 7,0 são
aprovados, aqueles com média
inferior a 3,0 são reprovados e os
demais ficam de recuperação.
Dadas as duas notas de um aluno,
informe sua situação.
DECISÃO MÚLTIPLA
A estrutura de decisão múltipla é bastante adequada quando precisamos escolher uma
entre várias alternativas previamente definidas.
Por exemplo num menu. A decisão múltipla tem a seguinte forma básica:
switch( expressão ) {
case constante1 : comando1; break;
case constante2 : comando2; break;
...
case constanten : comandon; break;
default : comando;}
Funciona da seguinte maneira:
① Avalia a expressão, que deve ser do tipo char ou int;
② Encontra o case cuja constante é igual ao valor da expressão e executa
todos os comandos seguintes até encontrar um comando break;
③ Se não existe tal caso, executa as instruções associadas ao caso default.
O caso default é opcional e, embora seja geralmente posicionado no final do bloco
switch, ele pode aparecer em qualquer posição entre os case´s especificados.
Note que, embora o comando break seja quase sempre usado juntamente com o comando
switch, ele não faz parte da sintaxe desse comando.
Se dois casos não são separados por um comando break, dizemos que o controle
"vaza" de um caso para o outro, ou seja, quando o primeiro caso é selecionado para execução,
não apenas o comando associado a ele é executado, mas também o comando associado ao
segundo.
//cond6.c
A seguir, a estrutura de decisão múltipla é usada para implementar uma calculadora:
O usuário digita uma expressão da forma val1 oper val2
E o programa fornece-lhe seu valor como resposta.
//cond7.c
Não existe restrição alguma quanto aos tipos de comandos que podem estar
associados a um determinado case dentro do comando switch.
Por exemplo, suponha que antes de efetuar uma divisão seja necessário verificar se o
divisor é realmente diferente de zero.
Nesse caso, teríamos que incluir um comando if dentro do switch; isso pode ser feito
sem nenhum problema.
Usando if dentro do switch.
...
Quando executada, a função exit() interrompe a execução do programa.
EXPRESSÕES COMPACTAS
Quando codificamos um programa, frequentemente temos a necessidade de escrever
expressões da forma variável = variável operador expressão. Para facilitar, C oferece um
grupo especial de operadores de atribuição que nos permitem escrever essas expressões
numa forma mais compacta.
OPERADORES ARITMÉTICOS DE ATRIBUIÇÃO
Os operadores aritméticos de atribuição combinam, num único operador, uma operação
aritmética e uma atribuição.
Por exemplo, a expressão x = x+3pode ser escrita como x += 3.
O operador += adiciona o valor da expressão à sua direita ao valor da variável à sua
esquerda e armazena o resultado nessa mesma variável.
Em geral, os compiladores geram um código executável mais rápido quando essas
abreviações são utilizadas
Cap3 icc final
INCREMENTO E DECREMENTO
Se uma expressão incrementa ou decrementa o valor da variável, podemos então escrevê-
la numa forma ainda mais compacta.
Para incrementar usamos o operador ++ e para decrementar usamos o operador −−.
Esses operadores são unários e podem ser usados tanto na forma prefixa quanto posfixa.
• forma prefixa: ++variável, −−variável
• forma posfixa: variável++, variável−−
Operadores de incremento e decremento.
...
int x=5, y=5;
++x;
y––;
printf(“n x=%d y=%d”, x, y);
...
Como esperado, a saída produzida pelo código acima será x=6 y=4.
A diferença entre usar um operador na forma prefixa ou posfixa aparece
somente quanto ele é utilizado numa expressão, juntamente com outros
operadores. Neste caso, o funcionamento é o seguinte:
• na forma prefixa, a variável é alterada e, depois, seu valor é usado.
• na forma posfixa, o valor da variável é usado e, depois, ela é alterada.
Exemplo 3.2. Operadores de incremento e decremento.
...
int x=5, y=5, v, w;
v = ++x;
w = y––;
printf(“n x=%d y=%d v=%d w=%d”, x, y, v, w);
...
Agora, a saída produzida pelo código será x=6 y=4 v=6 w=5.
Seja x=5 e considere a instrução y = x++ + ++x.
Quais os valores das variáveis x e y após a execução dessa instrução? Por quê?

Mais conteúdo relacionado

PDF
Aula 7 - Expressões Aritméticas e Lógicas
PPTX
2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão
PDF
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
PDF
Alg aula 02 - algoritmos 1 tp1
PDF
Apostila c++
PPT
Exercicios Php
PDF
Lista de exercício resposta
PPTX
Algoritmos 1 - Semana 2
Aula 7 - Expressões Aritméticas e Lógicas
2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Alg aula 02 - algoritmos 1 tp1
Apostila c++
Exercicios Php
Lista de exercício resposta
Algoritmos 1 - Semana 2

Mais procurados (20)

PDF
Eeep aderson borges phpmysql 20112020 operadores em php
PDF
Conceitos e técnicas de programação lista de exercícios i
ODP
Linguagem C/C++: Condições ou expressões lógicas
PDF
Fundamentos de logica de programação
PDF
Algoritmos - capítulo 6
PPT
Lógica De Programação
PDF
Lista de exercicios algoritmos com pseudocodigo
PPT
Lógica de Programação - Estrutura condicional
PDF
Caderno de exercicios algoritmos-v.1.3
PPSX
Lógica de Programação
PDF
53297189 apostila-algoritmo-e-logica-i
ODT
Lista Exercicios 05
PDF
Manual lindo 6.1
PPTX
Logica de Programacao
TXT
Exercicios resolvidos visu alg vetores
PDF
Curso De Algoritmo Aula 9
PPTX
Aula 05 Vetores
PPT
Algoritmo
PDF
Algoritmos e lp parte3-pseudocódigo
Eeep aderson borges phpmysql 20112020 operadores em php
Conceitos e técnicas de programação lista de exercícios i
Linguagem C/C++: Condições ou expressões lógicas
Fundamentos de logica de programação
Algoritmos - capítulo 6
Lógica De Programação
Lista de exercicios algoritmos com pseudocodigo
Lógica de Programação - Estrutura condicional
Caderno de exercicios algoritmos-v.1.3
Lógica de Programação
53297189 apostila-algoritmo-e-logica-i
Lista Exercicios 05
Manual lindo 6.1
Logica de Programacao
Exercicios resolvidos visu alg vetores
Curso De Algoritmo Aula 9
Aula 05 Vetores
Algoritmo
Algoritmos e lp parte3-pseudocódigo
Anúncio

Semelhante a Cap3 icc final (20)

PPTX
ALGORITMOS E LOGICA DE PROGRAMAÇÃO ARDUINO.pptx
PDF
0000364 aula 5 estruturas de decisão
PDF
aula 03 linguagem de programacao pyhton.pdf
PPTX
Lógica de programação
PPTX
UFCD 0783 - apresentação das aulaC/C++s.pptx
PPTX
Introducao a Lógica de Programação
PPT
Slide Exercícios Repetição#1 programação de computadores e
ODP
Aula03 - JavaScript
PPTX
02 controle de fluxo
PDF
Formulas excel
PDF
Cap08
PDF
Cap08
PPTX
Google android p/ Noobs - SUPER 2014 - UPE
PPTX
Visualg
PPTX
Estrutura de repetição
ODP
aula 04 - Logica de programacao
PPTX
002 - ESTRUTURA E VARIAVEIS DE DADOS.pptx
PDF
mod2-mecanismos
PPTX
PDF
Formulas excel para facilitar o dia a dia
ALGORITMOS E LOGICA DE PROGRAMAÇÃO ARDUINO.pptx
0000364 aula 5 estruturas de decisão
aula 03 linguagem de programacao pyhton.pdf
Lógica de programação
UFCD 0783 - apresentação das aulaC/C++s.pptx
Introducao a Lógica de Programação
Slide Exercícios Repetição#1 programação de computadores e
Aula03 - JavaScript
02 controle de fluxo
Formulas excel
Cap08
Cap08
Google android p/ Noobs - SUPER 2014 - UPE
Visualg
Estrutura de repetição
aula 04 - Logica de programacao
002 - ESTRUTURA E VARIAVEIS DE DADOS.pptx
mod2-mecanismos
Formulas excel para facilitar o dia a dia
Anúncio

Último (20)

PPT
DIFERENTES SINTOMAS E SINAIS DE PLANTAS.
PDF
Boas práticas em rebobinamento trifásico .pdf
PPT
1 - Introdução a disciplina ciencia o solo.ppt
PDF
Projecto Fotovoltaico de um sistema de abastecimento de agua
PDF
Normas, higiene e segurança na soldadura eléctrica
PDF
Material referente ao método kanban f2ms
PPTX
PROCEDIMENTOS DE BLOQUEIO- Executante.pptx
PPT
Curso de NR 10 para segurança do trabalho
PPT
O gênero resumo O gênero resumo O gênero
PPTX
Aula 04 - Fisica teorica e experimental.pptx
PPTX
Introducao a Olericultura I E CLASSIFICAÇÃO
PDF
Aula_04 gestão da manutenção _Custos da manutencão.pdf
PPTX
Treinamento em powerpoint para integração de colaboradores em fábrica de pequ...
PPTX
TREINAMENTO DE NORMA REGULAMENTADORA NR2
PPTX
Integração SMS introdutorio 111111111111
PDF
MIP - soja.- pragas da cultura e seu controle
PDF
Material referente a introdução a instr.
PDF
Artigo sobre industria de petroleo em pdf
PDF
Aula 01 INT. EnnnnnnnnnnnnnnENF.pdf 2.pdf
PPTX
Fund-proc-moagem-carvaoerde_PPT_v007.pptx
DIFERENTES SINTOMAS E SINAIS DE PLANTAS.
Boas práticas em rebobinamento trifásico .pdf
1 - Introdução a disciplina ciencia o solo.ppt
Projecto Fotovoltaico de um sistema de abastecimento de agua
Normas, higiene e segurança na soldadura eléctrica
Material referente ao método kanban f2ms
PROCEDIMENTOS DE BLOQUEIO- Executante.pptx
Curso de NR 10 para segurança do trabalho
O gênero resumo O gênero resumo O gênero
Aula 04 - Fisica teorica e experimental.pptx
Introducao a Olericultura I E CLASSIFICAÇÃO
Aula_04 gestão da manutenção _Custos da manutencão.pdf
Treinamento em powerpoint para integração de colaboradores em fábrica de pequ...
TREINAMENTO DE NORMA REGULAMENTADORA NR2
Integração SMS introdutorio 111111111111
MIP - soja.- pragas da cultura e seu controle
Material referente a introdução a instr.
Artigo sobre industria de petroleo em pdf
Aula 01 INT. EnnnnnnnnnnnnnnENF.pdf 2.pdf
Fund-proc-moagem-carvaoerde_PPT_v007.pptx

Cap3 icc final

  • 1. COMANDOS DE DECISÃO Disciplina: Introdução à Ciência da Computação Professora: Cindy Fernandes cindy.fernandes@unifesspa.edu.br ↔ cindystella@ufpa.br
  • 2. COMANDOS DE DECISÃO Expressões Lógicas Decisão Simples
  • 3. EXPRESSÕES LÓGICAS Em C, não existe um tipo específico para a representação de valores lógicos. Entretanto, qualquer valor pode ser interpretado como um valor lógico: “zero representa falso e qualquer outro valor representa verdade”. Por exemplo: 5, –3, 1.2 e 'a' são verdadeiros, enquanto 0 e 4 – 4 são falsos. 0 representa o valor lógico "falso" 1 representa o valor lógico "verdade"
  • 4. Para gerar um valor lógico, usamos os operadores relacionais. Através deles podemos comparar dois valores de diversas formas. O resultado da avaliação de um operador relacional é 0 se a comparação é falsa e 1 se verdadeira. printf("%d %d", 5<6, 6>7); A saída produzida pela instrução será 1 0.
  • 5. Além dos operadores relacionais, C oferece também operadores lógicos. Com eles, podemos criar expressões lógicas compostas. Os operadores lógicos funcionam conforme as regras definidas na lógica matemática.
  • 6. Numa expressão contendo operadores aritméticos, relacionais e lógicos, a avaliação é efetuada na seguinte ordem: • Primeiro avaliam-se todos os operadores aritméticos; • Em seguida, avaliam-se os operadores relacionais; • Só então, avaliam-se os operadores lógicos. Exercício Qual a saída produzida pela instrução a seguir? printf("%d %d %d %d", !3, !0, 3+'a'>'b'+2 && !'b', 1 || !2 && 3);
  • 7. Exercício Qual a saída produzida pela instrução a seguir? printf("%d %d %d %d", !3, !0, 3+'a'>'b'+2 && !'b', 1 || !2 && 3); !3 => NOT 3 operação lógica que diz que isso só é verdade(1) se e somente se o operador for falso(0); nesse caso operador ≠ 0 !0 => NOT 0 operação lógica que diz que isso só é verdade(1) se e somente se o operador for falso(0); nesse caso operador = 0 3+'a'>'b'+2 && !’b’ 1º operação aritmetica 2º operação logica que diz que isso só é verdade(1) se e somente se x e y forem verdade; 1 || !2 && 3 Verd 0 AND 1 0 operação lógica que diz que isso só é verdade(1) se e somente se x ou y for verdade;
  • 8. DECISÃO SIMPLES A estrutura condicional ou de decisão simples serve para escolher um entre dois comandos alternativos. Em C, a estrutura condicional é codificada da seguinte forma: if( condição ) comando1; else comando2; avalia a condição, que deve ser uma expressão lógica; se a condição for verdadeira, executa apenas o comando1; senão, executa apenas o comando2.
  • 9. O uso de decisão simples O programa solicita as duas notas obtidas pelo aluno, calcula sua média e, em função desse valor, decide se o aluno está ou não aprovado. Pode ser que um dos comandos alternativos, ou ambos, seja composto por mais de uma instrução. Nesse caso, teríamos que usar blocos, agrupando as instruções em cada alternativa dentro de um par de chaves.
  • 10. No Dev, ou qualquer outra IDE, quando quero mudar a cor tanto das fontes como do fundo da tela, utilizo a função system, dessa forma: system("color XY"). onde X é a cor de fundo da tela e Y a cor da letra que podem ser escolhidas nessa "tabela", onde a primeira coluna é a cor de fundo e a segunda cor da letra. Exemplo: fundo preto e letras verdes
  • 11. Também pode acontecer de não haver duas alternativas numa decisão simples, ou seja, ou o comando é executado ou, então, nada é feito. O programa do problema a seguir exemplifica isso.
  • 12. “Em uma empresa paga-se R$ 19,50 a hora e recolhe-se para o imposto de renda 10% dos salários acima de R$ 1.500,00. Dado o número de horas trabalhadas por um funcionário, informar o valor do seu salário líquido”. Obviamente, para calcular o salário bruto, basta multiplicar o número de horas trabalhadas pelo valor pago por hora. O salário líquido será igual ao salário bruto, a menos que o seu valor exceda o limite de R$ 1500,00. Nesse caso, o salário líquido será apenas 90% do salário bruto.
  • 13. Exercícios 1. Dados dois números distintos, informe qual deles é o maior. Entre pelo teclado com os dois números e imprima o maior. 2. Dado um ano, informe se ele é ou não bissexto*. [Dica: um ano é bissexto se é divisível por 4 mas não por 100. Também são bissextos os divisíveis por 400]. 3. Uma empresa determinou um reajuste salarial de 5% a todos os seus funcionários. Além disto, concedeu um abono de R$ 100,00 para aqueles que recebem até R$ 750,00. Dado o valor do salário de um funcionário, informar para quanto ele será reajustado. * No caso do Calendário Gregoriano este dia extra é incluído no final do mês de fevereiro, que passa a ter 29 dias (ano com 366 dias) em lugar dos 28 dias de anos normais (ano de 365 dias).
  • 14. Exercícios 1. Dados dois números distintos, informe qual deles é o maior. Entre pelo teclado com os dois números e imprima o maior.
  • 15. Exercícios 2. Dado um ano, informe se ele é ou não bissexto*. [Dica: um ano é bissexto se é divisível por 4 mas não por 100. Também são bissextos os divisíveis por 400].
  • 16. Exercícios 3. Uma empresa determinou um reajuste salarial de 5% a todos os seus funcionários. Além disto, concedeu um abono de R$ 100,00 para aqueles que recebem até R$ 750,00. Dado o valor do salário de um funcionário, informar para quanto ele será reajustado.
  • 17. CONDICIONAIS ANINHADOS E ENCADEADOS A estrutura condicional serve para selecionar e executar um entre dois comandos alternativos. É possível que, algumas vezes, um destes comandos alternativos (ou ambos) sejam também condicionais. Nesse caso, dizemos que o primeiro condicional é o principal e o outro está aninhado ou encadeado, conforme indicado a seguir:
  • 18. Para exemplificar o uso desses condicionais, vamos considerar o seguinte problema: “Dados três números verificar se eles podem representar as medidas dos lados de um triângulo e, se puderem, classificar o triângulo em equilátero, isósceles ou escaleno”. Para codificar o programa, devemos lembrar das seguintes definições:
  • 19. “Dados três números verificar se eles podem representar as medidas dos lados de um triângulo e, se puderem, classificar o triângulo em equilátero, isósceles ou escaleno”.
  • 20. Exercício Numa faculdade, os alunos com média pelo menos 7,0 são aprovados, aqueles com média inferior a 3,0 são reprovados e os demais ficam de recuperação. Dadas as duas notas de um aluno, informe sua situação.
  • 21. DECISÃO MÚLTIPLA A estrutura de decisão múltipla é bastante adequada quando precisamos escolher uma entre várias alternativas previamente definidas. Por exemplo num menu. A decisão múltipla tem a seguinte forma básica: switch( expressão ) { case constante1 : comando1; break; case constante2 : comando2; break; ... case constanten : comandon; break; default : comando;} Funciona da seguinte maneira: ① Avalia a expressão, que deve ser do tipo char ou int; ② Encontra o case cuja constante é igual ao valor da expressão e executa todos os comandos seguintes até encontrar um comando break; ③ Se não existe tal caso, executa as instruções associadas ao caso default.
  • 22. O caso default é opcional e, embora seja geralmente posicionado no final do bloco switch, ele pode aparecer em qualquer posição entre os case´s especificados. Note que, embora o comando break seja quase sempre usado juntamente com o comando switch, ele não faz parte da sintaxe desse comando. Se dois casos não são separados por um comando break, dizemos que o controle "vaza" de um caso para o outro, ou seja, quando o primeiro caso é selecionado para execução, não apenas o comando associado a ele é executado, mas também o comando associado ao segundo.
  • 24. A seguir, a estrutura de decisão múltipla é usada para implementar uma calculadora: O usuário digita uma expressão da forma val1 oper val2 E o programa fornece-lhe seu valor como resposta. //cond7.c
  • 25. Não existe restrição alguma quanto aos tipos de comandos que podem estar associados a um determinado case dentro do comando switch. Por exemplo, suponha que antes de efetuar uma divisão seja necessário verificar se o divisor é realmente diferente de zero. Nesse caso, teríamos que incluir um comando if dentro do switch; isso pode ser feito sem nenhum problema. Usando if dentro do switch. ... Quando executada, a função exit() interrompe a execução do programa.
  • 26. EXPRESSÕES COMPACTAS Quando codificamos um programa, frequentemente temos a necessidade de escrever expressões da forma variável = variável operador expressão. Para facilitar, C oferece um grupo especial de operadores de atribuição que nos permitem escrever essas expressões numa forma mais compacta. OPERADORES ARITMÉTICOS DE ATRIBUIÇÃO Os operadores aritméticos de atribuição combinam, num único operador, uma operação aritmética e uma atribuição. Por exemplo, a expressão x = x+3pode ser escrita como x += 3. O operador += adiciona o valor da expressão à sua direita ao valor da variável à sua esquerda e armazena o resultado nessa mesma variável. Em geral, os compiladores geram um código executável mais rápido quando essas abreviações são utilizadas
  • 28. INCREMENTO E DECREMENTO Se uma expressão incrementa ou decrementa o valor da variável, podemos então escrevê- la numa forma ainda mais compacta. Para incrementar usamos o operador ++ e para decrementar usamos o operador −−. Esses operadores são unários e podem ser usados tanto na forma prefixa quanto posfixa. • forma prefixa: ++variável, −−variável • forma posfixa: variável++, variável−− Operadores de incremento e decremento. ... int x=5, y=5; ++x; y––; printf(“n x=%d y=%d”, x, y); ... Como esperado, a saída produzida pelo código acima será x=6 y=4.
  • 29. A diferença entre usar um operador na forma prefixa ou posfixa aparece somente quanto ele é utilizado numa expressão, juntamente com outros operadores. Neste caso, o funcionamento é o seguinte: • na forma prefixa, a variável é alterada e, depois, seu valor é usado. • na forma posfixa, o valor da variável é usado e, depois, ela é alterada. Exemplo 3.2. Operadores de incremento e decremento. ... int x=5, y=5, v, w; v = ++x; w = y––; printf(“n x=%d y=%d v=%d w=%d”, x, y, v, w); ... Agora, a saída produzida pelo código será x=6 y=4 v=6 w=5. Seja x=5 e considere a instrução y = x++ + ++x. Quais os valores das variáveis x e y após a execução dessa instrução? Por quê?