Está en la página 1de 8

PRACTICA 1

(tipos de datos)

Tabla de Contenidos:
1. EL ENTORNO C 3

2. EL ASPECTO DEL LENGUAJE C 3

2.1 PARTES DEL PROGRAMA 3

3. ESTRUCTURA DE UN PROGRAMA 4

3.1 LOS DATOS DEL PROGRAMADOR 4


3.2 ESTRUCTURA GENERAL DE UN PROGRAMA C 6

4. LA FUNCIÓN PRINTF() 7

5. LA FUNCIÓN SCANF() 8

6. EJERCICIOS PROPUESTOS (TIPOS DE DATOS) 9

Página 2 Departamento de Informática y Automática


Informática. Licenciatura en Matemáticas

1. EL Entorno C
EL entorno de C consiste principalmente en un editor, un compilador, archivos para
incluir (include), archivos de biblioteca y un enlazador. Estas son las funciones que
realizan:

• Editor. Permite introducir y modificar los programas (el código fuente).


• Compilador. Convierte el programa escrito en C en un código comprensible para el
ordenador.
• Archivos para incluir. Muchas definiciones separadas e instrucciones, que pueden
ser de utilidad, se encuentran a disposición del programador en archivos que éste
puede incluir en un programa C.
• Archivos de biblioteca. Con objeto de ahorrar tiempo en la programación y evitar
errores, determinados programas con varias funciones se pueden compilar y permitir
que sean utilizadas más tarde. Este código previamente compilado disponible para el
uso se encuentra en un archivo de biblioteca.
• Enlazador. Es el encargado de combinar todas las partes de un programa para
producir un código ejecutable final. (Archivos de biblioteca o, en programas
grandes, diferentes archivos en que se ha dividido un programa).

2. El aspecto del Lenguaje C


Veamos un sencillo programa C:

#include <stdio.h>

/* Este es una programa C. Imprime un programa en la pantalla del


ordenador */

main()
{
printf("Aprendiendo a programar (la pelicula)");
}

Varias cosas son dignas de mención en este primer programa:

• Es fácil de leer (para el lector no es difícil deducir qué va a hacer).


• Contiene símbolos extraños (/*, #)
• Aparecen palabras en inglés (main, include,...)

Se muestran a continuación las partes que conforman el programa.

2.1 Partes del programa


A continuación vamos a ver las partes que debe tener un programa C:

#include <stdio.h>

Le índica al compilador que debe incluir el archivo de entrada salida estándar

main

Aparece obligatoriamente en cada programa C para indicar el punto donde empieza la


ejecución del programa. Se trata de la función principal del programa.
Departamento de Informática y Automática Página 3
Práctica 1. El Lenguaje de Programación C

()

Los paréntesis deben aparecer inmediatamente después del nombre cada función.
Habitualmente dentro de los paréntesis hay información usada por el programa.

/* */

Se trata de unos símbolos opcionales que se utilizan para delimitar los comentarios
dentro de un programa.

Cada sentencia (orden) debe terminar con un punto y coma.

{}

Para indicar dónde comienza y dónde acaba un bloque de instrucciones.

3. Estructura de un programa
Es muy importante que todo programa tenga un formato que permita su fácil lectura y
comprensión.

Aunque todos los programas que se presentan a continuación harían lo mismo después
de ser compilados y ejecutados, es obvio que algunos de ellos se leen con mayor
dificultad, a pesar de tratarse del programa más sencillo que podemos escribir en el
lenguaje C.

#include <stdio.h>

/* Este es una programa C. Imprime un programa en la pantalla del


ordenador */

main(){printf("Aprendiendo a programar (la pelicula)");}

#include <stdio.h>
main(){printf("Aprendiendo a programar (la pelicula)");}

A continuación se exponen los diferentes bloques constitutivos de un programa


estructurado

3.1 Los datos del Programador


Para que cualquier programa pueda ser comprendido por un programador distinto al
original es necesario que el programa esté documentado (comentarios que expliquen el
programa). Un programa bien documentado debe comenzar por un bloque que contiene
—como mínimo— los siguientes comentarios:

Página 4 Departamento de Informática y Automática


Informática. Licenciatura en Matemáticas

Nombre del programa.


Programador.
Descripción del programa.
Explicación de todas las variables.
Explicación de todas las constantes.

Veamos un ejemplo.

#include <stdio.h>

/*
Programa: suma.c

Desarrolado por: Programador Competente

..Descripción: Programa que realiza la suma de dos números


introducidos por el usuario.

Variables: na = Número A
Nb = Número B
Suma = Resultado
*/

main()
{
/* Resto del programa */
}

Departamento de Informática y Automática Página 5


Práctica 1. El Lenguaje de Programación C

3.2 Estructura general de un programa C

#include <stdio.h>
Directivas del #include <math.h>
preprocesador #define PI 3.1416
#define CUADRADO(X) ((x)*(x))

/*
Programa: Area.c

Desarrolado por: Programador Competente

..Descripción: Programa que calcula el área de un


círculo. El usuario introduce el radio
Resultado en unidades cuadradas.

Variables:
valor_entrada = Valor introducido por el usuario
radio = Radio del círculo
area = Área del círculo

Constantes:
PI = 3.1416

*/

void explica_el_programa(void);
Definición de cada float obtener_valor(void);
función. float area_del_circulo(void);
void mostrar_la_respuesta(float area);

main()
{
float radio; /* Radio del círculo */
float area; /*Área del círculo */
Función Principal.
explica_el_programa();......./* Explica el prog */
radio = obtener_valor();); /* Pide datos*/
area = area_del_circulo(void); /* Calcula */
...mostrar_la_respuesta(area); /* Saca resultados */

void explica_el_programa(void)
/* Explica el prog */
{
printf("Programa: cálculo del área del circulo\n");
}
Otras Funciones.
float obtener_valor(void)
{ /* ... */}
float area_del_circulo(void)
{ /* ... */}}
void mostrar_la_respuesta
{ /* ... */}

Página 6 Departamento de Informática y Automática


Informática. Licenciatura en Matemáticas

4. La función printf()
Se trata de una función separada que se encuentra en la biblioteca estándar que tienen
todos los sistemas con C.

Se usa para escribir información en la salida estándar, que normalmente es la pantalla,


con un formato determinado. Su estructura es la siguiente:

printf(cadenas de caracteres con especificaciones de


formato, variables o valores);

Un especificador de formato indica a la función printf() la forma de convertir, dar


forma e imprimir sus argumentos. Se caracterizan por empezar por el carácter de
porcentaje (%).se muestran a continuación los distintos especificadores de formato.

Carácter Argumento Salida resultante


d Entero Entero con signo en base
decimal.
i Entero Entero con signo en base
decimal.
o Entero Entero sin signo en base
octal.
u Entero Entero sin signo en base
decimal.
x Entero Entero sin signo en base
hexadecimal usando letras
minúsculas.
X Entero Entero sin signo en base
hexadecimal usando letras
mayúsculas.
f Real Número real con signo.
e Real Número real con signo
usando notación e.
E Real Número real con signo
usando notación E.
g Real Número real con signo en
formato e o f, pero de
tamaño corto.
G Real Número real con signo en
formato E o f, pero de
tamaño corto.
c Carácter Un carácter individual.
s Cadena de caracteres Imprime cadenas de
caracteres.
% Ninguno Imprime el símbolo %

A continuación se muestra un programa que ilustra el uso de los especificadores de


formato.

Departamento de Informática y Automática Página 7


Práctica 1. El Lenguaje de Programación C

#include <stdio.h>

main()
{
printf("El valor 92 usando el tipo de campo d es %d. \n", 92);
printf("El valor 92 usando el tipo de campo i es %i. \n", 92);
printf("El valor 92 usando el tipo de campo u es %u. \n", 92);
printf("El valor 92 usando el tipo de campo o es %o. \n", 92);
printf("El valor 92 usando el tipo de campo x es %x. \n", 92);
printf("El valor 92 usando el tipo de campo X es %X. \n", 92);
printf("El valor 92.0 usando el tipo de campo f es %f. \n",
92.0);
printf("El valor 92.0 usando el tipo de campo e es %e. \n",
92.0);
printf("El valor 92.0 usando el tipo de campo E es %E. \n",
92.0);
printf("El valor 92.0 usando el tipo de campo g es %g. \n",
92.0);
printf("El valor 92.0 usando el tipo de campo G es %G. \n",
92.0);
printf("El valor 92 usando el tipo de campo c es %c. \n", 92);
printf("El caracter '9' usando el tipo de campo c es %c. \n", 9);
printf("La cadena 92 usando el tipo de campo s es %s. \n"," 92");
}

En la función printf() se puede hacer uso de las secuencias de escape. Para ello se
entiende que el carácter que sigue a la barra inclinada (\) tiene un significado especial(\n
nueva línea, \t tabulador, etc.).

5. La función scanf()
La función scanf() es una función predefinida que permite a los progaramas leer la
información que introduce el usuario desde teclado. Se puede pensar en ella como la
opuesta a la función printf(). Su uso se ilustra en el siguiente ejemplo.

#include <stdio.h>

/* Recogiendo la entrada de usuario.


*/
main()
{
float valor; /* Un número introducido por el usuario. */

printf("Introduzca un numero => ");


scanf("%f", &valor);
printf("El valor es => %f", valor);
}

Nótese que la estructura de la función scanf() es muy similar a la de la función


printf(); es importante el hecho de que para indicar dónde se almacenará el valor
leído se utiliza el nombre de la variable destino precedido del carácter &.

Página 8 Departamento de Informática y Automática


Informática. Licenciatura en Matemáticas

6. Ejercicios propuestos (Tipos de datos)


1. Realice un programa que escriba en pantalla:

************************
Hoy va a ser un buen día.
************************
2. Modifique el programa anterior para que escriba en pantalla:

*******************************
Para salto de línea escribir \n.
*******************************
3. Escriba el programa que ilustra la utilización de los especificadores de formato. Ejecútelo y
compruebe los resultados.

4. Declare una variable de cada uno de estos tipos: carácter, entero, real.

5. Asigne valores a las variables anteriores y escríbalas en pantalla.

6. Hago lo mismo que en el ejercicio anterior, pero que sea el usuario del programa el que asigne los
valores a las variables.

7. Asigne a un entero un valor real, a un carácter un valor real y escriba los números en pantalla.
Observe qué ocurre al compilar.

8. Compruebe los distintos rangos de cada tipo básico asignando valores fuera de rango a variables
definidas de cada uno de los tipos. Observe que está ocurriendo.

9. Defina cadenas y caracteres. Asigne un carácter a una cadena y viceversa. ¿qué ocurre?

10. Realice una suma con variables de tipo carácter (sume dos letras, sume una letra y un entero). Escriba
el resultado en pantalla.

11. Escriba un programa que utilice una variable sin definir. Compile el programa y observe los errores.

12. Escriba el contenido de una variable antes y después de asignarles algún valor. Observe las
diferencias.

13. Lea atentamente cada uno de los tipos en la ayuda el entorno de programación.

14. Defina una cadena de caracteres sin especificación de tamaño.

15. Asigne a una variable de tipo cadena lo siguiente:

Esto no puede ser tan difícil

Visualice en la pantalla los caracteres 1, 5, 7, 8, y 10.

16. Utilice variables junto con constantes declaradas (const), constantes literales y de tipo simbólico.

17. Escriba un programa con la siguiente constante simbólica

#define PI 3.1416

y que la utilice en alguna operación.

Hago lo mismo, pero con la siguiente definición:

#define PI 3.1416;

Observe los resultados.


Departamento de Informática y Automática Página 9

También podría gustarte