GNU/Linux >> Tutoriales Linux >  >> Linux

Tutorial de programación de Linux C Parte 12 - Operadores de asignación y expresiones condicionales

En esta serie de tutoriales de programación C en curso, ya hemos discutido algunas de las cosas básicas como los operadores aritméticos, lógicos y relacionales, así como los bucles condicionales como 'si' y 'mientras'. Además de eso, este tutorial se centrará en los operadores de asignación (que no sean =) y las expresiones condicionales.

Comencemos con los operadores de asignación. Si ha creado programas básicos en C hasta ahora (y estoy seguro de que lo habrá hecho especialmente después de seguir nuestra serie de tutoriales), hay muchas posibilidades de que haya hecho algo similar a lo siguiente:

a = a + 1;

¿Verdad?

Lo nuevo que vamos a aprender hoy es que puedes reescribir esta expresión de la siguiente manera:

a += 1;

Sí, el  +=es un operador y también se denomina operador de asignación.

Ahora, si digo que usar operadores de asignación como estos hace que el código sea más compacto y legible, algunos de ustedes pueden argumentar que, en el contexto del ejemplo que usamos, un operador de incremento habría sido igualmente bueno, ya que también asegura que el valor de 'a ' aumenta en 1.

a++;

Estoy de acuerdo, pero piensa en otros escenarios como el siguiente:

b = b + 10;
b = b + c

En estos casos, usar el operador de asignación definitivamente facilita la escritura, lectura y revisión del código en un solo paso.

¿Todavía no está convencido? Quizás, el siguiente ejemplo genérico le dará una mejor idea sobre el valor de los operadores de asignación. Echa un vistazo:

arr1[arr2[integer1 + integer2] + arr3[integer3 + integer4] + arr4 [integer5 + integer6]] = arr1[arr2[integer1 + integer2] + arr3[integer3 + integer4] + arr4 [integer5 + integer6]] + 5 

Esta línea de código requiere tiempo para entenderse específicamente porque debe asegurarse de que las dos matrices (a cada lado del operador =) se refieran al mismo valor o no. En este caso, lo hacen, por lo que una mejor manera sería usar un operador de asignación de la siguiente manera:

arr1[arr2[integer1 + integer2] + arr3[integer3 + integer4] + arr4 [integer5 + integer6]] += 5;

Por lo tanto, usar un operador de asignación en este caso no solo hizo que la línea fuera muy fácil de entender, sino que también la hizo más amigable para el compilador en el sentido de que puede ayudar al compilador a producir un código eficiente.

Ahora que está convencido (realmente espero que lo esté) sobre el hecho de que los operadores de asignación son útiles, aquí hay una lista de operadores que tienen un operador binario correspondiente:

+ - * / % << >> & ^ |

Los primeros cinco operadores de la lista ya los hemos discutido en nuestros tutoriales hasta ahora. Los últimos cinco son operadores bit a bit y los analizaremos en uno de nuestros próximos tutoriales. Mientras tanto, aquí hay una referencia rápida a los operadores de asignación correspondientes a algunos de estos operadores:

a += b;
a -= b;
a *= b;
a /= b;
a %= b;

Entonces, en general, puede tener en cuenta lo siguiente:

expression1 = (expression1) op (expression2)

se puede expresar como:

expression1 op= expression2

donde 'op' es el operador en uso, como +, -, * y más.

Tenga en cuenta que la siguiente expresión, así como expresiones similares:

a *= b - c 

se expandirá como:

a = a * (b-c)

Espero haber podido aclarar el concepto de operadores de asignación al menos en el nivel básico. Continuando, ahora analicemos rápidamente las expresiones condicionales.

Tome el siguiente ejemplo:

if(a==b)
c = c + 1;
else
c = c - 1;

Las expresiones condicionales te ayudan a escribir lógicas como estas en una sola línea. Así es como:

c = (a==b) ? (c+1) : (c -1)

Así que aquí, primero se comprueba la condición (a==b). Si es cierto, entonces (c+1) se asigna a c, de lo contrario, (c-1) se asigna a c. Aquí hay un código de muestra para aclarar las cosas:

int main()
{
int a = 6, b = 5, c = 9;

c = (a==b) ? (c+1) : (c -1) ;

printf("\n %d \n", c);

return 0;
}

Dado que a no es igual a b aquí, c se asigna (c-1), lo que significa que el nuevo valor de c se convierte en 8. En caso de que lo necesite, aquí está la forma genérica de las expresiones condicionales:

expression1 ? expression2 : expression3

Espero que tenga una idea básica sobre los operadores de asignación y las expresiones condicionales. Ahora lo alentamos a que los use en sus actividades diarias de codificación, y si tiene algún tipo de problema, no olvide dejarnos un comentario aquí.


Linux
  1. Tutorial de comandos agradable y renice de Linux (7 ejemplos)

  2. Tutorial de Programación en C Parte 5 - Variables de carácter

  3. Tutorial de programación de Linux C Parte 10 - Ámbitos variables

  4. Tutorial de programación de Linux C Parte 9:Cadenas

  5. Discusión sobre Windows, Linux y cPanel VPS – Parte II

5 consejos y trucos interesantes sobre la línea de comandos en Linux – Parte 1

Cómo comparar y fusionar archivos de texto en Linux (parte 2)

Tutorial de programación de Linux C Parte 15 - Números negativos y complemento 2s

Tutorial de programación de Linux C Parte 18:funciones recursivas

Cómo instalar y usar KompoZer en Linux - Tutorial

Cómo instalar y usar Kerkythea en Linux - Tutorial