El enunciats condicionals (també conegudes com a estructures de control de decisions) com si, en cas contrari, switch, etc. s'utilitzen per a la presa de decisions als programes C.
També es coneixen com a declaracions de presa de decisions i s'utilitzen per avaluar una o més condicions i prendre la decisió d'executar o no un conjunt d'enunciats. Aquestes declaracions de presa de decisions en llenguatges de programació decideixen la direcció del flux d'execució del programa.
Necessitat de declaracions condicionals
Hi ha situacions a la vida real en què hem de prendre algunes decisions i en funció d'aquestes decisions, decidim què hem de fer a continuació. En la programació també es donen situacions similars on hem de prendre algunes decisions i en funció d'aquestes decisions executarem el següent bloc de codi. Per exemple, a C si es produeix x, executeu y sinó executeu z. També pot haver-hi diverses condicions com en C, si es produeix x, executeu p, en cas contrari, si es produeix la condició y executeu q, en cas contrari executeu r. Aquesta condició de C else-if és una de les moltes maneres d'importar múltiples condicions.
Tipus d'enunciats condicionals en C
A continuació es mostren les declaracions de presa de decisions disponibles en C:
- si Declaració
- Declaració if-else
- Declaració if niada
- si-més-si Escala
- Declaració switch
- Operador condicional
- Declaracions de salt:
- trencar
- continuar
- anar a
- tornar
Comentem cadascun d'ells un per un.
1. si en C
El declaració si és la declaració de presa de decisions més senzilla. S'utilitza per decidir si s'executarà o no una determinada instrucció o bloc d'instruccions, és a dir, si una determinada condició és certa, s'executarà un bloc d'instruccions en cas contrari no.
com llegir un fitxer json
Sintaxi de la instrucció if
if ( condition ) { // Statements to execute if // condition is true }> Aquí, el condició després de l'avaluació serà vertader o fals. C si la sentència accepta valors booleans: si el valor és cert, executarà el bloc de sentències que hi ha a sota, en cas contrari no. Si no proporcionem les claus '{' i '}' després de if(condició), aleshores, per defecte, la declaració if considerarà que la primera sentència immediatament a continuació es troba dins del seu bloc.
Diagrama de flux de la declaració if

Diagrama de flux de la declaració if
Exemple de si a C
C
// C program to illustrate If statement> #include> > int> main()> {> >int> i = 10;> > >if> (i>15) {> >printf>(>'10 is greater than 15'>);> >}> > >printf>(>'I am Not in if'>);> }> |
>
>Sortida
I am Not in if>
Com que la condició present a la declaració if és falsa. Per tant, el bloc sota la instrucció if no s'executa.
2. if-else en C
El si Només la instrucció ens diu que si una condició és certa, executarà un bloc d'instruccions i si la condició és falsa no ho farà. Però, què passa si volem fer una altra cosa quan la condició és falsa? Aquí ve el C altra cosa declaració. Podem utilitzar el altra cosa declaració amb el si sentència per executar un bloc de codi quan la condició és falsa. El declaració if-else consta de dos blocs, un per a l'expressió falsa i un altre per a l'expressió vertadera.
Sintaxi de if else a C
if ( condition ) { // Executes this block if // condition is true } else { // Executes this block if // condition is false }> Diagrama de flux de la declaració if-else

Diagrama de flux de if else
Exemple de if-else
C
// C program to illustrate If statement> #include> > int> main()> {> >int> i = 20;> > >if> (i <15) {> > >printf>(>'i is smaller than 15'>);> >}> >else> {> > >printf>(>'i is greater than 15'>);> >}> >return> 0;> }> |
>
>Sortida
i is greater than 15>
El bloc de codi següent al altra cosa La instrucció s'executa com a condició present al fitxer si afirmació és falsa.
3. Imbricat if-else a C
Un if imbricat a C és una sentència if que és l'objectiu d'una altra sentència if. Les declaracions if niades signifiquen una declaració if dins d'una altra sentència if. Sí, C ens permet niar declaracions if dins de declaracions if, és a dir, podem col·locar una declaració if dins d'una altra instrucció if.
Sintaxi de Nested if-else
if ( condition1 ) { // Executes when condition1 is true if ( condition2 ) { // Executes when condition2 is true } else { // Executes when condition2 is false }> Diagrama de flux de nidat si-else
Diagrama de flux de nidificat if-else
Exemple d'imbricat if-else
C
// C program to illustrate nested-if statement> #include> > int> main()> {> >int> i = 10;> > >if> (i == 10) {> >// First if statement> >if> (i <15)> >printf>(>'i is smaller than 15
'>);> > >// Nested - if statement> >// Will only be executed if statement above> >// is true> >if> (i <12)> >printf>(>'i is smaller than 12 too
'>);> >else> >printf>(>'i is greater than 15'>);> >}> > >return> 0;> }> |
>
>Sortida
i is smaller than 15 i is smaller than 12 too>
4. if-else-if Escala en C
El si més si declaracions s'utilitzen quan l'usuari ha de decidir entre diverses opcions. Les sentències C if s'executen de dalt a baix. Tan bon punt una de les condicions que controlen el if és certa, s'executa la declaració associada amb el if i la resta de l'escala C else-if s'omet. Si cap de les condicions és certa, s'executarà la instrucció else final. if-else-if ladder és similar a la instrucció switch.
com inicialitzar una matriu en java
Sintaxi de if-else-if Ladder
if ( condition ) statement; else if ( condition ) statement; . . else statement;>
Diagrama de flux de l'escala if-else-if

Diagrama de flux de if-else-if
Exemple d'escala if-else-if
C
// C program to illustrate nested-if statement> #include> > int> main()> {> >int> i = 20;> > >if> (i == 10)> >printf>(>'i is 10'>);> >else> if> (i == 15)> >printf>(>'i is 15'>);> >else> if> (i == 20)> >printf>(>'i is 20'>);> >else> >printf>(>'i is not present'>);> }> |
>
>Sortida
i is 20>
5. Declaració switch en C
El declaració de canvi de cas és una alternativa a l'escala if else if que es pot utilitzar per executar el codi condicional en funció del valor de la variable especificat a la instrucció switch. El bloc de commutació consta de casos que s'executaran en funció del valor de la variable de commutació.
Sintaxi de switch
switch ( expression ) { case value1: statements; case value2: statements; .... .... .... default: statements; }> Nota: L'expressió switch s'ha d'avaluar com a nombre enter o caràcter. No pot avaluar cap altre tipus de dades.
Diagrama de flux de l'interruptor

Diagrama de flux de l'interruptor en C
Exemple de declaració switch
C
// C Program to illustrate the use of switch statement> #include> > int> main()> {> >// variable to be used in switch statement> >int> var = 2;> > >// declaring switch cases> >switch> (var) {> >case> 1:> >printf>(>'Case 1 is executed'>);> >break>;> >case> 2:> >printf>(>'Case 2 is executed'>);> >break>;> >default>:> >printf>(>'Default Case is executed'>);> >break>;> >}> > >return> 0;> }> |
>
>Sortida
Case 2 is executed>
6. Operador condicional en C
El operador condicional s'utilitza per afegir codi condicional al nostre programa. És similar a la declaració if-else. També es coneix com a operador ternari, ja que funciona en tres operands.
Sintaxi de l'operador condicional
( condition ) ? [true_statements] : [false_statements] ;>
Diagrama de flux de l'operador condicional

Diagrama de flux de l'operador condicional
Exemple d'operador condicional
C
// C Program to illustrate the use of conditional operator> #include> > // driver code> int> main()> {> > >int> var;> >int> flag = 0;> > >// using conditional operator to assign the value to var> >// according to the value of flag> >var = flag == 0 ? 25 : -25;> >printf>(>'Value of var when flag is 0: %d
'>, var);> > >// changing the value of flag> >flag = 1;> >// again assigning the value to var using same statement> >var = flag == 0 ? 25 : -25;> >printf>(>'Value of var when flag is NOT 0: %d'>, var);> > >return> 0;> }> |
>
>Sortida
Value of var when flag is 0: 25 Value of var when flag is NOT 0: -25>
7. Declaracions de salt en C
Aquestes declaracions s'utilitzen en C per al flux incondicional de control a través de les funcions d'un programa. Admeten quatre tipus de declaracions de salt:
A) trencar
Aquesta instrucció de control de bucle s'utilitza per finalitzar el bucle. Tan aviat com el trencar La instrucció es troba dins d'un bucle, les iteracions del bucle s'aturen allà i el control torna del bucle immediatament a la primera instrucció després del bucle.
Sintaxi de break
break;>
Bàsicament, les declaracions break s'utilitzen en situacions en què no estem segurs del nombre real d'iteracions del bucle o volem finalitzar el bucle en funció d'alguna condició.
Exemple de descans
C
// C program to illustrate> // to show usage of break> // statement> #include> > void> findElement(>int> arr[],>int> size,>int> key)> {> >// loop to traverse array and search for key> >for> (>int> i = 0; i if (arr[i] == key) { printf('Element found at position: %d', (i + 1)); break; } } } int main() { int arr[] = { 1, 2, 3, 4, 5, 6 }; // no of elements int n = 6; // key to be searched int key = 3; // Calling function to find the key findElement(arr, n, key); return 0; }> |
>
>Sortida
Element found at position: 3>
B) continuar
Aquesta instrucció de control de bucle és com la instrucció break. El continuar declaració és oposada a la del trencament declaració , en lloc d'acabar el bucle, obliga a executar la següent iteració del bucle.
Com el seu nom indica, la instrucció continue obliga el bucle a continuar o executar la següent iteració. Quan la instrucció continue s'executa al bucle, el codi dins del bucle després de la instrucció continue es saltarà i començarà la següent iteració del bucle.
Sintaxi de continuar
continue;>
Diagrama de flux de Continuar
Diagrama de flux de C continue Declaració
Exemple de continuar
C
// C program to explain the use> // of continue statement> #include> > int> main()> {> >// loop from 1 to 10> >for> (>int> i = 1; i <= 10; i++) {> > >// If i is equals to 6,> >// continue to next iteration> >// without printing> >if> (i == 6)> >continue>;> > >else> >// otherwise print the value of i> >printf>(>'%d '>, i);> >}> > >return> 0;> }> |
>
>Sortida
canviar el nom del directori a linux
1 2 3 4 5 7 8 9 10>
Si creeu una variable a if-else a C, només serà local a aquest bloc if/else. Podeu utilitzar variables globals dins del bloc if/else. Si el nom de la variable que heu creat a if/else és el mateix que qualsevol variable global, es donarà prioritat a la 'variable local'.
C
#include> > int> main()> {> > >int> gfg = 0;>// local variable for main> >printf>(>'Before if-else block %d
'>, gfg);> >if> (1) {> >int> gfg = 100;>// new local variable of if block> >printf>(>'if block %d
'>, gfg);> >}> >printf>(>'After if block %d'>, gfg);> >return> 0;> }> |
char tostring java
>
>Sortida
Before if-else block 0 if block 100 After if block 0>
C) anar a
El anar a declaració en C també es coneix com la instrucció de salt incondicional es pot utilitzar per saltar d'un punt a un altre dins d'una funció.
Sintaxi de goto
Syntax1 | Syntax2 ---------------------------- goto label; | label: . | . . | . . | . label: | goto label;>
A la sintaxi anterior, la primera línia indica al compilador que vagi o que salti a la instrucció marcada com a etiqueta. Aquí, una etiqueta és un identificador definit per l'usuari que indica la declaració de destinació. La declaració seguida immediatament després de 'etiqueta:' és la declaració de destinació. L''etiqueta:' també pot aparèixer abans de la declaració 'goto label;' a la sintaxi anterior.
Diagrama de flux de la declaració goto
Exemples de goto
C
// C program to print numbers> // from 1 to 10 using goto> // statement> #include> > // function to print numbers from 1 to 10> void> printNumbers()> {> >int> n = 1;> label:> >printf>(>'%d '>, n);> >n++;> >if> (n <= 10)> >goto> label;> }> > // Driver program to test above function> int> main()> {> >printNumbers();> >return> 0;> }> |
>
>Sortida
1 2 3 4 5 6 7 8 9 10>
D) tornar
El tornar en C retorna el flux de l'execució a la funció des d'on es crida. Aquesta declaració no necessita obligatòriament cap declaració condicional. Tan bon punt s'executa la instrucció, el flux del programa s'atura immediatament i retorna el control des d'on es va cridar. La instrucció return pot o no retornar res per a una funció void, però per a una funció no void, s'ha de retornar un valor de retorn.
Diagrama de flux de retorn

Diagrama de flux de retorn
Sintaxi de retorn
return [expression] ;>
Exemple de retorn
C
// C code to illustrate return> // statement> #include> > // non-void return type> // function to calculate sum> int> SUM(>int> a,>int> b)> {> >int> s1 = a + b;> >return> s1;> }> > // returns void> // function to print> void> Print(>int> s2)> {> >printf>(>'The sum is %d'>, s2);> >return>;> }> > int> main()> {> >int> num1 = 10;> >int> num2 = 10;> >int> sum_of = SUM(num1, num2);> >Print(sum_of);> >return> 0;> }> |
>
>Sortida
The sum is 20>