2. Para convertir un algoritmo en un programa, se deben llevar
a cabo las siguientes fases de puesta a punto:
Edición:
Esta es la primera fase, el programador debe convertir el
algoritmo que haya diseñado en instrucciones escritas en C. Para
ello, se debe hacer uso de un editor de textos, y así será llamado
código fuente del programa.
Preproceso:
El preproceso es para realizar modificaciones en el código
fuente obtenido en la fase de edición.
3. Compilación:
Una vez que el código fuente ha sido preprocesado, el
compilador traducirá ese código fuente (modificado) a código máquina,
también llamado código objeto, siempre y cuando, el propio compilador
no detecte ningún error en dicho código fuente ya preprocesado.
Enlace (linkaje o montaje):
Este programas se utilizar en funciones de la biblioteca
estándar de C, tales como scanf o printf. De cada una de ellas existe
un código objeto que debe ser enlazado (unido) al código objeto del
programa que las utilice. Esto se realiza mediante un programa
llamado enlazador, montador o linkador.
5. Un programa escrito en lenguaje C está compuesto por
una o más funciones. Una función es un programa que sirve para
realizar una tarea determinada, por ejemplo, la función scanf sirve
para leer datos desde el teclado.
Existe una función que está presente en todos los
programas escritos en lenguaje C, su misión es marcar el inicio y
fin de la ejecución de cada uno de ellos; es la función principal, la
primera que se ejecuta; es la función main.
int main() {<bloque_de_instrucciones>}
Contiene al bloque de instrucciones principal de un
programa, dentro de los caracteres abrir llave ({) y cerrar llave (}).
Los paréntesis "()" escritos después de main sirven para indicar
que el identificador main es una función. Es importante
comprender que main no es una palabra reservada de C.
6. En lenguaje C, se pueden clasificar en:
De expresión:
Son aquellas que representan a las acciones más pequeñas
(elementales) que se pueden ejecutar en un programa, y siempre
van seguidas de un carácter punto y coma (;), el cual indica que la
instrucción ha terminado.
De control:
Es aquella que existen de distintos tipos, y todas sirven para
modificar el flujo de control de un programa. Veremos que, algunas
de ellas deben ir seguidas del carácter punto y coma (;), pero otras
no.
Compuestas:
Siempre alberga, entre llaves ({...}) a un bloque de
instrucciones.
7. Entero: (int)
Los enteros son el tipo de dato más primitivo en C. Se
usan para representar números enteros. Pero siempre se pueden
encontrar otras aplicaciones para los números enteros. En
general se pueden usar para representar cualquier variable
discreta. Los enteros son: short, int, long y long long, cada uno
representando un número entero de un tamaño o capacidad
determinado.
Real: (float y double)
La diferencia entre float y double está en el hecho de
que un dato de tipo double puede tomar por valor un número
perteneciente a un subconjunto de R mayor que un dato de
tipo float.
8. Carácter:(char)
Es aquel que puede tomar por valor un carácter
perteneciente al conjunto de los caracteres que puede
representar el computador, se debe representar entre
comillas simples (¨).
Sin valor: (void)
Es un dato que no puede tomar por valor ningún
valor, es decir, es un dato vacío (nulo).
9. los elementos de un programa se diferencian entre sí por su
nombre. Por ejemplo, los tipos de datos básicos en lenguaje C se
nombran como:
char, int, float, double y void
Cada uno de ellos es un identificador. Un identificador es el
nombre que se le da a un elemento de un algoritmo (o programa). Por
ejemplo, el tipo de dato int hace referencia a un tipo de dato que es
distinto a todos los demás tipos de datos, es decir, los valores que puede
tomar un dato de tipo entero, no son los mismos que los que puede tomar
un dato de otro tipo.
Los identificadores char, int, float, double y void están predefinidos,
forman parte del lenguaje C. No obstante, en el código de un programa
también pueden existir identificadores definidos por el programador.
10. Las palabras reservadas son identificadores
predefinidos (tienen un significado especial). En todos los
lenguajes de programación existe un conjunto de palabras
reservadas. Por el momento, en lenguaje C, se han estudiado
las siguientes:
char, int, float, double y void
En la sintaxis de ANSI C, puede consultar toda la lista
de palabras reservadas que existen en lenguaje C.
11. En lenguaje C hay que escribir un punto y coma (;)
después de la declaración de una o más variables. Así
pues, la sintaxis para declarar una variable es:
<tipo_de_dato> <variable> [ = <expresión> ];
Y para más de una variable del mismo tipo se
utiliza la sintaxis:
<tipo_de_dato> <variable_1> [= <expresión_1>],
<variable_2> [= <expresión_2>],
...,
<variable> [= <expresión>];
12. Ejemplo:
• La declaración de una variable para almacenar la edad de una
persona se escribe:
int edad;
13. • Si se declara la variable de tipo cadena:
char nombre[7] = "June";
En memoria tendremos:
En esta ocasión, el array de caracteres nombre ha sido
inicializado con el valor "June". De manera que, el fin de la cadena
se encuentra en nombre[4], y no en el último espacio de memoria
reservado para el array, ya que, "June" tiene, solamente, cuatro
caracteres.
14. Una constante puede ser de tipo entero, real, carácter,
de cadena o enumerado. Las contantes de tipo enumerado se
van a estudiar más adelante. En cuanto a las demás, se
pueden expresar de dos formas diferentes:
Por su valor.
Con un nombre (identificador).
Ejemplo:
• Para declarar las constantes simbólicas PI y NUMERO_E,
no se puede escribir:
#define PI 3.141592, NUMERO_E 2.718281
Por otra parte, en C, es posible declarar una variable
indicando que su valor es inalterable. Para ello, se utiliza el
cualificador const.
15. • Uso de const:
const int temperatura = -5;
Se ha declarado la variable entera temperatura
inicializada al valor -5 y, por medio de const, que es una
palabra reservada, se ha indicado que su valor no puede
cambiar durante la ejecución del programa. En cierta manera,
la variable temperatura está simulando a una constante.
Ya se sabe cómo escribir la declaración de una constante y de
las variables que utilice un programa y, también, se conoce el
lugar en que se tiene que escribir la directiva del
preprocesador #define para declarar la constante.
16. Una constante de tipo entero es aquella que
representa a un valor (dato) perteneciente al subconjunto de Z
representable por el ordenador.
Ejemplo:
• Suponiendo que el ordenador (utilizando dieciséis
bits) pueda representar, en Complemento a 2, el
siguiente conjunto de valores enteros:
{ -32768, -32767, ..., 1, 0, -1, ..., 32766, 32767 }
Algunos ejemplos de constantes de tipo entero son:
-32000
0
000077 (Los ceros a la izquierda no son significativos)
+1111
17. Además de los caracteres numéricos, dígitos del (0) al (9),
también se puede hacer uso de los caracteres especiales (+) y (-)
para indicar el signo de un número entero, el cual es positivo por
omisión. Sin embargo, en lenguaje C, es incorrecto usar los
caracteres coma (,) y/o punto (.) para expresar constantes de tipo
entero.
• Por tanto, es incorrecto escribir:
-32.000
0,0
+1,111.00
18. Una constante de tipo real es aquella que representa a
un valor (dato) perteneciente al subconjunto de R representable
por el ordenador.
Ejemplo:
• Algunos ejemplos son:
8.12
000.333 (Los ceros a la izquierda no son significativos)
+1111.809
-3200. (También se puede escribir -3200.0)
19. • Se expresa correctamente:
-77e-3
+1111e+2
2000E+2
3040e2
Una constante de tipo real también se puede expresar
con el carácter punto (.) y el exponente al mismo tiempo.
20. Una constante de tipo carácter es aquella que representa a
un valor (dato) perteneciente al conjunto de caracteres que puede
representar el ordenador.
Ejemplo:
• Se expresa por su valor:
'a'
'T'
'5'
'+'
'.‘
• En lenguaje C, para representar el carácter comilla simple ('), se
debe anteponer el carácter barra invertida ().
21. Una constante de tipo cadena es aquella que representa a un valor
(dato) de tipo cadena, es decir, representa a una secuencia de
caracteres.
Ejemplo:
• Se expresa por su valor:
"Alejandro"
"Lucerna"
"Barcelona 2000«
• En lenguaje C, para representar el carácter comilla doble (")
dentro de una cadena, se debe anteponer el carácter barra
invertida ().
#define FIESTA "7 de julio "San Fermín"«
22. En un programa, el tipo de un dato determina las operaciones que
se pueden realizar con él.con los datos de tipo entero se pueden
realizar operaciones aritméticas, tales como la suma, la resta o la
multiplicación.
Ejemplo:
• Algunos ejemplos son:
111 + 6 (operación suma)
19 - 72 (operación resta)
24 * 3 (operación multiplicación)
Todas las operaciones del ejemplo constan de dos operando
(constantes enteras) y un operador. La mayoría de las veces es así,
pero, también es posible realizar operaciones con distinto número
de operadores y/u operando.
23. Expresiones aritméticas
Una expresión aritmética siempre se obtiene un valor de tipo
entero o real. En lenguaje C existen algunos operadores que no se
utilizan en pseudocódigo, y al revés.
El operador división (/)
En lenguaje C, sólo existe un operador de división, el
resultado de una división dependerá de los operando. La regla a
seguir es: "si ambos operando son enteros, el resultado de evaluar la
expresión será entero, en caso contrario, es decir, si al menos un
operando es real, el resultado será real".