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?;
Menu
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.
Operador | Exemplo | true Quando |
---|---|---|
!= | um! = b | A não é igual a b |
lt; | uma lt; b | a é menor do que b |
lt; = | uma lt; = b | a é menor do que ou igual a b |
== | a == b | a é igual a b |
> | a> b | a é maior do que b |
> = | a> = b | a é 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.