programacion en c unidad 01 capitulos 3 y 4
Post on 06-Apr-2018
228 Views
Preview:
TRANSCRIPT
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 1/78
Unidad 1
INC-112 Programacion IUnidad 1
Profesores: Roberto Munoz S. - Eliana Providel G.Escuela de Ingenierıa Civil en Informatica
Universidad de Valparaısoroberto.munoz.s@uv.cl, eliana.providel@uv.cl
Segundo Semestre 2011
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 2/78
Unidad 1
Contenidos Unidad I
Parte I: Introduccion.Parte II: Estructura de un Programa en C.
Parte III:Tipos de datos.
Parte IV: Operadores.
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 3/78
Unidad 1
Parte III: Tipos de Datos
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 4/78
Unidad 1
Contenidos
Declaraciones.
Tipos de Datos.
Clasificacion de Tipos de Datos
U id d 1
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 5/78
Unidad 1
Declaraciones
Identificadores
Identificadores
Designan los distintos elementos del programa: tipos de datos,constantes, variables, procedimientos, funciones, etc. Estanformados por secuencias de caracteres alfabeticos y dıgitos,
construidos de acuerdo a las siguientes reglas:1 Comienzan obligatoriamente por una letra. Excepcionalmente
se admite el caracter subrayado ( ) como componente de unidentificador.
2 Los identificadores no pueden ser palabras reservadas.
3 En C existe diferencia entre mayusculas y minusculas en elnombre del identificador. Por ejemplo:Variable1 variable1 variable 1 son todas variables distintas!
U id d 1
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 6/78
Unidad 1
Declaraciones
Variables
Variables
Son aquellos elementos del programa que cambian su valor atraves de la ejecucion del programa. En C, se les asocia a un tipo
de dato y un nombre que las identifique.Ejemplo (Pseudocodigo):
var:
id usuario: entero
sueldo: realasignacion: flotante
Unidad 1
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 7/78
Unidad 1
Declaraciones
Variables
Variable
Declaracion:
TipoDato NombreVariable;
TipoDato NombreVar1, NombreVar2, NombreVar3;
Asignacion: Se puede realizar al momento de la declaracion oposteriormente.
TipoDato NombreVariable = Valor;
TipoDato NombreVar1 = Valor1, NombreVar2 =
Valor2;
NombreVariable = Valor;
Recordatorio pseudocodigo: Hacer variable ← valor
Unidad 1
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 8/78
Unidad 1
Declaraciones
Constantes
Constantes
Son aquellos elementos del programa que no cambian su valordurante el transcurso del programa.
En el caso de ellas, son Declaradas y Asignadas en la misma lınea,y la cual debe realizarse al inicio del programa.
const TipoDato NombreConstante = Valor;
Ejemplos:
const float PI = 3,1416;
const NegPI = -PI;
Unidad 1
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 9/78
Unidad 1
Declaraciones
Ejemplo
Variables y Constantes: Ejemplo
/* Ejemplo de como declarar variables y constantes en unminiprograma en C */
#include <stdio.h>
int main( ){int a = 5 , b , c = 0 ;
const int d = 4 ;
/* comienzo del programa */return 0;
}
Unidad 1
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 10/78
Unidad 1
Declaraciones
Ejemplo
Cuerpo del Programa
Importante!Todo elemento del programa que quiera ser referenciado o
usado en un programa deber haber sido previamente
declarado.
Unidad 1
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 11/78
Declaraciones
Ejemplo
Cuerpo del Programa
Equivalencias
Unidad 1
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 12/78
Tipos de Datos
Determinan el rango de valores que puede tomar una variable.
Existen tipos de datos predefinidos por el lenguaje.
El programador puede definir sus propios tipos.
Ejemplo:
typedef float nuevofloat
typedef char nueva letra
/*declaracion de variable
utilizando el nuevo tipo*/nuevofloat suma=0.0;
Unidad 1
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 13/78
Tipos de Datos
Tipos de Datos
Los diferentes objetos de informacion que C utiliza para trabajar seconocen con el nombre de datos. Cada uno de estos objetos tendraun tipo de datos diferente acorde con su informacion. Segun deltipo de informacion de que se trate, podra ser un numero, unaletra, etc.La asignacion de tipos a los datos tiene por objetivos:
Detectar errores de operaciones en programas.
Determinar como ejecutar las operaciones.
Determinar el rango de valores que puede tomar una variable.
Reservar en memoria el espacio correcto para cada tipo dedatos.
Unidad 1
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 14/78
Clasificacion de los Tipos de Datos
Clasificacion de los Tipos de Datos
Los tipos de datos que posee C se clasifican en:
EnterosReales
Caracteres
Enumerados
Otros: pointer, array, struct,...
Unidad 1
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 15/78
Clasificacion de los Tipos de Datos
Enteros
Enteros
Int: Enteros comprendidos entre −2.147.483.648 y2.147.483.647. (4 Bytes).
Short int: Enteros entre −32768
y32767
. (2 Bytes).Long int: Enteros comprendidos entre −2.147.483.648 y2.147.483.647. (4 Bytes).
Unsigned Short int: Enteros comprendidos entre 0 y 65.535.(2 Bytes).
Unsigned Int: Enteros comprendidos entre 0 y4.294.967.295. (4 Bytes).
Unidad 1
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 16/78
Clasificacion de los Tipos de Datos
Reales
Reales
Float: Reales entre −10−37 ... 10−38 (11-12 cifras). Usa 4
Bytes.
Double: Entre −10−308 ... 10−308. Utiliza 8 Bytes y es masgrande que float.
Long double: Utiliza 16 Bytes.
Unidad 1Cl ifi i´ d l Ti d D
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 17/78
Clasificacion de los Tipos de Datos
Reales
Unidad 1Cl ifi i´ d l Ti d D t
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 18/78
Clasificacion de los Tipos de Datos
Reales
Unidad 1Clasificacion de los Tipos de Datos
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 19/78
Clasificacion de los Tipos de Datos
Caracteres
Caracteres
Char: Solo puede contener un caracter. Todos los caracteres
que se pueden almacenar en un char se pueden expresarmediante el cdigo ASCII (256 caracteres), e internamente, sealmacenan como ASCII’s.
Se representan entre comillas simples: ’a’, ’A’, ’ ’, etc.
Unidad 1Clasificacion de los Tipos de Datos
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 20/78
Clasificacion de los Tipos de Datos
Caracteres
Caracteres
Cada caracter utiliza un byte.Lleva asociado un valor entero, que es su representacion encodigo ASCII
Ej. A es equivalente a 65 — 0100 0001
Unidad 1Clasificacion de los Tipos de Datos
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 21/78
Clasificacion de los Tipos de Datos
Caracteres
Cadenas de Caracteres
En C no existen las cadenas de caracteres (tambien llamadosStrings).
Las cadenas de caracteres sirven para poder asignar mas de uncaracter a una variable. Ası, es posible asignar palabras o frasescompletas en ellas.
La forma de poder llevarlo a cabo en C, es de la siguiente forma:
char palabra[] = ”Hola Mundo”;printf (”Frase del Dıa: %s”, palabra);
Unidad 1Clasificacion de los Tipos de Datos
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 22/78
Clasificacion de los Tipos de Datos
Secuencias de Escape
Secuencias de Escape
Corresponden a caracteres no imprimibles
Unidad 1Clasificacion de los Tipos de Datos
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 23/78
p
Enumeraciones
Enumeraciones
Listas de constantes enteras con nombres.
Su sintaxis es:
enum identificador { lista de nombres }
Ejemplo:enum meses{
Enero, Febrero, Marzo, Abril
};
donde
Enero = 0 Febrero = 1 Marzo = 2 Abril = 3
Es mas claro decir: if (meses == Enero){...}que: if (meses == 1 ) {...}
Unidad 1Clasificacion de los Tipos de Datos
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 24/78
p
Enumeraciones
Enumeraciones
Casos especiales:enum colores{
Rojo = 10, → 10verde, → 11amarillo, → 12azul = 50, → 50morado → 51
};typedef enum colores miscolores;
Unidad 1Clasificacion de los Tipos de Datos
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 25/78
Enumeraciones
Enumeraciones
int main(){enum almacenamiento
{diskette, cd, dvd, cinta};
enum almacenamiento disco;disco = cd;
if ( disco == diskette ){printf("Es de 1440 Kb\n");
}
printf("%d %d\n", dvd, cinta)return 0;
}
Unidad 1Clasificacion de los Tipos de Datos
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 26/78
Enumeraciones
Enumeraciones
int main() {enum dia de la semana {
lunes, martes, miercoles, jueves, viernes,sabado, domingo };
enum dia de la semana hoy;
hoy = sabado;
printf("%d", hoy);
return 0;}
Unidad 1Clasificacion de los Tipos de Datos
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 27/78
Otros tipos de Datos
Array: Arreglo de datos, que pueden ser unidimensional o devarias dimensiones.
Struct: Estructuras son un conjunto de variables, en ocasionesde diferentes tipos, que se relacionan bajo un mismo nombre.
Pointer: Corresponde a los punteros, permite por parte delprogramador, un manejo dinamico de memoria.
Unidad 1
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 28/78
Parte IV: Operadores
Unidad 1
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 29/78
Contenido
Introduccion
Operaciones BasicasOperadores de Bit
Precedencia de operadores
Compatibilidad de Tipos
Unidad 1Intrododuccion
Q ´ l d ?
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 30/78
¿Que son los operadores?
Sımbolos que denotan un conjunto de operaciones que han derealizarse.
Representados por sımbolos especiales.
Algunos tienen significados diferentes segun su contexto.
Ej.
printf("%d", b); //(especifica un formato de salida)
b%a; //(modulo)
p=n*m; //(multiplicacion)
*p; //(puntero)
Unidad 1Operaciones Basicas
O d A it ´ti
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 31/78
Operadores Aritmeticos
Operadores Aritmeticos
Sımbolo Descripcion
+ suma
- resta* multiplicacion
/ division
% modulo (resto de la division entera)
- signo
Unidad 1Operaciones Basicas
Operadores Aritmeticos
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 32/78
Operadores Aritmeticos
Ejemplo
#include <stdio.h>
main()
/* Realiza varias operaciones */
{
int a=1, b=2, c=3, r;r=a+b;
printf("%d + %d = %d ",a,b,r);
r=c-a;
printf("%d - %d = %d ",c,a,r);
b++;
printf("b + 1 = %d",b);
}
Unidad 1Operaciones Basicas
Operadores Relacionales
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 33/78
Operadores Relacionales
Operadores Relacionales
Relacionales: Devuelven un valor booleano (verdadero o falso).Se utilizan para comparar el contenido de dos variables.
Sımbolo Descripcion< menor
> mayor
<= menor o igual
>= mayor o igual
== igual
! = distinto
Unidad 1Operaciones Basicas
Operadores Relacionales
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 34/78
Operadores Relacionales
Ejemplo
#include <stdio.h>
main(){
int a,b;
printf("Introduce un numero: ");scanf("%d",&a);
printf("Introduce otro numero: ");
scanf("%d",&b);
if (a>b)printf("%d es mayor que %d",a,b);
else if (a<b) printf("%d es mayor que %d",b,a);else printf("Los dos numeros son iguales");
}
Unidad 1Operaciones Basicas
Operadores Logicos
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 35/78
Operadores Logicos
Operaciones Logicos
Sımbolo Descripcion Ejemplo
&& AND (Y) (a > b) && (b <= c)
|| OR (O) (a > b) || (b <= c)
! NOT (Negacion) !(a > b)
Unidad 1Operaciones Basicas
Operadores de Asignacion y Expresion
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 36/78
p g y p
Operadores de Asignacion y Expresion
Asignacion corresponde a la copia de una expresion sobre otravariable
Ejemplos1 c=a+b;2 b=c;3 a=b=c=1;4 a=a+50;
Se evaluan de derecha a izquierda
Unidad 1Operaciones Basicas
Operadores de Asignacion y Expresion
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 37/78
p g y p
Operadores de Asignacion y Expresion
Si op es una operacion aritmetica (multiplicacion, division. . . ), se
tiene que:(c)=(c) op (b);“que es equivalente a”(c) op = (b);
Unidad 1Operaciones Basicas
Operadores de Asignacion y Expresion
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 38/78
Ejemplos
a+=b -> a=a+b
a-=b -> a=a-b
a*=b -> a=a*ba/=b -> a=a/b
a%=b -> a=a%b
a*=b+5 -> a=a*(b+5) y no a=a*b+5
Unidad 1Operaciones Basicas
Operadores Condicional
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 39/78
Operador Condicional
Permite una forma sencilla de evaluar diferentes expresiones, de lasiguiente forma:
exp1? exp2 : exp3Esto quiere decir que si exp1 se cumple, el resultado sera exp2en caso contrario exp3.
Se evalua la expresion exp1 si es cierta, se evalua exp2 y suvalor sera el resultado de la expresion, en caso contrariotomara valor exp3
Unidad 1Operaciones Basicas
Operadores Condicional
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 40/78
Operadore Condicional - Ejemplo
Ejemplo. Si tenemos las siguientes variable:
int A=1;
int B=10;
int X=0;y una variable c
( c>=0 && c <=9 ) ? X=A : X=B ;
Unidad 1Operaciones Basicas
Operadores de Incremento y Decremento
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 41/78
Operadores de Incremento y Decremento
Incremento y Decremento: Operadores mediante los cuales sepueden incrementar y disminuir el valor de variables.
Sımbolo Descripcion Ejemplo
++ Incremento ++i i++
−− Decremento −−i i−−
Unidad 1Operaciones Basicas
Operadores de Incremento y Decremento
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 42/78
Descripcion
Son dos operadores que proporciona el lenguaje C.
Operador de incremento, sımbolo ++
Agrega 1 a su operando
Operador de decremento, sımbolo - -
Disminuye en 1 su operando
Pueden ser utilizados como prefijos o como sufijos
Es decir, si se desea incrementar una variable se podria
incrementar se las siguientes formas:
a++ ++a
Unidad 1Operaciones Basicas
Operadores de Incremento y Decremento
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 43/78
Descripcion
Lo que diferencia las dos expresiones anteriores es el momentoen que se incrementara la variable.
a++ incrementa el valor de la variable despues que se hautilizado.
++a incrementa el valor de la variable antes de utilizar suvalor.
Solo pueden aplicarse a variables, es decir, (a+b)++ es ilegal.
De forma analoga ocurre para el operador de decremento.
Unidad 1Operaciones Basicas
Operadores de Incremento y Decremento
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 44/78
Ejemplo 1
Si:a=100;
b=10;C=a + ++b;
cuanto es C ?1 se incrementa el valor de b = 11;2 se evalua a + b.3 Finalmente c = 100 + 11 = 111
Unidad 1Operaciones Basicas
Operadores de Incremento y Decremento
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 45/78
Ejemplo 1
Si:a=100;
b=10;C=a + ++b;
cuanto es C ?1 se incrementa el valor de b = 11;2 se evalua a + b.3 Finalmente c = 100 + 11 = 111
Unidad 1Operaciones Basicas
Operadores de Incremento y Decremento
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 46/78
Ejemplo 1
Si:a=100;
b=10;C=a + ++b;
cuanto es C ?1 se incrementa el valor de b = 11;2 se evalua a + b.3 Finalmente c = 100 + 11 = 111
Unidad 1
Operaciones Basicas
Operadores de Incremento y Decremento
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 47/78
Ejemplo 1
Si:a=100;
b=10;C=a + ++b;
cuanto es C ?1 se incrementa el valor de b = 11;2 se evalua a + b.3 Finalmente c = 100 + 11 = 111
Unidad 1
Operaciones Basicas
Operadores de Incremento y Decremento
Ej l 1
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 48/78
Ejemplo 1
Si:a=100;
b=10;C=a + ++b;
cuanto es C ?1 se incrementa el valor de b = 11;2 se evalua a + b.3 Finalmente c = 100 + 11 = 111
Unidad 1
Operaciones Basicas
Operadores de Incremento y Decremento
Ej l 2
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 49/78
Ejemplo 2
Si:a=100;
b=10;C=a + b++;
cuanto es C ?1 se evalua a+b, por lo que c=100 + 10=1102 se incrementa el valor de b, por lo que b=11
Unidad 1
Operaciones Basicas
Operadores de Incremento y Decremento
Ej l 2
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 50/78
Ejemplo 2
Si:a=100;
b=10;C=a + b++;
cuanto es C ?1 se evalua a+b, por lo que c=100 + 10=1102 se incrementa el valor de b, por lo que b=11
Unidad 1
Operaciones Basicas
Operadores de Incremento y Decremento
Ej l 2
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 51/78
Ejemplo 2
Si:a=100;
b=10;C=a + b++;
cuanto es C ?1 se evalua a+b, por lo que c=100 + 10=1102 se incrementa el valor de b, por lo que b=11
Unidad 1
Operaciones Basicas
Operadores de Incremento y Decremento
Ej l 2
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 52/78
Ejemplo 2
Si:a=100;
b=10;C=a + b++;
cuanto es C ?1 se evalua a+b, por lo que c=100 + 10=1102 se incrementa el valor de b, por lo que b=11
Unidad 1
Operaciones Basicas
Operadores de Incremento y Decremento
Ejemplo
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 53/78
Ejemplo
a = 1 → a = 1 a = 1 → a = 1a++ → a = 1 ++a → a = 2b = a → b = 2 b = a → a = 2
Unidad 1
Operaciones Basicas
Operadores de Incremento y Decremento
Ejemplo
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 54/78
Ejemplo
int main(){int a = 1 , b ;
printf("%d" a);
printf("%d", a++);
printf("%d", a);
printf("%d", ++a);
printf("%d", a);
a--;
a--;
b = a++ * 3;
printf("%d", b);
printf("%d", a);
return 0;
}
Unidad 1
Operadores de Bit
Operadores de Bit
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 55/78
Operadores de Bit
Caracterısticas
Permitem manipular a nivel de bit una variable.
Se aplican a char, short, int y long.
No es aplicable a float y double.¿Por que?
No confundir con operadores logicos.
Unidad 1
Operadores de Bit
Operadores de Bit
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 56/78
Operadores de Bit
Smbolo Descripcion Ejemplo
& AND (Y) bit a bit a & b
| Inclusive OR (O Inclusivo) a | bˆ Exclusive OR (O Exclusivo) a ˆb
<< Rotacion a la Izquierda a << b
>> Rotacion a la Derecha a >> b
∼ Complemento a uno ∼ a
Unidad 1
Operadores de Bit
Operador AND
Operadore AND
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 57/78
Operadore AND
Operador: AND.
Sımbolo: &.
Considerando:
0 & 0 = 00 & 1 = 01 & 0 = 0
1 & 1 = 1
Unidad 1
Operadores de Bit
Operador AND
Operadore AND- Ejemplo
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 58/78
Operadore AND Ejemplo
50&10
1 Primero: Conocer su representacion en base 2.
50 = 00110010
10 = 000010102 Segundo: Realizar la operacion AND entre los dos numeros,
dıgito por dıgito.00110010
& 00001010
————-00000010 = 2
Unidad 1
Operadores de Bit
Operadore OR
Operador OR
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 59/78
Operador OR
Operador: OR.
Sımbolo: |.
Considerando:
0 | 0 = 00 | 1 = 11 | 0 = 1
1 | 1 = 1
Unidad 1
Operadores de Bit
Operadore OR
Operador OR - Ejemplo
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 60/78
Operador OR Ejemplo
50 | 10
00110010| 00001010
————–00111010 ⇒ 58
Unidad 1
Operadores de Bit
Operador OR Exclusivo
Operador OR Exclusivo
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 61/78
Operador OR Exclusivo
Sımboloˆ
Combinacion entre bit0ˆ0 =00ˆ1 =11ˆ0 =11ˆ1 =0
Unidad 1
Operadores de Bit
Operador OR Exclusivo
Operador OR Exclusivo - Ejemplo
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 62/78
Ope ado O c us o je p o
Ej. 5010=?
00110010ˆ00001010
—————–00111000 ⇒ 56
Unidad 1
Operadores de Bit
Rotacion a la Izquierda
Rotacion a la Izquierda
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 63/78
q
Sımbolo <<
a=b<<c
b sufre un desplazamiento de c posiciones en los bits hacia laizquierda, y el valor final es asignado en a.
C=50 << 10 ??
50 = 00110010
C=00 11001000 00000000
C=51200
Unidad 1
Operadores de Bit
Rotacion a la Derecha
Rotacion a la Derecha
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 64/78
Sımbolo: >>
a = b >> c
b sufre un desplazamiento de c posiciones en los bits hacia laderecha, y el valor final es asignado en a.
Ej.128 >> 4 ?
1 128 = 1000 00002
1000 0000 al correr 4 posiciones a la derecha:3 0000 1000
Unidad 1
Operadores de Bit
Rotacion a la Derecha
Ratacion a la Derecha
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 65/78
1 50=00110010
2 c=50 >> 10 ?
3 Respuesta: c=0
Unidad 1
Operadores de Bit
Rotacion a la Derecha
Ratacion a la Derecha
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 66/78
1 50=00110010
2 c=50 >> 10 ?
3 Respuesta: c=0
Unidad 1
Operadores de Bit
Rotacion a la Derecha
Ratacion a la Derecha
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 67/78
1 50=00110010
2 c=50 >> 10 ?
3 Respuesta: c=0
Unidad 1
Operadores de Bit
Complemento a Uno
Complemento a Uno
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 68/78
Convierte cada bit del operando.
0 es convertido a 1 y viceversa.
Sımbolo ∼
Unidad 1
Precedencia de Operadores
Precedencia de Operadores
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 69/78
Todas las subexpresiones entre parentesis primero. Lassubexpresiones con parentesis anidados se evaluan desdeadentro hacia afuera; el parentesis mas interno se evalua
primero.Prioridad de operaciones. Dentro de una misma expresion osubexpresion, los operadores se evaluan en el orden presentadoen la tabla de la proxima diapositiva.
Regla asociativa izquierda: Los operadores en una misma
expresion o subexpresion con igual nivel de prioridad (tal como* y /) se evaluan de izquierda a derecha.
Unidad 1
Precedencia de OperadoresPrecedencia de Operadores
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 70/78
Unidad 1
Compatibilidad de Tipos
Compatibilidad de Tipos
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 71/78
Cuando se evalua una expresion, todos los tipos deben sercompatibles.
2+3*4+’1’ es incorrecto, ya que no se pueden sumar numeroscon caracteres, ambos tipos son incompatibles.
Unidad 1
Compatibilidad de Tipos
Compatibilidad de Tipos
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 72/78
Dos tipos son compatibles cuando son iguales.
Existen dos excepciones:En una asignacion, los reales son compatibles con los enteros,no viceversa.Un tipo sub-rango es compatible con su tipo base y viceversa.
Unidad 1
Compatibilidad de TiposConversion de Tipos (Cast)
Conversion de Tipos (Cast)
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 73/78
Sirve para cambiar el tipo de dato.
Para el compilador, una division entre enteros tiene unresultado entero.
El compilador hace ”cast” en caso que un float se asigne a unint.
Ejemplo:
int a = 3, b;float c = 12.11;b = c / a; 4 y no 4.03666
Unidad 1
Compatibilidad de TiposConversion de Tipos (Cast)
Conversion de Tipos (Cast)
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 74/78
int main(){int a = 3 , b = 2 ;
float c, d, e;
c = a / b;
d = (float) a / b ; → (float)(a / b)e = 5.0 / 2;
printf("%f\n",c); → 1.00000
printf("%f\n",d); → 1.50000
printf("%f\n",e); → 2.50000
return 0;
}
Unidad 1
Compatibilidad de TiposConversion de Tipos (Cast)
Conversion de Tipos (Cast)
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 75/78
int main() {int entero, entero2;
char letra = ’A’;
float con decimales = 70.22;
entero = con decimales + 1;entero2 = (int)letra;
printf("%d\n", entero);
printf("%d\n", entero2);
printf("%c\n", entero2);
return 0;
}
Unidad 1
Compatibilidad de TiposConversion de Tipos (Cast)
Ejemplo
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 76/78
Unidad 1
Compatibilidad de TiposConversion de Tipos (Cast)
Algunas Funciones Matematicas
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 77/78
Contenidas en <math.h>
pow(x,y) valor de x elevado a y
sqrt(x) raiz de x
exp(x) exponencial
log10(x) logaritmo en base 10
sin(x) seno
cos(x) coseno
tan(x) tangente
atan(x) arco-tangenteceil(x) redondea hacia arriba al entero mas cercano a x
floor(x) redondea hacia abajo al entero mas cercano a x
Unidad 1
Preguntas
Preguntas
8/3/2019 Programacion en C unidad 01 capitulos 3 y 4
http://slidepdf.com/reader/full/programacion-en-c-unidad-01-capitulos-3-y-4 78/78
top related