Empezando a programar en C - PowerPoint PPT Presentation

1 / 40
About This Presentation
Title:

Empezando a programar en C

Description:

Este programa usa la definici n de cout como salida est ndar y el operador que se le aplica ... (insertor) para flujos de salida. Env a al flujo el operando ... – PowerPoint PPT presentation

Number of Views:116
Avg rating:3.0/5.0
Slides: 41
Provided by: luishern
Category:

less

Transcript and Presenter's Notes

Title: Empezando a programar en C


1
Empezando a programar en C
  • Fundamentos de Programación Tema 3
  • Lic. CC. Físicas curso 2005/06

2
Contenido
  • Empezar a programar...
  • Estructura de un programa C
  • Algo de Entrada / Salida
  • Las bibliotecas de funciones
  • Variables y constantes en C
  • Declaración de variables
  • Inicialización
  • Constantes
  • Identificadores
  • Tipos de datos
  • Tipos de datos simples

3
Para empezar a programar en C...
  • Exige declarar cualquier entidad que se utilice
    en el programa.
  • Se ha buscado un lenguaje mínimo se ha incluido
    en bibliotecas muchas funciones que en otros
    lenguajes se deja en el núcleo.
  • Siempre que se use una función u operación
    definida en una biblioteca hay que indicar al
    compilador dónde encontrarla.
  • Incluye las construcciones típicas de los
    lenguajes estructurados(distintos tipos de
    condicionales y bucles).

4
Para empezar a programar en C...
  • Se distingue entre mayúsculas y minúsculas.
  • Palabras clave en minúsculas.
  • Cada instrucción (declaraciones o ejecutables)
    termina por
  • Las cadenas de caracteres se encierran entre
    comillas dobles a.
  • Los tipo carácter se encierran entre comillas
    simples a.

5
Para empezar a programar en C...
  • El código se estructura en bloques.
  • if (x lt 10)
  • cout ltlt "muy pequeño, pruebe de nuevo"
  • reini_contador(-1)

Un bloque de código(delimitado por llaves)
6
Para empezar a programar en C...
  • Forma de los comentarios
  • / Un comentario de párrafo. Lo normal
  • es que se extienda a lo largo de varias
  • líneas. La marca de cierre se suele colocar
  • bajo la de apertura.
  • /
  • //
  • // Un comentario que acaba al final de esta
    línea.

7
Estructura de un programa C.
  • Un módulo de programa se compone de dos partes
  • SECCIÓN DE DECLARACIONES GLOBALES
  • Contiene la definición de las entidades comunes a
    todas las funciones del programa.
  • SECCIÓN DE DEFINICIÓN DE FUNCIONES
  • Debe existir siempre una función llamada main (Y
    SÓLO UNA) , nombre que no puede repetirse en
    ninguna otra entidad del programa.

8
Estructura de un programa C.
Forma general de un módulo de programa
  • declaraciones globales
  • función main( )
  • secuencia de declaraciones e instrucciones
  • función1( )
  • secuencia de declaraciones e instrucciones
  • función2( )
  • secuencia de declaraciones e instrucciones
  • . . .
  • funciónN( )
  • secuencia de declaraciones e instrucciones

Funciones
9
Las bibliotecas de funciones
  • Cada biblioteca de funciones tiene asociada un
    archivo de definición que se denomina archivo de
    cabecera (o simplemente cabecera).
  • Los archivos de cabecera en C tienen la extensión
    .h y contienen las declaraciones de los
    elementos de programa (datos y funciones) que la
    biblioteca exporta (pone a disposición).
  • Para utilizar algo de una biblioteca en un módulo
    de programa hay que colocar al principio una
    directiva de preprocesamiento include seguida
    del nombre del correspondiente archivo de
    cabecera entre comillas dobles o ángulos
  • include ltcabeceragt
  • Programación modular (compilación separada de
    módulos)

10
Las bibliotecas de funciones
  • Por ejemplo, para extraer la raiz cuadrada de un
    número se puede usar la función
  • sqrt (numero)
  • Pero para usarla antes hay que declarla, y la
    declaración está en la biblioteca math.h
  • include ltmath.hgt
  • Una vez que se incluye el archivo de cabecera se
    conocen las declaraciones de la biblioteca y, por
    tanto, se puede usar lo que está definido en ella.

11
Un ejemplo de uso de bibliotecas
Un ejemplo de programa include
ltmath.hgt int main() float raiz, numero
7 raiz sqrt(numero) return 0
Cabecera de la funcióntipo de dato que
devuelvenombrelista de parámetros entre
paréntesis
Función
Cabecera de la función
Cuerpo de la función un bloque ...
La ejecución siempre comienza con la función
main()
12
Algo de Entrada / Salida
  • Las operaciones de entradas y salidas no están
    definidas como instrucciones en el núcleo del
    lenguaje, sino en bibliotecas.
  • En C se puede escribir y leer como en C
  • stdio.h.
  • O con las funciones incluidas en la biblioteca
  • iostream.h
  • Canal de entrada estándar se llama cin.
  • Canales de salida estándar cout (cerr).
  • En estos canales las entradas y salidas están en
    formato legible (son tipo texto)

13
Algo de Entrada / Salida
cout ltlt
  • cómo usar el canal de salida estándar?
  • Paso 1. Declararlo...
  • include ltiostream.hgt
  • Paso2. Usarlo...
  • Se puede escribir cualquier tipo de dato
    predefinido.
  • Cada dato o salida se precede de ltlt (INSERTOR)
  • int iteraciones 0
  • double pi
  • /Calculo de una aproximación de pi tras un
    cierto nº de iteraciones/
  • cout ltlt La aproximacion a pi tras
  • cout ltlt iteraciones
  • cout ltlt iteraciones es
  • cout ltlt pi

en c hay que declarar cualquier identificador
antes de usarlo!!!
14
Algo de Entrada / Salida
cout ltlt
  • El insertor se puede secuenciar.
  • cout ltlt La aproximacion a pi tras ltlt
    iteraciones
  • ltlt iteraciones es ltlt pi ltlt \n
  • Paso 3... formatear la salida. Los manipuladores
    de la salida están declarados en iomanip.h
  • setprecision(precision). Sirve para determinar
    la precisión con que se saca un dato real.
  • setw(anchura). Sirve para especificar la anchura
    de mínima que ocupará el siguiente dato.
  • cout ltlt setw(13) ltlt 32 ltlt \n
  • cout ltlt setw(13) ltlt 0.123456789123456789 ltlt n
  • cout ltlt setw(4) ltlt HOLA CARACOLA ltlt \n
  • cout ltlt setw(32) ltlt HOLA CARACOLA ltlt \n
  • cout ltlt setw(13) ltlt setprecision(15) ltlt
    0.12345678901234567890 ltlt n

15
Algo de Entrada / Salida
cin gtgt
  • cómo usar el canal de entrada estándar?
  • Paso 1... Declararlo.
  • Paso 2. Usarlo.
  • Se puede leer por el canal de entrada utilizando
    el operador gtgt (extractor).
  • Se puede leer cualquier tipo de dato predefinido.
  • int entero1, entero2, suma
  • //Calcula la suma de dos enteros y la muestra
  • cout ltlt Introduzca primer valor entero \n
  • cin gtgt entero1
  • cout ltlt Introduca segundo valor entero \n
  • cin gtgt entero2
  • suma entero1 entero2
  • cout gtgt El resultado de la suma es ltlt suma

16
Algo de Entrada / Salida
cin gtgt
  • Qué pasa si falta concordancia entre lo que
    pedimos leer y lo que el usuario nos da?
  • Qué pasa con los espacios?.

17
Un ejemplo de programa
include ltiostream.hgt int main() cout
ltlt "Me gusta programar en C\n" return 0
Biblioteca de E/S por consolaEste programa usa
la definición de cout como salida estándar y el
operador ltlt que se le aplica
Directiva de preprocesamiento
Las palabras reservadas las mostraremos en azul
para resaltarlas
18
Un ejemplo de programa
include ltiostream.hgt int main()
cout ltlt "Me gusta programar en C\n" return
0
El punto y coma () es un terminador de
instrucciones(declaraciones o ejecutables)
cout flujo de salida estándar (normalmente la
pantalla)
ltlt operador de inserción (insertor) para flujos
de salidaEnvía al flujo el operando derecho
Constante de cadena de caracteres "..."
Secuencias de escape (constantes de carácter de
barra invertida)
Devuelve el valor-resultado
gtgtgt Prog0001
19
Qué es una variable en programación
  • Posiciones de memoria donde se almacena un dato
    durante la ejecución.

20
Qué es una variable en programación
ACCIÓN se reserva una cierta cantidad de memoria
y se asigna un identificador
  • Primer paso... Declaración
  • En C todas las variables deben declararse.
  • Se les asigna un tipo
  • Se les asigna un identificador
  • En C la declaración es una instrucción.
  • La variable existe desde la instrucción de
    declaración hasta que termina el bloque donde ha
    sido declarada.
  • //Declaración de variables
  • Tipo1 suma
  • Tipo2 Suma
  • Tipo3 SUMA

21
Qué es una variable en programación
  • Segundo paso...Inicialización y asignación de
    variables
  • En C las variables se crean con valor
    indefinido.
  • PELIGRO, antes de utilizar una variable tiene
    el valor adecuado?
  • C permite dar valor a una variable al mismo
    tiempo que se declara
  • Para dar valor a una variable se usa el operador
  • //Declaración de variables con valor
  • TipoEntero suma 3
  • TipoLetra carácter a

22
Qué es una variable en programación
  • Se pueden declarar varias variables en una misma
    instrucción separándolas por comas.
  • tipo suma, entero valor1, numero
  • //es más fácil entender lo siguiente
  • tipo suma
  • tipo entero valor1
  • tipo numero

23
Qué es una variable en programación
  • Inicialización y asignación de variables
  • Una instrucción de asignación se ejecuta de
    derecha a izquierda.
  • NO ES UNA IGUALDAD.
  • //declaración
  • tipo numero1, numero2, numero3, numero4 10
  • //asignaciones
  • numero1 100
  • numero2 200
  • numero3 300
  • numero1 numero2 numero3
  • numero4 (numero2 numero4) 10
  • //Cuánto valen numero1, numero2, numero3,
    numero4?

ACCIÓN se almacena un dato en una posición de
memoria
24
Qué es una constante en programación
  • Una constante una programación es una variable
    cuyo valor no varía a lo largo de la ejecución.
  • El valor se asigna en el momento de la
    declaración.
  • tipo const NombreConstante ValorConstante
  • En C el valor de una constante puede ser el
    resultado de un cálculo.

25
Tipos de datos
  • Clasificación de tipos
  • Simples
  • Estructurados
  • Predefinidos
  • Definidos por el programador

26
Tipos de datos
27
Tipos de datos
bool
  • bool
  • conjunto de valores. valores lógicos (true /
    false).
  • operaciones
  • Operaciones lógicas. Entre valores tipo bool.
    Devuelven tipo bool.
  • expr1 expr2 true si las dos son true.
  • expr1 expr2 false si las dos son false.
  • !exprb valor contrario del que tiene exprb.
  • Comparaciones de igualdad. Entre valores del
    mismo tipo, devuelven un tipo bool.

28
Tipos de datos
bool
  • Operaciones lógicas tablas de verdad.
  • A B A B A B !A
  • 0 0 0 0 1
  • 0 1 0 1 1
  • 1 0 0 1 0
  • 1 1 1 1 0

29
Tipos de datos
int
  • int
  • conjunto de valores. cantidades enteras (entre
    ?32768 y 32767).
  • operaciones.
  • 1. Aritméticas. , -, , /, (resto de la
    división).
  • a 34 5
  • b a 10
  • 2. Asignación.
  • var op expresion Con un operador de los de
    1.
  • var var op expresion
  • int x 5, y 10
  • x 3 // Equivale a?
  • y x y // Equivale a?

30
Tipos de datos
int
  • 3. Incremento y Decremento.
  • var
  • var --
  • 4. Relacionales. gt, gt, lt, lt, , !.
  • Su resultado es siempre un tipo bool.
  • Bool b1, b2
  • int x 4, y 5
  • b1 y lt 4
  • x
  • b2 x y

31
Tipos de datos
char
  • char
  • conjunto de valores. Caracteres y.... cualquier
    cantidad de 8 bits.
  • operaciones.
  • Todas las de los enteros (en C los caracteres
    son tratados como números).
  • char c1 a, c2 b, c3 A
  • bool b1, b2
  • b1 c2 gt c1
  • b2 c3 gt c1 //Peligro el resultado depende del
    sistema.
  • C2 //Siguiente carácter en orden alfabético.

32
Tipos de datos
  • floatconjunto de valores.
  • números reales (entre 1.18E?38 y 3.4E38, y sus
    negativos).
  • operaciones.
  • , -, , /.
  • doublenúmeros reales más grandes (entre
    2.23E?308 y 1.79E308, y sus negativos).

33
Tipos de datos
  • Modificadores de tipos (un)signed short/long
  • Se altera el significado de un tipo base
  • unsigned short int 0 a 255
  • unsigned int 0 a 65535
  • long int 2147483648 a 2147483647
  • unsigned long int 0 a 4294967295
  • long double 3.37E-4932 a 1.18E4932, y sus
    negativos

modificador intse abrevia amodificador(long
int como long)
34
Tipos de datos
  • Conversión automática de tipos
  • variable expresión
  • Promoción de tipocuando los dos operandos son
    de tipos distintos,el del tipo menor se
    promociona al tipo mayor.
  • Tipos de mayor a menor
  • long double
  • double
  • float
  • long int
  • int
  • short int
  • char

35
Tipos de datos
  • Expresiones
  • Los operadores, las constantes y las variables
    son lo que constituyen las expresiones.Una
    expresión es cualquier combinación válida de esos
    elementos (como en otros lenguajes).
  • Moldes (casts)
  • Fuerzan a que una expresión sea de un tipo
    determinado.
  • (tipo) expresión
  • (float) x/2 asegura que el resultado es float
  • Hay otras formas de moldes que se verán en su
    momento.

36
Un ejemplo de programa
  • Programa que pida la base y la altura de un
    triángulo, calcule su área y muestre los datos y
    el resultado.
  • include ltiostream.hgt
  • int main()
  • return 0

gtgtgt Prog0002
37
Un ejemplo de programa
  • Programa que pida la base y la altura de un
    triángulo, calcule su área y muestre los datos y
    el resultado.
  • include ltiostream.hgt
  • int main()
  • float base, altura, area
  • return 0

Los datos
gtgtgt Prog0002
38
Un ejemplo de programa
  • Programa que pida la base y la altura de un
    triángulo, calcule su área y muestre los datos y
    el resultado.
  • include ltiostream.hgt
  • int main()
  • float base, altura, area
  • cout ltlt "Introduce la base "
  • cin gtgt base
  • cout ltlt "Introduce la altura "
  • cin gtgt altura
  • return 0

Entrada de datos
gtgtgt Prog0002
39
Un ejemplo de programa
  • Programa que pida la base y la altura de un
    triángulo, calcule su área y muestre los datos y
    el resultado.
  • include ltiostream.hgt
  • int main()
  • float base, altura, area
  • cout ltlt "Introduce la base "
  • cin gtgt base
  • cout ltlt "Introduce la altura "
  • cin gtgt altura
  • area base altura / 2
  • return 0

Cálculos
gtgtgt Prog0002
40
Un ejemplo de programa
  • Programa que pida la base y la altura de un
    triángulo, calcule su área y muestre los datos y
    el resultado.
  • include ltiostream.hgt
  • int main()
  • float base, altura, area
  • cout ltlt "Introduce la base "
  • cin gtgt base
  • cout ltlt "Introduce la altura "
  • cin gtgt altura
  • area base altura / 2
  • cout ltlt "El área de un triángulo de base " ltlt
    base
  • ltlt " y altura " ltlt altura ltlt " es " ltlt
    area
  • return 0

Salida de datos
gtgtgt Prog0002
Write a Comment
User Comments (0)
About PowerShow.com