Comandos de Seleção Única em C

Na linguagem C temos comandos para avaliar expressões e selecionar aquela ou aquelas que forem verdadeiras
Mais precisamente isto significa executar o bloco de comandos que está subordinado à expressão que resultou em verdadeiro


if – Sem Alternativa

Sintaxe:
if(condição)
{
   instruções;
}



Neste tipo de avaliação condicional há uma expressão sendo avaliada e caso ela resulte em verdadeiro o bloco de instruções que a segue é executado.
Caso resulte em falso o bloco é saltado.
Os delimitadores de bloco de instruções { e } somente são obrigatórios caso o bloco tenha mais que uma instruções.

Exemplo:
#include <stdio.h>
#include <conio.h>


void main()
{
int a,b;
printf("Entre com dois numeros: \n");
scanf("%d %d",&a,&b);
if(a == b)
{
printf("Os Numeros sao Iguais");
}
getch();
}

if – Com Alternativa

Sintaxe:
if(condição)
{
   instruções;
}
else
{
   instruções
}



Nesta seleção há uma expressão de teste, que se a expressão resultar em verdadeiro é executado o bloco de instruções que segue o if, caso contrário, é executado o bloco que segue o else.
Exemplo:
#include <stdio.h>
#include <conio.h>

void main()
{
int a,b;
printf("Entre com dois numeros: \n");
scanf("%d %d",&a,&b);
if(a == b)
{
printf("Os Numeros sao Iguais");
}
else
{
printf("Os Numeros sao Diferentes");
}
getch();
}

if – Mais que uma Condição

Sintaxe:
if(condição)
{
   instruções;
}
else if(condição)
{   instruções;
}
else if(condição)
{
   instruções;
}
....
else
{
   instruções;
}

Exemplo:

#include <stdio.h>
#include <conio.h>

void main()
{
int a,b;
printf("Entre com dois numeros: \n");
scanf("%d %d",&a,&b);
if(a > b)
{
printf("O primeiro e maior que o segundo");
}
else if (a < b)
{
printf("O primeiro e menor que o segundo");
}
else
{
printf("Os numeros sao iguais");
}
getch();
}

Operador Ternário “? :”

Sintaxe:
Expressão_de_teste ? 
               Expressão_executada_se_verdadeiro :
               Expressão_executada_se_falso;

Um comando idêntico ao comando de seleção onde há uma expressão de teste com uma alternativa (if-else) é o operador “? :”
Este operador é preferível quando for necessário utilizar uma expressão de teste mais sintética.
Este operador é denominado de ternário pois requer três operandos.

Exemplo:
#include <stdio.h>
#include <conio.h>

void main()
{
int a,b;
printf("Entre com dois numeros: \n");
scanf("%d %d",&a,&b);

a == b ? printf("Iguais") :  printf("Diferentes");

//    tambem poderiamos fazer
// printf("%s", a == b ? "Iguais" : "Diferentes");

getch();
}

Outro Exemplo

int a,b,maior;
printf("Entre com dois numeros: \n");
scanf("%d %d",&a,&b);

maior = a > b ? a : b;
printf("\n Maior = %d",maior);

 maior recebe o valor de a ou de b

Exercícios:
Construa um programa capaz de informar se um número inteiro é par ou impar:
Solução:
#include <stdio.h>
#include <conio.h>

void main()
{
int numero;
printf("Entre com um numero: ");
scanf("%d",&numero);

if((numero % 2) == 0)
printf("Numero par");
else printf("Numero impar");

//   (numero % 2) == 0 ? printf("Par") : printf("Impar");
getch();
}

Complemente o programa feito para calcular a média de um aluno do curso de programação de computadores, adicionando uma saída para o usuário da situação do aluno (aprovado, reprovado ou final).

Solução:
             .
         .
         .
if(media >= 7)
   printf("Aprovado");
else if (media >= 4)
   printf("Final");
else printf("Reprovado");
         .
         .
         .



















0 comentários:

Postar um comentário

 
Design by Wordpress Theme | Bloggerized by Free Blogger Templates | JCPenney Coupons