You are on page 1of 27

Estructuras Condicionales

Clase 02

Operaciones Aritmticos
+
*
/

Suma. Los operandos pueden ser enteros o


reales
Resta. Los operandos, pueden ser enteros o
reales
Multiplicacin. Los operandos pueden ser
enteros o reales
Divisin, Los operando pueden ser enteros
o reales. Si ambos operandos son enteros
el resultado es entero. En el resto de los
casos el resultado es real.
Modulo o resto de una divisin entera. Los
operandos tienen que ser enteros.

Operaciones Aritmticos
#include <stdio.h>
main() {
int a = 10,b = 3,c;
float x = 2.0,y;
y = x + a;/* la rpta es 12.0 tipo float*/
c = a / b; /* la rpta es 3 tipo int*/
c = a % b; /* la rpta es 1 tipo int*/
y = a / b; /* la rpta es 3 tipo int */
/* se convierte en float al
asignar a y */
return 0;

Operadores Lgicos
&&

AND. Da como resultado el valor lgico 1 si ambos


operandos son distintos a cero. Si uno de ellos es cero el
resultado es el valor lgico 0, si el primer operando es
igual a cero, el segundo operando no es evaluado.

||

OR. El resultado es 0 si ambos operandos son 0. Si uno


de los operandos tiene un valor distinto de 0, el
resultado es 1. Si el primer operando es distinto de cero,
el segundo operando no es evaluado.

NOT. El resultado es 0 si el operando tiene un valor


distinto de cero, y 1 en caso contrario.
p
0
0
1
1

q
0
1
0
1

!p
1
1
0
0

!q
1
0
1
0

p && q
0
0
0
1

p || q
0
1
1
1

Operadores Relacionales
SIMBOLO

DESCRIPCION

EJEMPLO

ORDEN DE
EVALUACION

<

menor que

(a < b)

>

mayor que

(a >b)

<=

menor o igual
que

(a < = b)

>=

mayor o igual
que

( a >>= b )

==

igual que

( a = = b)

!=

distinto que

( a != b)

Operadores Lgicos
#include <stdio.h>
main() {
int p = 1, q = 0, a, b, c;
a = p && q; /*la rpta es 0*/
b = p || q; /*la rpta es 1*/
c = !p;
/*la rpta es 0*/
printf(%d,a);
return 0;
}
gcc archivo.c -o ./ archivo

Operadores Relacionales
#include <stdio.h>
main() {
int p,q;
float x = 15, y = 18, z = 20;
p = x == y;
/*la rpta es
0*/
q = (x < y) && (y <= z); /*la rpta es
1*/
return 0;
}

Operadores lgicos para manejo de


bits
&

Operacin AND a nivel de bits

Operacin OR nivel de bits

Operacin XOR a nivel de bits

<<

Desplazamiento a la izquierda

>>

Desplazamiento a la derecha

Operadores lgicos para manejo de


bits
#include <stdio.h>
main() {
int j = 33;
int k = j << 2;
return 0;
}
00000000000000000000000000100001 : j = 33
00000000000000000000000010000100 : k = 33 << 2
; k = 132

Operadores lgicos para manejo de


bits
#include <stdio.h>
main() {
int k = 132;
int m = k >> 2;
return 0;
}
00000000000000000000000010000100 : k = 132
00000000000000000000000000100001 : m = 132 >>
2 ; m = 33

Operadores lgicos para manejo de


bits
#include <stdio.h>
main() {
int k = 132;
// k:
00000000000000000000000010000100
int l = 144;
// l:
00000000000000000000000010010000
int m = k & l;
// m:
00000000000000000000000010000000
// 128

Operadores lgicos para manejo de


bits
#include <stdio.h>
main() {
int k = 132;
// k:
00000000000000000000000010000100
int l = 144;
//
l:
00000000000000000000000010010000
int m = k | l;
// m:
00000000000000000000000010010100
// 148

Operadores lgicos para manejo de


bits
#include <stdio.h>
main() {
int k = 132;
// k:
00000000000000000000000010000100
int l = 144;
//
l:
00000000000000000000000010010000
int m = k ^ l;
// m:
00000000000000000000000000010100
// 148

Operadores de Asignacin
Operador

Ejemplo

Equivalencia

a=b=c

a=c; b=c;

+=

a+=3

a=a+3

-=

a-=3*b

a=a-(3*b)

*=

a*=2

a=a*2

/=

a/=35+b

a=a/(35+b)

%=

a%=8

a=a%8

>>=

a>>=1

a=a>>1

<<=

a<<=b

a=a<<b

&=

a &=(c+=3)

c=c+3; a=a&c

^=

a ^= 2

a = a^2

|=

a |= c

a=a|c

Lectura de datos
scanf("secuencia de control",
direccin de la variable ) ;
%d si se desea leer un entero decimal (int)
%o " " " " " " octal "
%x " " " " " " hexadecimal "
%c " " " " " caracter
%f leer un float
%ld leer un long int
%lf leer un double
%Lf leer un long double

Lectura de datos
#include <stdio.h>
main() {
long doble x;
double y;
float z;
printf("Ingresar tres valore") ;
scanf("%Lf", &x ) ;
scanf("%lf", &y ) ;
scanf("%f", &z) ;
printf(("x = %.2f y =%.3f z =%.4f \n", x,y,z)
return 0;
}

Precedencia de Operadores
PRECEDENCIA

OPERADORES

ASOCIATIVIDAD

()[] -> .

izq. a derecha

sizeof (tipo) ! ~ ++
derecha a izq.
-- signo* &

*/%

izq. a derecha

+-

izq. a derecha

>

izq. a derecha

>=

izq. a derecha

== !=

izq. a derecha

&

izq. a derecha

izq. a derecha

izq. a derecha

10

&&

izq. a derecha

11

||

izq. a derecha

12

?:

derecha a izq.

13

= += -= *= etc

derecha a izq.

Librera math
math.h es un archivo de cabecera de
la biblioteca estndar del lenguaje de
programacin C diseado para
operaciones matemticas bsicas.
Muchas de sus funciones incluyen el
uso de nmeros en coma flotante.
C++ tambin implementa estas
funciones por razones de
compatibilidad y las declara en la
cabecera

Librera math
Nombre

Descripcin

acos

arcocoseno

asin

arcoseno

atan

arcotangente

atan2

arcotangentede dos parmetros

floor

menorenterono menor que el parmetro

cos

coseno

cosh

coseno hiperblico

exp(double x)

funcinexponencial, computaex

fabs

valor entero

ceil

mayorenterono mayor que el parmetro

fmod

residuo de la divisin de flotantes

Librera math
frexp
ldexp
log
log10
modf
pow(x,y)
sin
sinh
sqrt
tan
tanh

fracciona y eleva al cuadrado.


tamao del exponente de un valor en
punto flotante
logaritmo natural
logaritmoen base 10
obtiene un valor en punto flotante ntegro
y en partes
eleva un valor dado a un exponente,xy
seno
seno hiperblico
raz cuadrada
tangente
tangente hiperblica

Librera math

#include <stdio.h>
#include <math.h>
int main(){
float p , raiz;
printf("Ingresar n \n");
scanf("%f ",&n);
raiz = sqrt(n);
printf(la raiz es: %f \n",raiz);
return 0;
}

gcc ejemplo.c o ./ejemplo -lm

Caracteres ASCII
#include<stdio.h>
void main() {
int i = 0;
char ch;
for (i = 0; i < 256; i++) {
printf("%c ", ch);
ch = ch + 1;
}
}

! " # $ % &amp; ' ( ) * + , - . / 0 1 2 3 4 5 6


7 8 9 : ; &lt; = &gt; ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ ] ^
_`abcdefghijklmnopqrstuvwxyz{|}~

Caracteres ASCII

Declaraciones de variables
#include <stdio.h>
#define PI 3.1415
int variable = 30;
int main(){
float radio,area;
printf("Ingresar el radio:");
scanf("%f",&radio);
area = PI * radio * radio;
printf("el area del circuo es: %.3f \n", area);
return 0;
}

Estructuras Condicionales
Proposicin IF ELSE
Esta proposicin sirve para ejecutar
ciertas sentencias de programa , si
una expresin resulta CIERTA otro
grupo de sentencias, si aquella
resulta FALSA. Su interpretacin
literal sera : SI es CIERTA tal cosa ,
haga tal otra , si no lo es saltela .

Proposicin IF ELSE
if(expresion){
sentencia1;
sentencia2;
........
}

if(expresion){
sentencia1;
sentencia2;
}
sentencia3;
sentencia4;
sentencia5;

Proposicin IF ELSE
if(expresion){

sentencia1;

sentencia2;
}else{
sentencia3
;

sentencia4;

if(exp.1){
sentencia1;
}else if(exp.2){
sentencia2;
}else if(exp.3){
sentencia3;
}else{
sentencia5;
}

You might also like