Al escribir programas utilizando el lenguaje C como en otros lenguajes, los datos deben definirse. Siendo constantes o variables, se deberá indicar el tipo correspondiente para que el compilador asigne a la memo la parte y secuencia de bits adecuada.
C conoce los siguientes datos básicos: caracteres, números enteros, números reales y números reales de doble precisión. (En la tabla 1 se pueden ver las características de cada tipo).
Se pueden definir números enteros con diferentes características en función del uso del signo y del número de bits. De esta forma, los números sin signos, los números cortos o los largos se pueden escribir teniendo en cuenta las características analizadas en la tabla 2.
La diferencia entre los tipos reales radica en la precisión, mientras que los float tienen 7 cifras decimales, los doubles, tienen una precisión de 15 cifras.
También se pueden utilizar otros tipos, pero siempre tomando como base los tipos mencionados. Así, las cadenas de caracteres serán tablas de caracteres, enteros o caracteres que sólo utilizan dos valores booleanos, etc.
Las constantes no deben ser hechas antes de usarlas, ya que según su escritura inventa el tipo compilador que les corresponde. En la tabla 3 se pueden ver algunos ejemplos en los que se puede observar que el decimal es la característica de los reales, el de los caracteres ‘, el de las cadenas de caracteres “, el sufijo L, el de los caracteres long. En la expresión de las constantes también se utilizan prefijos para determinar la escritura del valor que queremos memorizar. El prefijo Ø, por ejemplo, indica que el valor está formado por dígitos oculares, el prefijo Øx con dígitos hexadecimales y E k con mantis y exponente entre los dos números
...Existen otras constantes (utilizadas principalmente para escribir resultados) para indicar caracteres especiales. Por ejemplo,\n es un carácter de fin de línea,\t de tabulación,\b backspace y\Ø es el último de la cadena de caracteres.
Una vez vista la escritura de las constantes, queremos recordar un criterio que aconseja la programación estructurada, el uso de constantes parametrizadas. En lugar de utilizar las constantes directamente según este criterio (dando un nombre inicial a las constantes), se utilizará este nombre en todas las utilidades. De esta manera, el programa ganará en legibilidad y sólo se modificará en la inscripción si se cambia de valor. En los programas C de inscripci??n a constantes se utiliza el pseudo-orden #define al comienzo de los programas, con el nombre de las constantes en mayúsculas (ver tabla 4).
# define PI 3.14159
main ( ){
float r, área, perímetro; printf (“pulse el tamaño
del radio\n”);
scanf (“%f”, r); /* Æcon referencia*/ perímetro
= 2 * PI * r;
superficie = PI * r * r;
printf (“superficie: %f\n”;
superficie; printf (“perímetro: %f\n”, perímetro);
Como se puede observar en el programa en la tabla 4, todas las variables deben ser despreciadas antes de ser utilizadas, utilizando las palabras clave vistas en la tabla 2 se determinará previamente el tipo correspondiente. De este modo, el compilador sabrá cuántos bits deberá guardar a la variable en el programa ejecutable.
Al introducir las variables se puede asignar un valor inicial, de no ser así el compilador les asignará el valor Ø. Para llevar a cabo esta inicialización en la sentencia de emisión anotará tras el nombre de la variable = carácter y el valor que se desea establecer. Por ejemplo, al inicializar una variable tipo carácter, la asignación del valor a se hará con la siguiente sentencia:
char = ‘a’
A diferencia de lenguajes como el pascal, en los programas de C los operandos no deben ser compatibles en cuanto al tipo.
Si en las asignaciones y/o en las operaciones los operandos son de distinto tipo, se produce una conversión de datos implícita, siendo el tipo de variables intermedias el más largo y complejo de entre los participantes de acuerdo con la siguiente clasificación:
char \{\{\{\{\{\{\\{\\{\{\\\\\\\\\\\\\\\\\\\\double
Por ello, para convertir un carácter en mayúscula (suponiendo que está en minúscula) se puede hacer a través del programa de la Tabla 5.
main ( ){‰Como se ve en el programa, se produce la suma y resta de caracteres, pero lo que realmente se ejecutará es convertir los caracteres en números enteros, la suma y resta de los enteros y finalmente convertir el resultado en caracteres.
No obstante, es conveniente explicitar las conversiones para evitar errores y ganar en legibilidad, ya que si en algunos compiladores C no se hace explícitamente se generan mensajes de aviso.
Para expresar la conversión explícita se utiliza el elemento denominado cast (título) que define entre paréntesis la palabra clave del tipo de dato. Por ejemplo, para convertir un carácter en un número entero (int) se pondrá delante de la referencia de la variable carácter.