programacion en c unidad 01 capitulos 3 y 4

78
Unidad 1 INC-112 Programaci´ on I Unidad 1 Profesores: Roberto Mu˜ noz S. - Eliana Providel G. Escuela de Ingenie r ´ ıa Civil en Inform´ atica Univer sid ad de Valpar ı so [email protected], [email protected] Segundo Semestre 2011

Upload: erick-francisco-merino-menares

Post on 06-Apr-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programacion en C unidad 01 capitulos 3 y 4

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ı[email protected], [email protected]

Segundo Semestre 2011

Page 2: Programacion en C unidad 01 capitulos 3 y 4

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.

Page 3: Programacion en C unidad 01 capitulos 3 y 4

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

Page 4: Programacion en C unidad 01 capitulos 3 y 4

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

Page 5: Programacion en C unidad 01 capitulos 3 y 4

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

Page 6: Programacion en C unidad 01 capitulos 3 y 4

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

Page 7: Programacion en C unidad 01 capitulos 3 y 4

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

Page 8: Programacion en C unidad 01 capitulos 3 y 4

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

Page 9: Programacion en C unidad 01 capitulos 3 y 4

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

Page 10: Programacion en C unidad 01 capitulos 3 y 4

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

Page 11: Programacion en C unidad 01 capitulos 3 y 4

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

Page 12: Programacion en C unidad 01 capitulos 3 y 4

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

Page 13: Programacion en C unidad 01 capitulos 3 y 4

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

Page 14: Programacion en C unidad 01 capitulos 3 y 4

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

Page 15: Programacion en C unidad 01 capitulos 3 y 4

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

Page 16: Programacion en C unidad 01 capitulos 3 y 4

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

Page 17: Programacion en C unidad 01 capitulos 3 y 4

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

Page 18: Programacion en C unidad 01 capitulos 3 y 4

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

Page 19: Programacion en C unidad 01 capitulos 3 y 4

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

Page 20: Programacion en C unidad 01 capitulos 3 y 4

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

Page 21: Programacion en C unidad 01 capitulos 3 y 4

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

Page 22: Programacion en C unidad 01 capitulos 3 y 4

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

Page 23: Programacion en C unidad 01 capitulos 3 y 4

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

Page 24: Programacion en C unidad 01 capitulos 3 y 4

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

Page 25: Programacion en C unidad 01 capitulos 3 y 4

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

Page 26: Programacion en C unidad 01 capitulos 3 y 4

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

Page 27: Programacion en C unidad 01 capitulos 3 y 4

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

Page 28: Programacion en C unidad 01 capitulos 3 y 4

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

Page 29: Programacion en C unidad 01 capitulos 3 y 4

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 ?

Page 30: Programacion en C unidad 01 capitulos 3 y 4

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

Page 31: Programacion en C unidad 01 capitulos 3 y 4

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

Page 32: Programacion en C unidad 01 capitulos 3 y 4

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

Page 33: Programacion en C unidad 01 capitulos 3 y 4

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

Page 34: Programacion en C unidad 01 capitulos 3 y 4

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

Page 35: Programacion en C unidad 01 capitulos 3 y 4

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

Page 36: Programacion en C unidad 01 capitulos 3 y 4

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

Page 37: Programacion en C unidad 01 capitulos 3 y 4

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

Page 38: Programacion en C unidad 01 capitulos 3 y 4

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

Page 39: Programacion en C unidad 01 capitulos 3 y 4

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

Page 40: Programacion en C unidad 01 capitulos 3 y 4

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

Page 41: Programacion en C unidad 01 capitulos 3 y 4

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

Page 42: Programacion en C unidad 01 capitulos 3 y 4

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

Page 43: Programacion en C unidad 01 capitulos 3 y 4

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

Page 44: Programacion en C unidad 01 capitulos 3 y 4

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

Page 45: Programacion en C unidad 01 capitulos 3 y 4

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

Page 46: Programacion en C unidad 01 capitulos 3 y 4

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

Page 47: Programacion en C unidad 01 capitulos 3 y 4

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

Page 48: Programacion en C unidad 01 capitulos 3 y 4

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

Page 49: Programacion en C unidad 01 capitulos 3 y 4

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

Page 50: Programacion en C unidad 01 capitulos 3 y 4

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

Page 51: Programacion en C unidad 01 capitulos 3 y 4

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

Page 52: Programacion en C unidad 01 capitulos 3 y 4

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

Page 53: Programacion en C unidad 01 capitulos 3 y 4

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

Page 54: Programacion en C unidad 01 capitulos 3 y 4

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

Page 55: Programacion en C unidad 01 capitulos 3 y 4

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

Page 56: Programacion en C unidad 01 capitulos 3 y 4

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

Page 57: Programacion en C unidad 01 capitulos 3 y 4

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

Page 58: Programacion en C unidad 01 capitulos 3 y 4

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

Page 59: Programacion en C unidad 01 capitulos 3 y 4

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

Page 60: Programacion en C unidad 01 capitulos 3 y 4

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

Page 61: Programacion en C unidad 01 capitulos 3 y 4

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

Page 62: Programacion en C unidad 01 capitulos 3 y 4

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

Page 63: Programacion en C unidad 01 capitulos 3 y 4

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

Page 64: Programacion en C unidad 01 capitulos 3 y 4

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

Page 65: Programacion en C unidad 01 capitulos 3 y 4

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

Page 66: Programacion en C unidad 01 capitulos 3 y 4

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

Page 67: Programacion en C unidad 01 capitulos 3 y 4

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

Page 68: Programacion en C unidad 01 capitulos 3 y 4

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

Page 69: Programacion en C unidad 01 capitulos 3 y 4

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

Page 70: Programacion en C unidad 01 capitulos 3 y 4

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

Page 71: Programacion en C unidad 01 capitulos 3 y 4

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

Page 72: Programacion en C unidad 01 capitulos 3 y 4

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)

Page 73: Programacion en C unidad 01 capitulos 3 y 4

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)

Page 74: Programacion en C unidad 01 capitulos 3 y 4

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)

Page 75: Programacion en C unidad 01 capitulos 3 y 4

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

Page 76: Programacion en C unidad 01 capitulos 3 y 4

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

Page 77: Programacion en C unidad 01 capitulos 3 y 4

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

Page 78: Programacion en C unidad 01 capitulos 3 y 4

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