SlideShare una empresa de Scribd logo
1 de 4
3. Estructuras Condicionales
       n este capítulo se revisan los distintos métodos con los que C
       controla el flujo lógico de un programa.

       omo se revisó en el capítulo anterior, los operadores relaciones
       binarios que se usan son:

                            ==, !=, <, <=, >   y >=

       demás los operadores lógicos binarios:

                                   ||, &&

       el operador lógico unario de negación !, que sólo toma un
       argumento.

       os operadores anterior son usados con las siguientes
       estructuras que se muestran.

                          3.1 La sentencia if

       as tres formas como se puede emplear la sentencia if son:

if (condicion)
sentencia;




if (condicion)
sentencia1;
else
sentencia2;




if (condicion1)
sentencia1;
else if (condicion2)
sentencia2;
...
else
sentencian;

       l flujo lógico de esta estructura es de arriba hacia abajo. La
       primera sentencia se ejecutará y se saldrá de la estructura if si
la primera condición es verdadera. Si la primera condición fue
      falsa, y existe otra condición, se evalúa, y si la condición es
      verdadera, entonces se ejecuta la sentencia asociada. Si existen
      más condiciones dentro de la estructura if, se van evaluando
      éstas, siempre y cuando las condiciones que le precedan sean
      falsas.

      a sentencia que esta asociada a la palabra reservada else, se
      ejecuta si todas las condiciones de la estructura if fueron falsas.

      or ejemplo:
      main()
      {
        int x, y, w;

          ........

          if (x>0)
          {
             z=w;
             .......
          }
          else
          {
             z=y;
             .......
          }
      }

                          3.2 El operador ?

      l operador ternario condicional ? es más eficiente que la
      sentencia if. El operador ? tiene el siguiente formato:

expresion1 ? expresion   2:   expresion3;

      ue es equivalente a la siguiente expresión:

if (expresion1) then expresion2 else expresion3;

      or ejemplo, para asignar el máximo de a y b a la variable z,
      usando ?, tendríamos:
z = (a>b) ? a : b;

      ue es lo mismo que:
          if (a > b)
             z = a;
else
            z = b;

     l uso del operador ? para reemplazar las sentencias if ...
     else no se restringe sólo a asignaciones, como en el ejemplo
     anterior. Se pueden ejecutar una o más llamadas de función
     usando el operador ? poniéndolas en las expresiones que
     forman los operandos, como en el ejemplo siguiente:
     f1(int n)
     {
        printf("%d ",n);
     }

     f2()
     {
        printf("introducidon");
     }

     main()
     {
       int t;

         printf(": ");
         scanf("%d",&t);

         /* imprime mensaje apropiado */
         t ? f1(t) + f2() : printf("Se dió un ceron");

     }

                               3.3 La sentencia switch

     unque con la estructura if ... else if se pueden realizar
     comprobaciones múltiples, en ocasiones no es muy elegante, ya
     que el código puede ser difícil de seguir y puede confundir
     incluso al autor transcurrido un tiempo. Por lo anterior, C tiene
     incorporada una sentencia de bifurcación múltiple
     llamada switch. Con esta sentencia, la computadora comprueba
     una variable sucesivamente frente a una lista de constantes
     enteras o de caracter. Después de encontrar una coincidencia,
     la computadora ejecuta la sentencia o bloque de sentencias que
     se asocian con la constante. La forma general de la
     sentencia switch es:

switch (variable) {
case constante1:
secuencia                                        de        sentencias
break;
case constante2:
secuencia                             de                             sentencias
break;
case constante3:
secuencia                             de                             sentencias
break;
...
default:
secuencia de sentencias
}

          onde la computadora ejecuta la sentencia default si no coincide
          ninguna constante con la variable, esta última es opcional.
          Cuando se encuentra una coincidencia, la computadora ejecuta
          las sentencias asociadas con el case hasta encontrar la
          sentencia break con lo que sale de la estructura switch.

          as limitaciones que tiene la sentencia switch   ... case   respecto a
          la estructura if son:

      •   Sólo se tiene posibilidad de revisar una sola variable.
      •   Con switch sólo se puede comprobar por igualdad, mientras que
          con if puede ser con cualquier operador relacional.
      •   No se puede probar más de una constante por case.

          a forma como se puede simular el último punto, es no teniendo
          sentencias asociados a un case, es decir, teniendo una sentencia
          nula donde sólo se pone el caso, con lo que se permite que el
          flujo del programa caiga al omitir las sentencias, como se
          muestra a continuación:
          switch (letra)
          {
            case 'a':
            case 'e':
            case 'i':
            case 'o':
            case 'u':
              numvocales++;
              break;

              case ' ':
                numesp++;
                break;

              default:
                numotras++;
                break;
          }

Más contenido relacionado

La actualidad más candente

Sentencia de control
Sentencia de controlSentencia de control
Sentencia de control
Stalyn Cruz
 
Slides sesion8 matlab - IF y bucles
Slides sesion8 matlab - IF y buclesSlides sesion8 matlab - IF y bucles
Slides sesion8 matlab - IF y bucles
matlab_usc
 
Scjp Jug Section 2 Flow Control
Scjp Jug Section 2 Flow ControlScjp Jug Section 2 Flow Control
Scjp Jug Section 2 Flow Control
Jose Selman
 
Las sentencias de_control[1]
Las sentencias de_control[1]Las sentencias de_control[1]
Las sentencias de_control[1]
grachika
 
Estructuras De RepeticióN
Estructuras De RepeticióNEstructuras De RepeticióN
Estructuras De RepeticióN
Regina Flores
 

La actualidad más candente (19)

estructura de programación
estructura de programación estructura de programación
estructura de programación
 
Sentencia de control
Sentencia de controlSentencia de control
Sentencia de control
 
Slides sesion8 matlab - IF y bucles
Slides sesion8 matlab - IF y buclesSlides sesion8 matlab - IF y bucles
Slides sesion8 matlab - IF y bucles
 
Scjp Jug Section 2 Flow Control
Scjp Jug Section 2 Flow ControlScjp Jug Section 2 Flow Control
Scjp Jug Section 2 Flow Control
 
Iteraciones y decisiones en c++
Iteraciones y decisiones en c++Iteraciones y decisiones en c++
Iteraciones y decisiones en c++
 
Control de flujo switch,case
Control de flujo switch,caseControl de flujo switch,case
Control de flujo switch,case
 
Fpr Tema 5 www.fresymetal.com
Fpr Tema 5 www.fresymetal.comFpr Tema 5 www.fresymetal.com
Fpr Tema 5 www.fresymetal.com
 
Sentencias de control
Sentencias de controlSentencias de control
Sentencias de control
 
Toma de decisiones If Else
Toma de decisiones If ElseToma de decisiones If Else
Toma de decisiones If Else
 
Estructuras de control en Visual Basic
Estructuras de control en Visual BasicEstructuras de control en Visual Basic
Estructuras de control en Visual Basic
 
Instruccion if
Instruccion ifInstruccion if
Instruccion if
 
Manual
ManualManual
Manual
 
Lección Evaluativa Unidad No. 2 Visual Basic
Lección Evaluativa Unidad No. 2 Visual BasicLección Evaluativa Unidad No. 2 Visual Basic
Lección Evaluativa Unidad No. 2 Visual Basic
 
Estructuras de control en PHP
Estructuras de control en PHPEstructuras de control en PHP
Estructuras de control en PHP
 
Las sentencias de_control[1]
Las sentencias de_control[1]Las sentencias de_control[1]
Las sentencias de_control[1]
 
Repaso c
Repaso cRepaso c
Repaso c
 
Estructura repetitiva for y while
Estructura repetitiva for y whileEstructura repetitiva for y while
Estructura repetitiva for y while
 
Estructuras De RepeticióN
Estructuras De RepeticióNEstructuras De RepeticióN
Estructuras De RepeticióN
 
Estructuras secuenciales, selectivas e iterativas3
Estructuras secuenciales, selectivas e iterativas3Estructuras secuenciales, selectivas e iterativas3
Estructuras secuenciales, selectivas e iterativas3
 

Destacado

Pontignano 2011_DemocracyPublic debt and private growth
Pontignano 2011_DemocracyPublic debt and private growthPontignano 2011_DemocracyPublic debt and private growth
Pontignano 2011_DemocracyPublic debt and private growth
IgnazioRocco
 
VISIONFC – an NFC Forum event: The future of NFC in Marketing & Brand present...
VISIONFC – an NFC Forum event: The future of NFC in Marketing & Brand present...VISIONFC – an NFC Forum event: The future of NFC in Marketing & Brand present...
VISIONFC – an NFC Forum event: The future of NFC in Marketing & Brand present...
NFC Forum
 
Introduction organic electronics
Introduction organic electronicsIntroduction organic electronics
Introduction organic electronics
yanheyanhe
 

Destacado (17)

LTE Standard Relevant Patents Insights
LTE Standard Relevant Patents InsightsLTE Standard Relevant Patents Insights
LTE Standard Relevant Patents Insights
 
4 e-government
4 e-government4 e-government
4 e-government
 
Milan fintechhub open
Milan fintechhub openMilan fintechhub open
Milan fintechhub open
 
Comunicado sectur méxico debe mantener su relación positiva con gobierno de eu
Comunicado sectur méxico debe mantener su relación positiva con gobierno de euComunicado sectur méxico debe mantener su relación positiva con gobierno de eu
Comunicado sectur méxico debe mantener su relación positiva con gobierno de eu
 
Md2
Md2Md2
Md2
 
Future Apple iPhones: Internet of Things & Artificial Intelligence
Future Apple iPhones: Internet of Things & Artificial IntelligenceFuture Apple iPhones: Internet of Things & Artificial Intelligence
Future Apple iPhones: Internet of Things & Artificial Intelligence
 
Suica – Keeping a Stable Operation and Expanding Services
Suica – Keeping a Stable Operation and Expanding ServicesSuica – Keeping a Stable Operation and Expanding Services
Suica – Keeping a Stable Operation and Expanding Services
 
Pontignano 2011_DemocracyPublic debt and private growth
Pontignano 2011_DemocracyPublic debt and private growthPontignano 2011_DemocracyPublic debt and private growth
Pontignano 2011_DemocracyPublic debt and private growth
 
An introduction to SDL Studio GroupShare 2014
An introduction to SDL Studio GroupShare 2014An introduction to SDL Studio GroupShare 2014
An introduction to SDL Studio GroupShare 2014
 
その情報はウソ?ホント?
その情報はウソ?ホント?その情報はウソ?ホント?
その情報はウソ?ホント?
 
Bullying
BullyingBullying
Bullying
 
Indian Rail Budget 2016
Indian Rail Budget 2016Indian Rail Budget 2016
Indian Rail Budget 2016
 
VISIONFC – an NFC Forum event: The future of NFC in Marketing & Brand present...
VISIONFC – an NFC Forum event: The future of NFC in Marketing & Brand present...VISIONFC – an NFC Forum event: The future of NFC in Marketing & Brand present...
VISIONFC – an NFC Forum event: The future of NFC in Marketing & Brand present...
 
Introduction organic electronics
Introduction organic electronicsIntroduction organic electronics
Introduction organic electronics
 
Option C Secondary Cell, Hydrogen Microbial Fuel Cell and Thermodynamic Effic...
Option C Secondary Cell, Hydrogen Microbial Fuel Cell and Thermodynamic Effic...Option C Secondary Cell, Hydrogen Microbial Fuel Cell and Thermodynamic Effic...
Option C Secondary Cell, Hydrogen Microbial Fuel Cell and Thermodynamic Effic...
 
Polytronics Activity
Polytronics ActivityPolytronics Activity
Polytronics Activity
 
Bab 5 Analisis Pekerjaan
Bab 5 Analisis PekerjaanBab 5 Analisis Pekerjaan
Bab 5 Analisis Pekerjaan
 

Similar a Estructuras condicionales

Estructuras algoritnicas de control
Estructuras algoritnicas de controlEstructuras algoritnicas de control
Estructuras algoritnicas de control
Miguel Martinez
 
Iv unidad estructuras de control
Iv unidad estructuras de controlIv unidad estructuras de control
Iv unidad estructuras de control
mariaisabelg
 
Iv unidad estructuras de control
Iv unidad estructuras de controlIv unidad estructuras de control
Iv unidad estructuras de control
mariaisabelg
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
quesada_diego
 
Tema 3 sentencias de control de java por gio
Tema 3   sentencias de control de java por gioTema 3   sentencias de control de java por gio
Tema 3 sentencias de control de java por gio
Robert Wolf
 
Sentencias condicionales y ciclos
Sentencias condicionales y ciclosSentencias condicionales y ciclos
Sentencias condicionales y ciclos
Sohar Carr
 
3 java sesin 3 pps
3 java sesin 3 pps3 java sesin 3 pps
3 java sesin 3 pps
ajplbe
 

Similar a Estructuras condicionales (20)

Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Estructuras algoritnicas de control
Estructuras algoritnicas de controlEstructuras algoritnicas de control
Estructuras algoritnicas de control
 
lp1t3.pdf
lp1t3.pdflp1t3.pdf
lp1t3.pdf
 
Iv unidad estructuras de control
Iv unidad estructuras de controlIv unidad estructuras de control
Iv unidad estructuras de control
 
Iv unidad estructuras de control
Iv unidad estructuras de controlIv unidad estructuras de control
Iv unidad estructuras de control
 
Estructuras selectivas.pptx
Estructuras selectivas.pptxEstructuras selectivas.pptx
Estructuras selectivas.pptx
 
Estructuras selectivas.pptx
Estructuras selectivas.pptxEstructuras selectivas.pptx
Estructuras selectivas.pptx
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Tema 3 sentencias de control de java por gio
Tema 3   sentencias de control de java por gioTema 3   sentencias de control de java por gio
Tema 3 sentencias de control de java por gio
 
métodos procedimimientos estructuras de control java
métodos procedimimientos estructuras de control javamétodos procedimimientos estructuras de control java
métodos procedimimientos estructuras de control java
 
Sentencias condicionales y ciclos
Sentencias condicionales y ciclosSentencias condicionales y ciclos
Sentencias condicionales y ciclos
 
3 java sesin 3 pps
3 java sesin 3 pps3 java sesin 3 pps
3 java sesin 3 pps
 
Estructuras de control C++
Estructuras de control C++Estructuras de control C++
Estructuras de control C++
 
ESTRUCTURAS DE CONTROL
ESTRUCTURAS DE CONTROLESTRUCTURAS DE CONTROL
ESTRUCTURAS DE CONTROL
 
C++
C++C++
C++
 
Power point progrmacion 2[1]
Power point progrmacion 2[1]Power point progrmacion 2[1]
Power point progrmacion 2[1]
 
Arreglos Expresiones y Control de Flujo
Arreglos Expresiones y Control de FlujoArreglos Expresiones y Control de Flujo
Arreglos Expresiones y Control de Flujo
 
Estructuras decision
Estructuras decisionEstructuras decision
Estructuras decision
 
1.1 palabras reservadas para hacer un pseudocódigo
1.1 palabras reservadas para hacer un pseudocódigo1.1 palabras reservadas para hacer un pseudocódigo
1.1 palabras reservadas para hacer un pseudocódigo
 

Último

NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Francisco158360
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
MiNeyi1
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 

Último (20)

2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 

Estructuras condicionales

  • 1. 3. Estructuras Condicionales n este capítulo se revisan los distintos métodos con los que C controla el flujo lógico de un programa. omo se revisó en el capítulo anterior, los operadores relaciones binarios que se usan son: ==, !=, <, <=, > y >= demás los operadores lógicos binarios: ||, && el operador lógico unario de negación !, que sólo toma un argumento. os operadores anterior son usados con las siguientes estructuras que se muestran. 3.1 La sentencia if as tres formas como se puede emplear la sentencia if son: if (condicion) sentencia; if (condicion) sentencia1; else sentencia2; if (condicion1) sentencia1; else if (condicion2) sentencia2; ... else sentencian; l flujo lógico de esta estructura es de arriba hacia abajo. La primera sentencia se ejecutará y se saldrá de la estructura if si
  • 2. la primera condición es verdadera. Si la primera condición fue falsa, y existe otra condición, se evalúa, y si la condición es verdadera, entonces se ejecuta la sentencia asociada. Si existen más condiciones dentro de la estructura if, se van evaluando éstas, siempre y cuando las condiciones que le precedan sean falsas. a sentencia que esta asociada a la palabra reservada else, se ejecuta si todas las condiciones de la estructura if fueron falsas. or ejemplo: main() { int x, y, w; ........ if (x>0) { z=w; ....... } else { z=y; ....... } } 3.2 El operador ? l operador ternario condicional ? es más eficiente que la sentencia if. El operador ? tiene el siguiente formato: expresion1 ? expresion 2: expresion3; ue es equivalente a la siguiente expresión: if (expresion1) then expresion2 else expresion3; or ejemplo, para asignar el máximo de a y b a la variable z, usando ?, tendríamos: z = (a>b) ? a : b; ue es lo mismo que: if (a > b) z = a;
  • 3. else z = b; l uso del operador ? para reemplazar las sentencias if ... else no se restringe sólo a asignaciones, como en el ejemplo anterior. Se pueden ejecutar una o más llamadas de función usando el operador ? poniéndolas en las expresiones que forman los operandos, como en el ejemplo siguiente: f1(int n) { printf("%d ",n); } f2() { printf("introducidon"); } main() { int t; printf(": "); scanf("%d",&t); /* imprime mensaje apropiado */ t ? f1(t) + f2() : printf("Se dió un ceron"); } 3.3 La sentencia switch unque con la estructura if ... else if se pueden realizar comprobaciones múltiples, en ocasiones no es muy elegante, ya que el código puede ser difícil de seguir y puede confundir incluso al autor transcurrido un tiempo. Por lo anterior, C tiene incorporada una sentencia de bifurcación múltiple llamada switch. Con esta sentencia, la computadora comprueba una variable sucesivamente frente a una lista de constantes enteras o de caracter. Después de encontrar una coincidencia, la computadora ejecuta la sentencia o bloque de sentencias que se asocian con la constante. La forma general de la sentencia switch es: switch (variable) { case constante1: secuencia de sentencias break; case constante2:
  • 4. secuencia de sentencias break; case constante3: secuencia de sentencias break; ... default: secuencia de sentencias } onde la computadora ejecuta la sentencia default si no coincide ninguna constante con la variable, esta última es opcional. Cuando se encuentra una coincidencia, la computadora ejecuta las sentencias asociadas con el case hasta encontrar la sentencia break con lo que sale de la estructura switch. as limitaciones que tiene la sentencia switch ... case respecto a la estructura if son: • Sólo se tiene posibilidad de revisar una sola variable. • Con switch sólo se puede comprobar por igualdad, mientras que con if puede ser con cualquier operador relacional. • No se puede probar más de una constante por case. a forma como se puede simular el último punto, es no teniendo sentencias asociados a un case, es decir, teniendo una sentencia nula donde sólo se pone el caso, con lo que se permite que el flujo del programa caiga al omitir las sentencias, como se muestra a continuación: switch (letra) { case 'a': case 'e': case 'i': case 'o': case 'u': numvocales++; break; case ' ': numesp++; break; default: numotras++; break; }