Operadores

20
Operadores y Operadores y Expresiones Expresiones Ing. Fernando Solis Ing. Fernando Solis

Transcript of Operadores

Page 1: Operadores

Operadores y Operadores y ExpresionesExpresiones

Ing. Fernando SolisIng. Fernando Solis

Page 2: Operadores

OperadoresOperadores

Operador. Es el que realiza una acción Operador. Es el que realiza una acción sobre uno o más datos.sobre uno o más datos.

Operando. Es sobre lo que opera el Operando. Es sobre lo que opera el operador: los datos.operador: los datos.

Operador de AsignaciónOperador de Asignación Nombre_variable=expresion;Nombre_variable=expresion; Int bmw;Int bmw; Bmw=2002;Bmw=2002;

Page 3: Operadores

Inicialización de Variables Inicialización de Variables

Inicializar una variable consiste es Inicializar una variable consiste es otorgar un valor a dicha variable. Se otorgar un valor a dicha variable. Se inicializa la variable a la vez que se inicializa la variable a la vez que se la declara.la declara.

Ejemplo.Ejemplo. char ch=‘a’;char ch=‘a’; int caballos=32;int caballos=32; float resultado=34.6; float resultado=34.6;

Page 4: Operadores

ExpresionesExpresiones Los datos se manipulan mediante Los datos se manipulan mediante expresionesexpresiones, que sirven , que sirven

para calcular valores. En C hay varios para calcular valores. En C hay varios operadoresoperadores para para construir expresiones. construir expresiones.

Estos son los operadores elementales sobre números: Estos son los operadores elementales sobre números:

Una expresión combina varias operaciones y devuelve un valor. Una expresión combina varias operaciones y devuelve un valor.

Los operadores Los operadores **, , // y y %% tienen precedencia sobre la suma y la tienen precedencia sobre la suma y la resta. resta.

Se pueden utilizar paréntesis para agrupar subexpresiones. Se pueden utilizar paréntesis para agrupar subexpresiones.

Page 5: Operadores

Ejemplo de ExpresionesEjemplo de Expresiones a=1 a=1 b=2+2 b=2+2 c=4 + 6/2 c=4 + 6/2 d=(4+6) / 2 d=(4+6) / 2 e=( 3*5 + 12 ) % 7 e=( 3*5 + 12 ) % 7 Una expresión puede ser el nombre de una variable. Una expresión puede ser el nombre de una variable.

En ese caso, el resultado de la expresión es el valor de la En ese caso, el resultado de la expresión es el valor de la variable.variable.

int valor1 = 5; int valor1 = 5; int valor2 = 1; int valor2 = 1; main() { main() { valor2 = ( valor1 * 4 ) - valor2; valor2 = ( valor1 * 4 ) - valor2; }}

Page 6: Operadores

Operador Incremento y Operador Incremento y Decremento Decremento

Incremento (++)Incremento (++) Prefijo. El ++ antes del operando, C lleva a cabo la Prefijo. El ++ antes del operando, C lleva a cabo la

operación de incremento antes de utilizar el valor del operación de incremento antes de utilizar el valor del operando.operando.

Sufijo. El ++ después del operando, C utiliza su valor antes Sufijo. El ++ después del operando, C utiliza su valor antes de realizar la operación de incremento.de realizar la operación de incremento.

x=10;x=10; y=++x;y=++x; Se asigna a y=11Se asigna a y=11

x=10x=10 y=x++; y=x++; Se asigna a y =10Se asigna a y =10

El valor de x es ambos casos es 11El valor de x es ambos casos es 11

Page 7: Operadores

Operadores Relacionales Operadores Relacionales

Se emplean para realizar Se emplean para realizar comparaciones entre valores del comparaciones entre valores del mismo tipo. Operan de izquierda a mismo tipo. Operan de izquierda a derecha derecha

Page 8: Operadores

Operadores LógicosOperadores Lógicos

Page 9: Operadores

Conversión de tipo Conversión de tipo Se puede cambiar el tipo de una expresión de esta forma: Se puede cambiar el tipo de una expresión de esta forma:

((nuevo_tiponuevo_tipo) ) expresiónexpresión

Por ejemplo, para forzar a que una división de enteros se Por ejemplo, para forzar a que una división de enteros se realice en coma flotante, podemos escribir: realice en coma flotante, podemos escribir:

int x=5,y=3; float f; f = (float)x/y; int x=5,y=3; float f; f = (float)x/y;

En este ejemplo, el valor de x, que es entero, se transforma En este ejemplo, el valor de x, que es entero, se transforma a a floatfloat. Así la división se realizará en coma flotante. . Así la división se realizará en coma flotante.

Page 10: Operadores

Entrada y Salida por consolaEntrada y Salida por consola

Las funciones prinf() y scanf() Las funciones prinf() y scanf() permiten comunicarse con el mundo permiten comunicarse con el mundo exterior y realizar la E/S con formato. exterior y realizar la E/S con formato. Es decir puedo leer o escribir datos Es decir puedo leer o escribir datos de cualquier tipo en varias formas de cualquier tipo en varias formas que pueden ser controladas.que pueden ser controladas.

Page 11: Operadores

Salida con formato Salida con formato

La impresión de una variable depende del La impresión de una variable depende del tipo de datos que se trate.tipo de datos que se trate.

El prototipo de la función printf es:El prototipo de la función printf es:

int printf(char *cadena_control, lista de argumentos);int printf(char *cadena_control, lista de argumentos);

La cadena_control consta de La cadena_control consta de carácter carácter que que se mostrará en pantalla y se mostrará en pantalla y especificadores especificadores de formato.de formato.

printf(“los valores a y b son %d y %f”, 2 , 3.1);printf(“los valores a y b son %d y %f”, 2 , 3.1);

Page 12: Operadores

Modificadores de FormatoModificadores de Formato Los modificadores se agregan a los Los modificadores se agregan a los

especificadores para modificar su salida.especificadores para modificar su salida.

EjemploEjemplo Especificar la longitud mínima de campoEspecificar la longitud mínima de campo Printf(“%12d”, 345);Printf(“%12d”, 345); Printf(“%012d”,345);Printf(“%012d”,345); el numero de decimales el numero de decimales printf("%.4f\n", 6123.1233454);printf("%.4f\n", 6123.1233454);

Page 13: Operadores

Especificadotes de formatoEspecificadotes de formatocodigocodigo FormatoFormato

%c%c CaracterCaracter

%d%d Entero decimal con signoEntero decimal con signo

%i%i Entero decimal con signoEntero decimal con signo

%e%e Punto Flotante en notación Punto Flotante en notación científicacientífica

%f%f Punto flotante en notación Punto flotante en notación decimaldecimal

%s%s Cadena de caracteresCadena de caracteres

%p%p Mostrar un punteroMostrar un puntero

%%%% Imprime el carácter %Imprime el carácter %

Page 14: Operadores

Ejemplo 1Ejemplo 1 /* Programa : declaracion de variables *//* Programa : declaracion de variables */ #include <stdio.h>#include <stdio.h>

void main()void main() {{

int a;int a; float b;float b; char c;char c;

a=5;a=5; b=10;b=10; c='A';c='A';

printf ("\nValores de a= %d, b=%f, c=%c ", a, b,c);printf ("\nValores de a= %d, b=%f, c=%c ", a, b,c); }}

Page 15: Operadores

Ejemplo 2Ejemplo 2 /*/* Asi escribo comentariosAsi escribo comentarios Programa : inicializacion devariables */Programa : inicializacion devariables */ #include <stdio.h>#include <stdio.h>

void main()void main() {{

int a=20;int a=20; float b=34.7;float b=34.7; char c='E';char c='E';

printf ("\nValores de un Entero a= %d, de un flotante b=%f, de un caracter c=%c\n ", a, b,c);printf ("\nValores de un Entero a= %d, de un flotante b=%f, de un caracter c=%c\n ", a, b,c);

/* la impresion de una frase no necesita espedificadores de formato en todos los casos*//* la impresion de una frase no necesita espedificadores de formato en todos los casos*/ printf("Solo escibo una frase\n\n");printf("Solo escibo una frase\n\n");

/*Puedo imprimir solo datos , la frase no es necesaria*//*Puedo imprimir solo datos , la frase no es necesaria*/ printf("%c %d", '$', 23);printf("%c %d", '$', 23);

}}

Page 16: Operadores

Ejemplo 3Ejemplo 3 /*/* Asi escribo comentariosAsi escribo comentarios Programa : modificadores de formatos */Programa : modificadores de formatos */ #include <stdio.h>#include <stdio.h>

void main()void main() {{ //reserva espacios especificados (12) en la salida de impresion de un dato////reserva espacios especificados (12) en la salida de impresion de un dato// printf("%12d\n", 345);printf("%12d\n", 345);

//reserva 12 espacios para el dato llana con 0 a la izquierda//reserva 12 espacios para el dato llana con 0 a la izquierda printf("%012d\n",345);printf("%012d\n",345);

//imprime un dato flotante pero con 4 posiciones decimales//imprime un dato flotante pero con 4 posiciones decimales printf("%.4f\n", 123.1233454);printf("%.4f\n", 123.1233454);

//imprime //imprime printf("%10.15s", "Esto es una texto sencillo");printf("%10.15s", "Esto es una texto sencillo"); }}

Page 17: Operadores

Scanf()Scanf() Es una rutina de entrada por consola de Es una rutina de entrada por consola de

propósito general, pues lee datos que propósito general, pues lee datos que suministra el compilador, convirtiendo suministra el compilador, convirtiendo automáticamente al formato interno automáticamente al formato interno apropiado. apropiado.

int scanf(char* cadena_control, lista_argumentos);int scanf(char* cadena_control, lista_argumentos);

La cadena_control determina cómo se La cadena_control determina cómo se leen los valores de los datos en las leen los valores de los datos en las variables a las que se hace referencia en variables a las que se hace referencia en la lista_argumentos.la lista_argumentos.

Page 18: Operadores

lista_argumentos, son punteros a lista_argumentos, son punteros a variables, para fijar los mismo se debe variables, para fijar los mismo se debe colocar el nombre de la variable precedido colocar el nombre de la variable precedido por el operador de dirección &. Excepto si por el operador de dirección &. Excepto si se desea leer una variable de tipo cadena.se desea leer una variable de tipo cadena.

Ejemplo Ejemplo int numero;int numero; float promedio;float promedio; scanf(“%d%f”, &numero, &promedio);scanf(“%d%f”, &numero, &promedio);

Page 19: Operadores

EjemploEjemplo /*/* Asi escribo comentariosAsi escribo comentarios Programa : ingreso de datos */Programa : ingreso de datos */ #include <stdio.h>#include <stdio.h>

void main()void main() {{ int numero1;int numero1; float promedio;float promedio;

printf("Ingrese un numero");printf("Ingrese un numero"); scanf("%d", &numero1);scanf("%d", &numero1); printf("Ingrese el promedio");printf("Ingrese el promedio"); scanf("%f", &promedio);scanf("%f", &promedio); printf("numero=%d y promedio=%.4f", numero1, promedio);printf("numero=%d y promedio=%.4f", numero1, promedio);

}}

Page 20: Operadores

Ejemplo de Cadena Ejemplo de Cadena /*/* Asi escribo comentariosAsi escribo comentarios Programa : ingreso de datos */Programa : ingreso de datos */ #include <stdio.h>#include <stdio.h>

void main()void main() {{ char caracter[30];char caracter[30];

printf("Ingrese una cadena");printf("Ingrese una cadena"); scanf("%s",caracter);scanf("%s",caracter); printf("cadena ingresada=%s",caracter);printf("cadena ingresada=%s",caracter);

}}