Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Declaración condicional de C:IF, IF Else y IF Else anidado con ejemplo

¿Qué es una declaración condicional en C?

Declaraciones condicionales en C La programación se utiliza para tomar decisiones en función de las condiciones. Las sentencias condicionales se ejecutan secuencialmente cuando no hay ninguna condición alrededor de las sentencias. Si pone alguna condición para un bloque de declaraciones, el flujo de ejecución puede cambiar según el resultado evaluado por la condición. Este proceso se llama toma de decisiones en 'C.'

En la programación en 'C', las sentencias condicionales son posibles con la ayuda de las siguientes dos construcciones:

1. Si declaración

2. Declaración if-else

También se denomina bifurcación, ya que un programa decide qué instrucción ejecutar en función del resultado de la condición evaluada.

En este tutorial, aprenderá-

Instrucción If

Es una de las poderosas declaraciones condicionales. La sentencia If se encarga de modificar el flujo de ejecución de un programa. Si la declaración siempre se usa con una condición. La condición se evalúa primero antes de ejecutar cualquier declaración dentro del cuerpo de If. La sintaxis de la instrucción if es la siguiente:

 if (condition) 
     instruction;

La condición se evalúa como verdadera o falsa. Verdadero es siempre un valor distinto de cero y falso es un valor que contiene cero. Las instrucciones pueden ser una sola instrucción o un bloque de código encerrado entre llaves { }.

El siguiente programa ilustra el uso de la construcción if en la programación 'C':

#include<stdio.h>
int main()
{
	int num1=1;
	int num2=2;
	if(num1<num2)		//test-condition
	{
		printf("num1 is smaller than num2");
	}
	return 0;
}

Salida:

num1 is smaller than num2

El programa anterior ilustra el uso de la construcción if para verificar la igualdad de dos números.

  1. En el programa anterior, hemos inicializado dos variables con num1, num2 con valor de 1, 2 respectivamente.
  2. Luego, hemos usado if con una expresión de prueba para verificar qué número es el más pequeño y qué número es el más grande. Hemos usado una expresión relacional en la construcción if. Dado que el valor de num1 es menor que num2, la condición se evaluará como verdadera.
  3. Por lo tanto, imprimirá la declaración dentro del bloque de If. Después de eso, el control saldrá del bloque y el programa terminará con un resultado exitoso.

Operadores relacionales

C tiene seis operadores relacionales que se pueden usar para formular una expresión booleana para tomar una decisión y probar las condiciones, que devuelve verdadero o falso:

<=menor o igual que

> mayor que

>=mayor o igual que

==igual a

!=diferente a

Tenga en cuenta que la prueba de igualdad (==) es diferente del operador de asignación (=) porque es uno de los problemas más comunes que enfrenta un programador al mezclarlos.

Por ejemplo:

int x = 41;
x =x+ 1;
if (x == 42) {
   printf("You succeed!");}

Salida:

 You succeed

Tenga en cuenta que una condición que se evalúa como un valor distinto de cero se considera verdadera.

Por ejemplo:

int present = 1;
if (present)
  printf("There is someone present in the classroom \n");

Salida:

There is someone present in the classroom

La sentencia If-Else

La declaración if-else is es una versión extendida de If. La forma general de if-else es la siguiente:

if (test-expression)
{
    True block of statements
}
Else
{
    False block of statements
}
Statements;

En este tipo de construcción, si el valor de expresión-prueba es verdadero, entonces se ejecutará el bloque verdadero de declaraciones. Si el valor de expresión-prueba es falso, entonces se ejecutará el bloque de declaraciones falso. En cualquier caso, después de la ejecución, el control se transferirá automáticamente a las declaraciones que aparecen fuera del bloque de If.

Los siguientes programas ilustran el uso de la construcción if-else:

Inicializaremos una variable con algún valor y escribiremos un programa para determinar si el valor es menor o mayor que diez.

Empecemos.

#include<stdio.h>
int main()
{
	int num=19;
	if(num<10)
	{
		printf("The value is less than 10");
	}
	else
	{
		printf("The value is greater than 10");
	}
	return 0;
}

Salida:

The value is greater than 10

  1. Hemos inicializado una variable con valor 19. Tenemos que averiguar si el número es mayor o menor que 10 usando un programa 'C'. Para ello, hemos utilizado la construcción if-else.
  2. Aquí hemos proporcionado una condición número<10 porque tenemos que comparar nuestro valor con 10.
  3. Como puede ver, el primer bloque es siempre un bloque verdadero, lo que significa que, si el valor de la expresión de prueba es verdadero, se ejecutará el primer bloque, que es If.
  4. El segundo bloque es un bloque else. Este bloque contiene las declaraciones que se ejecutarán si el valor de la expresión de prueba se vuelve falso. En nuestro programa, el valor de num es mayor que diez, por lo tanto, la condición de prueba se vuelve falsa y, de lo contrario, se ejecuta el bloque. Por lo tanto, nuestra salida será de un bloque else que es "El valor es mayor que 10". Después del if-else, el programa terminará con un resultado exitoso.

En la programación 'C' podemos usar múltiples construcciones if-else una dentro de la otra, lo que se conoce como anidamiento de declaraciones if-else.

Expresiones condicionales

Hay otra forma de expresar una declaración if-else mediante la introducción de ?: operador. En una expresión condicional el ?: El operador solo tiene una declaración asociada con el if y el else.

Por ejemplo:

#include <stdio.h>
int main() {
  int y;
  int x = 2;
   y = (x >= 6) ?  6 : x;/* This is equivalent to:  if (x >= 5)    y = 5;  else    y = x; */
   printf("y =%d ",y);
  return 0;}

Salida:

y =2

Declaraciones If-else anidadas

Cuando se requiere una serie de decisiones, se utiliza if-else anidado. Anidar significa usar una construcción if-else dentro de otra.

Escribamos un programa para ilustrar el uso de if-else anidado.

#include<stdio.h>
int main()
{
	int num=1;
	if(num<10)
	{
		if(num==1)
		{
			printf("The value is:%d\n",num);
		}
		else
		{
			printf("The value is greater than 1");
		}
	}
	else
	{
		printf("The value is greater than 10");
	}
	return 0;
}

Salida:

The value is:1

El programa anterior comprueba si un número es menor o mayor que 10 e imprime el resultado utilizando la construcción if-else anidada.

  1. En primer lugar, hemos declarado una variable num con valor de 1. Luego hemos usado la construcción if-else.
  2. En el if-else externo, la condición proporcionada verifica si un número es menor que 10. Si la condición es verdadera, entonces y solo entonces, se ejecutará el ciclo interno. En este caso, la condición es verdadera, por lo que se procesa el bloque interno.
  3. En el bloque interno, nuevamente tenemos una condición que verifica si nuestra variable contiene el valor 1 o no. Cuando una condición es verdadera, entonces procesará el bloque If; de lo contrario, procesará un bloque else. En este caso, la condición es verdadera, por lo tanto, si se ejecuta un bloque y el valor se imprime en la pantalla de salida.
  4. El programa anterior imprimirá el valor de una variable y saldrá con éxito.

Intente cambiar el valor de la variable para ver cómo se comporta el programa.

NOTA: En if-else anidado, debemos tener cuidado con la sangría porque en este proceso están involucradas múltiples construcciones if-else, por lo que se vuelve difícil descifrar construcciones individuales. La sangría adecuada facilita la lectura del programa.

Declaraciones Else-if anidadas

El else-if anidado se usa cuando se requieren decisiones de rutas múltiples.

La sintaxis general de cómo se construyen las escaleras si no en la programación 'C' es la siguiente:

 if (test - expression 1) {
    statement1;
} else if (test - expression 2) {
    Statement2;
} else if (test - expression 3) {
    Statement3;
} else if (test - expression n) {
    Statement n;
} else {
    default;
}
Statement x;

Este tipo de estructura se conoce como la escalera else-if. Esta cadena generalmente se parece a una escalera, por lo que también se la denomina escalera de otro tipo. Las expresiones de prueba se evalúan de arriba a abajo. Siempre que se encuentra una expresión de prueba verdadera, se ejecuta la declaración asociada con ella. Cuando todas las n expresiones de prueba se vuelven falsas, se ejecuta la instrucción else predeterminada.

Veamos el funcionamiento real con la ayuda de un programa.

#include<stdio.h>
int main()
{
	int marks=83;
	if(marks>75){
		printf("First class");
	}
	else if(marks>65){
		printf("Second class");
	}
	else if(marks>55){
		printf("Third class");
	}
	else{
		printf("Fourth class");
	}
	return 0;
}

Salida:

First class

El programa anterior imprime la calificación según las calificaciones obtenidas en una prueba. Hemos utilizado la construcción de escalera else-if en el programa anterior.

  1. Hemos inicializado una variable con marcas. En la estructura de escalera else-if, hemos proporcionado varias condiciones.
  2. El valor de las marcas de la variable se comparará con la primera condición, ya que es verdadera, la declaración asociada con ella se imprimirá en la pantalla de salida.
  3. Si la primera condición de prueba resulta falsa, entonces se compara con la segunda condición.
  4. Este proceso continuará hasta que se evalúe toda la expresión; de lo contrario, el control saldrá de la escalera else-if y se imprimirá la declaración predeterminada.

Intente modificar el valor y observe el cambio en la salida.

Resumen


Lenguaje C

  1. Expresiones, declaraciones y bloques de C# (con ejemplos)
  2. C# if, if...else, if...else if y declaración if anidada
  3. C++ si, si... más y Anidado si... más
  4. C si... otra declaración
  5. Declaración if...else de Java
  6. Operadores en C++ con Ejemplo:Qué es, Tipos y Programas
  7. Declaración de caso de cambio de C ++ con EJEMPLO
  8. Estructura C++ con ejemplo
  9. Clase y objeto C++ con ejemplo
  10. std::list en C++ con ejemplo
  11. Diferencia entre estructura y clase:explicada con el ejemplo de C++