Instrucțiunea if implementează structura alternativă din schemele logice.
if (<cond>)
<prel DA>
else
<prel NU>
Structura alternativă în limbajul C
Operatori
Operatorii de comparație pe care îi folosim pentru a pune condițiile sunt următorii:
Operator | Descriere | Exemplu |
== | Egal |
|
!= | Diferit |
|
< | Mai mic |
|
<= | Mai mic sau egal |
|
> | Mai mare |
|
>= | Mai mare sau egal |
|
Operatorii logici pe care îi folosim pentru a pune condițiile sunt următorii:
Operator | Descriere | Exemplu |
&& | and (și) – operator logic care combină două condiții. Este adevărat doar dacă ambele condiții sunt adevărate. |
|
|| | or (sau) – operator logic care combină două condiții. Este adevărat dacă măcar una din condiții este adevărată. |
|
Exercițiu: Se citesc n și k, două numere. Să se spună dacă n divizibil cu k.
#include <stdio.h>
int main() {
int n, k;
scanf( "%d%d", &n, &k );
if ( n % k == 0 )
printf( "Da" );
else
printf( "Nu" );
return 0;
}
Instrucțiunea compusă
Instrucțiunea if permite câte o singură instrucțiune pe fiecare ramură. Ce facem dacă avem mai multe instrucțiuni pe o ramură? Folosim instrucțiunea compusă, folosind acolade.
Exercițiu: ecuația de gradul 1. Fie ecuația a · x = b. Să se calculeze x. Atenție! Ecuația poate avea multiple soluții sau nici o soluție!
#include <stdio.h>
int main() {
int a, b, x;
scanf( "%d%d", &a, &b );
if ( a == 0 )
if ( b == 0 )
printf( "x oricare\n" );
else
printf( "x nu exista\n" );
else {
x = b / a;
printf( "x este %d\n", x );
}
return 0;
}
If-uri imbricate
Sunt instrucțiunile if în interiorul altor instrucțiuni if.
Exercițiu: Să se spună dacă un an este bisect.
#include <stdio.h>
int main() {
int a;
scanf( "%d", &a );
if ( a % 4 == 0 )
if ( a % 100 == 0 )
if ( a % 400 == 0 )
printf( "da\n" );
else
printf( "nu\n" );
else
printf( "da\n" );
else
printf( "nu\n" );
return 0;
}
Răspunsuri