You are on page 1of 27

Lenguaje

de Programacin
2015 (PE)
Ins:tuto Profesional Virginio Gmez

Material(de(referencia

ste&no&reemplaza&el&contenido&visto&en&clases!

El&inicio&de&todo
Entrega&un&int

main&es&el&nombre&
de&la&funcin

Requiere&vaco&para&&
trabajar

int&main(void){&
Aqu&va&nuestro&cdigo

}&
No&olvidar&el&espacio&&
protocolar!

return(0);&
Cumplimos&nuestro&acuerdo&y&
retornamos&un&int&al&&
sistema&operaJvo

Declaracin&de&variables
Tipo&de&variable,&como&por&ejemplo&
int,&oat,&char,&double,&etc.

Nombre&de&la&variable.&Recordar&que&C&&
es&case&sensiJve.

Jpo_variable&nombre_variable;
Declarando&una&variable&de&Jpo&int&es&simple:

int&variable1;
Recordar&que&toda&variable&usa&memoria&
en&ste&caso&y&en&nuestro&escenario,&un&int&&
uJliza&4&bytes.&

Recordar&que&con&sizeof()&podemos&
conocer&el&peso&en&bytes&
de&una&variable&o&Jpo&de&datos.

Aqu,&nuestra&variable&Jene&como&nombre&
variable1,&por&lo&que&durante&todo&nuestro&
cdigo,&debemos&llamarla&por&ese&nombre&
y&recordando&que&es&un&int.

sizeof(variable1);

sizeof()&nos&entrega&un&entero&que&
representar&el&peso&de&la&variable.

Declaracin&de&variables
Una&variable&puede&ser&inicializada&indicando&&
su&valor&luego&de&la&declaracin.&&

int&variable1&=&100;
Un&ejemplo&con&oat:

oat&variable2&=&1.618;
Ahora&con&char:

char&variable3&=&K;
Incluso&podemos&declarar&e&inicializar&varias&variables&a&la&vez:

int&var1&=&100,&var2&=&200;
La&coma&permite&realizar&la&separacin&de&
ste&Jpo&de&declaracin.

Asignacin&de&valores
Luego&de&que&una&variable&es&declarada,&podemos&modicar&su&valor&
de&manera&similar&a&la&inicializacin.&

variable1&=&200;
variable2&=&2.4;
variable3&=&L;
Recordar&que&lo&que&se&encuentra&al&lado&derecho&del&
signo&de&igualdad&es&lo&que&se&va&a&asignar&en&&
la&variable&que&se&encuentra&en&el&lado&izquierdo&
del&signo&de&igualdad.

Asignacin&de&valores
Veamos&el&siguiente&ejemplo:

int&var1&=&100,&var2&=&200,&var3;
var3&=&var1&+&var2;

Esta&variable&solo&se&
declar,&pero&no&se&le&asign&&
valor&alguno.

Recordar&que&la&asignacin&es&de&izquierda&
a&derecha.

var3&=&100&+&200;
Si&reemplazamos&los&valores&tenemos

var3&=&300;
var3&queda&con&el&valor&de&300.

Recordar
Si&var1&posee&el&valor&de&10

El&mismo&resultado,&disJntas&formas:

var1&=&var1&+&1;
var1&ser&igual&al&valor&actual&de&var1&ms&una&unidad,&
es&decir,&var1&queda&con&el&valor&de&var1&+&1,&o&sea&11.

var1+=var2;
Esto&es&exactamente&lo&mismo&que&lo&anterior.

var1++;

++var1;

Estas&dos&instrucciones&hacen&uso&del&posJncremento&y&preincremento&respecJvamente,&
&por&lo&que&entrega&el&mismo&resultado.

Recordar
Si&tenemos&que&var1&se&declara&como&oat&y&var2&junto&a&var3&como&entero

var1&=&var2/var3;
La&divisin&entregar&un&resultado&entero,&independiente&
de&que&la&variable&que&recibe&el&valor&sea&oat.

Si&necesitamos&que&el&resultado&se&asigne&como&oat,&debemos&hacer&casJng

var1&=&(oat)&var2/var3;
Entre&parntesis&va&el&Jpo&de&dato&al&que&queremos&transformar&nuestro&valor.

Para&imprimir&por&pantalla
Recordar&que&para&imprimir&por&pantalla&se&debe&hacer&uso&de&prinm()

prinm(texto);
Si&necesitamos&imprimir&el&valor&de&una&o&ms&variables&&
debemos&formatear&las&variables&mediante&el&smbolo&%:

prinm(X&Jene&el&valor&de&%i,var1);
Entre&comillas&va&el&texto&a&imprimir&
junto&a&los&formateadores&necesarios.

En&este&caso&tenemos&un&&
formateador&de&Jpo&entero.
Luego&de&las&comillas,&seguido&de&una&coma,&se&&
ingresan&las&variables&a&imprimir.

prinm(X&=&%i&y&K&=&%f,var1,var2);
Formateador&para&Jpo&oat.
Variable&de&Jpo&oat.

10

Para&imprimir&por&pantalla
Tambin&podemos&imprimir&clculos&o&resultado&de&funciones&directamente:

prinm(var1&+&var2&=&%i,var1+var2);
prinm(tamano&de&var1&=&%i,sizeof(var1));

11

Expresin&matemJca
Para&recordar,&un&ejemplo&de&cmo&escribir&una&expresin&matemJca&en&cdigo:

((2/x)+(3/y))

(2*((r/g)+(2*(3/(2*x))+x)))

(x+(sqrt((2*x)+2)))

12

Recordar
El&mdulo&(conocido&como&MOD)&en&C&se&uJliza&mediante&el&%:
Resultado&entero

3&%&2

3&:&2&= 1

Resto&entero&o&mdulo

10&%&4

10&:&4&= 2

7&%&5

7&:&5&&= 1

13

Operadores&relacionales
=&=&

Igual

!&=&

DisJnto

>

Mayor

<

Menor

>=

Mayor&o&igual

<=

Menor&o&igual
14

Operadores&relacionales
(3&==3)

(3&!=3)

(2&>&3)

(2&>=&2)

es&verdadero

es&falso

15

Jerarquia&Op.&AritmJcos

*&,&/&,&%
+&,&w
16

Operadores&lgicos
!

Negacin

&&

Conjuncin

||

Disyuncin

17

Operadores&lgicos
int&x&=&!1;

int&y&=&(10>9);

int&z&=&(10>9)&&&&(9<1);
int&a&=&!(2<3)

0
18

Prioridad&operadores
(&)&
!&,&++&,&&&w&w&&
*&,&/&,&%
+&,&w
==&,&!=&,&<&,&>&,&<=&,&>=
&&&,&||
+=&,&w=&,&*=&,&/=&,&%=

19

Arreglos
Nmero de
elementos del
arreglo

int arr[5];
Si no se inicializa
guarda basura

Tipo de dato
del arreglo

Nombre del
arreglo

5 elementos

arr[0] arr[1] arr[2] arr[3] arr[4]

20

Arreglos
int arr[5];
arr[0] = 9;
arr[1] = 6;
arr[4] = 2;

Asignacin
directa

Al arreglo arr en posicin 4


se le asignar el valor de 2

arr[0] arr[1] arr[2] arr[3] arr[4]

21

Arreglos
Todo arreglo se inicializa en 0 (cero)

Debemos recorrer hasta el largo


requerido del arreglo, en este caso
hasta el 4 (<5)
Incrementamos la variable i en 1
en cada iteracin

for( i=0 ; i<5 ; i++ ) {


printf(%i,arr[i]);
}
Se imprimir cada elemento en la posicin
que tome el valor de i

arr[0] arr[1] arr[2] arr[3] arr[4]


22

Funciones
Lo que requiere la funcin para
funcionar. Estos se llaman parmetros
de la funcin.

Tipo de dato que entregar


la funcin

que_entrega nombre_funcin (que_necesita)


Nombre asignado a la funcin. Este nombre
debe ser nico en todo el cdigo, no puede
repetirse

Entregar un dato de tipo int

Requiere dos parmetros, dos nmeros enteros,


dos datos de tipo int

int suma (int a, int b)


El nombre asignado a esta
funcin es: suma

23

Funciones
Entregar un dato de tipo int

Requiere dos parmetros, dos nmeros enteros,


dos datos de tipo int

int suma (int a, int b){


int res;
res = a + b;
return(res);
}

Esta es una variable declarada


en la funcin
por lo que solo vive mientras
se ejecuta sta.
A la variable res se le asigna la
suma de las variables
ingresadas a la funcin como
parmetro

Return hace la magia en la


funcin. Entrega a la funcin
principal main() un valor del
mismo tipo. En este caso la
funcin entrega un int y res es
de tipo int.

24

Funciones
int suma (int a, int b){
int res;
res = a + b;
return(res);
}

Return en la funcin suma( )


entrega a la variable s el
resultado esperado.

Desde la funcin main( ) se


int main (void){
llama a la funcin suma( ) con
los parmetros a y b, los
int a=2,b=3;
cuales, son variables de tipo
int
int s;
s=suma(a,b);
printf(La suma es %i,s);
return(0);
}

25

Funciones
Cuando se pasa un parmetro
con un * antes de su nombre,
esto pasa por REFERENCIA,
por lo que si se modifica su
valor en la funcin, se trabaja
directamente sobre su
direccin de memoria.

int suma (int a, int *b){


int res;
res = a + *b;
Cuando se pasa un parmetro
de manera simple, esto se
return(res);
pasa por VALOR, por lo que si
se modifica su valor en la
}
funcin, solo se cambia en la
Si se requiere utilizar una
variable pasada como
parmetro por REFERENCIA,
se debe hacer siempre
mediante el uso del operador
uranio de indireccin o
asterisco (*).

copia que se genera, por lo


que no afecta a la variable
original.

26

Material preparado por


Luis Lastra Cid && Rodrigo Mayorga Vallejos

Contacto
llastra@virginiogomez.cl
rmayorga@virginiogomez.cl

27

You might also like