English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, você aprenderá sobre o comando if no C programação (inclusive if ... else e if...else aninhados).
A sintaxe dessa instrução no C é:
if (test expression) { //As instruções a serem executadas quando a expressão de teste for verdadeira }
O comando if avalia a expressão de teste dentro dos parênteses ()
Se o resultado da avaliação da expressão de teste for true, o if executará as instruções internas.
Se o resultado da avaliação da expressão de teste for false, o if não executará as instruções internas.
Para obter mais informações sobre quando a expressão de teste é avaliada como true (valor não nulo) e false (0), consulteRelacionaisOperadoresEOperadores lógicos.
//O programa exibe um número, se ele for negativo #include <stdio.h> int main() { int number; printf("Digite um inteiro: "); scanf("%d", &number); //Se o número for menor que 0, então é true if (number < 0) { printf("Você digitou %d.\n", number); } printf("O comando if é muito simples."); return 0; }
Saída1
输入一个整数: -25 Você digitou -25. O comando if é muito simples.
é um número ímpar.-25Quando, a avaliação da expressão de teste number<0 é true. Portanto,Você digitou-25 Será exibido na tela.
Saída2
输入一个整数: 5 O comando if é muito simples.
é um número ímpar.5Quando, a avaliação da expressão de teste number<0 é false e o if não executa as instruções internas
O comando if pode ter um bloco else opcional. A sintaxe do if..else é:
if (test expression) { //A instrução a ser executada quando a expressão de teste for verdadeira } else { // Se a expressão de teste for falsa, a instrução executada }
Se o resultado da avaliação da expressão de teste (expressão de teste) for true,
As instruções dentro do if serão executadas.
As instruções do else dentro do corpo serão saltadas, ou seja, as instruções dentro do else não serão executadas.
Se o valor da expressão de teste (expressão de teste) for false,
As instruções dentro do else serão executadas
As instruções dentro do corpo do if serão saltadas, ou seja, não serão executadas.
// Verificar se um número inteiro é ímpar ou par #include <stdio.h> int main() { int number; printf("Digite um inteiro: "); scanf("%d", &number); //se o resto for 0, então é true if (number%2 == 0) { printf("%d é um número par.", number); } else { printf("%d é um número ímpar.", number); } return 0; }
Resultados de saída
输入一个整数: 23 23 Insira um inteiro:
é um número ímpar.23ao usuário inserir2ao digitar,(expressão de teste)expressão de teste número%
if...else if...else executa duas instruções diferentes, dependendo se a expressão de teste (expressão de teste) for true ou false. Aplicável quando é necessário escolher entre duas ou mais possibilidades.
if...else if...else permite que você verifique várias expressões de teste e execute diferentes instruções.
if (expressão de teste1) { // Instrução } else if (expressão de teste2) { // Instrução } else if (expressão de teste3) { // Instrução } . . else { // Instrução }
//O programa usa os sinais =, > ou < para comparar dois inteiros #include <stdio.h> int main() { int número1, número2; printf("Insira dois inteiros: "); scanf("%d %d", &número1, &número2; //Verificar se dois inteiros são iguais if (número1 == número2) { printf("Resultado: %d = %d", número1, número2; } //Verificar número1É maior que número2. else if (número1 > número2) { printf("Resultado: %d > %d", número1, número2; } //Se ambas as expressões de teste acima forem falsas, execute as seguintes instruções else { printf("Resultado: %d < %d", número1, número2; } return 0; }
Resultados de saída
Insira dois inteiros: 12 23 Resultado: 12 < 23
É possível incluir outra estrutura if...else no corpo de outra estrutura if...else.
O programa a seguir fornece um exemplo de uso de qualquer uma das estruturas if...else que envolvem dois inteiros <, > e =, mas usaremos estruturas if...else aninhadas para resolver o problema.
#include <stdio.h> int main() { int número1, número2; printf("Insira dois inteiros: "); scanf("%d %d", &número1, &número2; if (número1 >= número2) { if (número1 == número2) { printf("Resultado: %d = %d", número1, número2; } else { printf("Resultado: %d > %d", número1, número2; } } else { printf("Resultado: %d < %d", número1, número2; } return 0; }
Se o corpo do comando if...else tiver apenas uma instrução, não é necessário usar chaves {}.
Por exemplo, o código a seguir
if (a > b) { print("Hello"); } print("Hi");
É equivalente a
if (a > b) print("Hello"); print("Hi");