0% encontró este documento útil (0 votos)
21 vistas26 páginas

Introducción a Programación en C

El documento proporciona una introducción a la programación en C, cubriendo elementos básicos como palabras reservadas, tipos de datos, caracteres, strings, tipos enumerados y punteros. Se explican las reglas para identificadores, el uso de comentarios, y se detallan los tipos de datos básicos, así como operaciones y ejemplos relacionados. Además, se aborda el concepto de punteros, su declaración, uso y precauciones necesarias al trabajar con ellos.

Cargado por

Jose Rey CId
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
21 vistas26 páginas

Introducción a Programación en C

El documento proporciona una introducción a la programación en C, cubriendo elementos básicos como palabras reservadas, tipos de datos, caracteres, strings, tipos enumerados y punteros. Se explican las reglas para identificadores, el uso de comentarios, y se detallan los tipos de datos básicos, así como operaciones y ejemplos relacionados. Además, se aborda el concepto de punteros, su declaración, uso y precauciones necesarias al trabajar con ellos.

Cargado por

Jose Rey CId
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Introducción a la Programación en C

–Elementos Básicos–

Christopher Expósito-Izquierdo
[email protected]

Airam Expósito-Márquez
[email protected]

Israel López-Plata
[email protected]

Belén Melián-Batista
[email protected]

José Marcos Moreno-Vega


[email protected]
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Contenidos

1 Palabras Reservadas
Identificadores
Comentarios

2 Tipos de Datos Básicos

3 Caracteres

4 Strings

5 Tipos Enumerados

6 Punteros

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres Identificadores
Strings Comentarios
Tipos Enumerados
Punteros

Palabras Reservadas:

continue float signed auto


default for sizeof typedef
break static union case
do goto struct unsigned
double if switch char
else register void enum
int return volatile const
extern long short while

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres Identificadores
Strings Comentarios
Tipos Enumerados
Punteros

Palabras Reservadas: Identificadores

Un identificador es un nombre con el que se hace referencia a una


función o al contenido de una variable o de una constante
Reglas:
Formado por secuencia de letras y dı́gitos
El carácter subrayado o underscore ( ) es una letra más
No pueden contener: espacios en blanco, ni *, /,+,-,:, etc.
El primer carácter debe ser una letra o
Se distingue entre mayúsculas y minúsculas
Conviene usar nombres de funciones, constantes y variables que indiquen
qué representan o su utilidad

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres Identificadores
Strings Comentarios
Tipos Enumerados
Punteros

Palabras Reservadas: Comentarios

El objetivo al introducir comentarios en el código fuente es explicar o


aclarar cómo está hecho el programa
Los comentarios son ignorados por completo por el compilador
/* */ Delimitan los comentarios que pueden ocupar más de una lı́nea
// Especifica el comienzo de un comentario que acaba con el final de
dicha lı́nea
Los comentarios apropiados dan calidad al código
Los espacios en blanco (horizontales y verticales) dan estructura al
código que mejoran su visualización

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Tipos de Datos Básicos:

Enteros:
char
signed char
unsigned char
signed short int (short)
signed int (int)
signed long int (long)
unsigned short int (unsigned short)
unsigned int (unsigned)
unsigned long int (unsigned long)
Reales:
float
double
long double

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Tipos de Datos Básicos:

Enteros:

Tipos:
short: 2 bytes (-32766, 32766)
int: 2 bytes (-32766, 32766) 4 bytes (-2147483647, 2147483647)
long: 4 bytes (-2147483647, 2147483647)
unsigned int: 4 bytes (0, 429467295)

Operadores:
Aritméticos: + - * / % (operador módulo o resto)
Relacionales: == != ≥ ≤

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Tipos de Datos Básicos:

Reales:

Tipos:
float: 4 byte (1.2E-38, 3.4E+38) 6 decimales
double: 8 byte (2.3E-308,1.7E+308) 15 decimales
long double: 10 byte (3.4E-4932, 1.1E+4932) 19 decimales

Operaciones:
Operadores aritméticos: + - * /
Relacionales: >, <, >=, <=, ==, ! = (No deben usarse)

Ejemplos: double x = 1.34, y = 0.0, 5.0 / (x+y)

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Caracteres:

char: 1 byte
Normales:
Letras (minúsculas) ’a’, ’b’, ’c’, . . .
Letras (mayúsculas) ’A’, ’B’, ’C’, . . .
Dı́gitos ’0’, ’1’, . . . , ‘9’
Otros ’+’, . . .
Especiales: ‘\n’, ‘\t’, ...
Basados en el código ASCII: American Standard Code for Information
Interchange (código estándar americano para intercambio de
información)
No incluye la ñ ni las vocales con tilde: á, é, ı́, ó, ú

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Caracteres:

Constante carácter:
Formada por un carácter entre apóstrofes ’e’, ’J’
El valor de la constante es el valor numérico asignado a dicho carácter
de acuerdo con el código ASCII En realidad son constantes enteras (0 a
127)
Ciertos caracteres se representan con las secuencias de escape

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Strings:

String
Es una secuencia finita de caracteres consecutivos

Un string o array de caracteres se puede inicializar en el momento de


su declaración con una cadena literal. Dicha cadena es una secuencia
de caracteres encerrada entre dobles comillas

Las cadenas literales acaban con el carácter nulo '\0' Por tanto, la
cadena "Primero" tiene longitud 8
char curso[8] = "Primero";
y entonces en curso[0] está 'P', en curso[1] está 'r',... en curso[6]
está 'o' y en curso[7] está '\0'

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Strings:

Caracteres especiales:

Los strings o arrays de caracteres pueden contener unos caracteres


especiales (secuencias de escape) que tienen un efecto determinado:
\n
\t
\v (tabulación vertical)
\b (retrocede un espacio)
\r (va al comienzo de la lı́nea)
\a (sonido de alerta del sistema)
\'
\''
\\
\? (para sı́mbolos especiales)

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Tipos Enumerados:

Enumerado
Permite definir un conjunto de datos a través de constantes simbólicas con
valores enteros

Definición:
enum nombre{valor1, valor2,..., valorN}
Declaración:
enum nombre identificador;

Ejemplos:
enum diasSemana{lunes, martes, miercoles, jueves, viernes,
sabado, domingo};
enum diasSemana dia;
enum boolean{false, true};
...
Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Punteros:

Cada vez que se define una variable, el compilador le asigna el espacio


necesario en la memoria del ordenador para poder almacenar la
información correspondiente

El espacio asignado a una variable se encuentra en una determinada


dirección de memoria

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Punteros:

Puntero
Es un tipo de dato que a diferencia del resto NO almacena datos sino
direcciones de memoria

Los punteros almacenan direcciones de memoria Por tanto, referencian


a zonas de memoria donde se encuentran los verdaderos datos
Para poder hacer referencia correctamente a un dato de memoria se
debe (i) conocer su dirección inicial de memoria y (ii) su tamaño
El tamaño en bytes de una variable de tipo puntero viene dado por el
tamaño de dirección que utiliza el ordenador

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Punteros:

Un puntero se define tal como sigue:


tipoBase * identificadorPuntero

tipoBase: puede ser cualquier tipo predefinido en C o cualquiera


definido por el programador
identificadorPuntero: es el identificador utilizado para la variable de
tipo puntero

Ejemplo:

long * punteroDato;

Los datos que hay almacenados en la dirección guardada en punteroDato


deben ser de tipo long

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Punteros:

Al declarar una variable se reserva una zona de memoria para


almacenar un valor concreto perteneciente a un tipo de datos

Para acceder a una variable almacenada en memoria, el compilador


necesita disponer de:
Número de bytes que componen la variable, dado por el tipo de datos
Dirección de memoria del byte inicial de dicha variable, representada
por el nombre de la variable

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Punteros:

#include <stdio.h>

int main(void) {
long dato = 0;
long ∗ punteroDato;
punteroDato = &dato;
printf(”La direccion de la variable dato es %p\n”, &dato);
printf(”El valor de la variable punteroDato es %p\n”, punteroDato);
return 0;
}

Con punteroDato = &dato se asigna a la variable punteroDato la dirección


de memoria de la variable dato

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Punteros:

Operadores para Punteros:


Operador dirección (&). Permite obtener la dirección de memoria
en la que se almacena una variable
long dato;
printf(” %lu”, &dato);
printf(” %p”, &dato); /∗ hexadecimal∗/
int ∗p;
p = &k;

Operador de indirección (*). Permite acceder al contenido de una


dirección de memoria. Sólo se puede usar con variables de tipo puntero

int * puntero;
*p = 3;

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Punteros:

#include <stdio.h>

int main() {
int x = 4, y = 7, temp;
int ∗px = NULL, ∗py = NULL;
printf(”x = %d, y = %d ”, x, y);
px = &x;
py = &y;
printf(”\npx tiene la direccion %p, py tiene la direccion %p ”, px, py);
printf(”\nLa direccion de la variable x es %p, la direccion de la variable y es %p”, &x , &y) ;
∗px = ∗px + 10;
∗py = ∗py + 10;
printf(”\nx es %d y es %d”, x, y) ;
temp = ∗px ;
∗px = ∗py;
∗py = temp;
printf(”\npx contiene %d, py contiene %d”, ∗px, ∗py) ;
printf(”\nx es %d y es %d\n”,x,y);
return 0 ;
}

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Punteros:

Precauciones:
Consultar el contenido de una dirección de memoria a través de un
puntero (*p) que no ha sido inicializado puede producir errores en
tiempo de ejecución realmente graves
Para evitarlo se debe inicializar todo puntero de la siguiente manera:
tipoDato * identificadorPuntero = 0;
o bien
tipoDato * identificadorPuntero = NULL;
De esta manera, si se intenta acceder a esta dirección de memoria antes
de asignar otro valor se producirá un error fácil de identificar en
tiempo de ejecución (violación de segmento)

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Punteros:

Punteros y Arrays:
Cuando un puntero es incrementado en una unidad pasa a apuntar al
siguiente elemento del array

La diferencia entre un array y un puntero es que cuando se define un


array estático, tipoDato array[tama~ no], el valor de la variable array
siempre representa la dirección de memoria del primer elemento y
dicha dirección no se puede modificar

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Punteros:

Un string es el caso particular de array formado por una secuencia de


caracteres más el carácter nulo ():
char string[númeroElementos];
Notas:
Un array de caracteres sin el carácter nulo al final no es una cadena de
caracteres
char cadena[5] = "Hola";
Una cadena de longitud 1 no es lo mismo que un solo eslabón
"a"(cadena de longitud 1) 6= 'a'(carácter individual)

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Punteros:

Lectura y Escritura de Strings:


Con una cadena de caracteres se debe usar %s para su lectura y su
escritura
scanf() deja de buscar elementos cuando encuentra un espacio en
blanco
Debemos usar la función fgets(). Ası́:
char* fgets(char* s, int n, stdin); Copia caracteres de la entrada
estándar (stdin) en la cadena s, termina cuando ha copiado n-1
caracteres, cuando encuentra el caracter de final de lı́nea o cuando
detecta un error. Esta función devuelve el puntero a la cadena o NULL en
caso de que encuentre un error
char* strcpy(char* s, const char* ct); Copia la cadena ct en s
incluyendo el indicador de final de cadena y devuelve la dirección de s
int strcmp(const char* cs, const char* ct); Compara cs con ct
en orden alfabético devolviendo un valor negativo si cs<ct, cero si
cs==ct, y uno positivo si cs>ct
size tstrlen (char* sz); devuelve la longitud de la cadena que se le
pasa como parámetro

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Punteros:

Punteros a Estructuras:

Se puede declarar un puntero que apunte a una estructura


struct nombreEst *nombrePunt;
struct coordenada {
float x;
float y;
};
struct coordenada *p;
Para acceder a los elementos de una estructura apuntada varı́a la sintaxis.
En lugar de:
*p.x = 1.3;
scanf(" %f", &(*p.x));
se usa:
p->x = 1.3;
scanf(" %f", &(p->x));

Introducción a la Programación en C
Palabras Reservadas
Tipos de Datos Básicos
Caracteres
Strings
Tipos Enumerados
Punteros

Introducción a la Programación en C
–Elementos Básicos–
Christopher Expósito-Izquierdo
[email protected]

Airam Expósito-Márquez
[email protected]

Israel López-Plata
[email protected]

Belén Melián-Batista
[email protected]

José Marcos Moreno-Vega


[email protected]

Introducción a la Programación en C

También podría gustarte