Clase lenguaje c

33
REPASO CLASE ANTERIOR

description

tutorial basico sobre el c++

Transcript of Clase lenguaje c

Page 1: Clase lenguaje c

REPASO CLASE ANTERIOR

Page 2: Clase lenguaje c

• En la librería estándar de E/S <stdio.h> existen muchas funciones incorporadas que están disponibles para los usuarios del lenguaje C, como por ejemplo la función printf.

• La instrucción para incluir la librería es: #include

• Para incluir especificamente <stdio.h> sería:

#include <stdio.h>

• La sentencia es una directiva del preprocesador de C para incluir el programa que constituye la librería estándar de E/S.

Aceptar Entradas del Usuario

Page 3: Clase lenguaje c

Aceptar Entradas del Usuario...2• Para ingresar datos de entrada a un programa se definen

variables para almacenar esa información.

• La sentencia con la función para ingresar un entero en una variable de ese tipo es:

scanf("%d", &num);

• Cuando se ejecuta la función scanf:

- La computadora espera un dato válido por parte del usuario.

- Una vez que el valor se obtiene, éste se almacena en la variable num.

- La cadena de caracteres encerrada en comillas en scanf se llama cadena de formato.

- %d indica que un entero decimal va a ser leído.

Page 4: Clase lenguaje c

Aceptar Entradas del Usuario...3• Asuma que se desea leer la entrada del usuario en dos

variables:

- edad es de tipo de dato int. - peso es de tipo de dato float.

• Se usan las siguientes sentencias para llevar a cabo la lectura :

scanf("%d",&edad);

scanf("%f",&peso);

Page 5: Clase lenguaje c

Retorno de carro Tabulador horizontal Tabulador vertical Diagonal Inversa Signo de interrogaciónComilla SimpleComilla Doble

\r \t \v

\\

\?

\’

\”

PropósitoCarácter de alerta (timbre) Retroceso (Backspace) Formfeed Nueva línea

Secuencia\a \b \f \n

Uso de Secuencias de Escape

Page 6: Clase lenguaje c

Uso de Secuencias de Escape

Cadena de Formato Propósito

%d, %i int (notación decimal con signo )

%c char

%f Double

%s cadena de caracteres

Page 7: Clase lenguaje c

Aceptar Entradas del Usuario...Ejemplo 1

Ingresar y mostrar la altura de un individuo

# include <stdio.h>

main() {

int altura;

/* Se le indica al usuario que hacer */

printf("Ingrese su altura en centimetros\n");

/* Obtener el valor de la variable como entrada del usuario */

scanf("%d", &altura);

/* Imprimir el valor de la variable a la salida estándar */

printf("La altura en centimetros es %d\n",altura);

}

Page 8: Clase lenguaje c

Aceptar Entradas del Usuario...Ejemplo 2Extraer los Dígitos Individuales de un Entero de

dos Dígitos#include <stdio.h>main(){

int num,digito_izq,digito_der;printf("Ingrese un numero positivo de 2 digitos\n");

/* Obtener el valor de la variable desde el usuario */scanf("%d",&num);

/* El dígito izquierdo y derecho se extraen */digito_izq = num / 10;digito_der = num - (num/10)*10;

/* Cada dígito obtenido es mostrado */printf("El digito izquierdo es: %d\n", digito_izq);printf("El digito derecho es: %d\n", digito_der);

}

Page 9: Clase lenguaje c

Tipos de Datos Básicos en C

Tipo de Dato DescripciónRequerimientos

Típicos de Memoria

int Entero 2 bytes

float Número de punto flotante 4 bytes

double Número de punto flotante de doble precisión

8 bytes

char Carácter simple 1 byte

Page 10: Clase lenguaje c

Operadores Aritméticos• Existen 5 operadores aritméticos en C:

+ - * / %

• Cuando se usan con operandos enteros, todos los operadores anteriores retornan un resultado entero.

• El operador % es válido sólo cuando ambos operandos son enteros.

• Cuando uno de los operandos es un float, el resultado será también un float.

Page 11: Clase lenguaje c

Prioridad de los Operadores Aritméticos

Prioridad Operadores Descripción

Primero * / % Multiplicación, división, módulo

Segundo + - Adición, resta

Tercero = Asignación

Page 12: Clase lenguaje c

Operadores Compuestos de Asignación

Operador

Propósito Ejemplo Salida

+= Suma/Asignación X = 10;X += 5;

15

-= Resta/Asignación X = 10;X -= 5;

5

*= Multiplicación/Asignación X = 10;X *= 5;

50

/= División/Asignación X = 10;X /= 5;

2

%= Módulo/Asignación X = 10;X %= 5;

 

0

Page 13: Clase lenguaje c

Estructuras de Control de Decisión

Copyright © 2005

CLASE DEL LUNES 09/05/11

Page 14: Clase lenguaje c

La Sentencia if• La sentencia if está disponible para usarse en

diferentes formas:if simple.if-else.

if múltiple.if anidado.

• Cada una de estas estructuras permite resolver problemas que requieren control de decisión en su contexto.

Page 15: Clase lenguaje c

La Sentencia if...2Cinco formas de sentencias if:

1. if(condición) Ejecuta una sola sentencia; 

2. if(condición) Ejecuta una sola sentencia; else Ejecuta una sola sentencia;

3. if(condición){Ejecuta una o más sentencias;

} else{

Ejecuta una o más sentencias; }

Page 16: Clase lenguaje c

La Sentencia if...34. if(condición) Ejecuta una sola sentencia; else{

if(condición) Ejecuta una sola sentencia;

else{ Ejecuta una o más sentencias;

} }

5. if(condición){ if(condición)

Ejecuta una sola sentencia; else{

Ejecuta una o más sentencias; }

}else Ejecuta una sola sentencia;

Page 17: Clase lenguaje c

Construcción if Simple• La forma general de la construcción if simple es:

if(si la condición es verdadero) sentencia1;

donde sentencia1 es una sola sentencia en C llamada “Sentencia Simple”.

• Ejemplo:

Para verificar si x es mayor que y, se puede usar la siguiente sentencia: if (x > y).

- La palabra reservada es if y la condición que se verifica es x > y. - Se le llama expresión relacional a x > y. - Una expresión relacional siempre resulta en verdadero o falso.

Page 18: Clase lenguaje c

La Construcción if-else • La forma general de la sentencia if-else se da a

continuación:if(condición){

sentencia1; … sentenciaN;

}else{

sentencia1; … sentenciaN;

}

Page 19: Clase lenguaje c

Encontrar el Máximo entre dos NúmerosPrograma en C usando la construcción if-else.

1 #include <stdio.h>2 main(){3 int num1, num2;4 printf("Ingrese los dos numeros enteros: ");5 scanf("%d %d",&num1,&num2);6 printf("El valor del num1 es: %d\n", num1);7 printf("El valor del num2 es: %d\n", num2);89 if(num1 == num2) 10 printf("Los numeros ingresados son iguales\n");11 else if(num1 > num2) 12 printf("El maximo valor es: %d\n",num1);13 else14 printf("El maximo valor es: %d\n",num2);15 }

Page 20: Clase lenguaje c

La Construcción if AnidadoEjemplo: Buscar el Máximo de Tres Números Enteros

1 #include <stdio.h>2 main(){3 int num1,num2,num3;4 printf("Ingresar los tres numeros enteros: \n");5 scanf("%d %d %d",&num1,&num2,&num3);6 if(num1 == num2)7 if(num1 == num3) 8 printf("Los numeros dados son iguales\n");9 if(num1 > num2)10 if(num1 > num3)11 printf("El valor maximo es: %d\n",num1);12 else 13 printf("El valor maximo es: %d\n",num3);14 else if(num2 > num3)15 printf("El valor maximo es: %d\n",num2);16 else if(num3 > num2)17 printf("El valor maximo es: %d\n",num3);18 }

Page 21: Clase lenguaje c

Expresiones – Operadores Lógicos y Relacionales

• Los operadores relacionales combinan identificadores, constantes y expresiones aritméticas para formar las expresiones relacionales.

• Se estudian:

– Los operadores relacionales.

– Los operadores de igualdad.

– Expresiones lógicas.

– Operadores lógicos.

Page 22: Clase lenguaje c

Operadores Relacionales• Algunos de los operadores relacionales que se pueden

usar para formar expresiones relacionales son:    < Menor que. <= Menor o igual que. > Mayor que. >= Mayor o igual que.

• Todos estos operadores pertenecen al mismo grupo de precedencia que es menor que los operadores unarios y aritméticos.

Page 23: Clase lenguaje c

Operadores de Igualdad• Los siguientes operadores de igualdad se pueden usar en

expresiones relacionales:== Igual a. != No igual a.

• Pertenecen a un grupo diferente de precedencia por debajo de los operadores relacionales. • En una expresión que tenga operadores relacionales y

operadores de igualdad, se evalúan primero los operadores relacionales.• Ejemplos del uso de los operadores de igualdad :

a == bn != 10b + c == c – d(b * b – 4 * a * c) != (d - 25)

Page 24: Clase lenguaje c

Expresiones Lógicas

• Las expresiones relacionales conectadas por operadores lógicos se denominan expresiones lógicas.

• Las expresiones lógicas siempre producen un valor de verdadero o falso.

• El valor que retorna una expresión lógica es realmente un entero.

• El valor de verdadero se representa con 1 y falso con 0.

Page 25: Clase lenguaje c

Operadores Lógicos• El lenguaje C también provee operadores lógicos, llamados conectores lógicos:

&& And || Or ! Not

• Lo operadores lógicos se usan para combinar expresiones lógicas.

• Ejemplos:

(a + 2) == max && (n != 0)

(a == 3) && (max != –1)||(i % 2 != 0)

Page 26: Clase lenguaje c

Construcciones Iterativas

Copyright © 2005

CLASE DEL LUNES 16/05/11

Page 27: Clase lenguaje c

Repetitiva mientras ( la instrucción while )En lenguaje C, para escribir una instrucción repetitiva mientras se utiliza la sintaxis:

while ( <expresión_lógica> ) { <bloque_de_instrucciones> }

Cuando el <bloque_de_instrucciones> sólo contiene una instrucción, los caracteres abrir llave ({) y cerrar llave (}) son opcionales.

Por otra parte, al igual que en las instrucciones alternativas doble y simple, a la <expresión_lógica> de una instrucción repetitiva while, también se le llama condición.

Para que se ejecute el <bloque_de_instrucciones>, la condición tiene que ser verdadera. Por el contrario, si la condición es falsa, el <bloque_de_instrucciones> no se ejecuta.

Page 28: Clase lenguaje c

Por tanto, cuando el flujo de un programa llega a un bucle while, existen dos posibilidades:1.Si la condición se evalúa a falsa, el bloque de instrucciones no se ejecuta, y el bucle while finaliza sin realizar ninguna iteración.2.Si la condición se evalúa a verdadera, el bloque de instrucciones sí que se ejecuta y, después, se vuelve a evaluar la condición, para decidir, de nuevo, si el bloque de instrucciones se vuelve a ejecutar o no. Y así sucesivamente, hasta que, la condición sea falsa.

Page 29: Clase lenguaje c

Ejemplo 1: Se quiere escribir un programa que muestre por pantalla los primeros diez números naturales:

• #include <stdio.h>

int main(){ int contador;

printf( "\n " );

contador = 1; /* Inicialización del contador */ while ( contador <= 10 ) /* Condición */ { printf( "%d ", contador ); /* Salida */ contador++; /* Incremento del contador */ }

return 0;}

Page 30: Clase lenguaje c

• Ejercicio 1 - Media aritmética (Alternativa simple -if- Lenguaje C)

Escribir un programa (en lenguaje C) que:

1º) Pida por teclado dos números (datos enteros).2º) Muestre por pantalla la media artimética de los números introducidos, pero, sólo en el caso de que ambos números sean mayores que cero.

•En pantalla:

Introduzca primer número (entero): 7Introduzca segundo número (entero): 108.5

Introduzca primer número (entero): 6Introduzca segundo número (entero): -2

Page 31: Clase lenguaje c

• Ejercicio 2 - Cambio de signo (Alternativa simple - Lenguaje C)

Escribir un programa (en lenguaje C) que:

1º) Pida por teclado un número (dato real).2º) Muestre por pantalla el número introducido, pero, cambiado de signo y, sólo en el caso de que el número no sea mayor o igual que cero.

•En pantalla:

Introduzca número (real): -9.69.6

Page 32: Clase lenguaje c

• Ejercicio 1 - Suma de dos números (Alternativa doble-if else - Lenguaje C)

Escribir un programa (en lenguaje C) que:

1º) Pida por teclado dos números (datos enteros).2º) Calcule la suma de los números introducidos por el usuario.3º) Muestre por pantalla:"LA SUMA SÍ ES MAYOR QUE CERO.", en el caso de que sí lo sea.

• "LA SUMA NO ES MAYOR QUE CERO.", en el caso de que no lo sea.• En pantalla:

Introduzca primer número (entero): 14Introduzca segundo número (entero): -17LA SUMA NO ES MAYOR QUE CERO.

Page 33: Clase lenguaje c

1.-CALCULE EL FACTORIAL DE UN NUMEROS UTILIZANDO LA

SENTENCIA O CICLO DE ITERACIÓN: WHILE

2.- Determinar de un grupo de personas cuales son de sexofemenino y cuales de sexo

masculino