C/Instrucións de control: Diferenzas entre revisións

Contido eliminado Contido engadido
Gallaecio (conversa | contribucións)
Ampliado co contido do artigo sobre o switch
Gallaecio (conversa | contribucións)
Xa conten todo o que antes estaba en artigos separados no libro de C
Liña 86:
default : printf("O carácter non é nin «a» nin «z».\n");
}
</source>
 
==<source lang=c enclose=none>break</source>==
A instrución de control <source lang=c enclose=none>break</source> permite saír do [[{{PAGENAME}}#Bloques de instrucións|bloque de instrucións]] no que está o fluxo de control do programa. A sintaxe de uso desta sentencia de control pode comprenderse co seguinte exemplo:
<source lang=c>
instrución 1;
{
instrución 2;
break;
instrución 3;
}
instrución 4;
</source>
No que se executarían só as instrucións 1, 2 e 4.
 
==Ciclos==
En C existen tres instrucións de control para a creación de ciclos, cada unha coas súas peculiaridades, e se ben xeralmente se poden adaptar todos os ciclos para facer as mesmas funcións, en cada situación resultará máis eficiente, elegante, ou simplemente evidente a utilización dun ciclo concreto.
 
Cómpre lembrar de cara aos ciclos que se poden crear expresións que sempre son certas, como sería a expresión «<code>-1</code>», de xeito que se conseguiría un ciclo sen fin. Por suposto, hai maneiras de saír co ciclo alternativas a que a condición cambie, coma as instrucións de control [[{{PAGENAME}}#break|<source lang=c enclose=none>break</source>]] ou [[{{PAGENAME}}#return|<source lang=c enclose=none>return</source>]].
 
===<source lang=c enclose=none>while</source>===
O ciclo <source lang=c enclose=none>while</source> executa unha instrución (ou bloque de instrucións) mentres se cumpra ─sexa certa (distinta de cero)─ unha expresión. Esta sería a súa sintaxe fundamental:
<source lang=c>
while(condición)
instrución;
</source>
 
Se de primeiras xa non se cumpre a condición, o ciclo non se executa ningunha vez.
 
===<source lang=c enclose=none>do while</source>===
O ciclo <source lang=c enclose=none>do while</source> executa unha instrución (ou bloque de instrucións) unha vez, e a continuación repite a súa execución mentres se cumpra ─sexa certa (distinta de cero)─ unha expresión. Esta sería a súa sintaxe fundamental:
<source lang=c>
do
instrución;
while(condición);
</source>
 
===<source lang=c enclose=none>for</source>===
O ciclo <source lang=c enclose=none>for</source> executa unha instrución inicial ─utilizada xeralmente para establecer o valor inicial dunha variable─, e mentres se cumpra ─sexa certa (distinta de cero)─ unha condición, executa unha instrución (ou bloque de instrucións) seguida dunha instrución final ─que adoitan cambiar o valor dalgunha variable de cara a modificar o valor da expresión da condición─ que se executa sempre entre a instrución do ciclo e a seguinte comprobación de se se cumpre a condición. Esta sería a súa sintaxe fundamental:
 
<source lang=c>
for(instrución inicial; condición; instrución final)
instrución;
</source>
 
Este ciclo adoita utilizarse, por exemplo, en casos nos que se quere executar unha ou varias instrucións un número determinado de veces, coma no seguinte exemplo:
<source lang=c>
// Supoñendo que previamente se declarou a variable «i»...
for(i=0;i<10;i++)
printf("Non volverei programar en Visual Basic.\n");
</source>
 
No exemplo executaríase a función <source lang=c enclose=none>printf()</source> dez veces.
 
Mediante [[{{BASEPAGENAME}}/Operadores#A coma|comas]] pódense ademais utilizar varias instrucións iniciais e finais, como no seguinte exemplo:
<source lang=c>
for(i=1,l=10;i<=10;i++,l--)
printf("Ciclo “for”: i=%d, l=%d.\n", i, l);
// Os %d substituiríanse polos respectivos valores de «i» e «l».
</source>
 
O resultado sería o seguinte:
<pre>
Ciclo “for”: i=1, l=10.
Ciclo “for”: i=2, l=9.
Ciclo “for”: i=3, l=8.
Ciclo “for”: i=4, l=7.
Ciclo “for”: i=5, l=6.
Ciclo “for”: i=6, l=5.
Ciclo “for”: i=7, l=4.
Ciclo “for”: i=8, l=3.
Ciclo “for”: i=9, l=2.
Ciclo “for”: i=10, l=1.
</pre>
 
==<source lang=c enclose=none>return</source>==
A instrución de control <source lang=c enclose=none>return</source> establece o valor que devolve a función na que está presente. Ao executarse dita sentencia, remata a execución da función na que estaba, e vólvese á función dende a cal se [[{{BASEPAGENAME}}/Funcións#Chamada a unha función|chamou a esta]]. A súa sintaxe fundamental é a seguinte:
<source lang=c>
return valor;
</source>
 
Onde <code>valor</code> pode ser tanto unha [[{{BASEPAGENAME}}/Variables|variable]] coma un [[{{BASEPAGENAME}}/Constantes literais|valor]].
 
En caso de que a función non devolva ningún valor, pódese volver á función que a chamou omitindo o <code>valor</code>. Véxase o seguinte exemplo:
<source lang=c>
return;
</source>