programacion en c unidad 01 capitulos 3 y 4

Post on 06-Apr-2018

228 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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