ejercicio en C

Páginas: 6 (1309 palabras) Publicado: 18 de febrero de 2014
Curs 2012-2013 • Mòdul 3 : Programació “Estructures de Control”

Estructures de control
1. Estructures alternatives
1.1. La sentència if-else
1.2. La sentència switch

2. Estructures iteratives
2.1. La sentència while
2.2. La sentència do-while
2.3. El bucle for

Apèndix: Biblioteca de problemes

Quique Lorente

Pàgina 1

Curs 2012-2013 • Mòdul 3 : Programació “Estructures deControl”

Estructures de control
1. Estructures alternatives
Fins ara, les sentències d'un programa C/C++ s'executen seqüencialment, és a dir, una a
continuació de l'altra. Un programa amb estructura seqüencial se sol representar gràficament de la
següent forma:

En els programes seqüencials les accions:




s'executen totes
s'executa cadascuna només una vegada
s'executen en elmateix ordre en què han estat escrites

En la majoria de programes necessitarem que els programes executin o no, una o més accions,
depenent que es compleixi o no una condició. Això s'aconsegueix amb les sentències alternatives
(o condicionals o selectives).
1.1. La sentència if-else
Les sentències condicionals més simples de C són la sentència if i la sentència if-else que
tenen la següentsintaxi:
if (condició)
sentència

if (condició)
sentència1
else
sentència2

En el primer cas, la condició, que és una expressió lògica (recordeu que en C, les expressions
lògiques són de fet expressions numèriques) és avaluada. Si esta té el valor de veritat (valor
diferent de 0) s'executa la sentència, en cas contrari, és a dir, si el valor de la condició és fals (igual
a 0), se saltal'execució de la sentència (o bloc) que hi ha a continuació i passa a la sentència
immediatament posterior.
En el segon cas, una vegada avaluada la condició, si esta és certa s'executa la sentència1, i a
continuació se salta la sentència2 per executar la sentència immediatament posterior a la
sentència2. Si la condició és falsa se salta la sentència1 i passa directament a la sentència2.Quique Lorente

Pàgina 2

Curs 2012-2013 • Mòdul 3 : Programació “Estructures de Control”

El diagrama de flux d'estes dues sentències és:

if

if-else
falsa
condició

certa

falsa
condició

certa
sentència2

sentència

sentència1

Les sentències poden ser, evidentment, sentències simples (acabades en punt i coma) o blocs de
sentències (tancades entre claus).
Exemple:Prova de divisibilitat
#include
void main()
{
int n, d;
printf("Introdueix dos enters: ");
scanf("%d %d", &n, &d);
if (n%d==0)
printf(" %d és divisible per %d\n", n, d);
}

Exemple: Calculeu el major de dos números enters llegits del teclat
#include
void main()
{
int x, y;
printf("Introdueix dos enters: ");
scanf("%d %d", &x, &y);
if (x>y)
printf("\nEl major és %d", x);
elseprintf("\nEl major és %d", y);
}

Les seqüències condicionals es poden encaixar donant
lloc a estructures condicionals complexes com:
Quique Lorente

Pàgina 3

Curs 2012-2013 • Mòdul 3 : Programació “Estructures de Control”

Exemple:
if (x>0)
printf("El número és positiu");
else
if (xb)
if (a>c) major=a;
else major=c;
else
if (b>c) major=b;
else major=c;
printf("El major és %d\n", major);
}

En el cas de tindre més d'una seqüència if, una dins de l'altra, cada else es refereix a l’if més
proper. A continuació es mostra un exemple on el sagnat mostra clarament què volem, però el
compilador no ho interpreta de la mateixa manera, provocant així un error que és difícil de trobar:
if (n>0)
if (i>j)
printf("n és major que 0, i és major que j");
else
printf("n no ésmajor que 0");

En este exemple hi ha dos if imbricats (un dins l'altre). En estos casos si apareix un else, com
en l’exemple, s'ha d'anar en compte en veure a qui apareix associat este else. Observant el sagnat
de l'exemple anterior, la paraula clau else sembla associada al primer if, així però està
associada al segon if. Això és perquè, com s'ha dit, l'else s'associa a l'if més proper...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • ejercicio C
  • Ejercicios c++
  • Ejercicios En C++
  • Ejercicios De C#
  • Ejercicios C++
  • Ejercicios c++
  • Ejercicios de c++
  • Ejercicios en c

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS