La sentencia switch() en Lenguaje C es una sentencia de selección. Esta sentencia permite seleccionar las acciones a realizar de acuerdo al valor que tome una variable.
Modo de uso:
switch(variable) { case valor_1: //acciones break; case valor_2: //acciones break; . . . case valor_n: //acciones break; defalut: //acciones break; } Si el valor que toma la variable no coincide con los valores especificados en los casos, se realizarán las acciones definidas en la etiqueta default.
Ejemplos:
1. Escriba un programa en Lenguaje C que solicite el ingreso de un número del 1 al 9 y que muestre por pantalla el número seleccionado en letras.
Solución:
#include <stdio.h> void main() { int opcion; printf("Ingrese un numero entero: "); scanf("%d",&opcion); switch(opcion) { case 1: printf("Ha ingresado el numero uno\n"); break; case 2: printf("Ha ingresado el numero dos\n"); break; case 3: printf("Ha ingresado el numero tres\n"); break; case 4: printf("Ha ingresado el numero cuatro\n"); break; case 5: printf("Ha ingresado el numero cinco\n"); break; case 6: printf("Ha ingresado el numero seis\n"); break; case 7: printf("Ha ingresado el numero siete\n"); break; case 8: printf("Ha ingresado el numero ocho\n"); break; case 9: printf("Ha ingresado el numero nueve\n"); break; defalut: printf("Ha ingresado un numero no valido\n"); break; } }
2. Escriba un programa en Lenguaje C que solicite el ingreso de dos números enteros y que luego permita seleccionar si se sumarán, restarán dividirán o multiplicarán y muestre el resultado por pantalla.
Solución:
#include <stdio.h> void main() { int opcion,a,b,resultado; printf("Ingrese un numero entero [a]: "); scanf("%d",&a); printf("Ingrese un numero entero [b]: "); scanf("%d",&b); printf("Menu\n"); printf("1. Sumar\n"); printf("2. Restar\n"); printf("3. Dividir\n"); printf("4. Multiplicar\n"); printf("Elija una operacion: "); scanf("%d",&opcion); switch(opcion) { case 1: resultado=a+b; printf("%d + %d = %d\n",a,b,resultado); break; case 2: resultado=a-b; printf("%d - %d = %d\n",a,b,resultado); break; case 3: resultado=a/b; printf("%d / %d = %d\n",a,b,resultado); break; case 4: resultado=a*b; printf("%d x %d = %d\n",a,b,resultado); break; defalut: printf("Opcion no valida\n"); break; } }
El lenguaje C permite manejar una gran variedad de operadores como lo son: Operadores aritméticos, lógicos, de asignación, relacionales.
Operadores Aritméticos
Operador | Nombre | Descripción | Sentido |
+ | Suma | Suma dos números | De izquierda a derecha |
– | Resta | Resta dos números | De izquierda a derecha |
/ | División | Divide dos números | De izquierda a derecha |
* | Producto | Multiplica dos números | De izquierda a derecha |
% | Resto | Calcula el resto de una división | De izquierda a derecha |
Operadores Lógicos
Operador | Nombre | Descripción | Sentido |
! | No lógico | Realiza la operación lógica NOT | De izquierda a derecha |
&& | Y lógico | Realiza la operación lógica AND | De izquierda a derecha |
|| | Ó lógico | Realiza la operación lógica OR | De izquierda a derecha |
Operadores Relacionales
Operador | Nombre | Descripción | Sentido |
== | Igual a | Compara dos valores y devuelve verrdadero (1) si son iguales. | De izquierda a derecha |
!= | Diferente de | Compara dos valores y devuelve verrdadero (1) si son diferentes. | De izquierda a derecha |
> | Mayor que | Compara dos valores y devuelve verrdadero si el izquierdo es mayor que el derecho. | De izquierda a derecha |
>= | Mayor o igual que | Compara dos valores y devuelve verrdadero si el izquierdo es mayor o igual que el derecho. | De izquierda a derecha |
< | Menor que | Compara dos valores y devuelve verrdadero si el izquierdo es menor que el derecho. | De izquierda a derecha |
<= | Menor o igual que | Compara dos valores y devuelve verrdadero si el izquierdo es menor o igual que el derecho. | De izquierda a derecha |
Operadores de asignación
Operador | Nombre | Descripción | Sentido |
++ | Incremento | Incrementa en uno al valor actual de una variable | |
— | Decremento | Decrementa en uno al valor actual de una variable | |
= | Asignación | Asigna un valor dado a una variable | De derecha a izquierda |
+= | Incremento de | Incrementa en una cantidad dada al valor de una variable | De derecha a izquierda |
-= | Decremeto de | Decrementa en una cantidad dada al valor de una variable | De derecha a izquierda |
*= | Asignación del producto | Multiplica al valor de una variable con un número dado y se lo asigna a la misma. | De derecha a izquierda |
/= | Asignación de la división | Divide al valor de una variable para un número dado y se lo asigna a la misma. | De derecha a izquierda |
En el caso de los operadores incremento y decremento, se los puede colocar a la derecha
de la variable (operación post-incremento/decremento) o a la izquierda (operación
pre-incremento/decremento). Al usar estos operadores en modo post-incremento/decremento
primero se evalúa la variable y luego se le suma o resta 1. En el caso de los operadores
pre-incremento/decremento primero se le suma o resta 1 al valor de la variable y luego
se evalúa la misma.
Ejemplos:
Post-Incremento #include <stdio.h> void main(){ int a,b; a=10; b=a++; //A la variable b se le asigna el valor de a; luego el valor //de la variable a se incrementa en 1 }
Pre-Incremento
#include <stdio.h> void main() { int a,b; a=10; b=++a; //El valor de a es incrementado en 1 y luego este valor es asignado a //la variable b }
C es un lenguaje de programación de propósito general creado en 1972 por Ken Thompson y Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje B, a su vez basado en BCPL, que ofrece economía sintáctica, control de flujo y estructuras sencillas y un buen conjunto de operadores. No es un lenguaje de muy alto nivel y más bien un lenguaje pequeño, sencillo y no está especializado en ningún tipo de aplicación. Esto lo hace un lenguaje potente, con un campo de aplicación ilimitado y sobre todo, se aprende rápidamente. En poco tiempo, un programador puede utilizar la totalidad del lenguaje.
Convierte el programa fuente en otro archivo fuente, durante este proceso se eliminan los comentarios, se incluyen los contenidos de los ficheros declarados con» #include <archivo>» (cabeceras) y se sustituye las instrucciones declaradas con #define
Transforma el código fuente proveniente del precompilador, en un archivo en lenguaje de máquina (fichero objeto).
El fichero objeto es un archivo en lenguaje de máquina que no puede ser ejecutado, sino que necesita ser enlazado con las bibliotecas del sistema operativo; el enlazador genera un archivo binario que puede ejecutarse.
Las bibliotecas son archivos que contienen el código de funciones precompilados que realizan operaciones requeridas en nuestro programa.
Nuestro primer programa
La sintaxis del lenguaje de programación C es sencilla, cuando programemos en C sólo debemos recordar:
Ejemplo de un programa en C:
//Incluyendo la cabecera en la que se encuentra definido el procedimiento printf() #include <stdio.h> /*Función principal, todas las instrucciones encontradas en esta función se ejecutarán directamente*/ void main() { printf("Hola Mundo"); //Procedimiento que muestra en pantalla un mensaje }