clase02ok (1)

27
Estructuras Condicionales Clase 02

Upload: shigo222

Post on 13-Dec-2015

229 views

Category:

Documents


0 download

DESCRIPTION

PROGRAMACION EN C

TRANSCRIPT

Estructuras Condicionales

Clase 02

Operaciones Aritméticos+ Suma. Los operandos pueden ser enteros o reales

- Resta. Los operandos, pueden ser enteros o reales

* Multiplicación. Los operandos pueden ser enteros o reales

/ División, 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 división entera. Los operandos tienen que ser enteros.

Operaciones Aritméticos#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 Lógicos&& AND. Da como resultado el valor lógico 1 si ambos operandos son

distintos a cero. Si uno de ellos es cero el resultado es el valor lógico 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 q ! p ! q p && q p || q0 0 1 1 0 00 1 1 0 0 11 0 0 1 0 11 1 0 0 1 1

Operadores Relacionales

SIMBOLO DESCRIPCION EJEMPLO ORDEN DE EVALUACION

< menor que (a < b) 5

> mayor que (a >b) 5

< =menor o igual que (a < = b) 5

>=mayor o igual que ( a >>= b ) 5

= = igual que ( a = = b) 6

! = distinto que ( a != b) 6

Operadores Lógicos

#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 lógicos para manejo de bits

& Operación AND a nivel de bits

| Operación OR nivel de bits

^ Operación XOR a nivel de bits

<< Desplazamiento a la izquierda

>> Desplazamiento a la derecha

Operadores lógicos 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 lógicos 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 lógicos 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 return 0; }

Operadores lógicos 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 return 0; }

Operadores lógicos 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 return 0; }

Operadores de AsignaciónOperador 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", dirección 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 OperadoresPRECEDENCIA OPERADORES ASOCIATIVIDAD0 ()[] -> . izq. a derecha

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

2 * / % izq. a derecha3 + - izq. a derecha4 > izq. a derecha5 >= izq. a derecha6 == != izq. a derecha7 & izq. a derecha8 ^ izq. a derecha9 | izq. a derecha10 && izq. a derecha11 || izq. a derecha12 ?: derecha a izq.13 = += -= *= etc derecha a izq.

Librería math

• math.h es un archivo de cabecera de la biblioteca estándar del lenguaje de programación C diseñado para operaciones matemáticas básicas. Muchas de sus funciones incluyen el uso de números en coma flotante. C++ también implementa estas funciones por razones de compatibilidad y las declara en la cabecera

Librería math

frexp fracciona y eleva al cuadrado.

ldexp tamaño del exponente de un valor en punto flotante

log logaritmo naturallog10 logaritmo en base 10

modf obtiene un valor en punto flotante íntegro y en partes

pow(x,y) eleva un valor dado a un exponente, xy

sin senosinh seno hiperbólicosqrt raíz cuadradatan tangentetanh tangente hiperbólica

Librería 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 [ ] ^_ ` 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 { | } ~ ⌂ Ç ü é â ä à åç ê ë è ï î ì Ä

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

Proposición IF ELSE• Esta proposición sirve para ejecutar ciertas

sentencias de programa , si una expresión resulta CIERTA ú otro grupo de sentencias, si aquella resulta FALSA. Su interpretación literal sería : SI es CIERTA tal cosa , haga tal otra , si no lo es salteéla .

Proposición IF ELSEif(expresion){ sentencia1; sentencia2; ........ }

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

Proposición IF ELSE

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

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