Como usar a função SE em C Programming

A palavra-chave se na linguagem de programação C é usada para tomar decisões em seu código com base em comparações simples. É o mesmo conceito seres humanos usam na tomada de decisões com base na pergunta Nº 147-E se # 148?;

Aqui está o formato básico:

E se(avaliação) {sECLARAÇÃO-}

o avaliação é uma comparação, uma operação matemática, o resultado de uma função ou alguma outra condição. Se a condição for verdadeira, o declarações(ou declaração) Entre chaves são executed- caso contrário, eles são ignorados.

  • A avaliação do caso de declaração não precisa ser matemático. Pode ser simplesmente uma função que retorna um verdadeiro ou falso de valor, por exemplo:

    if (ready ())

    Esta declaração avalia o retorno da função ready (). Se a função retorna um valor verdadeiro, as declarações pertencentes a se são executados.

  • Qualquer valor diferente de zero é considerado verdadeiro em C. Zero é considerada falsa. Portanto, esta afirmação é sempre verdade:

    Se (1)

    E esta afirmação é sempre falsa:

    if (0)
  • Você sabe se uma função retorna um valor verdadeiro ou falso, lendo a documentação da função, ou você pode definir um valor verdadeiro ou falso retorno ao escrever suas próprias funções.

  • Você não pode comparar cadeias de caracteres usando um if comparação. Em vez disso, você usa funções de comparação de string específicas.

  • Quando apenas uma declaração pertence a um caso de comparação, as chaves são opcionais.

Exercício 1: Reescrever o código de uma simples comparação, removendo as chaves antes e depois Linha 12. Criar e executar para garantir que ele ainda funciona.

Uma simples comparação

#include int main () {int a, BA = 6-b = a - 2-if (a> b) {printf ( "% d é maior do que% d N", a, b) -} retorno (0 ) -}

Como para comparar os valores de várias maneiras

A linguagem C emprega um pequeno pelotão de operadores de comparação matemáticas.

OperadorExemplotrue Quando
!=um! = bA não é igual a b
lt;uma lt; ba é menor do que b
lt; =uma lt; = ba é menor do que ou igual a b
==a == ba é igual a b
>a> ba é maior do que b
> =a> = ba é maior que ou igual a b

Comparações no trabalho C da esquerda para a direita, de modo que você lê a> = b Como . # 147-a é maior que ou igual a b # 148- Além disso, a ordem é importante: Ambos> = e lt; = deve ser escrito nessa ordem, do mesmo modo que o operador = (não igual)!. O operador == pode ser escrito de qualquer maneira.

Valores são comparados

#include int main () {int primeira, segunda-printf ( "Digite o primeiro valor:") -scanf ( "% d", em primeiro lugar) -printf ( "Input o segundo valor:") -scanf ( "% d" , segundo) -puts ( "Avaliando ...") - se (firstsecond) {printf ( "% d é maior que% d n", primeiro, segundo) -} return (0) -}

exercício 2: Criar um novo projeto usando o código-fonte mostrado na valores são comparados. Construir e executar.

A comparação mais comum é provavelmente o sinal de igual duplo. Pode parecer estranho para você. O operador == não é o mesmo que o operador =. O operador = é a operador de atribuição, que define valores. O operador == é o operador de comparação, que verifica para ver se dois valores são iguais. (Veja Obter # 147 é igual a # 148- em sua cabeça.)

Pronuncie == como # 147 é igual a # 148.;

exercício 3: Adicionar uma nova seção ao código-fonte de valores são comparados que faz uma avaliação final sobre se as duas variáveis ​​são iguais entre si.

OBTER # 147 é igual a # 148- em sua cabeça

#define #include 17int SECRET main () {int palpite-printf ( "Você consegue adivinhar o número secreto:") -scanf ( "% d", palpite) -se (acho == SECRET) {puts ( "Você adivinhou ! ") - retorno (0) -} if (acho = SECRET) {puts (!" errado ") - retorno (1) -}}

exercício 4: Digite o código-fonte de Get # 147 é igual a # 148- em sua cabeça em um novo Código :: projeto Blocks. Construir e executar.

Tome nota do valor retornado pelo programa - em 0 para uma resposta correta ou 1 para uma resposta errada. Você pode ver que o valor de retorno na janela de saída do Code :: Blocks.

A diferença entre = e == em programação C

Um dos erros mais comuns cometidos por cada programador em linguagem C - novato e pro - está usando um único sinal de igual em vez de um casal em um caso de comparação.

SEMPRE VERDADE

#include int main () {int a-a = 5 if (a = -3) {printf ( "% d é igual a% d n", um, -3) -} return (0) -}

exercício 5: Digite o código-fonte mostrado na Sempre verdadeiro em um novo projeto. Executar o programa.

A saída pode confundir você.

-3 é igual a -3

Isso é verdade, não é? Mas o que houve?

Simples: Na linha 9, variável uma é atribuído o valor -3. Porque essa afirmação é dentro dos parênteses, está avaliada em primeiro lugar. O resultado de uma atribuição de variável em C é sempre verdadeiro para qualquer valor diferente de zero.

exercício 6: Editar o código fonte a partir Sempre verdadeiro para que um duplo sinal de igual, ou # 147 é igual a, # 148- é usado em vez de um único sinal de igual no caso de comparação.

Onde colocar o ponto e vírgula na programação C

Ponto e vírgula Boo-Boo baseia-se Sempre verdadeiro, aproveitando-se do fato de que C não necessita de uma única instrução pertencente a um se a comparação deve ser apresentado entre colchetes.

SEMICOLON dodói

#include int main () {int a, b-a-b = 5 = -3-se (a == b) -printf ( "% d é igual a% d N", a, b) -Retornar (0) -}

exercício 7: Cuidadosamente digite o código-fonte do Semicolon Boo-Boo. Preste atenção especial para a Linha 10. Certifique-se de que você digite-o exatamente, com o ponto e vírgula no final da linha. Criar e executar o projeto.

Aqui está a saída:

5 é igual a -3

O problema aqui é comum, um erro cometido por apenas sobre cada programador C ao longo do tempo: o ponto e vírgula final (Linha 10) diz ao programa que a instrução if tem nada a ver quando a condição é verdadeira. Isso porque um único ponto e vírgula é uma declaração completa em C, embora uma declaração nulo. A saber:

if (condição) -

Esta construção é basicamente o mesmo que Linha 10. Tenha cuidado para não cometer o mesmo erro - especialmente quando você digita o código muito e você está acostumado a terminar uma linha com um ponto e vírgula.

menu