Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
NRC: 2927
Fecha de entrega: 2017 06 05
INTRODUCCIN AL LENGUAJE C
1.1. ORIGEN
El lenguaje c fue creado por Dennis Ritchie de los laboratorios Bell, en 1972, cuando
trabajaba junto con Ken Thompson en el diseo del sistema operativo UNIX.
El lenguaje C fue el resultado de un proceso que comenz con los lenguajes BCPL que
fue desarrollado por Martin Richards y B inventado por Ken Thompson.
1.2. VENTAJAS
Eficiencia
Portabilidad
Potencia
Flexibilidad
1
El lenguaje C se considera un lenguaje de nivel medio, porque combina elementos del
lenguaje de alto nivel con el funcionalismo del lenguaje ensamblador. Esto no significa
que sea menos potente, ms difcil de usar o menos evolucionado, ni que sea de bajo
nivel, con los problemas asociados.
Otro aspecto importante es que el lenguaje C solo tiene 32 palabras clave, que
constituyen las rdenes que lo conforman. Estas palabras junto con la sintaxis, forman
el lenguaje C.
2
1.6. ESTRUCTURA DE UN PROGRAMA EN LENGUAJE C
<Comandos de preprocesador>
<Definicin de tipos>
<Prototipos de funciones>
<Variables globales>
<Funciones>
Encabezamiento:
Cuerpo:
Est delimitado por las llaves, {}, que indican el bloque de cdigo, y consiste en
un grupo de sentencias, cada una de las cuales termine en punto y coma.
3
1.8. ENLAZADOR
4
1.11. MAPA DE MEMORIA DEL LENGUAJE C
Con un programa legible se consigue que dicho programa sea fcil de comprender,
corregir o modificar. Para lo cual se debe cumplir lo siguiente:
TIPOS DE DATOS
2.1 INTRODUCCION
Los datos se pueden representar mediante constantes o variables:
a) Constantes
5
- En una nueva compilacin se puede modificar su valor en un solo sitio, el
mismo que se actualiza en donde se encuentre la constante.
b) Variables
La variable es una posicin de memoria con nombre, en donde se guarda su valor, el
mismo que puede ser modificado durante la ejecucin del programa.
El tipo de dato define un conjunto de valores que puede tener una variable junto con
un conjunto de operaciones que se pueden realizar sobre esta variable. Los tipos de
datos comunes son los nmeros, nmeros reales y caracteres.
En lenguaje C existe cinco tipos de datos bsicos y todos los dems tipos de datos
se basan en estos tipos.
Char Carcter
Int Entero
Float Punto flotante
Doubl Punto flotante de doble precisin
Void Sin valor
Modificadores
A excepcin del tipo void, los tipos de datos bsicos pueden tener distintos
modificadores, para rango y signo:
Signed
Unsigned
Long
Short
Estos modificadores se aplican al tipo base int, pero signed y unsigned tambin se
aplican a char y long se puede aplicar a doubl.
6
Los valores de este tipo son definidos por un conjunto de caracteres, en general por
el cdigo ASCII, el cual es utilizado por el computador para identificar a cada
carcter.
Corresponde a los nmeros reales que abarcan un rango mayor a los enteros,
incluyendo estos nmeros, para almacenar un numero de tipo float se lo divide en
dos partes:
Son los mismos nmeros de punto flotante, pero con mayor precisin, el tipo doubl
y utiliza el doble numero de bits que el tipo float, en este caso 64 bits. Se
incrementan los bits de la parte exponencial, fraccionaria y aumentar el rango de los
nmeros respectivamente.
7
Tabla 2.1. Tipos de Datos de C (SCHILDT, 1994)
TIPO TAMAO RANGO MNIMO
EN BITS
CARCTER char 8 -128 a 127
unsigned char 8 0 a 255
signed char 8 -128 a 127
int 16 -32768 a 32767
unsigned int 16 0 a 65535
signed int 16 Igual que int
short int 16 Igual que int
ENTERO
unsigned short int 16 0 a 65535
signed short int 16 Igual que short int
long int 32 -2147483648 a 2147483647
signed long int 32 Igual a long int
unsigned long int 32 0 a 4294967295
PUNTO float 32 +(1.8e-38 a 3.4e+38) 6 dgitos de
FLOTANTE precisin
double 64 +(2.2e-308 a 1.8e+308) 15
dgitos de precisin
long double 80 +(3.4e-4932 a 1.2e+4932) 18
dgitos de precisin
SIN TIPO void 0 Sin valor
2.3. CONSTANTES
Las constantes en lenguaje C son valores fijos que no pueden ser alterados por el programa.
Estas constantes son de cualquier tipo de datos bsicos y la forma en que se representa cada
constante depende de su tipo.
2.3.1 Constantes Carcter
Una constante char puede representar tan solo un nico caracter que normalmente
corresponde al cdigo ASCII, y que va encerrada entre apstrofes. Por ejemplo, los
caracteres: 'a ' y '*.
Un carcter que no puede introducir desde teclado, puede ser introducido de las dos formas
siguientes:
1. Secuencias de escape. Son caracteres especiales predefinidos, que deben usar una
barra invertida (\) y luego su cdigo.
8
\b Retroceso (back space-Espacio atrs)
\f Salto de pgina
\n Salto de lnea (new line-nueva lnea)
\r Retorno de carro( carriage retum )
\t Tabulacin horizontal (tab-tabulador)
\v Tabulador vertical
\'' Comillas rectas
\' Apstrofe
\\ Barra invertida (back slatch)
\0 Nulo
\a Alerta (sonido)
Observaciones:
Los seis primeros caracteres son de control
Los tres siguientes: \'', \' y \\ permiten utilizar los caracteres: '', ' y \; que son
utilizados como delimitadores de cadenas, de caracteres e identificadores de
caracteres.
El carcter nulo '\0' corresponde al nmero ASCII 0.
2. Nmero de cdigo ASCII. Este nmero indica el carcter correspondiente, como
se muestra en la Tabla 2.3.
Tabla 2.3. Caracteres con nmero de cdigo ASCII
CDIGO SIGNIFICADO
\N Constante octal (N es una constante octal)
\xN Constante Hexadecimal (xN es una constante hexadecimal)
9
L El nmero ser long
2.4 IDENTIFICADORES
Son los nombres usados para referenciar las contantes simblicas, variables, funciones,
etiquetas y otros objetos definidos por el usuario.
La longitud de un identificador depende del compilador del lenguaje C, en el sistema
operativo de Windows puede variar entre 1 y 32 caracteres. Sin embargo, si el identificador
est envuelto en el proceso de enlazado, los seis primeros caracteres son significativos; caso
contrario, si no est envuelto, los 32 primeros caracteres son los significativos.
10
En lenguaje C las letras minsculas y maysculas se tratan como distintas. As MANUAL
y manual son identificadores distintos.
Un identificador no puede ser igual a una palabra clave del lenguaje C, tampoco debe tener
el mismo nombre que alguna funcin ya escrita o que se encuentre en la biblioteca del
lenguaje C. (SCHILDT, 1994).
2.5 DECLARACIN DE VARIABLES
Todas las variables en lenguaje C deben ser declaradas antes de poder ser usadas, la forma
general de la Sentencia de declaracin es: (SCHILDT, 1994)
tipo lista_variables;
donde:
- tipo, debe ser un tipo de dato vlido de lenguaje C con cualquier modificador.
- Lista_variables, consiste en uno o ms nombres de identificadores separados por
comas.
- Punto y coma (;), la sentencia de declaracin finaliza siempre con un punto y
coma.
Por ejemplo:
int perno, tuerca;
char oro, plomo, plata;
float blanco, rojo;
a) Variables locales
Son las variables que se declaran dentro de un bloque de cdigo, que generalmente
son las funciones. Estas variables pueden ser referenciadas solo por sentencias que
estn dentro del bloque en la que han sido declaradas. Por lo que las variables
locales no son conocidas fuera de su propio bloque de cdigo.
Las ventajas de declarar una variable local en un bloque, son las siguientes:
Que se dispondr de la memoria necesaria solo cuando se necesita la
variable.
Ayuda a prevenir efectos secundarios no deseados, porque la variable no
existe fuera del bloque en el que est declarada, esto impide que sea
accidentalmente modificada.
b) Parmetros formales
Si la funcin usa argumentos, deben declararse las variables que van a aceptar los
valores de esos argumentos; estas variables son los parmetros formales de la
funcin. Su declaracin se hace tras el nombre de la funcin encerrado entre
parntesis.
11
Los parmetros formales se comportan como cualquier otra variable local de la
funcin, por lo que tambin son dinmicas y se destruyen al salir de la funcin.
c) Variables Globales
Estas variables se conocen a lo largo de todo el programa y se usan en cualquier
parte del mismo. Adems, mantienen su porcin de memoria durante toda la
ejecucin del programa, ya que se almacena en la regin de memoria de datos.
Las variables globales se crean al declararlas en cualquier parte fuera de la funcin,
y pueden ser accedidas desde cualquier funcin luego de su declaracin.
12
2.7 INICIALIZACIN DE VARIABLES
Por ejemplo:
#define PITA '\007'
#define ERROR 2e-6
En las declaraciones de las constantes no es necesario especificar su tipo, porque este se
establece de acuerdo al valor que toma la constante.
2.9 MODIFICADORES DE ACCESO
2.9.1 El modificador const
El modificador const ayuda a identificar las variables que nunca cambian de
valor.
Por ejemplo:
Const int MAXIMO=100, INTERVALO=20;
Se puede definir constantes de dos formas: mediante la palabra clave consty
mediante la directiva de compilacin #define.
2.9.2 El modificador volatile
13
El modificador volatile ayuda a identificar a las variables que pueden cambiar
inesperadamente debido a causas que se escapan del control del programa,
aunque podran cambiarse por hardware.
Se debe declarar un dato volatile si fuera un registro de dispositivo direccionado
sobre memoria o un dato compartido por procesos separados como en el caso de
un entorno operativo multitarea. (SCHILDT, 1994)
2.10. COMENTARIOS
En el lenguaje C todos los comentarios empiezan con el par de caracteres /* y terminan con
*/. El compilador ignora cualquier texto entre los smbolos de comentario inicial y final.
Por ejemplo: /*Este es un ejemplo.*/
Se deben incluir comentarios cuando: se necesite explicar una expresin y resaltar
variables, constantes, sentencias o bloques de cdigos.
14