É incrível como a "pedagogia descomplicada" de vocês aqui do C Prog é fantástica. Muito melhor que a de muitos "doutores" que vão pra uma sala de aula com peito estufado mas que só sabem para eles mesmos. Parabéns e continuem com o ótimo trabalho.
31 de março de 2014 às 17:55
Anônimo disse...
"Resto da divisão é o valor que sobra/resta da divisão para que o cociente permaneça inteiro."
O correto é --> quociente. Feliz em ajudar quem tem me ajudado tanto.
15 de maio de 2014 às 09:37
Anônimo disse...
Salvou minha vida, estou aprendendo + do que na faculdade rssrsrs
Ola, boa noite a todos, tenho gostado das aulas e espero conseguir montar meu codigo que salvara minha pele na faculdade e que nao consegui aprender com os professores.
25 de junho de 2015 às 15:24
Anônimo disse...
e se minha variavel estiver entre 0 e 17, como eu mando no comando.. if ( x >=0 <=17)? vlw
No artigo passado, ensinamos sobre o uso do teste condicional IF e ELSE, que será extremamente usado por nós em nosso curso, e por você em sua carreira de programador C.
Porém, fizemos testes de condições simples e sem muita utilidade. Vamos aprender agora, em nossa apostila de C, a usar alguns operadores que nos permitirão fazer coisas bem interessantes apenas com IF ELSE.
Clique aqui e saiba como obter seu certificado de programação C! Entre já no Mercado de Trabalho!
Testar e comparar, testar e comparar...a essência da programação
O operador de igualdade em C: ==
Se quisermos comparar uma variável x com uma variável y fazemos:
x == y
Sempre que ver isso, leia como se fosse uma pergunta: x é igual a y?
Ou seja, se é uma pergunta (comparação), sempre retorna um valor booleano. Ou seja, ou é falso ou é verdadeiro.
É comum que alguns estudantes e iniciantes em programação confundam o '=' com o '=='.
O '=' é uma atribuição, estamos atribuindo um valor, estamos dizendo que aquela variável vai receber um valor, e ponto final.
Já o '==' é um teste, queremos saber se o valor é igual ou não.
Ou seja, ele vai retornar TRUE ou FALSE. É como se estivéssemos fazendo uma pergunta, e que estamos esperando uma resposta.
Exemplo de código:
Faça um programa em C que pergunte ao usuário quanto é 1 + 1, usando o teste condicional IF ELSE, e que responda se ele acertou ou errou.
#include <stdio.h>
int main(void)
{
int resultado;
printf("Quanto eh 1 + 1? ");
scanf("%d",&resultado);
if(resultado == 2)
{
printf("Parabens, voce nao usa drogas\n");
}
else
{
printf("Amigo, pare de fumar isso...\n");
}
}
Ou seja, nós perguntamos o valor de 1+1 e armazenamos na variável inteira resultado.
Depois comparamos esse resultado com 2.
Se o usuário tiver digitado 2, a comparação resultado == 2 retornará valor booleano VERDADEIRO (true) e o IF ocorre.
Caso o que o usuário digitou não seja 2, a comparação retornará valor booleano FALSO (false) e será o ELSE que o nosso programa em C irá rodar.
Simples, não? Continuemos...
O operador maior que em C: >
Se quisermos saber se uma variável x é maior que uma variável y fazemos:
x > y Caso x seja maior que y, essa comparação retornará valor lógico VERDADEIRO (true).
Caso x seja menor, ou igual, a y, essa comparação retornará valor lógico FALSO (false).
Exemplo de código:
Crie um aplicativo em C que pergunte a idade do usuário e diga se ele é maior ou menor de idade, usando o comparador maior que.
#include <stdio.h>
int main(void)
{
int idade;
printf("Digite sua idade: ");
scanf("%d",&idade);
if(idade > 17)
{
printf("Voce eh de maior, pode entrar! \n");
}
else
{
printf("Sinto muito, voce nao pode entrar\n");
}
}
A explicação do código C é bem simples: para ser de maior, você deve ter mais que 17 anos, se tiver, a comparação idade > 17 retornará TRUE e o IF irá rodar.
Caso você tenha 17 anos ou menos, você é de menor e o código salta para rodar o ELSE.
Pronto, agora você já pode criar aqueles sistemas de sites que perguntam se você é de maior ou não.
Muito útil essa linguagem de programação C, não?
O operador menor que em C: <
Se quisermos saber se uma variável x é menor que uma variável y fazemos:
x < y Caso x seja menor que y, essa comparação retornará valor lógico VERDADEIRO (true).
Caso x seja maior, ou igual, a y, essa comparação retornará valor lógico FALSO (false).
Exemplo de código:
Crie um aplicativo em C que pergunte a idade do usuário e diga se ele é maior ou menor de idade, usando o comparador menor que.
#include <stdio.h>
int main(void)
{
int idade;
printf("Digite sua idade: ");
scanf("%d",&idade);
if(idade < 18)
{
printf("Sinto muito, voce nao pode entrar\n");
}
else
{
printf("Voce eh de maior, pode entrar!\n");
}
}
A explicação do código C é o oposto da explicação do exemplo anterior, note a lógica inversa: se você tiver menos que 18 anos, você será menor e o teste idade < 18 retornará valor lógico VERDADEIRO e o IF será executado.
Se você não tem menos que 18 anos, é porque tem mais ora. Então, nosso programa em C executará o ELSE.
O operador maior igual a em C: >=
Até o momento fizemos somente a análise do tipo 'maior ou menor'. Porém, as vezes queremos incluir o próprio número na comparação...ou seja, queremos saber se uma variável é maior ou igual que outra.
Se quisermos saber se uma variável x é maior ou igual que uma variável y fazemos:
x >= y Caso x seja maior ou igual que y, essa comparação retornará valor lógico VERDADEIRO (true).
Caso x seja menor a y, essa comparação retornará valor lógico FALSO (false).
Exemplo de código:
Crie um aplicativo em C que pergunte a idade do usuário e diga se ele tem que fazer ou não o exame de próstata, usando o operador maior igual a. Lembrando que é recomendável fazer o exame a partir dos 45 anos.
#include <stdio.h>
int main(void)
{
int idade;
printf("Digite sua idade: ");
scanf("%d",&idade);
if(idade >= 45)
{
printf("Eh amigo, ja era, tem que fazer o exame da prostata...\n");
}
else
{
printf("Voce nao precisa fazer o exame de prostata...ainda\n");
}
}
Note quem tem mais de 45 anos é necessário fazer o exame. Porém, quem também TEM, exatos, 45 anos, também precisa fazer!
Também poderíamos ter feito: idade > 44
Porém não fica muito legal o número 44 aparecer. Por quê?
Ora, a informação que temos da idade é 45, então vamos trabalhar com 45. É uma questão de organização apenas, mas que pode facilitar muito a vida de quem lê um código em C.
Por exemplo, suponha que você foi contratado por uma empresa para ser programador C e vai substituir outro programador (que não sabia muito a linguagem C, por isso perdeu o emprego).
Se você bater o olho no código e ver o número 18 logo você associa com maioridade.
Porém, se tiver o número 17 no meio do código fica difícil deduzir o que o antigo programador tentou fazer...aí você vai ter que quebrar a cabeça pra entender o código dele.
Mas como você está cursando o C Progressivo, você será treinado para ser um programador organizado também. Vamos continuar...
O operador menor igual a em C: <=
Se quisermos saber se uma variável x é menor ou igual que uma variável y fazemos:
x <= y Caso x seja menor ou igual que y, essa comparação retornará valor lógico VERDADEIRO (true).
Caso x seja maior a y, essa comparação retornará valor lógico FALSO (false).
Exemplo de código:
Crie um aplicativo em C que pergunte a idade do usuário e diga se ele tem que fazer ou não o exame de próstata, usando o operador menor igual a. Lembrando que é recomendável fazer o exame a partir dos 45 anos.
#include <stdio.h>
int main(void)
{
int idade;
printf("Digite sua idade: ");
scanf("%d",&idade);
if(idade <= 44)
{
printf("Voce nao precisa fazer o exame de prostata...ainda\n");
}
else
{
printf("Eh amigo, ja era, tem que fazer o exame da prostata...\n");
}
}
Agora fizemos o contrário. Comparamos usando a expressão idade <= 44 para verificar que o usuário não tem 45 anos ou mais.
Analisando esse código e o do exemplo passado, qual você usaria para criar tal programa?
Arraste o mouse aqui para ver a resposta -> O anterior, pois ele lida com o número 45.
O operador diferente de em C: !=
Se quisermos saber se uma variável x é diferente de uma variável y fazemos:
x != y Caso x seja diferente de y, esse teste retorna valor VERDADEIRO.
Caso x seja igual a y, esse teste retorna valor FALSO.
Exemplo de código:
Crie um programa em C que pergunte um número de 1 até 10 ao usuário, e faça com que ele tente acertar o número secreto. No meu caso, o número secreto é 7.
#include <stdio.h>
int main(void)
{
int numero;
printf("Adivinha a senha, entre 1 e 10: ");
scanf("%d",&numero);
if(numero != 7)
{
printf("Errado! Saia da Matrix!\n");
}
else
{
printf("Parabens, voce entrou no sistema\n");
}
}
A explicação é simples: enquanto o usuário digitar um número diferente de 7, o programa entra no IF e diz que o usuário errou a senha.
Se ele não digitar um número de 7, é porque ele digitou o 7, ora! Então, a comparação numero != 7 retorna falso e o ELSE que será executado.
O operador módulo ou resto da divisão em C: %
Resto da divisão é o valor que sobra/resta da divisão para que o quociente permaneça inteiro.
O símbolo de resto da divisão é %.
Veja, o que está em vermelho é o resto inteiro da divisão:
5 % 2 = 2*2 + 1
7 % 3 = 3*2 + 1
7 % 4 = 1*4 + 3
8 % 3 = 2. Pois: 8 = 3*2 + 2
Em matemática chamamos de 'mod', de módulo: 5 mod 3 = 2
No Brasil, é aquele 'resto' que deixávamos lá embaixo nas continhas do colégio:
[Image]
Sem dúvidas, a maior utilidade desse operador é saber a multiplicidade de um número (ou seja, se é múltiplo de 2, 3, 5, 7, etc).
Por exemplo, um número par é aquele que, quando dividido por 2, deixa resto nulo.
Exemplo de código:
Crie um programa em C que pergunte um número ao usuário e diga se ele é par. Use o operador módulo ou resto da divisão %.
#include <stdio.h>
int main(void)
{
int numero;
printf("Digite um inteiro: ");
scanf("%d",&numero);
if( (numero % 2) == 0)
{
printf("Eh par\n");
}
else
{
printf("Nao eh par\n");
}
}
Em programação, para saber se um número é par, escrevemos: numero % 2 == 0
Leia: se o resto da divisão de 'numero' por 2 deixar resto 0, retorne valor TRUE.
Erro comum de iniciantes em programação C
Praticamente todos os programadores, quando estão iniciando seus estudos, cometem o erro de confundir o operador de atribuição com o operador de comparação de igualdade.
Por exemplo, qual a diferença entre:
x = 1
x == 1
?
A resposta é simples: no primeiro exemplo estamos atribuindo, no segundo estamos comparando.
Leia assim:
x = 1: 'Hey C, faça com que a variável x receba o valor 1, atribua 1 ao x'
x == 1: "Hey C, o valor armazenado na variável x é 1'?
Ou seja, na comparação há o retorno de valor lógico VERDADEIRO ou FALSO.
Na atribuição não, simplesmente atribuímos um valor e essa operação retorna sempre true.
Exercícios sobre operadores de comparação em C:
Faça o programa do exemplo do != , mas com o operador ==
Faça o programa do exame de próstata usando o operador <
Faça o programa do exame de próstata usando o operador >
Faça o programa do teste de maioridade usando o operador <=
Faça o programa do teste de maioridade usando o operador >=
Faça um programa que pergunte um número ao usuário e diga se ele é ímpar. Use o operador %.
postado por Programação Progressiva às 16:36 em 18 de fev. de 2013
14 Comentários
Fechar esta janela Ir para formulário de comentárioparabéns, esse curso esta salvando meu semestre na faculdade. em um ida eu aprendi bem mais que em um mês de aula.
28 de março de 2014 às 13:29
É incrível como a "pedagogia descomplicada" de vocês aqui do C Prog é fantástica. Muito melhor que a de muitos "doutores" que vão pra uma sala de aula com peito estufado mas que só sabem para eles mesmos. Parabéns e continuem com o ótimo trabalho.
31 de março de 2014 às 17:55
"Resto da divisão é o valor que sobra/resta da divisão para que o cociente permaneça inteiro."
O correto é --> quociente.
Feliz em ajudar quem tem me ajudado tanto.
15 de maio de 2014 às 09:37
Salvou minha vida, estou aprendendo + do que na faculdade rssrsrs
30 de agosto de 2014 às 21:14
Mais claro que a água
8 de outubro de 2014 às 11:36
Ola, boa noite a todos, tenho gostado das aulas e espero conseguir montar meu codigo que salvara minha pele na faculdade e que nao consegui aprender com os professores.
25 de junho de 2015 às 15:24
e se minha variavel estiver entre 0 e 17, como eu mando no comando.. if ( x >=0 <=17)? vlw
8 de setembro de 2015 às 20:09
#include
int main()
{
int idade;
printf("digite sua idade:");
scanf("%d",&idade);
if(idade <18)
{
printf("sito muito vc nao pode entarar ");
}
else
{
printf("voce pode entrar:");
}
}
24 de abril de 2016 às 11:42
#include
int main(void)
{
int idade;
printf("digite sua idade: ");
scanf(" %d",&idade);
if(idade>= 45)
{
printf("Eh amigo, ja era, tem que fazer o exame da prostata...\n");
}
else
{
printf("Voce nao precisa fazer o exame de prostata...ainda\n");
}
}
24 de abril de 2016 às 12:18
#include
int main()
{
int numero;
printf("Digite um Inteiro : ");
scanf("%d",&numero);
if( (numero %2)==0)
{
printf("Eh par\n");
}
else
{
printf("Nao e Par\n");
}
}
24 de abril de 2016 às 12:59
/*Faca um programa que receba dois valores e verifique se eles sao iguais ou
diferentes*/
Aluem pode me ajudar nesse
25 de julho de 2016 às 18:40
No topo da página onde diz "clique aqui!" a exclamação quer dizer que não é para clicar?
12 de setembro de 2016 às 16:59
Como faço isso, mas com palavras?
7 de janeiro de 2017 às 11:20
Muito bom!
6 de abril de 2018 às 07:55