operadores y expresiones

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

Upload: fernando-solis

Post on 21-Mar-2017

439 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Operadores y expresiones

Operadores y Operadores y ExpresionesExpresiones

Ing. Fernando SolisIng. Fernando Solis

Page 2: Operadores y expresiones

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 y expresiones

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 y expresiones

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

calcular valores. En C hay varios calcular valores. En C hay varios operadoresoperadores para construir para construir expresiones. 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 y expresiones

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 y expresiones

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 y expresiones

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 y expresiones

Operadores LógicosOperadores Lógicos

Page 9: Operadores y expresiones

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 y expresiones

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 y expresiones

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 y expresiones

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 y expresiones

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 y expresiones

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 y expresiones

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 y expresiones

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 y expresiones

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 y expresiones

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 y expresiones

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 y expresiones

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);

}}