Mas você sabe que os programas 'reais' não são assim...se clicar em um botão acontecesse uma coisa, se selecionar algo no menu, outra coisa acontece.
Ou seja, os programas rodam dependendo de como o usuário interage com o aplicativo.
E é isso que vamos estudar nesse tutorial: teste condicional.
- Leia este conteúdo no seu computador: Apostila C Progressivo
Clique aqui e saiba como obter seu certificado de programação C! Entre já no Mercado de Trabalho!
O que é, para que serve e como usar o teste condicional IF em C
if( condição )
{
// código
// do IF
// aqui
}
O 'if', em inglês, quer dizer 'se', no sentido de condição.
Por exemplo: "If you like C, you will like C++ too" (Se você gosta de C, vai gostar de C++ também).
O que o 'if' faz é testar a 'condição' entre parênteses, e se ela for verdadeira será executado o código entre chaves.
Exemplo de código: Condição sempre verdadeira
#include <stdio.h> int main() { if(1) { printf("Esse teste condicional é verdadeiro"); } }
Se você rodar esse programa em C verá que o print sempre aparecerá na tela, pois a condição 1 representa sempre verdadeiro, como você viu no artigo Sistema Binário e Valores lógicos 'true' ou 'false'.
Na verdade, qualquer valor diferente de 0 sempre resultará que o teste condicional é verdadeiro.
Esse 'verdadeiro' ou 'falso' é uma espécie de 'retorno' que a condição nos dá.
Por exemplo, vamos testar um código em que o teste condicional nunca é executado:
Exemplo de condição: Condição sempre falsa
#include <stdio.h>int main() { if( 0 ) { printf("Somente programadores verão essa mensagem"); } printf("Hello, World"); }
Se você rodar, aparecerá na tela somente o "Hello, World" pois o 0 sempre retorna valor 'false' para o teste condicional IF. Como o resultado é falso, o que está dentro do IF não é executado.
O que é, para que serve e como usar o ELSE em C
Se IF significa 'se' e o ELSE significa 'ou', você pode pensar e concluir para que serve o ELSE?
O ELSE só existe na presença do IF e só aparece depois que o IF aparecer.
A característica principal do ELSE é que ele não recebe nenhuma condição (ou seja, não tem parêntesis depois do ELSE, como tem no IF).
Na verdade ele recebe uma condição, que é implícita. A condição dele é contrária do IF.
Como uma condição é sempre TRUE ou FALSE, no par IF e ELSE um deles vai rodar se a condição for TRUE e o outro só roda se a condição FALSE.
A sintaxe dessa importantíssima dupla é a seguinte:
if ( condição )
{
//se a condição
//for verdadeira
//esse código rodará
}
else
{
//caso a condição
//seja FALSA
//é esse código que rodará
}
Ou seja, se a condição retornar um valor lógico VERDADEIRO, o IF rodará.
Porém, caso a condição retorne um valor lógico FALSO, o ELSE que rodará.
Então, veja o código a seguir, raciocine e tente adivinhar qual print irá rodar, antes de executar o programa:
Exemplo de código: rodando o ELSE
#include <stdio.h> int main() { if( 0 ) { printf("Somente programadores verão essa mensagem"); } else { printf("Hello, world!"); } }
Ora, 0 retorna valor lógico falso, então o IF não será executado.
Sempre que o IF não é executado, o ELSE será. Portanto, veremos a mensagem "Hello, World" na tela.
Exercício de C:
Faça o contrário do último exercício.
Ou seja, que o print "Hello, world!" seja exibido na tela, dentro do bloco do IF e que o bloco do ELSE (com a frase "Somente programadores verão essa mensagem") nunca seja rodado.
16 comentários:
Eu gostaria de saber se no lugar de valores eu posso colocar caracteres.Desde já agradeço!
Pode sim! o if refere a uma condicao e pode ser qualquer uma. por exemplo voce pode ter uma variavel do tipo char que vai armazenar uma letra podera colocar assim: if(variavel = 'A')
int main()
{
if(0)
{
printf("Esse teste condicional é verdadeiro");
}
}
sempre que executo esse codigo o meu anti virus alerta que encontrou um virus no arquivo que estou programando, por que isso?
#include
int main()
{
if( 1 )
{
printf("Somente programadores verão essa mensagem");
}
else
{
printf("Hello, world!");
}
}
Pq nesse código só funciona o ultimo "if-else"?
if(ps2x.Button(PSB_PAD_UP)) { //será TRUE enquanto o botão é pressionado
Serial.print("Up held this hard: ");
Serial.println(ps2x.Analog(PSAB_PAD_UP), DEC);
analogWrite(IN1, 255);
analogWrite(IN2, 0);
analogWrite(IN3, 255);
analogWrite(IN4, 0);
}
else{
analogWrite(IN1, 0);
analogWrite(IN2, 0);
analogWrite(IN3, 0);
analogWrite(IN4, 0);
}
if(ps2x.Button(PSB_PAD_RIGHT)){ //direita
Serial.print("Right held this hard: ");
Serial.println(ps2x.Analog(PSAB_PAD_RIGHT), DEC);
analogWrite(IN1, 255);
analogWrite(IN2, 0);
analogWrite(IN3, 0);
analogWrite(IN4, 255);
}
else{
analogWrite(IN1, 0);
analogWrite(IN2, 0);
analogWrite(IN3, 0);
analogWrite(IN4, 0);
}
if(ps2x.Button(PSB_PAD_LEFT)){ //esquerda
Serial.print("LEFT held this hard: ");
Serial.println(ps2x.Analog(PSAB_PAD_LEFT), DEC);
analogWrite(IN1, 0);
analogWrite(IN2, 255);
analogWrite(IN3, 255);
analogWrite(IN4, 0);
}
else{
analogWrite(IN1, 0);
analogWrite(IN2, 0);
analogWrite(IN3, 0);
analogWrite(IN4, 0);
}
if(ps2x.Button(PSB_PAD_DOWN)){ //baixo
Serial.print("DOWN held this hard: ");
Serial.println(ps2x.Analog(PSAB_PAD_DOWN), DEC);
analogWrite(IN1, 0);
analogWrite(IN2, 255);
analogWrite(IN3, 0);
analogWrite(IN4, 255);
}
else{
analogWrite(IN1, 0);
analogWrite(IN2, 0);
analogWrite(IN3, 0);
analogWrite(IN4, 0);
}
#include
int main(void)
{
if(1)
{
printf("Hello, world!\n");
}
else
{
printf("Somente programadores verão essa mensagem\n");
}
return 0;
}
Olha que legal:
#include
int main()
{
int op;
printf("\n\n\tEscolha 0 ou 1\n");
scanf("%d",&op);
if( op )
{
printf("\n\tSomente programadores verao essa mensagem\n");
}
else
{
printf("\n\tHello, world!\n");
}
return 0;
}
Se voce nao esta conseguindo fazer o exercicio então tente:
#include
#include
int main(){
if (1 > 0){
printf("Progama verdadeiro);
}
else{
printf("Progama falso);
}
return 0;
}
Olá
No primeiro exercício surgiu a seguinte dúvida:
If(1)... o que foi testado para saber se a condição if é igual
a zero ou igual a hum? Onde e o que foi lido que
retornou um? Grato Renato.
#include
int main()
{
if(1)
{
printf("Esse teste condicional é verdadeiro");
}
}
#include <stdio.h>
int main()
{
if( 0 )
{
printf("Somente programadores verão essa mensagem");
}
else
{
printf("Hello, world!");
}
}
Sempre após um if deve ter instruções, ou logo após um if pode haver outro if?
Muito bom!
#include
main()
{
if( 1 )
{
printf("Hello, world!");
}
else
{
printf("Somente programadores verão essa mensagem");
}
}
Será que entendi errado minha resposta está muito diferente em relação ao pessoal. Segue abaixo minha resposta:
#include
/*
Faça o contrário do último exercício. Ou seja, que o print "Hello, world!" seja exibido na tela, dentro do bloco do IF e que o bloco
do ELSE (com a frase "Somente programadores verão essa mensagem") nunca seja rodado.
*/
int main()
{
if( 1 )
{
printf("Hello, world!");
}
else
{
printf("Somente programadores verão essa mensagem");
}
}
jean carlos conceição o seu programa faz o que foi pedido!
Por favor, alguém me explica a sintaxe do IF else aninhado,estou confundindo o lugar das chaves.
Postar um comentário