PDF de programación - Programación II

Imágen de pdf Programación II

Programación IIgráfica de visualizaciones

Publicado el 14 de Enero del 2017
4.253 visualizaciones desde el 14 de Enero del 2017
149,7 KB
21 paginas
Creado hace 13a (14/02/2011)
Programación II

Bloque temático 1. Lenguajes de programación

Tema 1. Introducción a la programación en lenguaje C

Tema 14.

Introducción a la programación funcional: Lenguaje Haskell

Bloque temático 2. Metodología de programación

Bloque temático 3. Esquemas algorítmicos

Programación II

© M. González y M. Aldea

14/02/11

Tema 1. Introducción a la programación en lenguaje C

Tema 1. Introducción a la programación en

lenguaje C

Instrucciones de control

1.1.
Introducción al lenguaje C
1.2. Estructura de un programa
1.3. Compilación de un programa C
1.4. Tipos de datos y declaraciones de datos
1.5. Operadores y expresiones
1.6. Entrada/salida simple
1.7.
1.8. Punteros
1.9. Funciones y paso de parámetros
1.10. Creación dinámica de variables
1.11. Modularidad y ocultamiento de información
1.12. Preprocesador
1.13. Librería estándar
1.14. Bibliografía

Programación II

© M. González y M. Aldea

14/02/11

Tema 1. Introducción a la programación en lenguaje C

1.1 Introducción al lenguaje C

1.1 Introducción al lenguaje C

El lenguaje C es uno de los lenguajes de programación más
populares que existen hoy en día
Características más importantes:

• lenguaje sencillo (aunque más difícil de aplicar)
• estructurado
• no orientado a objetos
• tipos definidos por el usuario
• no exige tipificación estricta
• permite compilación separada
• es de un nivel relativamente bajo
• compiladores baratos y eficientes

Programación II

© M. González y M. Aldea

14/02/11



1



2

3

Tema 1. Introducción a la programación en lenguaje C

Versiones del lenguaje C

1.1 Introducción al lenguaje C

• Desarrollo inicial por Dennis M. Ritchie en los laboratorios Bell

de AT&T (entre 1969 y 1973)

- descendiente de un lenguaje anterior llamado “B”

• K&R C: en 1978 Brian Kernighan y Ritchie publicaron el libro “El

lenguaje de programación C”

- este libro fue durante años la especificación del lenguaje

• C ANSI o C ISO: estandarización en 1988, y luego en 1990;

versión no ambigua y más portable, que añade

- asignación de estructuras (registros)
- tipos enumerados
- prototipos de funciones
- librerías estándar (funciones matemáticas, entrada/salida,

etc.)

Programación II

Tema 1. Introducción a la programación en lenguaje C

© M. González y M. Aldea

14/02/11

4

1.1 Introducción al lenguaje C
Versiones del lenguaje C (cont.)

• C99: Posteriormente se refina la versión ISO/ANSI en 1999

- las variables se pueden declarar en cualquier sitio
- soporte para caracteres internacionales
- soporte para números complejos
- tipo entero long
- comentarios //
- etc.

En este curso usaremos el ISO C 99

Programación II

© M. González y M. Aldea

14/02/11

Tema 1. Introducción a la programación en lenguaje C

1.2 Estructura de un programa

1.2 Estructura de un programa

C

#include <modulo1.h>
int main()
{

Java
import modulo1.*;
public class Clase {
public static void main
(String[] args)
{
<declaraciones>
<instrucciones>
}
}
Un programa C está compuesto al menos por una función
• la función main()
• que, a su vez, puede llamar a otras funciones y así

<declaraciones>
<instrucciones>

}

sucesivamente

Programación II

© M. González y M. Aldea

14/02/11

5

6

Tema 1. Introducción a la programación en lenguaje C

Ejemplo

1.2 Estructura de un programa

#include <stdio.h>
int main()
{
printf("hola\n"); // printf escribe en pantalla
return 0;
}

public class Hola{
public static void main(String[] args)
{
System.out.println("hola");
}
}

Programación II

© M. González y M. Aldea

14/02/11

Tema 1. Introducción a la programación en lenguaje C

1.2 Estructura de un programa

Ejemplo con varias funciones
#include <stdio.h>
void func2() {
printf("En función 2\n");
}
void func1() {
printf("En función 1, antes de llamar a func2\n");
func2();
printf("En función 1, después de llamar a func2\n");
}
int main() {
printf("En main, antes de llamar a func1\n");
func1();
printf("En main, después de llamar a func1\n");
return 0;
}

Programación II

© M. González y M. Aldea

14/02/11

Tema 1. Introducción a la programación en lenguaje C

Algunas observaciones

1.2 Estructura de un programa

C

Java

idem

idem

se distingue entre mayúsculas y
minúsculas
las instrucciones acaban con “;”,
pero los bloques no
comentarios entre /* */
o empezando con //
todas las variables deben declararse idem
los strings se encierran entre ""
idem
printf: el retorno de línea se
Igual que el printf de Java
En Java también existen println
pone en el string "\n"
y print (no disponibles en C)

además, existen los comentarios de
documentación

Programación II

© M. González y M. Aldea

14/02/11

7

8

9

Tema 1. Introducción a la programación en lenguaje C

1.3 Compilación de un programa C

1.3 Compilación de un programa C

#include <stdio.h>
int main()
{
printf ("Hola\n");
return 0;
}

hola.c

compilación

código
objeto
hola.o

enlazado

librerías y
otros ficheros de código objeto

programa
ejecutable

a.out

Para compilar y enlazar utilizaremos el compilador gcc:

$ gcc -Wall -Werror -std=c99 hola.c

estándar
ISO/ANSI 1999

todos los avisos (“warnings”)
se consideran errores

© M. González y M. Aldea

14/02/11

10

1.3 Compilación de un programa C

Programación II

Tema 1. Introducción a la programación en lenguaje C

Para ejecutar el programa:

$ a.out
hola
$

Otras opciones de gcc:
• Compilar varios ficheros de código
$ gcc -Wall -Werror -std=c99 hola.c un.c otro.c
- sólo uno puede contener una función main()
• Cambiar el nombre del ejecutable

$ gcc -Wall -Werror -std=c99 hola.c -o hola.exe

Programación II

Tema 1. Introducción a la programación en lenguaje C

© M. González y M. Aldea

14/02/11

11

1.4 Tipos de datos y declaraciones de datos

1.4 Tipos de datos y declaraciones de datos
Tipos predefinidos:

Java

C

byte
short
int
long

boolean
char
float
double

String

unsigned char
short, short int
int
long, long int
long long
(se usa int)
char
float
double
long double
char[], char*

Otros tipos C

char
unsigned short int
unsigned int
unsigned long int
unsigned long long

float _Complex
double _Complex
long double _Complex

Programación II

© M. González y M. Aldea

14/02/11

12

1.4 Tipos de datos y declaraciones de datos

Tema 1. Introducción a la programación en lenguaje C

Declaraciones
C

int lower;
char c,resp; // dos variables de tipo char
int i=0;
// variable inicializada
int j=0xA2; // valor en hexadecimal
int k=072;
const float eps=1.0e-5; // constante
#define MAX 8

// valor en octal

// otra constante

Java

int lower;
char c,resp; // dos variables de tipo char
int i=0;
// variable inicializada
int j=0xA2; // valor en hexadecimal
int k=072;
final float eps=1.0e-5; // constante
final int max=8;

// valor en octal

// otra constante
© M. González y M. Aldea

Programación II

Tema 1. Introducción a la programación en lenguaje C

14/02/11

13

1.4 Tipos de datos y declaraciones de datos

Observaciones sobre las declaraciones

Puede observarse que, tanto en C como en Java:

• las variables se pueden inicializar
• se pueden declarar como constantes
• se pueden declarar varias variables juntas

Formato de los identificadores

• todo en minúsculas y “_” para separar las palabras
• ejemplos: cuenta_usuarios,
máxima_velocidad_alcanzada

Programación II

© M. González y M. Aldea

14/02/11

14

Tema 1. Introducción a la programación en lenguaje C

Ámbito de visibilidad

1.4 Tipos de datos y declaraciones de datos

ámbito de
visibilidad
de i (global)

ámbito
de j

ámbito de
i (local)

int i; // variable global
void func2() {
int j; // local a func2()

instrucciones;
}
void func1() {
int i; // local a func1()
// (oculta la i global)

instrucciones;
}
int main() {
instrucciones;
}

Programación II

© M. González y M. Aldea

14/02/11

15

Tema 1. Introducción a la programación en lenguaje C

Tipos enumerados
En C se pueden definir tipos enumerados:

1.4 Tipos de datos y declaraciones de datos

typedef enum {plano_x, plano_y, plano_z} dimension_t;
dimension_t fuerza, linea;
...
fuerza = plano_x;
linea = fuerza + 1; // toma el valor plano_y

La instrucción typedef permite crear tipos de datos nuevos, con
los cuales se pueden crear variables más adelante
Observaciones:
• En C y Java el operador de asignación es “=”
• En C los valores enumerados se tratan como enteros, con
valores 0, 1, 2, ...
- linea toma el valor 1 (plano_y) en el ejemplo

Programación II

Tema 1. Introducción a la programación en lenguaje C

© M. González y M. Aldea

14/02/11

16

Caracteres
Los caracteres en C y Java se representan encerrados entre
apóstrofes:

1.4 Tipos de datos y declaraciones de datos

char c1,c2;
c1 = ’a’;

Los caracteres de control tienen una representación especial:

Carácter

salto de línea
carácter nulo
tabulador
bell (pitido)
apóstrofe

C y Java

’\n’
’\0’
’\t’
’\a’
’\’’

Las variables de tipo char pueden utilizarse en expresiones
aritméticas (igual que ocurría en Java)

Programación II

Tema 1. Introducción a la programación en lenguaje C

© M. González y M. Aldea

14/02/11

17

1.4 Tipos de datos y declaraciones de datos

Arrays
Los arrays de C son muy diferentes de los de Java:

• no tienen un tamaño conocido durante la ejecución

- pero sí un tamaño fijo en memoria

• el usuario es responsable de no exceder su tamaño real
• se pueden manipular mediante punteros
Los arrays de Java son mucho más seguros

Programación II

© M. González y M. Aldea

14/02/11

18

Tema 1. Introducción a la programación en lenguaje C

1.4 Tipos de datos y declaraciones de datos

Arrays (cont.)

Las siguientes declaraciones de arrays en Java:

final int MAX=8;
float[] v1; // creación de la referencia
v1=new float[MAX]; // creación: tamaño de 0 a MAX-1
short[][] c=new short[MAX][MAX];

Tienen el siguiente equivalente en C:

#define MAX 8 // constante
float v1[MAX]; //índice va de 0 a MAX-1
//array creado al declararlo
short int c[MAX][MAX];

En C los arrays de
  • Links de descarga
http://lwp-l.com/pdf992

Comentarios de: Programación II (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad